區塊鏈真能改變世界?細談區塊鏈應用落地的六大挑戰

Benson Sun
Aug 26, 2018 · 9 min read

很多人都說 2018 年會是區塊鏈商用化的元年,但 2018 年都過大半年了,區塊鏈距離改變我們的生活還非常遠,除了 ICO 可作為募資跟投資的手段之外,區塊鏈的應用可說是寥寥可數,目前排行最熱門的 DAPP,其 DAU 最多也不過數千人,連 early adopter 都還很少,更別提什麼改變人類生活了

Image for post
Image for post
去中心化應用的 DAU 非常低

如果要票選 21 世紀以來最被炒作、吹捧的技術,區塊鏈絕對會榜上有名,由於區塊鏈是多個電腦科學技術綜合應用的產物,其運作邏輯與限制,對普羅大眾來說並不是這麼好理解,這導致很多所謂的媒體、專家、政治人物,都錯誤理解了區塊鏈的特性,你聽這些人講區塊鏈,會錯認區塊鏈是萬靈丹,似乎任何難題只要套上「去中心化」、「區塊鏈」就能解決。

本文將嘗試用較淺白的語言,讓大家瞭解區塊鏈應用落地的六大挑戰。

挑戰一:效能與可擴展性

區塊鏈的應用,也就是 DAPP,必須運行在「支援智能合約的底層鏈」上,我們可以把底層鏈想像成是如 Android 或 iOS 的作業系統,如果作業系統有問題,運行在其上應用程式當然也會有問題,目前底層鏈的最大問題,就是效能跟可擴展性不足,拿以太坊為例,以太坊的 TPS (transaction per second —— 每秒處理交易數)約落在 15~30 的水準,做個對比,VISA 的 TPS 平均是 2,000~4,000,其峰值可達到 25,000 ,兩者根本不在同一個水平,這也是為什麼去年加密貓跟今年的 FOMO 3D 雖然用戶不多,但卻足以癱瘓以太坊,讓網路交易塞車的原因。

區塊鏈的 TPS 遠低於 VISA

為什麼區塊鏈會跟傳統中心化系統(如 VISA)的效能有如此巨大差異?主要原因在於區塊鏈是分散式帳本的技術,不管是什麼 DAPP,其運算結果都必須同步在每個節點上才能算達成共識。這就好比一群人做決定,必須經過討論才能達成共識,但一個人做決定只要過自己這關就好了,前者一定會比後者慢。

所有區塊鏈系統都無可避免的會遇到三個因素的平衡難題 —— 效能、安全性、去中心化,這三者不可能完美兼顧,目前主流公鏈如比特幣跟以太坊,都是往「安全性」與「去中心化」靠攏,而犧牲了效能。

但只要效能問題一天不解決,DAPP 就無法落地成為大規模應用,很多頂尖的電腦科學家都千方百計想優化區塊鏈的共識演算法,試圖解決效能問題,於是就有了「千鏈大戰」,各種底層鏈項目如雨後春筍般不斷冒出,很多項目都聲稱其鏈的 TPS 可達數十萬甚至百萬以上,但或多或少都有所妥協,像是 EOS 犧牲了去中心化特性(只有 21 個節點),而 IOTA 則犧牲了安全性(沒有礦工機制,節點作惡代價低)。

挑戰二:更新不易

眾所周知,所有的公鏈都是開源項目,一般人若想成為節點,必須下載其開源軟體才能參與網路並共同維護帳本,每個人都運行一樣的軟體,才能讓節點間的帳本能夠同步。換句話說,如果今天有工程師優化了共識演算法,推出新版本的軟體,也必須讓所有節點都買單下載,才會讓改版真的成功。

