加密經濟的信任引擎

2018年7月9日 17:15
来源:NervosNetwork

本文轉自NervosNetwork,作者Jan

1、區塊鏈需要成為世界計算機嗎?

如果拋開區塊鏈的概念,就字面意思理解「世界計算機」,那應該是一臺全世界用戶可以共同使用的計算機。在世界計算機中,我們應該可以搭建和部署自己的應用,由世界計算機幫我們執行;我們可以在世界計算機上保存各自的數據;不僅如此,應用之間還能夠完美的協作,共同完成我們交待的任務。我很喜歡這個想法。

其實在區塊鏈出現之前,我們已經擁有了這樣的世界計算機,我們稱呼它為「雲計算」。雲計算提供的服務可以被全世界的用戶訪問,通過這些服務我們可以搭建和部署自己的應用,保存應用數據;應用可以使用諸如 HTTP 這樣的通訊協議和公開的 API 接口進行協作,共同完成某一個任務。這些年,雲計算也沒有停止進化的腳步,從 IaaS 到 PaaS 再到 FaaS,抽象層次越來越高,能力越來越強大,使用越來越方便。

如果要當作世界計算機來用,不得不說,區塊鏈與雲計算平臺相比劣勢明顯:雲計算平臺可以支撐無限的吞吐量,可以提供完美的用戶間隱私保護。但是我們知道,區塊鏈之所以會有這些劣勢,並不是由於設計的疏漏。恰恰相反,中本聰想請楚了 Ta 想要的是甚麼,在 Ta 看來,為了那個目標放棄一些東西是值得的。

世界計算機不應該是區塊鏈的目標,設計者不應該被這個錯誤的目標誤導,設計者必須有自己的權衡。

2、Ask the Right Question

如果跳出區塊鏈的深井來觀察,我們提出的問題不應該是「如何打造一臺世界計算機」,也不應該是」如何解決區塊鏈面臨的性能和隱私兩大難題「。區塊鏈只是一種技術工具。我們可以清楚看到的是,人們想要的不是區塊鏈,而是加密經濟。作為 Nervos 的設計者,我們試圖回答的是這樣一個問題:

如何為未來的加密經濟設計基礎設施?

問題的答案可以是區塊鏈,也可以不是區塊鏈,但無論如何,它必須支持自我保障協議,這是加密經濟的基礎,同時也必須解決它在今天遇到的問題,比如交易性能,以及交易隱私 – 沒錯,我們依然要解決性能和隱私的問題,但問題的主體是加密經濟,不是區塊鏈這把在我們的工具箱中閃閃發亮的扳手。

3、自我保障協議與加密經濟

加密經濟(Cryptoeconomics)是區塊鏈發展多年以後形成的全新經濟體。這個經濟體與其他的虛擬經濟相比較時顯得鶴立雞群,因為她是我們迄今為止創造出的最活躍的市場:她與互聯網一般大,跨越不同的國家和地區,吸引了成千上萬來自不同國家的市場參與者;她將個人創造和交易數字資產(Cryptoassets)的成本降到極低,正如當年部落格與微博將傳播的成本降到極低然後匯聚了前所未有的註意力一樣,她也匯聚了前所未有的流動性;她永不停轉,7*24小時不間斷的為用戶提供服務。

維護這樣一個跨越地域的自發市場執行的,不可能是受到地緣限制的傳統制度,只能是在任何時間、任何空間都能夠成立的普遍規律:數學、理性、博弈,等等。加密經濟的大廈正是建立在密碼學和博弈論之上,通過精心設計的自執行制度激勵用戶共同保障市場中各種協議(即合約)的執行,進而保證市場參與者的資產所有權和交易執行,維護市場的穩定執行。由於加密經濟中的協議是由一種去中心化的機制,而非參與者以外的第三方來保證實施,我把它稱為自我保障協議(Self Enforced Protocol)

自我保障協議是加密經濟的基礎,也是一種前所未見的新物種。「古典」互聯網所依賴的網路協議是一種樂觀的協議,設計者總是假設參與方會遵循協議的規定,按照協議規定的步驟行動。而現實與理想截然相反,互聯網協議的參與方往往無意甚至有意的不按照步驟行動,其後果就是協議的執行被任意的破壞和中止,遵循協議的參與者只能重試或是更換協作者。這一類協議打造的互聯網是一個充滿了不確定的網路,一個無法為數字經濟提供原生支持的網路。

4、信任的創造和傳導

