今天我們嘗試新的角度切入,來討論區塊鏈的「設計」問題。過去很多專業人士主要討論的是工程上的可行性問題,例如數字貨幣可不可行,或者必須要有哪些技術突破,才能夠解決目前區塊鏈遭遇的規模化問題、耗電問題。
如果將區塊鏈想象成一家公司,你就會發現,上述這些工程瓶頸,幾乎都是由研發部門所主導的議題。今天我們要換個視角,從設計部門的角度切入。你會發現目前區塊鏈非常缺乏設計人才,因此產品的易用性很差。中國改革四君子之一的朱嘉明老師說,區塊鏈現在的階段就像萊特兄弟剛把飛機弄上天。這個比喻很形象。
如果缺乏設計思維,區塊鏈的發展就會逐漸朝向工程思維的「能動就好」,那還真是一場災難。
通常工程師在面臨抉擇的時候,會優先考慮功能性而不是易用性。也就是說,多數工程師都寧可選擇「產品難用,但是有各種功能」,而不願選擇「產品好用,但是功能很少」,這種精神在區塊鏈領域上展露無遺。
舉例來說,目前加密貨幣的收款地址、私鑰(private key)都是一串數字、大小寫英文混雜的組合。這比我們平常能記得的辦公室地址、電話號碼或信箱密碼,都來得複雜許多,根本就不像是正常人能記住的資訊。
收款地址:1BebNA5DNqxXWbP2ZwVbvQLuDDtuicQ2QM 私鑰:5HpgdRAj2KMFVG2798ZyLNchKgurf9MGnLs8TEWHF69VgyKsa7E
既然人腦記不住,當然就會直覺的想拍照或複製,把這串亂碼儲存在手機裡。這麼做就危險了。把私鑰儲存在可以連上網的手機裡,代表駭客也可以循著網路進到你的手機,拿走你的私鑰。
發現矛盾之處了吧!
私鑰的格式設計得這麼難記憶,要交給手機幫忙又不安全,那是要大家怎麼辦?目前最主流的方法,就是拿紙筆「寫」下來。說到這邊,有人就不免感嘆,區塊鏈看似是這麼先進的科技,最終也還是要靠紙筆這種原始的方法呀!
就我看來,這兩者之間的落差越大,就越能凸顯區塊鏈這個領域有多缺良好的設計。但是專注於技術的研發人員,未必會同意這句話。我們先來看一個生活上的例子。
用工程方法,來解決設計問題
最近,數字資產交易平臺Coinbase的部落格刊出一篇文章,標題是《設計,是區塊鏈的殺手級應用》(Why design is the killer app for crypto)。內文舉1930年代的英國路標為例,當時的汽車油門踩到底,最快速度是時速50公里。於是,當時馬路上的路標設計,是以文字為主的告示牌。
1930年代的道路標示
到了1950 年代,汽車的效能越來越好,有的車已經可以開到時速120 公里。也已經出現高速公路,但是高速公路上的路標設計還是原本的老樣子。因此,在高速公路上賓士的司機,為了看清楚滿是文字的複雜路標,當然就很容易發生車禍。
怎麼辦?
你也猜到了,既然是因為汽車的速度太快導致車禍,那就限制車速,確保大家都能看清楚路標再走。說不定白天、晚上的速限還不太一樣,因為燈光昏暗,辨識難度更高。但是如果只有限制速度,那大概我們今天開車走高速公路,都得再多花一倍的時間才能到達目的地。
這就是隻用工程的方法,來解決問題。確實可行,但卻限制了高速公路所能帶來的價值。
後來就有人換個角度思考,不是要求駕駛開慢一點,而是想辦法改變路標的設計。他們簡化路標上的資訊,並更改路標的擺放位置,例如叉路口的幾公里之前就要有提示,而不是叉路口到了才忽然要駕駛右轉。這就讓駕駛可以在高速行駛的情況下,仍然可以看清楚路標指引。
經過幾年的設計、實驗,他們將路標從下圖左邊的形式,改成了右邊的這種新形式。新的形式就已經很像現在我們會在高速公路上看到的路標,對吧?兩者之間的顯著差別,是把原本重疊在一起的資訊,用顏色、圖樣分開來,這就有助於駕駛在短時間內判斷待會該怎麼走。
改進前(左)、改進後(右)的路標差異
汽車的速度能越開越快,導致駕駛看不清路標,本質上是路標的設計沒有跟上科技的發展速度。解決方法,可以從工程(限速)、設計(改路標)兩種角度切入思考。
區塊鏈領域的發展也是同樣道理。
9 年前中本聰提出比特幣區塊鏈這套轉帳系統,但帳戶的私鑰卻難以用人腦記憶,導致很多人因此弄丟私鑰,或是把私鑰存在電腦或手機裡,卻被偷走。這本質上也是私鑰的設計沒有跟上科技發展速度,所導致的問題。解決問題的方法,同樣也可以從工程、設計這兩種角度切入思考。
工程的解決方法最直覺,就是要求使用者拿紙筆把私鑰寫下來。你有沒有覺得這個方法的邏輯,和當年限制能開到時速120 公里的汽車,只能開時速50 公里有點類似?
兩者都是要求使用者回到科技還未發展的狀態,才能確保安全。
有趣吧!工程的解法往往最直覺,但卻限制了高速公路所能帶來的好處。同樣道理,要求使用者拿紙筆抄下來固然安全,但是肯定不是好解法。
那區塊鏈有類似於「重新設計路標」的這種設計解法嗎?
設計的解法:助記詞
也是有的,這個東西叫做助記詞。剛剛說私鑰都是一串亂七八糟的英文、數字組合,人腦難以記憶。因此,在5年前就有人提出改進建議,未來的私鑰可以從某個詞庫裡,任意挑選12個單字組合來產生。
助記詞:rose rocket invest real refuse margin festival danger anger border idle brown 私鑰:5HpgdRAj2KMFVG2798ZyLNchKgurf9MGnLs8TEWHF69VgyKsa7E
你覺得這個助記詞,有沒有幫助你更容易記住私鑰呢?我知道效果有限,大家還是喜歡自己設定的密碼。
但至少它現在已經變成我們可以看得懂的英文單字組合了。雖然它們仍然不像是一句有實際含義的句子這麼好記,卻已經比私鑰好記許多。
除此之外,助記詞其實也不可以是一句有實際含義的句子,畢竟它是你錢包私鑰的來源。換句話說,只要別人知道這12個單字組合的「助記詞」,也就等同於他知道私鑰了。
萬一你的助記詞是一串單字組成的有意義句子,就好像你將電子信箱密碼設定成自己的出生日期,很容易被有心人士猜到。信箱密碼被猜中,會讓信件內容外流,但是如果助記詞被猜中,就等同於你的私鑰外流。所以,好記的助記詞反而會將你的資產暴露於風險之中。
為了確保你的資產安全,還是接受這一點點不便性好一些。當然,我相信還是會有人說,難道就不能用什麼東西幫我記住私鑰嗎?
其實也不是沒有,最常見的就是用來替你管理私鑰的硬體錢包。
用電腦幫你記住私鑰的硬體錢包
在更容易記憶,且不容易被破解的私鑰格式還沒問世之前,有人就想到可以發明一種無法連上網,卻又可以用來記錄私鑰的裝置,叫做硬體錢包。
硬體錢包是怎麼解決私鑰管理問題的呢?
硬體錢包是指將數字資產私鑰單獨儲存在一個晶片中,與網際網路隔離,即插即用。與大家使用的網銀U盾一樣,用一個硬體裝置儲存核心資料(比如金鑰),這樣,即使所使用的電腦或者手機被黑了,那麼駭客也訪問不到你的金鑰,就保證了資產的安全性。
硬體錢包有螢幕、按鈕,透過藍芽與手機連線
基本的運作方式,是把私鑰儲存在這個沒有連網的卡片式電腦裡。使用者要轉帳的時候,必須用手機開啟app 並透過藍芽和卡片連線,點選卡片上的實體按鈕才能授權使用私鑰,來幫交易蓋章,最後再由手機app 送出交易。
這麼一來即便駭客透過網際網路進到使用者手機,也無法拿到使用者的私鑰為交易蓋章,那就偷不走使用者的資產。
我猜看到這裡,有些不是工程背景的讀者,都要忍不住笑出來了。畢竟,硬體錢包還是妥協於目前私鑰格式的衍生產品。都是看到哪裡有問題就補哪裡的工程邏輯,而不是從頭設計兼具易用、安全的私鑰格式。
每一種技術剛問世的時候都很難用。就像好多年前撥號上網的時代,只要開始上網,家裡的電話就會佔線不能通話。因此,有的人會為此去申請兩組電話號碼,只為了能夠同時上網、打電話,但這只是當時的權宜應變之計。
如果把時間拉遠到5 到10 年來看,或許就會看得更清楚,那都只是當時的設計還沒跟上技術進展的暫時情況而已。這個領域需要更多設計人才加入,讓區塊鏈衍生出來的產品更平易近人一些。