但問題是,共識演算法的更新,往往會牽涉礦工節點的利益。舉例來說,目前業界的普遍看法都是 PoW 雖然安全但太沒有效率,新一代的區塊鏈往往採用 PoS 或是 DPoS,於是乎原本用 PoW 的區塊鏈,也想改成 PoS 或 DPoS ,但如果撤銷 PoW 機制,原本礦工花大把鈔票購置的的礦機就瞬間變成廢鐵了!礦工當然不願意這麼做,這正是以太坊目前所面臨的問題,在可能衝擊礦工利益的狀況下,以太坊的工程師社群只能漸進修改共識機制,不能躁進,不然礦工會不願意下載新版本的軟體而導致帳本分岔。

這就是區塊鏈奇耙的地方,因為它是分散式的系統,即便工程師想更新軟體,也得網路的節點都買單才行,這加深了區塊鏈技術更新的難度。

挑戰三:責任歸屬問題

區塊鏈去中心化的特性,使出事後的責任歸屬變得相當困難。舉例來說,假設某銀行被駭客入侵,受害者可以找銀行求償,但如果區塊鏈被 51% 攻擊,用戶必須自己承受所有的損失,對於已經習慣中心化系統的人來說,這樣的「特性」是很難接受的。

挑戰四:不能保證上鏈資訊的正確性

區塊鏈雖然可以在一定程度上確保帳本不可被竄改,但是卻不能保障資訊寫入區塊鏈前的正確性,舉例來說,一個灑農藥的蕉農,仍然可以在農產品履歷追溯的區塊鏈寫上自己的香蕉是「有機」的。

其實光這點就可以打破很多人對區塊鏈的應用的想像,舉例來說前陣子柯文哲曾表示想要用區塊鏈紀錄選舉募款金額,以避免名嘴追殺,但事實上,就算真的把募款金額上鏈,我們也不能保證上鏈的募款金額是正確的,或是真的把每一筆募款都上鏈了,在無法確保這兩件事的前提下,用區塊鏈紀錄募款金額只不過是脫褲子放屁罷了。

同樣的問題,也出現在智能合約的觸發條件上,舉個例子,假設有個 DAPP 是世界杯博弈的應用,今天有個賭局是賭德國足球隊是否會贏球,用戶用以太幣跟莊家對賭,假設德國隊真的踢贏了,由於這個訊息獨立於區塊鏈之外,智能合約必須仰賴外部輸入「德國隊贏球」這個訊息才會觸發打幣的條件,這時候會面臨兩個問題:

一、誰來輸入「德國隊贏球」這個訊息

二、誰來確保「德國隊贏球」這個訊息是正確的

你可能會說,智能合約可以接世界杯官網的 API 啊~官網的資訊總不會錯吧!這時第二層問題就來了,你怎麼能確保這個智能合約接的 API 是正確的呢?如果合約代碼有後門怎麼辦?

通常這類的問題,會由投票的方式決定,也就是說只要過半數用戶認可「德國隊贏球」這個資訊,它就自動會成為觸發智能合約的條件。

那我們再更深入地問一個問題,德國隊贏球是大眾可認知的訊息,但如果智能合約的觸發條件無法被大眾認知,只有少數人能夠知道呢?這樣就不能用投票的方式解決了,勢必要找公證人來當訊息的輸入者,但問題又回到原點,如果要找公證人,那我還做智能合約幹嘛,乾脆寫法律合約就好了…

所以看出問題了嗎?智能合約的應用範圍是有限的,只要智能合約的運作需要輸入外部資訊,合約本身怎麼設計就會變得比較複雜,智能合約並不能取代所有的傳統合約。

挑戰五:需要審核智能合約的代碼

DAPP 的智能合約代碼會寫在區塊鏈上,這意味著代碼是公開的,可供大眾檢視,但一般民眾看不懂代碼,如果真的要確保代碼沒有問題,勢必得要找一個公正的第三方審核代碼的安全性…

等等,區塊鏈本身不是就是要「去信任」(trustless)嗎?怎麼這時候又要找第三方了?