《The Economist》 在 2015 年給區塊鏈取過一個十分恰當的名字,「The Trust Machine」。我喜歡把這個名字翻譯為「創造信任的機器」,正如 Candy Machine是制造糖果的機器。作為一個喜歡動手創造軟 (shi) 件 (jie) 的開發者,「創造信任」是我能想到的最酷炫的一個目標了(於是我司的 Slogan 是 We Build Trust)。有趣的是三年過去後的今天,區塊鏈真的變成了可以憑空變出」糖果」的 Candy Machine,一系列五花八門的功能被註入區塊鏈,也不在乎「古典」技術方案會不會是更恰當的選擇。

從架構的觀點來看,將一個系統的整體功能分層或分解,交給不同的功能層或是功能組件去處理,是一種優於將所有功能都耦合在一個單體中的設計糢式。我們甚至可以說解耦是所有複雜系統設計的核心。UNIX 的管道設計,在傳統桌面軟體和互聯網服務都有應用的 Model/View/Controller 糢式,外掛架構的編輯器VIM都是很好的例子。互聯網同樣通過不同的網路協議實現數據傳輸、郵件遞送等不同的功能,在這一組協議中也包括由 PKI(Public Key Infrastructure)和 TLS(Transport Layer Security)等與身份和加密有關的協議,它們共同構建了互聯網的信任體系。

PKI 體系負責創造、管理、分配、使用、存儲以及撤銷數字證書,解決數字身份與物理身份對應的問題。數字證書頒發機構 (CA) 負責管理和發放數字證書,將用戶/企業的身份與公開密鑰鏈接在一起。數字證書頒發機構可以給其它數字證書中介機構頒發證書,形成層層相連的證書鏈。基於數字證書,互聯網上的網站與網站之間,用戶與網站之間,以及用戶與用戶之間可以建立安全保密的資訊交換通道。比如說,當用戶訪問電商或者銀行網站時,就是通過數字證書以及 HTTPS(HTTP over TLS)協議來建立安全鏈接。

這是一個分工協作的系統:PKI 只關心身份和數字證書的管理,數據的加密傳輸由 HTTPS 來完成。PKI 本身又是一個分層的架構,處於系統最底層的是根證書頒發機構,是整個信任鏈的起點,根證書頒發機構本身的數字證書被默認內置在瀏覽器等軟體中,受到所有互聯網用戶的信任,這種信任通過證書鏈被層層傳遞上去,最終被註入這個體系中所有的互聯網服務。根證書頒發機構只做證書管理這一件事情,它們不關心電商、游戲或是其他任何具體場景的業務邏輯,這些場景中發生的數據交互也不需要經過根證書頒發機構。根證書頒發機構為互聯網創造信任,它們是整個互聯網信任體系的「引擎」。之所以「引擎」兩個字要加引號,是因為根證書頒發機構終究還是人來管理的企業而不是機器。

互聯網建立了一個非常成功的信任網路,而且運轉良好,沒有遇到性能或是隱私的麻煩。究其原因,是因為互聯網採用了一個分層和解耦的架構。這個古典信任網路唯一的問題,在於其可信等級還不夠高,因為我們需要相信根證書頒發機構的實力和人品(根證書頒發機構發生的安全事故並不少);在於它缺乏對自我保障協議的內在支持,我們無法在其中定制和實現能夠自我保障執行的協議。我們需要解決這些問題。因此, 我們理想中的加密經濟網路基礎設施,同樣應該是分層和解耦的架構,通過一組協議而不僅僅是一個協議來定義,對自我保障協議提供原生支持,並且有一個無需依賴任何第三方的信任鏈的根

是時候讓閃閃發亮的扳手登場了。

5、CKB: Nervos 的信任引擎

區塊鏈是創造信任的機器,是一個不依賴任何第三方的由算法和經濟激勵維護的的網路。區塊鏈剛好是我們想要的那個無需依賴任何第三方的信任鏈的根。

我們為 Nervos 網路打造的信任引擎叫做 CKB(Common Knowledge Base),共同知識庫。這個名字源於我們對區塊鏈的認識,在 CKB 白皮書的附錄中有詳細描述,這裡不再贅述。CKB 位於 Nervos 網路的最底層(我們稱為 Layer1),是一個全新設計的公有鏈協議,是 Nervos 網路信任鏈的根,是整個 Nervos 網路的安全之錨。在 CKB 之外,Nervos 還要定義 Layer1 與 Layer2 之間的信任傳遞協議,將 CKB 建立的信任傳遞到上層,保障 Layer2 DApp 的執行,保障整個 Nervos 加密經濟的執行。這是一個類似 PKI 體系的分層信任網路,絕大部分的計算、存儲、網路傳輸發生在 Layer2,只有在 Layer2 的運營節點作惡,產生信任問題時,用戶才需要與 Layer1 交互,提交密碼學證據給 CKB,CKB 根據證據和事先確定的規則進行仲裁,由此保障 Layer2 上協議的執行。Layer1 的目標是安全,Layer2 的目標是計算。

