「去信任的區塊鏈」只是幻想

2019-09-12     東音社



有人認為「區塊鏈的創新之處在於『去信任(Trustless)』」。也就是說,即使沒有銀行等「值得信賴的第三方」,也不用擔心數據篡改,做到準確記錄交易信息。

但是仔細想想,「去信任」一詞十分模糊。信息系統中的信用、信任又是什麼?這個問題的答案其實是區塊鏈能否在現實世界通用的關鍵,本章將深入討論「區塊鏈的去信任」的問題。

「信任」就是「不確認」

在日語和中文當中,「Trust」都被翻譯成「信用、信任」等,其本質就是「不確認」。對於已經確認的情況,我們只需要「了解」而不需要「信任」,「信任」是一種不確定的行為。德國社會學家格奧爾格·齊美爾(Georg Simmel)認為:「信任介於已知與未知之間,是未來行為發生的確切假說(Vertrauen ist als Hypothese ein mittlerer Zustand zwischen Wissenund Nichtwissen um den Menschen)。」

時間戳技術(證明數據存在時間點的技術)的國際標準「ISO/IEC 18014-2」中,信任的定義是「用戶、其他利益相關人員對產品、系統符合期待的相信程度」。日語中提起「System」,很多人腦海中首先想到的都是計算機系統。然而「System」的本義指的卻是 「包含部分的整體」,也就是「系統」的意思。這樣來看,「信任」其實是「(用戶)對系統按照期待發展的相信程度」。

舉例來說,今天我替朋友付了午餐錢。雖然沒有查詢朋友的帳戶餘額,確認其是否具有償還能力,但是因為交往已久,我相信「很大程度上朋友會還錢」。這就是信任。再比如說人們之所以去銀行存款,就是因為我們相信,很大程度上「銀行不會侵吞這筆存款,能夠提供安全保護」。存款基於人們的信任,而不是具體確認過銀行的操作或財務狀況。

綜上所述,系統的用戶無須親自確認,因為認為「對方會按照自己的期待行動」,所以選擇「信任系統」。「信任」是現實社會的基礎,大大降低了社會成本,如果遇事就「確認」,社會成本將大幅提升。

「被信任的系統」

那麼,系統獲得信任的條件是什麼呢?

消費者信任某種產品和服務時,最重視的當然是企業的信譽,也就是「品牌」。舉例來說,提起和服,人們往往認為「『越後屋(Echigoya)』的和服品質肯定有保障」,消費者願意相信「越後屋」的品牌。而企業為了樹立品牌,必須付出極大的努力和高昂費用。

一旦偷工減料,企業的努力就會瞬間煙消雲散。在這種約定俗成的規則下,品牌其實凝聚了眾多信任。構築品牌時,「稍有不慎就雞飛蛋打」。比較這種損失和企業違法的收益,消費者自然願意相信「這樣的牌子沒有問題」。

「信任框架」:不是大企業也可以獲得信任

新手或中小企業取得信任十分不易。因此,建立不依託於品牌的體系時,獲得「信任」至關重要,以下三點必不可少。

・成果技術是否完備。

・適當起草規則並遵守。

・失敗後的挽救手段。

具備以上特性的結構就是「信任框架」。

當然,用戶其實也可以本人親自確認,但這種確認的成本太過高昂。這種行為也不屬於「信任」,而是「了解」系統的運行情況。用戶有選擇「誰去確認」的自由,這個「誰」可以是「服務提供者」,也可以是「第三方」。前者屬於「自我宣言模型」,後者屬於「第三方確認模型」。

如果選擇自我宣言模型,一旦宣言被推翻,宣言者就需要承擔巨額損失。在美國,依照聯邦交易委員會(FTC)法律第5條的規定,對名不符實的企業處以高額罰金,企業將「損失」品牌費用和今後大筆的收入。「品牌模型(Brand Model)」是自我宣言模型的一種。

第三方確認模型由監察人、當局等「第三方」確認上述三大要素,用戶選擇信任第三方機構。因此,第三方確認模型也被稱為「信任的第三方(Trusted Third Party,TTP)」模型。

日本金融機構的交易中,「日本銀行(Bank of Japan)」承擔了「第三方」的角色。不過第三方確認模型中也存在欺騙的可能性,所以需要制裁欺騙者。金融當局的監視和制裁,比如暫停營業資格,就是一種制裁手段。

中本聰的論文沒有「去信任」字眼

了解了「信任」的含義後,我們來琢磨一下「區塊鏈去信任」的意思。坊間炒得沸沸揚揚的「去信任」其實並沒有出現在中本聰的論文Bitcoin: A Peer-to-Peer Electronic Cash System中,論文中也根本沒有「去信任」一詞。原文的表述是:「建立在密碼學而不是「信任」基礎上的電子支付系統,允許任何有交易意願的雙方直接交易,而不需要一個被信任的第三方。」

