對於大眾來說,“Gavin Wood” 這個名字暫時還沒有“中本聰”、“V 神” 那麼家喻戶曉。但在很多區塊鏈開發者的心中,他卻是傳奇程序員和技術領袖。他編寫了第一版以太坊、撰寫了以太坊技術黃皮書、發明了Solidity 語言,還創立了下一代區塊鏈協議Polkadot。
隨著波卡(Polkadot)一躍成為市值榜上前幾名的區塊鏈項目,有越來越多的人想了解這個創造了波卡的人。本文梳理Gavin Wood 博士創建以太坊和波卡的故事,希望幫助大家更加了解這位低調的區塊鏈先驅。
Gavin Wood 博士,來源:Parity Technologies
Gavin Wood 博士,中文名林嘉文,1980 年出生於英國。如果你看過他的演講,會發現他的形象和刻板印像中的程序員形象相去甚遠:一頭灰白的短髮,常穿合身的T 卹配牛仔褲。他還有一個習慣,就是在做公開演講的時候,不管台下有多少人,手裡都常拎一瓶啤酒,時不時來上兩口助興。
編程與博弈論
Gavin Wood 最為人稱道的能力之一就是強大的工程能力,也就是通過合理的架構設計和編程,把想法變為代碼的能力。畢竟他曾經幾乎以一己之力完成了以太坊最初的開發。
Gavin 和計算機的結緣可以追溯到很久以前。從9 歲時媽媽給了他一台舊電腦開始,Gavin 對計算機的興趣就開始了。鄰居Sean 教他寫了第一個計算機程序,自此他對編程的興趣便一發不可收拾。選擇追尋興趣的Gavin,在約克大學修讀了計算機科學碩士學位,後來又在母校深造,取得了博士學位,方向是人機交互(HCI)和音樂可視化。
博士畢業後,Gavin 成了一名程序員,繼續探索和創造。他做過的東西包括但不限於:為微軟研究部提供了針對嵌入式領域特定語言的技術諮詢服務,為一家倫敦頂級夜店設計並實現了第一個真正的智能照明控制器,設計並實現了世界上第一個C++ 語言的工作台。他開發了智能文本合同的編輯系統OxLegal、可以將音頻分析可視化的插件Noted、CD 音軌抓取軟件RipInPeace 等。
從這些經歷中不難看出,Gavin 一直對創造新東西和解決問題很有興趣。對他來說,代碼是一種激情,一種藝術形式,“從某種程度上說,世界屬於程序員”。他曾試過一個多月不寫代碼,就覺得渾身不自在,總覺得需要創造點什麼。他形容寫代碼的感覺是“我們能夠感覺到我們的工作在某種意義上是創新的。我們正在構建新事物,我們正在發現新事物。我們每天在為尚未解決的問題創造一些新的、令人驚嘆的、優雅的解決方案。我會說我們在某種意義上是一群非常幸運且技藝高超的工匠。”
除了編程以外,Gavin 很早就對經濟學和博弈論感興趣。他開發過一款叫做Milton Keynes 的策略類桌遊,創造了Fractal Playground 和Localized Proportional Representation 投票系統。他還曾經向英國最高法院提議,設計一個新的投票系統,不過最後最高法並不想改變投票制度。
可能正是這兩興趣將他帶到了區塊鏈行業—— 區塊鏈似乎恰好是技術和博弈論的完美結合。事實上,當Gavin 在2011 年剛知道比特幣時,他對比特幣興趣寥寥。直到2013 年初再次審視比特幣時,他才“開始意識到把ITC 和博弈論結合起來,可以開闢出很多新的可能性,甚至可能會帶來一系列不可避免的社會變革”。他對治理的思考後來也貫穿在波卡的設計思想中—— 波卡採用了一套無需分叉的鏈上民主治理機制。
創立以太坊
2013 年,對區塊鏈產生了一些興趣的Gavin 通過一位老友認識了Vitalik Buterin。聽了Vitalik 關於以太坊的想法後,Gavin 覺得讓區塊鏈可以編程這個想法很有趣,決定幫助Vitalik 將以太坊寫成代碼。 2014 他去了邁阿密和Vitalik 和另外幾個創始人一起創立了以太坊。在這裡,Gavin 開發出了第一個可運行的以太坊實現,一般被稱為以太坊PoC 1 或者Alpha 版本。之後,Gavin 擔任了以太坊的首任CTO,並撰寫了“以太坊黃皮書”,在其中定義了以太坊虛擬機(EVM),是首個區塊鏈狀態機的正式規範。
在之後的兩年中,Gavin 全身心投入到了以太坊的開發中,包括搭建通用平台架構,完成了以太坊C++ 客戶端的大部分開發工作,還設計了用於編寫以太坊智能合約的面向對象的編程語言Solidity。有了Gavin 強大的工程實現能力的保駕護航,以太坊如預期中順利上線了。
2015 年,Gavin 提出了Web3.0 的概念,即建立一個去中介化的、自由的網絡環境,打破當今互聯網的壟斷,將數據、隱私等還給用戶, 成為“個人反對暴力權威的自由的基礎”。
2016 年,Gavin 離開以太坊,創立了EthCore。在漸漸聚集了來自15 個國家的60 多位開發者後,EthCore 發展為Parity 科技。 Parity 用Rust 語言編寫了以太坊Parity 客戶端,性能遠超Geth 和C++ 客戶端。
Gavin 離開以太坊的原因不得而知,一些猜想認為可能Gavin 和Vitalik 在以太坊的發展道路上產生了分歧。在後來的一些採訪中,Gavin 也確實提到過,他不贊同以太坊通過硬分叉進行治理的方式,而且他認為僅能使用ETH 支付手續費讓以太坊背離了成為“自由競爭的去中心化平台” 的初衷。似乎在Gavin 的心中,以太坊無法實現他對Web3.0 的構想。
創立波卡
2016 年,Gavin Wood 發表了波卡的白皮書,描繪了波卡的“異構多鏈” 架構。在此之後,便帶領Parity 著手波卡的開發。
在最近的一個訪談裡,當主持人問Gavin 他創立波卡的願景時,他回答“創立波卡的目的是想要「讓區塊鏈再次偉大」,想將區塊鏈行業向前推進一步”。
這個說法聽起來可能有點不太謙虛,但如果你了解過波卡就會發現這並不是在誇誇其談。波卡試圖解決區塊鏈行業幾個根本性的問題:性能上的可擴展性、架構設計上的靈活性、治理上的可升級性。
波卡採用「一條中繼鏈+ 多條分平行鏈」的“異構分片多鏈” 架構。中繼鏈負責共識部分,保證所有平行鏈的安全,每個平行鏈都是一個異構分片,可以並行運行,從而提高可擴展性。同時,每條鏈都可以有自己的業務邏輯,專注於解決特定領域的問題。平行鏈在開發上有很高的靈活性,甚至可以通過橋來將比特幣、以太坊等共識不同的公鏈接入進來,也就是所謂的“異構”。
波卡還解決了區塊鏈領域令人頭痛的“分叉” 問題,以往的區塊鏈需要升級時要軟分叉,意見不同時甚至要硬分叉。波卡設計了一套治理模式來在讓社區在鏈上達成一致,共同決定網絡的未來,然後通過鏈上Runtime 更新來進行升級。這保證了網絡與時俱進,而社區也不會因為意見分歧而分裂。
如果說開發以太坊證明了Gavin 有著傳奇般的工程實現能力,是一個實干家,那麼波卡中這些優雅和具有遠見性的設計已經證明了Gavin 還有著超凡的構想,是一個偉大的思想家。當思想和行動兩者在一個人身上完美結合時,我們一般稱這種人為“創造者”,他們可能推動行業的發展,甚至可能開闢出前所未有的行業。
Gavin 毫無疑問是一個創造者。在創造者的眼裡,構思出偉大的東西還不夠,還要一磚一瓦地將它建成。在發現問題時,他會自己去解決,而不是坐等其成,他享受創造的快樂。在他的眼裡,創新不是對原有事物的修補、改進,而是做出完全不一樣的東西。這一點在Substrate 的誕生中再一次被證明。
區塊鏈開發框架Substrate
在2018 年的Web3 大會的台上,Gavin 打開一台全新的蘋果筆記本電腦,在半小時內使用從頭搭建了一條區塊鏈,所用的就是Substrate 區塊鏈開發框架。
Gavin Wood 在2018 年Web3 大會上
來源:Parity Technologies
Substrate 脫胎於波卡—— 在開發波卡的過程中,Gavin 和團隊發現了一個問題:從頭開發一條區塊鏈太複雜了,且工作量巨大,這會把一大堆區塊鏈團隊都攔在門外,無疑會阻礙區塊鏈領域中的創新。於是,Gavin 和團隊決定將波卡的開發經驗抽象和提煉為一套區塊鏈開發框架—— Substrate。
Substrate 把區塊鏈常用的組件進行模塊化,比如共識、賬戶、代幣、治理、鏈上國庫等,開發者只需要選擇自己需要的模塊進行組裝、改動,就能快速搭建一條區塊鏈,使用Substrate 框架開發的鏈可以輕鬆接入波卡成為平行鏈。
金絲雀“Kusama”
除了Substrate,在創造波卡的過程中Gavin 還在不斷迸發新創意。
2019 年7 月在日本的一場活動上,Gavin 首次公佈了Kusama 網絡。 Kusama 是波卡的先行網,Gavin 將它叫做“金絲雀網絡”。因為早期的煤礦工人會帶一隻金絲雀進入礦洞,來幫助探測和排除危險因素,Kusama 對於波卡的意義也是如此。與以往那些區塊鏈測試網不同的是,Kusama 是一個將會長期存在的、具有真正經濟價值的網絡,有自己的代幣KSM,代碼和波卡高度相似,社區也將真正地去使用它,這讓波卡能夠提前在更加真實的環境中觀察各種機制、應用等會帶來的改變,並提前做好準備。
這樣的模式在區塊鏈世界可以說是史無前例的,隨後發生的事情證明了Gavin 的這個設想確實有用。在完整經歷了Kusama 的上線後,開發團隊和社區都做好了充分的準備,這讓波卡的上線過程順利地完成了。先行網這一設計也掀起了一股熱潮,波卡生態的一些項目紛紛效仿,在主網之前推出自己的先行網絡。
平行線程Parathread
正當社區還沉浸在Kusama 帶來的衝擊,正在熱火朝天地討論這個新生的金絲雀網絡時,Gavin 又搞事情了。幾天后,在波卡中國行上海站的活動上,Gavin 又給了大家一個驚喜,那就是波卡的“平行線程(Parathread)” 設計。
令人驚訝的是,在兩天前的北京場上,Gavin 的演講裡還全然沒有平行線程的影子。不知道是不是受到了中國社區的啟發,在上海站的演講前,Gavin 連夜改了PPT,增加了平行線程的內容,還在背景中配上了一個大大的漢字“絲”。最讓我震驚的一點是,在當天的演講中Gavin 並不只是簡單地提出了概念,而是已經對平行線程有了較為完善、成熟的考慮,包括它如何運行,如何對網絡中的各角色進行激勵,以及如何將它融入原有的產品設計等。也就是說從這個創意從誕生到完善到如此地步,最多只用了一天一夜的時間。
更重要的是,平行線程並不是一個錦上添花的小功能。它同時解決了波卡原有設計中的兩個重要潛在問題—— 平行鏈的退休問題和成為平行鏈資金門檻較高的問題。
波卡是異構多鏈,也就是一條波卡中繼鏈負責網絡的安全和共識,多條專注於特定領域的平行鏈接入到波卡中繼鏈並行運行。平行鏈想要接入波卡中繼鏈需要使用DOT 來競拍插槽(slot),租期從6 個月到2 年不等。那麼一旦平行鏈的租期到了且不續租的時候,平行鏈應該何去何從,誰來負責這些平行鏈的安全呢?從頭去搭建自己的驗證人節點似乎不太現實。再者,並不是每個團隊都能有財力去競拍到平行鏈,這些團隊是不是就無法享受到波卡網絡的益處了呢?
想必這些問題Gavin 也想到了,所以才提出了平行線程。它是平行鏈的“平價替代品”,不需要競拍插槽,只在需要使用時才佔用波卡網絡資源,並按使用量來付費,從而讓退休的平行鏈能夠轉為平行線程作為過渡,讓一些不需要連續運行的項目可以直接使用平行線程加入波卡網絡。
結語
在技術之外,Gavin 熱愛藝術和哲學,喜歡音樂、外語、滑雪、攝影,是跆拳道黑帶。他對世界有天生的好奇和敏感,可能在他眼里區塊鍊是一場大型的社會實驗。讓我們一起期待他在波卡上的創造吧。
他曾說過如果從區塊鏈行業退休,會去做音樂,雖然這樣他也應該會過得很開心。但如果他真的退休,那麼對區塊鏈來說是一個莫大的損失,畢竟在這個行業,思想家常有,優秀的程序員也不少,但這樣傑出的創造者卻著實不多。