以太坊的2.0之路 走向世界級的計算機

Hardcore | 以太坊的2.0之路 走向世界級的計算機

金色財經近期推出Hardcore欄目,為讀者提供熱門項目介紹或者深度解讀。

2020年除了萬眾矚目的比特幣減半事件,以太坊向2.0過渡也是加密貨幣行業的重大事件。按照規劃,2020年以太坊將啟動POS的新標準,而以太坊1.x的POW鏈也將並行運行。以太坊如何從1.x向2.0過渡,2.0將如何運作,想必你想了解詳細機制。本文來自去中心化存儲與分發平臺PPIO高級區塊鏈工程師Daniel Wu,一文讀懂以太坊2.0走向世界計算機之路。


以太坊2.0一詞描述了一個新的和改進的以太坊區塊鏈,它具有更高的可擴展性,更快速和更好的區塊鏈。正如以太坊核心研究員Danny Ryan所說,以太坊2.0的主要設計目標是:

系統彈性:面對大量節點中斷或網絡破碎化時,保持系統運行。

安全性:使用密碼學和設計機制來使盡可能多的驗證節點完全參與每個時間單位的驗證。

簡單性:系統複雜度越低越好,甚至可以犧牲效率來降低複雜性。

持續性:為系統選擇保證量子安全性的組件。如果該組件暫時不能滿足量子安全的要求,那麼選擇易於更換的組件。將來,當存在量子安全組件時,可以輕易替換這些組件。

去中心化:目標是允許普通筆記本電腦使用O(C)複雜性的資源來處理/驗證O(1)的分片任務(包括任何系統級驗證,例如信標鏈中的驗證)。這將允許更多的低端設備參與網絡。

要了解所有這些工作原理,下面請看“寧靜”(Serenity)每個階段的詳細信息:

自以太坊啟動以來,它計劃了四個發展階段:前沿(Frontier),家園(Homestead),大都會(Metropolis,)和寧靜(Serenity)。截至目前,以太坊已經經歷了前三個階段。隨著以太坊的發展,它引領了智能合約時代並開啟了區塊鏈2.0時代。

以太坊2.0本身是一個徹底的、完整的修正和重新設計,需要數年才能完全啟動。但是,在以太坊進入被稱為“寧靜”的第二次迭代之前,原始版的以太坊鏈或以太坊1.0自身也將經歷變化——伊斯坦布爾和以太坊1.x。以太坊1.x將繼續完善以確保以太坊向“寧靜”發展時原始PoW鏈的連續性。

但是就“寧靜”而言,它將有哪些真正改變?

也許最大的變化是從PoW(工作量證明)到PoS(權益證明)的完全過渡。為這個以及其他改變,“寧靜”(Serenity)升級將分四個階段實施:

  • 階段0:信標鏈(Beacon Chains)
  • 階段1:分片鏈(Shard Chains)
  • 階段2:eWASM取代以太坊虛擬機(EVM)
  • 階段3:持續改進
Hardcore | 以太坊的2.0之路 走向世界級的計算機

首先要實現的是信標鏈的建立。

Prysmatic Labs的聯合創始人Preston Van Loon2019年5月在Medium上發表文章宣佈,推出以太坊2.0信標鏈測試網絡,標誌著第0階段測試網絡的完成。

Hardcore | 以太坊的2.0之路 走向世界級的計算機

信標鏈

信標鏈是使用POS共識算法的鏈,這是以太坊2.0的基礎架構。在以太坊2.0的第二階段,分片鏈將在信標鏈的幫助下運作。

信標鏈的工作方式是,為每個分片隨機分配不同的驗證者,以發佈區塊,同時還為每個分片鏈分配一個委員會。該委員會的職責是對分片鏈驗證者產生的區塊進行投票。

分片鏈的區塊需要一半以上的委員會成員同意。分片鏈還可以使用信標鏈來完成跨分片的操作。目前,信標鏈將與以太坊1.0鏈並行運行,在此期間並將依賴以太坊1.0鏈的狀態。

Hardcore | 以太坊的2.0之路 走向世界級的計算機

信標鏈如何工作?

信標鏈使用PoS算法。在PoS算法中,每個礦工產生區塊的概率與礦工的權益成正比。但是,信標鏈中的每個礦工實際上都具有相同的權利。

每個礦工只能向信標鏈抵押32個ETH。要成為信標鏈驗證者,您需要將交易發送至以太坊1.0上的存幣合約(Deposit Contracts),這要求您擁有32個ETH。以太坊1.0上的存幣合約(Deposit Contracts)的公開方法(public method)有兩個參數:

Pubkey,信標鏈中驗證者的簽名公鑰

Withdrawal_credentials,用於以後取回抵押的ETH

Hardcore | 以太坊的2.0之路 走向世界級的計算機

成功調用存幣合約後,合約返回一個日誌事件(log event),信標鏈將自動被告知以太坊1.0鏈上的事件。

信標鏈會將新添加的驗證者標記為“等待驗證者”(Pending Validators)。一段時間後,他們將成為活躍驗證者(Active Validators),這意味著他們可以參與區塊生成。

信標鏈將對長期不活動的或壞的驗證者進行處罰。當驗證者的權益減少到16ETH時,他們將無法參與POS協議的運作。最後,信標將排除權益低於16ETH的驗證者。

Hardcore | 以太坊的2.0之路 走向世界級的計算機

