#80
2018 / 公開文章 / 文章

設計思維,區塊鏈的下一個方向

15 分鐘閱讀

嗨,早安!

今天我們嘗試新的角度切入,來討論區塊鏈的「設計」問題。過去我們主要討論的是工程(engineering)上的可行性問題,例如數位新台幣可不可行,或者必須要有哪些技術突破,才能夠解決目前區塊鏈遭遇的規模化問題、耗電問題。

之前我們在討論區塊鏈生態系的時候,說可以把區塊鏈想像成一間公司。你就會發現,上述這些工程瓶頸,幾乎都是由研發部門所主導的議題。今天我們要換個視角,從設計部門的角度切入。你會發現目前區塊鏈非常缺乏設計人才,因此產品不那麼平易近人。

如果缺乏設計思維,區塊鏈的發展就會逐漸朝向工程思維的「能動就好」,那還真是一場災難。


我讀了 7 年的電機資訊學院,深知工程師在面臨抉擇的時候,會優先考慮功能性而不是易用性。換個方式比喻,多數工程師都寧可選擇「產品難用,但是有各種功能」,而不願選擇「產品好用,但是功能很少」,這種精神在區塊鏈領域上展露無遺。

舉例來說,目前的密碼貨幣的收款地址、私鑰(private key)都是一串數字、大小寫英文混雜的組合。這比我們平常能記得的辦公室地址、電話號碼或信箱密碼,都來得複雜許多,根本就不像是正常人能記住的資訊。

收款地址:1BebNA5DNqxXWbP2ZwVbvQLuDDtuicQ2QM
私鑰:5HpgdRAj2KMFVG2798ZyLNchKgurf9MGnLs8TEWHF69VgyKsa7E

既然人腦記不住,當然就會直覺的想拍照或複製,把這串亂碼保存在手機裡。這麼做就危險了。把私鑰保存在可以連上網的手機裡,代表駭客也可以循著網路進到你的手機,拿走你的私鑰。

發現矛盾之處了吧!

私鑰的格式設計得這麼難記憶,要交給手機幫忙又不安全,那是要大家怎麼辦?目前最主流的方法,就是拿紙筆「寫」下來。說到這邊,有人就不免感嘆,區塊鏈看似是這麼先進的科技,最終也還是要靠紙筆這種原始的方法呀!

就我看來,這兩者之間的落差越大,就越能凸顯區塊鏈這個領域有多缺良好的設計。但是專注於技術的研發人員,未必會同意這句話。我們先來看一個生活上的例子。

用工程方法,來解決設計問題

最近,數位資產交易平台 Coinbase 的部落格刊出一篇文章,標題是《設計,是區塊鏈的殺手級應用》(Why design is the killer app for crypto)。內文舉 1930 年代的英國路標為例,當時的汽車油門踩到底,最快速度是時速 50 公里。於是,當時馬路上的路標設計,是以文字為主的告示牌。

1930 年代的道路標示 / 圖片來源

到了 1950 年代,汽車的性能越來越好,有的車已經可以開到時速 120 公里。也已經出現高速公路,但是高速公路上的路標設計還是原本的老樣子。因此,在高速公路上奔馳的司機,為了看清楚滿是文字的複雜路標,當然就很容易發生車禍。

怎麼辦?

你也猜到了,既然是因為汽車的速度太快導致車禍,那就限制車速,確保大家都能看清楚路標再走。說不定白天、晚上的速限還不太一樣,因為燈光昏暗,辨識難度更高。但是如果只有限制速度,那大概我們今天開車走高速公路,都得再多花一倍的時間才能到達目的地。

這就是只用工程的方法,來解決問題。確實可行,但卻限制了高速公路所能帶來的價值。

後來就有人換個角度思考,不是要求駕駛開慢一點,而是想辦法改變路標的設計。他們簡化路標上的資訊,並更改路標的擺放位置,例如叉路口的幾公里之前就要有提示,而不是叉路口到了才忽然要駕駛右轉。這就讓駕駛可以在高速行駛的情況下,仍然可以看清楚路標指引。

經過幾年的設計、實驗,他們將路標從下圖左邊的形式,改成了右邊的這種新形式。新的形式就已經很像現在我們會在高速公路上看到的路標,對吧?兩者之間的顯著差別,是把原本重疊在一起的資訊,用顏色、圖樣分開來,這就有助於駕駛在短時間內判斷待會該怎麼走。

改進前(左)、改進後(右)的路標差異 / 圖片來源

汽車的速度能越開越快,導致駕駛看不清路標,本質上是路標的設計沒有跟上科技的發展速度。解決方法,可以從工程(限速)、設計(改路標)兩種角度切入思考。

區塊鏈領域的發展也是同樣道理。

