若是拋開區塊鏈的概念,就字面意思理解「世界計算機」,那應該是一臺全世界用戶能夠共同使用的計算機。在世界計算機中,咱們應該能夠搭建和部署本身的應用,由世界計算機幫咱們執行;咱們能夠在世界計算機上保存各自的數據;不只如此,應用之間還可以完美的協做,共同完成咱們交待的任務。我很喜歡這個想法。算法
其實在區塊鏈出現以前,咱們已經擁有了這樣的世界計算機,咱們稱呼它爲「雲計算」。雲計算提供的服務能夠被全世界的用戶訪問,經過這些服務咱們能夠搭建和部署本身的應用,保存應用數據;應用可使用諸如 HTTP 這樣的通信協議和公開的 API 接口進行協做,共同完成某一個任務。這些年,雲計算也沒有中止進化的腳步,從 IaaS 到 PaaS 再到 FaaS,抽象層次愈來愈高,能力愈來愈強大,使用愈來愈方便。設計模式
若是要看成世界計算機來用,不得不說,區塊鏈與雲計算平臺相比劣勢明顯:雲計算平臺能夠支撐無限的吞吐量,能夠提供完美的用戶間隱私保護。可是咱們知道,區塊鏈之因此會有這些劣勢,並非因爲設計的疏漏。偏偏相反,中本聰想請楚了 Ta 想要的是什麼,在 Ta 看來,爲了那個目標放棄一些東西是值得的。瀏覽器
世界計算機不該該是區塊鏈的目標,設計者不該該被這個錯誤的目標誤導,設計者必須有本身的權衡。安全
若是跳出區塊鏈的深井來觀察,咱們提出的問題不該該是「如何打造一臺世界計算機」,也不該該是」如何解決區塊鏈面臨的性能和隱私兩大難題「。區塊鏈只是一種技術工具。咱們能夠清楚看到的是,人們想要的不是區塊鏈,而是加密經濟。做爲 Nervos 的設計者,咱們試圖回答的是這樣一個問題:網絡
問題的答案能夠是區塊鏈,也能夠不是區塊鏈,但不管如何,它必須支持自我保障協議,這是加密經濟的基礎,同時也必須解決它在今天遇到的問題,好比交易性能,以及交易隱私 - 沒錯,咱們依然要解決性能和隱私的問題,但問題的主體是加密經濟,不是區塊鏈這把在咱們的工具箱中閃閃發亮的扳手。架構
加密經濟(Cryptoeconomics)是區塊鏈發展多年之後造成的全新經濟體。這個經濟體與其餘的虛擬經濟相比較時顯得鶴立雞羣,由於她是咱們迄今爲止創造出的最活躍的市場:她與互聯網通常大,跨越不一樣的國家和地區,吸引了成千上萬來自不一樣國家的市場參與者;她將我的創造和交易數字資產(Cryptoassets)的成本降到極低,正如當年博客與微博將傳播的成本降到極低而後匯聚了史無前例的注意力同樣,她也匯聚了史無前例的流動性;她永不停轉,7*24小時不間斷的爲用戶提供服務。編輯器
維護這樣一個跨越地域的自發市場運行的,不多是受到地緣限制的傳統制度,只能是在任什麼時候間、任何空間都可以成立的廣泛規律:數學、理性、博弈,等等。加密經濟的大廈正是創建在密碼學和博弈論之上,經過精心設計的自運行制度激勵用戶共同保障市場中各類協議(即合約)的執行,進而保證市場參與者的資產全部權和交易執行,維護市場的穩定運行。因爲加密經濟中的協議是由一種去中心化的機制,而非參與者之外的第三方來保證明施,我把它稱爲自我保障協議(Self Enforced Protocol)。工具
自我保障協議是加密經濟的基礎,也是一種前所未見的新物種。「古典」互聯網所依賴的網絡協議是一種樂觀的協議,設計者老是假設參與方會遵循協議的規定,按照協議規定的步驟行動。而現實與理想截然相反,互聯網協議的參與方每每無心甚至有意的不按照步驟行動,其後果就是協議的執行被任意的破壞和停止,遵循協議的參與者只能重試或是更換協做者。這一類協議打造的互聯網是一個充滿了不肯定的網絡,一個沒法爲數字經濟提供原生支持的網絡。性能
《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 自己又是一個分層的架構,處於系統最底層的是根證書頒發機構,是整個信任鏈的起點,根證書頒發機構自己的數字證書被默認內置在瀏覽器等軟件中,受到全部互聯網用戶的信任,這種信任經過證書鏈被層層傳遞上去,最終被注入這個體系中全部的互聯網服務。根證書頒發機構只作證書管理這一件事情,它們不關心電商、遊戲或是其餘任何具體場景的業務邏輯,這些場景中發生的數據交互也不須要通過根證書頒發機構。根證書頒發機構爲互聯網創造信任,它們是整個互聯網信任體系的「引擎」。之因此「引擎」兩個字要加引號,是由於根證書頒發機構終究仍是人來管理的企業而不是機器。
互聯網創建了一個很是成功的信任網絡,並且運轉良好,沒有遇到性能或是隱私的麻煩。究其緣由,是由於互聯網採用了一個分層和解耦的架構。這個古典信任網絡惟一的問題,在於其可信等級還不夠高,由於咱們須要相信根證書頒發機構的實力和人品(根證書頒發機構發生的安全事故並很多);在於它缺少對自我保障協議的內在支持,咱們沒法在其中定製和實現可以自我保障執行的協議。咱們須要解決這些問題。所以, 咱們理想中的加密經濟網絡基礎設施,一樣應該是分層和解耦的架構,經過一組協議而不只僅是一個協議來定義,對自我保障協議提供原生支持,而且有一個無需依賴任何第三方的信任鏈的根。
是時候讓閃閃發亮的扳手登場了。
區塊鏈是創造信任的機器,是一個不依賴任何第三方的由算法和經濟激勵維護的的網絡。區塊鏈恰好是咱們想要的那個無需依賴任何第三方的信任鏈的根。
咱們爲 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 獨特的方法論。
加密經濟網絡是互聯網發展到成熟的階段的天然延伸。互聯網經歷了本身的 1.0和 2.0,成就了 GAFA(谷歌/蘋果/臉書/亞馬遜) 與 BATX(百度/阿里/騰訊/小米),也顛覆了咱們的生活。發展到今天,互聯網平臺已經渡過了須要吸引用戶和第三方合做夥伴的成長期,行業的增加天花板就在眼前,平臺與平臺參與者之間的關係從非零和博弈轉向零和博弈,平臺必須與第三方爭搶用戶和利潤,即便全部人都知道,抑制了第三方的參與積極性也就抑制了創新。這是互聯網模式的困境。
在這樣沒法創新的困境下,區塊鏈和加密經濟的出現也就成爲了一種必然,咱們正處於互聯網下一次蛻變的起點。讓咱們仔細的思考加密經濟須要什麼,虛心的向古典互聯網學習,創造咱們所向往的美好世界。
Nervos 官網↓↓↓ https://www.nervos.org
Nervos AppChain 官網↓↓↓ https://Appchain.nervos.org
Nervos 惟一官方公衆號:
P.S:Nervos 由 Nervos 基金會發起並維護的一個全新公有鏈項目,戰略合做夥伴包括技術諮詢方祕猿科技(Cryptape)和招商銀行。