NakamotoSatoshi,:Bitcoin: A Peer-to-Peer Electronic Cash System, Bitcoin. org, Oct.31,2008, (參考:2016-09-10)。

論文中介紹了以下三個前提。

・「正當性的前提」:點與點同意交易。

・「點對點(Peer-to-Peer)的前提」:交易在點與點之間進行。

・「算力分散的前提」:正當節點的算力總和始終超過不正當節點之和。

如果滿足以上條件,「我們提出一種雙重支付問題解決方案,就是使用一種點對點分散的時間戳伺服器,以生成可計算的、按時間順序排列的交易序列證明。」也就是說,只要滿足了三個前提,完全不需要第三方介入來解決雙重支付問題。但是如果前提條件崩潰,或出現雙重支付外的其他情況,信任就需要提上日程了。

舉例來說,使用過程中,用戶無法得知「(區塊鏈)正當節點的算力之和是否超過共謀不正當節點之和」,但是用戶依然選擇「信任」系統。還有節點軟體是否正確寫入、使用是否恰當……用戶選擇「信任」軟體(自己可以驗證程序正確與否,了解系統運行是否正常的情況除外)。

「去信任」只是幻想

現實之中,人們對區塊鏈寄予的期待要遠大於中本聰的設想。下面就以比特幣的區塊鏈為中心,討論一下區塊鏈「去信任」的可行性。

首先,我們需要知道系統自動滿足何種條件才能滿足「去信任」的要求。比特幣的區塊鏈技術並不具備「證明達成共識的正常交易順序」的功能,不管怎樣追求「去信任」,也只能屬於「範疇之外」。

其實「達成共識的正常交易」這種表達本身就令人費解。比特幣體系中,「正常交易」僅封閉於系統內部;一旦涉及外部世界,如土地資產、智慧財產權、法定貨幣和區塊鏈的Token時,就需要格外確認交易的「正當性」。

區塊鏈只能證明交易的時間順序(順序不可變更性),無法驗證「寫入內容的正當性」。即使寫入虛假信息,信息也會長久保留。

也就是說,我們需要另一個「信任」體系來驗證寫入內容的真偽。相比加密技術,「可靠的第三方」成本更為低廉,而所謂的「去信任」作用只是一種空想。

其次,「點對點的前提」。加密貨幣的交易往往需要通過交易所完成,交易所的系統獨立於區塊鏈之外,此時的交易所就是值得信賴的第三方機構。當然,並不是所有的第三方機構都百分百可信,比如「Mt.Gox被盜事件」。

再次,「算力分散的前提」。實際的比特幣體系並不滿足這一要求,具體理由如下:

其一,少數主體壟斷算力。例如比特幣體系中,70%以上的挖礦能力都集中在「防火長城(Great Firewall of China)」內側,有兩家企業幾乎參與了全部交易。如果特定的政府左右了比特幣的運行,就會出現與中本聰的設想背道而馳「反烏托邦(Dystopia)」。

其二,區塊鏈軟體的正版驗證極為困難。這裡的軟體不僅是各節點導入的軟體,以比特幣為例,還包括交易腳本語言、以太坊的智能合約等。究竟有多少人會自己寫代碼,又有多少人確認過代碼呢?大部分的用戶、開發者、下載網站、智能合約都默認「信任」已有框架,但這一體系卻難以擔負「去信任」的重擔。

從系統穩定性來看,區塊鏈軟體極其分散,種類繁多。如果使用單一軟體,而軟體又有漏洞時,「正當節點的算力總和始終超過不正當節點之和」的前提就轟然崩塌。

開發團隊及時修補漏洞,相當於系統中「神」一樣的存在。2016年6月發生的「The DAO事件」就是利用漏洞攻擊的典型案例。

拋棄過高期待,探索現實用途

以上我們了解了什麼是「信任」、區塊鏈的「去信任」和目前的信任情況。

總的來看,很難說現有區塊鏈技術實現了「去信任」。儘管「值得信賴的第三方」發生了改變,從實體機構變為軟體開發者或其他部門,但是這種改變並不一定能夠提升信任。除非滿足中本聰論文中提出的全部條件,否則甚囂塵上的「去信任」「低成本」都只是一種幻想。

當然我們不是全盤否定區塊鏈的作用,筆者對區塊鏈依然充滿期待。只是希望實際應用時,用戶可以放棄不切實際的幻想,仔細了解、努力達成各種前提條件,否則一旦幻想的美夢破滅,長久積累的良好印象將一去不復返。

10年間,很多技術都這樣逐漸消失,我們不能讓區塊鏈重蹈覆轍。儘管本書的主題是比特幣的區塊鏈技術,其實也同樣適用於其他方面的技術。無論是哪個領域,事先都要認真確認前提條件和結果。也許這樣的工作煩瑣而艱巨,然而當今時代,我們最缺少的就是這種務實的研究。



新書推薦《拷問區塊鏈》

文章來源: https://twgreatdaily.com/zh-mo/b7SUOW0BJleJMoPMN5pR.html