信標鏈區塊需要維護以下信息:

  • 登記驗證者
  • 等待驗證者,這些帳戶將添加到驗證者列表中
  • 活躍驗證者,這些賬戶已添加到驗證者列表中
  • 退出驗證者,這些帳戶離開驗證者列表
  • 輪詢信息
  • 驗證者投票
  • 隨機數,用於隨機選擇提案人和委員會

提案人選擇

在提交區塊之前,需要選擇驗證者作為提案人。以太坊1.0中提交下一個區塊的權力取決於礦工的算力。如果礦工的處理能力很大,則該礦工有很大可能被選為下一個區塊的生產者。

在以太坊2.0中,產塊節點的選擇基於隨機數;在區塊鏈系統中很難生成高質量的隨機數。但是,POS協議要求隨機數的源是分佈式的,可驗證的,不可預測的和不可替代的。

使用隨機數從一組驗證者中選擇提案人,使驗證者無法知道誰被選中。這樣可以防止它們合謀發起攻擊。

在信標鏈中每6秒生成一個區塊。這6秒也稱為時間槽間隔期(slot gaps)。在每個間隔期間,選定的提案人從信標鏈的先前區塊的驗證者那裡收集所有選票,並使用它們形成一個新區塊。

Hardcore | 以太坊的2.0之路 走向世界級的計算機

委員會

在將提案人提議的區塊輸入信標鏈的主鏈之前,需要對其進行投票。

委員會可以對提案人提議的區塊進行表決,通過表決的區塊可以收到最終確認。理想情況下,如果可以快速收集選票,則委員會中的成員最好都是系統中的活躍驗證者。

主鏈選擇規則

在以太坊中,最長鏈由算力決定,而以太坊2.0的信標鏈則使用POS算法。因此,將需要一套不同的規則來確定每個人都需要遵循的分叉鏈(注:即主鏈)。信標鏈通過使用LMD GHOST(Latest Message Driven GHOST)來解決此問題。此方法涉及一種基於消息或換句話說通過投票運行的算法。一般來說,票數最高的分叉鏈將被視為主鏈。

Hardcore | 以太坊的2.0之路 走向世界級的計算機

笑臉代表投票信息。每個區塊中的數字代表投票總數,即該區塊的權重。

在上圖中,儘管頂部鏈是最長鏈,但綠色鏈是主鏈。

分片鏈

分片鏈是以太坊2.0網絡未來可擴展性的核心特徵。

分段是指將數據庫中多個節點(例如去中心化數據庫或其他類型的數據庫)的數據處理職責分開,從而允許同時進行交易、存儲和信息的處理。

分片的概念與當前以太坊1.0的模型有很大不同,後者需要所有全節點來處理和驗證每個交易。

第一階段將處理分片鏈的最終確定性和共識。需要記住的是,現階段的分片鏈更多是“實驗”,而不是解決區塊鏈擴展問題的直接方法。

信標鏈將監視分片鏈的運行。

驗證者抵押32個ETH後,將其隨機分配給某個分片鏈以進行驗證(此處的隨機性可確保驗證者的分配路徑不可預測,否則將面臨被操縱的風險)。

根據以太坊2.0規範,信標鏈將支持1024個分片鏈,每個分片鏈具有128個節點用於驗證。

eWASM

在第二階段,隨著新虛擬機eWASM(以太坊版WebAssembly)的引入,分片鏈將從相當基本的數據標記形式演變為完全的交易鏈,從而承擔起擴展以太坊網絡的職責。

為了維持區塊鏈生態系統的正常運行,節點必須在虛擬機中執行交易和智能合約。

以太坊1.0的虛擬機為EVM。切換到以太坊2.0後,以太坊網絡的虛擬機將升級到eWASM,這是一個基於WebAssembly的虛擬機。按萬維網聯盟(W3C)的標準WebAssembly是開源的。

由於WASM支持多種編程語言,因此eWASM可以讓任何語言編寫的智能合約都能運行在以太坊上。與Ethereum 1.0的EVM相比,EVM僅允許以Solidity編程語言編寫的智能合約運行在以太坊上。

ETH 1.X

ETH 1.x是以太坊1.0系列升級的代號,因為以太坊2.0全面啟動需要2-3年,這意味著當前的以太坊仍將繼續運行。階段0的信標鏈和階段1的分片鏈將在1-2年內完成。將於階段2實施的eWASM將於2022年某個時候完成。

以太坊2.0將被部署為獨立的區塊鏈,因此它不會取代以太坊1.0,這意味著以太坊1.0的區塊鏈需要在未來5至10年內保持持續發展。

以太坊1.x背後的團隊仍處於制定路線圖的早期階段,但他們已經確定了以太坊1.x升級的三個主要目標:

  • 增加每秒的吞吐量以增加主網絡的可擴展性(通過優化客戶端,以便網絡可以不斷增加區塊的Gas限制)
  • 確保全節點可以長時間運行(通過減少“狀態租金”(state rent),並限制全節點磁盤空間要求)
  • 通過包括eWASM在內的虛擬機升級來優化開發人員體驗,並通過使用不同的交易成本模型來穩定總交易成本

結論

Vitalik Buterin曾經說過:“以太坊1.0是幾個人為建立世界計算機而作的不懈嘗試;以太坊2.0將最終實際成為世界計算機。”

如果以太坊真的實現了他們的目標,那麼我們將迎來一臺世界計算機,它具有完全可擴展的通用區塊鏈。

我們迫不及待想看到它!


分享到:


相關文章: