下圖顯示了傳統區塊鏈網路的形態 —— 一條由資料區塊組成的 “鏈”。不瞭解什麼是區塊頭(block header)和交易列表(transaction list)也沒關係,下圖僅作說明之用:
下圖顯示了以太坊 2.0 的形態,區別在於不只有 2 條分片鏈,而是有 64 條分片鏈,均由信標鏈進行協調。再強調一遍,先不要考慮技術細節:
TH2.0 開發團隊
以太坊 2.0 由 9 個不同的工程團隊構建。這些團隊均由以太坊基金會撥款資助,且獲得了以太坊社羣的支援。這些團隊正在開發 客戶端 —— 客戶端就類似於 Chrome 和 Firefox 瀏覽器,只不過不是用來訪問網站的,而是用來訪問並參與以太坊網路的。客戶端多樣性是以太坊的核心原則 —— 如果有一個或兩個客戶端遭到破壞或是存在漏洞,整個網路不會因此而奔潰。每個客戶端都各有針對性的用例,但是它們都能完全參與到該網路中。例如,一個客戶端針對智慧手機進行了最佳化,而另一個客戶端是專為企業構建的。工程團隊正在根據一個由高階研究人員(多數都是計算機系博士及同等層次的人才)所建立的規範來開發客戶端。
此外,很多研究工作都是在一個叫作 ethresear.ch 的網站上以開源的方式進行的,全世界任何一個人都可以將自己的技術想法、建議或批評釋出到這個網站上。經過數年的迭代之後,以太坊 2.0 的規範才達到了當前的狀態 —— 研究人員有好幾次認為自己已經建立了一個合理的設計,但是之後會發現一些缺陷,必須要重新設計部分或整個系統才行。在整個區塊鏈領域,以太坊 2.0 研究團隊是經驗最豐富且最有才華的協議設計團隊,這並非誇大其詞。
下面是參與開發以太坊 2.0 的團隊名單(排名不分先後):
ChainSafe Systems
是一家位於安大略省多倫多的公司,員工人數達 30 人以上,其中有 5 位開發者從事以太坊 2.0 客戶端的開發工作
開發人員在多倫多舉辦的以太坊開發者聚會上面基
用 JavaScript 語言開發著一個名為 Lodestar 的客戶端
PegaSys
以太坊生態系統中最大的公司 ConsenSys 旗下的一個 50 人團隊,其成員分佈於世界各地
搭建了一個名為 Pantheon 的企業友好型以太坊 1.0 客戶端
有一個主攻以太坊 2.0 規範的研究團隊
開發著一個名為 Artemis 的 Java 客戶端,針對企業使用進行了最佳化
Harmony
位於俄羅斯的 4 人團隊
開發著一個 Java 以太坊客戶端
尚無很多公開資訊
有可能與 PegaSys/Artemis 進行整合
Parity Technologies
位於柏林的公司,有一個超過 60 人的大型遠端辦公團隊(並非所有人都在從事以太坊 2.0 的相關工作)
從以太坊基金會獲得了 500 萬美元的資金,來開發名為 Substrate Shasper 的以太坊 2.0 客戶端
也在開發支援互操作性的區塊鏈專案 Polkadot 。該專案被認為是以太坊的勁敵。
開發並維護著第二流行的以太坊 1.0 客戶端,同樣叫作 Parity 。
Prysmatic Labs
一個 6 人團隊,其成員分散於美國境內
會在部落格上主動釋出更新,可以透過其部落格來了解並跟進以太坊 2.0 的進展
搭建了一個名為 Prysm 的客戶端,與以太坊 1.0 的 Geth 類似,都是為了滿足主流應用的多樣場景
Sigma Prime
位於澳大利亞悉尼的 4 人團隊
聚集了擁有很強 學術/軟體開發 背景的網路安全專家
搭建了一個名為 Lighthouse 的客戶端,適應主要的使用場景
Status
一個 8 人團隊,成員分散於歐洲各地
致力於打造名為 Nimbus 的輕客戶端,即,可在智慧手機等 “輕” 環境下執行
Trinity
與以太坊基金會簽約的一個 4 人團隊
搭建了一個輕客戶端,充當更高階實現的原型
Nethermind
位於倫敦和波蘭的 7 人團隊
在 .NET 上搭建了一個 Windows 客戶端
分階段交付的 ETH2.0
以太坊 2.0 的釋出被分為多個階段,但其中最重要的是前面三個階段。這幾個階段錯開推出以太坊 2.0 的各種元件,一方面是因為需要很長時間才能開發完成,另一方面是因為採用循序漸進的方式會降低技術風險。對於這樣一個價值數十億美元的密碼學貨幣網路來說,“快速行動、打破常規” 的理念並不適用。不同於可以快速修復問題的中心化科技公司,密碼學貨幣網路如果存在嚴重的客戶端漏洞,將造成遺患久遠的巨大破壞,因為該網路的參與者都要手動更新到新的客戶端版本。在最糟糕的情況下(例如,攻擊者成功發動雙花攻擊),必須回滾多個交易,才能保障網路的安全性。這會造成極大的聲譽影響,就像 2016 年的 The DAO 被黑事件那樣,一部分以太坊開發者和使用者分叉出了另一條名為 Ethereum Classic 的鏈。
Phase 0 可能在 2020 年第二季度末或第三季度初交付。該階段會引入信標鏈,將其作為整個以太坊 2.0 網路的 “命令和控制” 中心。信標鏈會將驗證者組織到一起,並將他們分配到不同的分片鏈上處理交易;一段時間之後,所有驗證者都會被重新 “洗牌” 並隨機分配到另一條分片鏈上。“重新洗牌” 是以太坊 2.0 安全性的關鍵部分,如果沒有這一設定的話,就有可能會出現一小部分驗證者受賄或干涉以太坊 2.0 執行的情況。信標鏈會驗證各分片鏈所生成的區塊的有效性,以便以太幣、代幣和資料在各分片鏈之間交換。用 20 世紀 70 年代加利福尼亞人的語氣來說:信標鏈就是一條可以管理其他區塊鏈的區塊鏈,maaaaaan。(譯者注:這個 “maaaaaan” 應該就是拖長音的 “man”,增強語氣的意思,作者想搞一個小幽默吧。)
如果說信標鏈是 “命令和控制” 中心,那麼驗證者就屬於實操人員。驗證者是 PoS 網路上的參與者,負責處理該網路上的交易並對其進行排序,並將這些交易轉發給其他參與者。驗證者會因此獲得交易費和增發代幣(通脹)作為回報。驗證者在密碼學貨幣網路中發揮了最重要的作用,而以太坊 2.0 正試圖解決的一大核心挑戰是,如何透過設計激勵機制來讓驗證者遵守協議並作出有利於網路的行動。信標鏈還將負責 罰沒 作惡驗證者的押金。
以太坊 2.0 的 Phase 1 預計於 2021 年交付,將推出分片鏈,但是無法處理或結構化分片鏈上的資料。資料會以原始形式存在於分片鏈上(即,“資料 Blob”),主要是為了確保分片鏈彼此之間以及與信標鏈之間能夠進行良好通訊。分片鏈無法對資料進行任何計算。乍聽起來,Phase 1 像是一個功能有限的最佳化測試網,但這一說法並不完全正確。新的 DApp 和現有 DApp 可以利用該資料儲存來增強其可擴充套件性。例如,一個去中心化的 Twitter DApp 可以將資料儲存在分片鏈上,並將大量計算工作放到鏈下完成、利用以太坊 1.0 來提供高水平的安全保障。在 Phase 1 期間,以太坊 1.0 依然會正常執行,以太坊 1.0 與以太坊 2.0 這兩條鏈將並行。
在 2019 年 12 月末,Vitalik 提議加快將以太坊 1.0 轉移到信標鏈的程序,以便以太坊實現 PoS 的優點,並加快其與以太坊 2.0 的整合程序。最開始的時候,以太坊 1.0 將成為一條特殊的分片鏈(而非執行環境),但它最終將在 Phase 2 轉變成執行環境。目前尚未提議具體的時間線,但是這一過程似乎會在 Phase 1 發生。
Phase 2 預計於 2021 或 2022 年上線,將實現以太坊 2.0 的真正願景。屆時,分片鏈就能處理交易,而以太坊 2.0 網路上就能搭建真正的商業應用。在 Phase 2,分片鏈上將引入智慧合約,以及執行這些智慧合約的執行環境。正如上文所述,執行環境能讓開發者任意建立規則集,以此規定交易的處理方式。這就意味著,協議開發者將能建立出執行環境,來模擬比特幣、Zcash、以太坊 1.0 的規則,或是以幾乎任何可以想象得到的方法來計算區塊鏈交易。就像以太坊 1.0 透過抽象化比特幣的方式在區塊鏈上實現智慧合約那樣,以太坊 2.0 將透過抽象以太坊 1.0 來重新定義區塊鏈計算的本質。
關於以太坊 2.0 的一些組成部分,依然存在一些研究問題還未得到最終解決。例如,如何以去中心化的方式提供並儲存資料(以免少部分資料提供商壟斷整個網路),跨分片交易如何運作,以及執行環境治理等問題。然而,關於這些方面的研究依然在迅速推進中。
下面再重申一下以太坊 2.0 的三個階段:
Phase 0
估計於 2020 年 第二季度末/第三季度初 交付
釋出信標鏈並在信標鏈上實行 PoS 驗證
以太坊 1.0 將繼續正常執行
Phase 1
預計將於 2021 年交付
釋出分片鏈並允許資料儲存在這些分片鏈上,但是不在分片鏈上處理交易
以太坊 1.0 可能會繼續正常執行,也可能會作為特殊的分片鏈整合進以太坊 2.0
Phase 2
預計將於 2021 年末/ 2022 年初交付
允許在分片鏈上處理交易
在一段時間之後,以太坊 1.0 將作為執行環境過渡到以太坊 2.0 上。
以太坊將在 Phase 2 之後繼續發展,但是之後的發展藍圖尚不明晰。……
從我的角度來看,以太坊的未來一片光明。沒有哪個智慧合約區塊鏈像以太坊這樣擁有這麼多研究人員、開發人員、使用者和專案,現在正是加入以太坊的良機。以太坊即將迎來一場非常重要的大型升級,如果成功實現的話,將為這個世界創造巨大價值。
特別感謝來自 ConsenSys R&D 的 Robert Drost 、來自 Prysmatic Labs 的 Terence Tsao 、James Fickel 和 Carrie Krabes 對本文的幫助。