9 年前中本聰提出比特幣區塊鏈(Bitcoin)這套轉帳系統,但帳戶的私鑰卻難以用人腦記憶,導致很多人因此弄丟私鑰,或是把私鑰存在電腦或手機裡,卻被偷走。這本質上也是私鑰的設計沒有跟上科技發展速度,所導致的問題。解決問題的方法,同樣也可以從工程、設計這兩種角度切入思考。

工程的解決方法最直覺,就是要求使用者拿紙筆把私鑰寫下來。你有沒有覺得這個方法的邏輯,和當年限制能開到時速 120 公里的汽車,只能開時速 50 公里有點類似?

兩者都是要求使用者回到科技還未發展的狀態,才能確保安全。

有趣吧!工程的解法往往最直覺,但卻限制了高速公路所能帶來的好處。同樣道理,要求使用者拿紙筆抄下來固然安全,但是肯定不是好解法。

那區塊鏈有類似於「重新設計路標」的這種設計解法嗎?

設計的解法:助記詞

也是有的,這個東西叫做助記詞(Mnemonic Phrase)。剛剛說私鑰都是一串亂七八糟的英文、數字組合,人腦難以記憶。因此,在 5 年前就有人提出改進建議(Bitcoin Improvement Proposals,BIP),未來的私鑰可以從某個詞庫裡,任意挑選 12 個單字組合來產生。

助記詞:rose rocket invest real refuse margin festival danger anger border idle brown
私鑰:5HpgdRAj2KMFVG2798ZyLNchKgurf9MGnLs8TEWHF69VgyKsa7E

你覺得這個助記詞,有沒有幫助你更容易記住私鑰呢?我知道效果有限,大家還是喜歡自己設定的密碼。

但至少它現在已經變成我們可以看得懂的英文單字組合了。雖然它們仍然不像是一句有實際含義的句子這麼好記,卻已經比私鑰好記許多。畢竟,大家的住址本來也可以看成是一堆沒意義的字詞組合湊成的。例如住在健康路上的居民,也是會生病。

除此之外,助記詞其實也不可以是一句有實際含義的句子,畢竟它是你錢包私鑰的來源。換句話說,只要別人知道這 12 個單字組合的「助記詞」,也就等同於他知道私鑰了。

萬一你的助記詞是一串單字組成的有意義句子,就好像你將電子信箱密碼設定成自己的出生日期,很容易被有心人士猜到。信箱密碼被猜中,會讓信件內容外流,但是如果助記詞被猜中,就等同於你的私鑰外流。所以,好記的助記詞反而會將你的資產暴露於風險之中。

為了確保你的資產安全,還是接受這一點點不便性好一些。當然,我相信還是會有人說,難道就不能用什麼東西幫我記住私鑰嗎?

其實也不是沒有,最常見的就是用來替你管理私鑰的硬體錢包(hardware wallet)。

用電腦幫你記住私鑰的硬體錢包

在更容易記憶,且不容易被破解的私鑰格式還沒問世之前,有人就想到可以發明一種無法連上網,卻又可以用來記錄私鑰的裝置,叫做硬體錢包。

硬體錢包是怎麼解決私鑰管理問題的呢?

硬體錢包其實就是一台小型電腦,像是台灣「庫幣科技」做出來的產品 CoolWallet S 就是一張相當於信用卡大小的卡片式電腦,卡片上有小型的螢幕、按鈕。

硬體錢包有螢幕、按鈕,透過藍芽與手機連接 / 圖片來源

基本的運作方式,是把私鑰保存在這個沒有連接網路的卡片式電腦裡。使用者要轉帳的時候,必須用手機打開 app 並透過藍芽和卡片連線,點擊卡片上的實體按鈕才能授權使用私鑰,來幫交易蓋章,最後再由手機 app 送出交易。

這麼一來即便駭客透過網路進到使用者手機,也無法拿到使用者的私鑰為交易蓋章,那就偷不走使用者的資產。

我猜看到這裡,有些不是工程背景的讀者,都要忍不住笑出來了。畢竟,硬體錢包還是妥協於目前私鑰格式的衍生產品。都是看到哪裡有問題就補哪裡的工程邏輯,而不是從頭設計兼具易用、安全的私鑰格式。

每一種技術剛問世的時候都很難用。就像好多年前撥接上網的時代,只要開始上網,家裡的電話就會佔線不能通話。因此,有的人會為此去申請兩組電話號碼,只為了能夠同時上網、打電話,但這只是當時的權宜應變之計。

如果把時間拉遠到 5 到 10 年來看,或許就會看得更清楚,那都只是當時的設計還沒跟上技術進展的暫時情況而已。這個領域需要更多設計人才加入,讓區塊鏈衍生出來的產品更平易近人一些。


推薦閱讀:上過班,就能看懂區塊鏈生態系