CKB 自身使用 PoW 共識,通過 PoW 將 CKB 與現實世界中的能量錨定。選擇 PoW 是因為這是目前已知的最為可靠的開放網路共識協議。Nervos 網路由此形成一個樹狀的信任傳遞網路:

需要特別指出的是,這樣的分層架構對 Layer1 會產生完全不同的要求,我們沒有看到能滿足這樣要求的公有鏈設計。這樣的目標和現狀要求我們必須重新設計 Layer1。因此,CKB 與其他的公有鏈有著完全不同的設計目標,具體來說:我們希望盡可能的最小化 CKB 的職責,專註於安全的共識,為上層建築創造信任,而不是最大化 CKB,讓它能夠支持各種通用的業務場景。正如 PKI 體系中的根證書頒發公司無需關心具體的應用場景。優美的設計產生於簡單和平衡而不是曡加。

因此 CKB 只需要保留兩個功能:一是簡單安全的共識算法,二是支持 Layer1 與 Layer2 之間的信任傳遞協議。

我們的研究與工程團隊正在設計和實現一個新的 PoW 共識,目標是在保證安全的前提下,盡可能的挖掘 PoW 的潛力,提高 CKB 的吞吐量,縮短交易確認時間。由於 Nervos 網路中的大部分交易將發生在 Layer2,我相信通過新的 PoW算法和對並行計算友好的 Cell 糢型(見 Nervos 白皮書)所實現的性能可以支撐 Nervos 網路前期的需求。

為了支持 Layer1 與 Layer2 之間的信任傳遞,CKB 選擇了以狀態為中心的設計,提出了 Cell 糢型這樣一個不同於賬戶糢型和 UTXO 糢型的新狀態糢型。 Cell 糢型是 UTXO 糢型的最小自然擴展,將只關心數字的 UTXO 擴展為可以保存任意數據類型的 Cell。Cell 是實現 Layer1 和 Layer2 之間的信任傳遞協議的基礎,因為我們必須有方法來保存狀態,同時這個保存狀態的方法應該是一個恰到好處的程度,不多不少(e.g. 我們不需要一個 KV 或是 SQL DB)。我們需要一個做狀態驗證的虛擬機,這個虛擬機不需要支持太多的場景,最好也是剛剛好。狀態在 Layer2 上生成,在 Layer1 上記錄和驗證。

由於不僅僅要考慮自身的安全,還需要考慮如何支持信任傳遞協議和 Layer2,CKB 的經濟機制也面臨著更大的挑戰。CKB 代幣將是 Layer2 的抵押物,是Nervos 網路默認的價值存儲手段(SoV)。這方面我們需要更多的研究,幸運的是我們有很棒的經濟學家在幫助我們。

可以看到,Nervos 從整體出發的設計思路,使 CKB 在設計初始就以 Layer2 的需求為優先。在多個方面。這將使得在 Nervos 網路中實現 Layer2 方案會更容易。這是 Nervos 獨特的方法論。

6、A Better World

加密經濟網路是互聯網發展到成熟的階段的自然延伸。互聯網經历了自己的 1.0和 2.0,成就了 GAFA(穀歌/蘋果/臉書/亞馬遜) 與 BATX(百度/阿裡/騰訊/小米),也顛覆了我們的生活。發展到今天,互聯網平臺已經渡過了需要吸引用戶和第三方合作夥伴的成長期,行業的增長天花板就在眼前,平臺與平臺參與者之間的關系從非零和博弈轉向零和博弈,平臺必須與第三方爭搶用戶和利潤,即使所有人都知道,抑制了第三方的參與積極性也就抑制了創新。這是互聯網糢式的困境。

在這樣無法創新的困境下,區塊鏈和加密經濟的出現也就成為了一種必然,我們正處於互聯網下一次蛻變的起點。讓我們仔細的思考加密經濟需要甚麼,虛心的向古典互聯網學習,創造我們所向往的美好世界。