先別說 DAPP,退一萬步來說,事實上當我們在使用區塊鏈系統的時候,本身都必須建立在對整條鏈的信任上,我們必須信任比特幣跟以太坊的代碼沒有問題才會去使用它,像比特幣或以太坊這種大型開源項目,自然會有很多工程師去審核代碼,算是比較安全的,但對於各種智能合約的應用來說,就不是這麼一回事了,所以現在才會出現各種智能合約的審查公司(smart contract auditor),不過這麼一來就只是把信任轉嫁給這些審查公司而已,從這個角度來看,區塊鏈永遠不可能做到實質含意上的「去信任」。

再者,代碼審核這件事本身是很困難的,即便現在檢查覺得沒問題,也難保之後不會出事。舉 2016 年以太坊著名的 The DAO 攻擊事件為例,The DAO 在當時是區塊鏈有史以來最大的眾籌項目,但因為被駭客發現其智能合約的漏洞,盜走了約 370 萬顆以太幣。由於影響者眾,當時以太坊創辦人 V 神不得不跳出來主持大局,宣布將發布新版本的軟體,把帳本回滾到尚未被攻擊的狀態,有少部分人認為此舉違反了區塊鏈「去中心化」的精神,不願意更新版本,於是留在原地,這就是以太坊首次硬分岔——以太坊經典(Ethereum Classic)的由來。

像 The DAO 這麼火紅的項目,其募資的智能合約自然會經過嚴格的審核,可惜即使經過頂尖程式專家與社群的檢視,仍然被駭客發現重大缺陷。智能合約的核心精神——代碼即法律(code is law)雖然立意良好,但實務上要執行,還是要克服很多技術以外的問題。

挑戰六:用戶可能根本不在乎你到底是不是「去中心化」

區塊鏈的本質——去中心化、透明、不可篡改,這些都很好,但普通用戶真的在乎嗎?

我們可以從一些立意良好的「中心化」項目看出端倪,DuckDuckGo 是一個標榜不會追蹤你隱私的搜尋引擎,Ello 是無廣告版的臉書,兩者都很棒,但以用戶數而言,都不算是實質意義上成功的項目,為什麼?

因為比起在乎隱私或廣告干擾,用戶更在乎的是你能不能解決他的問題,搜尋引擎如果搜尋不到最多、最精準的資料,社群媒體如果無法滿足跟朋友互動的需求,大家就不會有誘因去使用。

假設今天底層公鏈的效能問題被解決了,某公司在一條效能超強的鏈上開發了一個去中心化、開源版本的 Facebook,我們就叫他 DFB 好了,DFB 號稱可以解決個資被企業亂用的問題,且絕對不會追蹤你的隱私。但 DFB 因為建立在分佈式運算、儲存系統(區塊鏈)的關係,導致效能會比較差一點,這意味著你每點開一個對話視窗,或是每瀏覽一張照片,都會比中心化版本的 Facebook 多幾十毫秒甚至幾百毫秒上的延遲,你還會想用嗎?

答案不言可喻了。

筆者認為,並非所有的軟體都適合用區塊鏈去做去中心化的版本,如果DAPP 不能比中心化應用更加滿足用戶的「核心需求」,光在透明、去中心化、不可篡改這幾個特點上做文章,是沒有意義的。

結論

坦白說,區塊鏈真的不是很好懂,因為不好懂,所以讓很多人片面誤解區塊鏈的特性,進而對其應用產生錯誤的想像,現在有不少教授、專家、媒體、政治人物,都把區塊鏈視為萬靈丹,而忽略其本質上最根本的限制。

希望本文提出的六大點,能更進一步帶你瞭解區塊鏈,有任何回饋歡迎在下方留言!

幣圈慣例,若本文有幫助到你,歡迎打賞:

BTC 打賞地址:3L7CMKtN9p4iHqgd8nYC4Yi3WLbmS93Zst

ETH 打賞地址:0x77ef6211bc991cab47ed7513d01d19ed085077b8

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store