這依然是一篇科普性質(zhì)的文章挽铁,文章的主角就是我本人在區(qū)塊鏈工程領域的偶像卸耘,文中介紹了他到目前為止的主要貢獻。希望這篇文章也能幫助你認識他伍俘、了解他邪锌。完整閱讀全文約需要 6 分鐘。
Gavin Wood 是誰癌瘾?
Gavin Wood 出生于 1980 年觅丰,英國人,是英國約克大學(University of York)的計算機科學博士妨退,是一位杰出的軟件工程師妇萄,一個實干家。
Gavin 最初是在 2011 年看到了比特幣咬荷,和當時的很多技術人員一樣冠句,他也沒有意識到由比特幣系統(tǒng)引入的“區(qū)塊鏈”有著何等改變世界的潛力。到了 2013 年幸乒,他開始意識到可編程區(qū)塊鏈的價值懦底,并在年底時經(jīng)共同的朋友介紹,認識了 Vitalik Buterin罕扎,看到了以太坊白皮書聚唐。他很快就決定幫助這個當時只有 19 歲的年輕人來實現(xiàn)以太坊這個偉大構(gòu)想——一個可編程的區(qū)塊鏈、一個智能合約和去中心化應用平臺(關于以太坊是什么壳影,請參考我的上一篇文章)拱层。而這也徹底改變了他的事業(yè)發(fā)展軌跡。
Gavin Wood 博士是以太坊早期在工程上貢獻最大的人:
- 2014 年 1 月宴咧,他完成了以太坊的 PoC-1(Proof of Concept-1)根灯,這也是 C++ 版本的以太坊客戶端的最初原型。
- 2014 年 3 月,他完成了以太坊黃皮書烙肺。這份文獻的水平和價值已無須多言纳猪。
- 2014 年 8 月,他發(fā)明了為智能合約開發(fā)設計的高級語言——Solidity桃笙。而 Solidity 也幾乎成了此后幾年內(nèi)智能合約開發(fā)的事實標準氏堤。
以太坊項目早期的幾乎所有重要技術決策都是他來做的,所以我們可以毫不夸張地說搏明,Gavin Wood 博士是工程上的“以太坊之父”鼠锈。
Web 3.0 的構(gòu)想
Gavin Wood 博士在 2014 年 4 月,也就是剛剛完成以太坊黃皮書之后星著,就發(fā)表了一篇論文來闡述他對“Web 3.0”的構(gòu)想购笆。
在這篇論文中,他提出了“后斯諾登”時代的 Web 形態(tài)虚循,也就是他所設想的 Web 3.0 的 4 個組成部分:靜態(tài)內(nèi)容發(fā)布(static content publication)同欠、動態(tài)消息(dynamic messages)、無需信任的交易(trustless transactions)和集成的用戶界面(an integrated user-interface)横缔。
- 靜態(tài)內(nèi)容發(fā)布铺遂,指的是一種去中心化的、基于密碼學構(gòu)造的信息發(fā)布系統(tǒng)茎刚。它與傳統(tǒng)的基于 HTTP(S) 和 FTP 協(xié)議構(gòu)造的信息發(fā)布系統(tǒng)的最大區(qū)別就是信息的公開透明且不可篡改襟锐、不可偽造。這也是類似于比特幣和以太坊這樣的區(qū)塊鏈系統(tǒng)所提供的基本特性斗蒋。
- 動態(tài)消息捌斧,指的是一種基于身份標識的偽匿名底層消息服務笛质。(參考以太坊中的 Whisper 協(xié)議泉沾。)在 P2P 網(wǎng)絡中,是可以實現(xiàn)一種真正的“點對點消息”的妇押,而不像我們目前絕大多數(shù)消息應用那樣采用通過中心化的“服務器”來連接通信雙方的“轉(zhuǎn)發(fā)模式”跷究。
- 無需信任的交易,指的是由比特幣創(chuàng)造出來的基于公共賬本的共識系統(tǒng)敲霍】÷恚基于這種公開的共識系統(tǒng),可以從技術上確保交易雙方“無需信任”(由密碼學和分布式共識保證)肩杈,也就是不再需要使用目前傳統(tǒng)的必須依賴可信的第三方機構(gòu)才能完成交易的業(yè)務模式柴我。
- 集成的用戶界面,指的就是集合了能基于以上三種新形式的服務來為最終用戶提供操作界面和實際業(yè)務功能的所謂“去中心化應用程序(DApp)”扩然。
他所設想的這種 Web 3.0 實際上就是基于 P2P 協(xié)議來從軟件層面重塑互聯(lián)網(wǎng)艘儒。當然,“去中心化”、“隱私”等概念天然地與目前已經(jīng)被廣為接受的互聯(lián)網(wǎng)模式有一些沖突界睁,是需要進行“權衡”或者“妥協(xié)”的觉增,這里就不做更多討論了。
目前看來翻斟,Web 3.0 其實并不是簡單地取代或者消滅目前主流的 HTTP(S)逾礁、SMTP、FTP 這些中心化的互聯(lián)網(wǎng)信息協(xié)議模式访惜,而是要基于 P2P 協(xié)議構(gòu)造新的網(wǎng)絡架構(gòu)以提供去中心化的網(wǎng)絡服務嘹履,來與人們已經(jīng)熟悉和接受的模式共同提供互聯(lián)網(wǎng)信息服務。
自立門戶
對 Web 3.0 的構(gòu)想而言债热,以太坊僅僅是一個初級的實驗品植捎,從整體設計和代碼結(jié)構(gòu)上都有很多不盡人意的地方。當然阳柔,以太坊是成功的焰枢,其實際價值也不可否認。但已經(jīng)成型的客戶端代碼架構(gòu)以及社區(qū)共同維護的模式使大規(guī)模的代碼重構(gòu)和再設計變得非常困難舌剂。于是济锄,Gavin Wood 博士在 2015 年下半年離開了以太坊社區(qū),創(chuàng)立了 Parity Technologies霍转,由他自己主導后續(xù)的技術和設計方向荐绝。
Parity Technologies 最出名的項目當然就是 Parity(用Rust 語言編寫的以太坊客戶端),其優(yōu)秀的代碼結(jié)構(gòu)正是出于對早期設計實現(xiàn)以太坊客戶端的經(jīng)驗總結(jié)避消。而 Gavin 自己則將大部分精力投入到了他自己所設想的 Web 3.0 通用基礎服務系統(tǒng)——Polkadot 項目中低滩。
Polkadot 和 Web3 基金會
到 2016 年,Polkadot 的白皮書草案完成岩喷。在 Polkadot 項目中恕沫,Gavin Wood 博士提出了所謂“中繼鏈(Relay Chain)”和“平行鏈(Para Chain)”的概念。用平行鏈來承載具體的業(yè)務纱意,用中繼鏈來使平行鏈之間的消息可以進行協(xié)議級的交互以構(gòu)造完整的基于 P2P 網(wǎng)絡的區(qū)塊鏈生態(tài)婶溯。
Polkadot 得到了一定的關注和初始資金,但并沒有過度炒作偷霉。Gavin 為這個項目設立了兩年的封閉開發(fā)周期迄委,并在 2017 年成立了 Web3 基金會(Web3 Foundation),主要資助 Polkadot 和與其生態(tài)相關的部分項目类少,Gavin 自己擔任了 Web3 基金會的主席叙身。
Substrate
Substrate 則是 Gavin Wood 博士在工程層面對區(qū)塊鏈領域的又一個巨大貢獻。這個項目是 2017 年底才在 Github 上立項的硫狞,Gavin Wood 也是最主要的代碼貢獻者信轿。它是由 Polkadot 的 PoC(Proof of Concept)原型逐步演化而來的赞警。
在開發(fā) Polkadot 的過程中,核心開發(fā)者發(fā)現(xiàn)可以通過模塊化和解耦設計將支撐一個區(qū)塊鏈系統(tǒng)的網(wǎng)絡層(P2P 協(xié)議)虏两、共識層和應用層(數(shù)據(jù)模型和智能合約)分離開愧旦,以提供最大的靈活性,而不是像以太坊那樣將數(shù)據(jù)模型和共識邏輯耦合綁定定罢。
從技術角度講笤虫,以太坊客戶端的一大設計問題就是共識邏輯和基礎數(shù)據(jù)模型的耦合。目前業(yè)內(nèi)有很多項目是基于現(xiàn)有的以太坊客戶端代碼來進行改造的祖凫,包括一些許可鏈(聯(lián)盟鏈)項目琼蚯。那么共識邏輯和基礎數(shù)據(jù)模型的耦合就成了在定制客戶端時最復雜的、改動量最大惠况、風險最高的工作遭庶。對于開發(fā)者來講,這個問題是躲不過的稠屠。
將網(wǎng)絡協(xié)議峦睡、共識和業(yè)務邏輯解耦的特性對于需要大量或者大幅度定制開發(fā)的區(qū)塊鏈系統(tǒng)來講極其重要,是影響工程效率和質(zhì)量的關鍵特性权埠,而 Substrate 就是提供了這種特性的一個項目榨了。它本身沒有任何業(yè)務邏輯,屬于一個高度抽象的用于開發(fā)區(qū)塊鏈系統(tǒng)的底層基礎架構(gòu)攘蔽。它提供了基礎的 P2P 網(wǎng)絡協(xié)議的實現(xiàn)龙屉,一個獨立的、可替換的共識層模型和一套可定制數(shù)據(jù)模型的智能合約開發(fā)接口满俗。從代碼結(jié)構(gòu)看转捕,它是高度模塊化、高度靈活的區(qū)塊鏈開發(fā)框架唆垃,可以說是到目前為止最好的可定制區(qū)塊鏈基礎框架五芝。
基于 Substrate,軟件工程師可以結(jié)合自己項目的具體業(yè)務需求來快速定制區(qū)塊鏈系統(tǒng)降盹。Polkadot 就是一個基于 Substrate 的定制化區(qū)塊鏈系統(tǒng)与柑,而未來所有基于 Substrate 定制的區(qū)塊鏈系統(tǒng)都可以簡單地接入 Polkadot 構(gòu)造的多鏈/跨鏈生態(tài)谤辜。Substrate 可以用來定制獨立的公鏈蓄坏、定制能夠與 Polkadot 的中繼鏈交互的平行鏈,也可以用來定制許可鏈(聯(lián)盟鏈)丑念。從工程技術上講涡戳,這能夠快速定制區(qū)塊鏈系統(tǒng)的特性當然有非常重要的意義,也符合“不重復造輪子”的工程原則脯倚。
小結(jié)
Gavin Wood 博士可以說是構(gòu)建 Web 3.0 生態(tài)的偉大踐行者渔彰,Polkadot 和 Substrate 就是為實現(xiàn)他自己提出的 Web 3.0 構(gòu)想所進行的工程實踐嵌屎。這兩個項目,尤其是 Substrate 在工程實踐上對區(qū)塊鏈技術發(fā)展落地的貢獻是非常巨大的恍涂,其技術價值毋庸置疑宝惰。
最后需要明確的是,Polkadot 和 Substrate 都屬于通用基礎技術框架再沧,本身并沒有具體的業(yè)務功能尼夺,它們的設計目的也不是要承載特定的功能。它們是要提供一種基礎技術服務炒瘸,讓定制化的區(qū)塊鏈能更簡單地實現(xiàn)并使這些定制化的區(qū)塊鏈可以進行相互通信來逐步構(gòu)成完整的 Web 3.0 業(yè)務生態(tài)淤堵。這也是 Gavin 本人的偉大構(gòu)想。
雖然在區(qū)塊鏈技術得到廣泛應用之前顷扩,作為全新的 Web 3.0 基礎技術框架的 Polkadot 和 Substrate 恐怕不會得到太多關注拐邪,但 Gavin Wood 博士作為開源區(qū)塊鏈技術領域的杰出工程師、實干家和開拓者隘截,他在工程上的貢獻有目共睹扎阶,也配得上所有的贊譽。
也許懂技術的朋友可能會覺得不過癮婶芭,所以最后附上文中內(nèi)容涉及到的一些原始資料的鏈接乘陪,如果你有興趣,可以自行學習雕擂。友情提醒:Gavin Wood 寫的技術 paper 都有相當?shù)碾y度啡邑,要真正啃下來需要很多時間和精力,但收獲也同樣很多井赌。相信我谤逼!
參考文獻:
Gavin 的個人網(wǎng)站,包含了文中提到的論述其 Web 3.0 構(gòu)想的論文:http://gavwood.com
以太坊黃皮書:https://ethereum.github.io/yellowpaper/paper.pdf
Polkadot Lightpaper:https://polkadot.network/Polkadot-lightpaper.pdf
Polkadot Whitepaper:https://polkadot.network/PolkaDotPaper.pdf
Substrate:https://github.com/paritytech/substrate#documentation