這個月早些時候,Prysmatic Labs 團隊發佈了目前最接近完成態的以太坊公開測試網絡,測試網使用 Prysm 客戶端,開發至以太坊 2.0 的第一階段。

本次發佈受到以太坊社區的歡迎,許多人立即着手運行客戶端並向開發團隊報告問題。測試網的驗證節點數量很快超過了 800 個。這表明,以太坊社區興致昂揚地希望爲萬衆矚目的以太坊 2.0 的升級作出貢獻。

趁熱打鐵,在此有必要向廣大的以太坊社區闡述什麼是以太坊 2.0 測試網、爲何說它的發佈是一個關鍵的里程碑、爲何花了那麼久才達成此次發佈?本文將嘗試用通俗的語言來闡述技術細節。首先我們會討論以太坊 2.0 和當前以太坊在協議上的區別,其次會概括性地解釋此次測試網絡的功能。

原文標題:《ELI5 Explanation of the Ethereum 2.0 Testnet》
作者:Mohamed Fouda
翻譯 & 校對:Wuwei、阿劍

爲何以太坊 2.0 升級要等待如此之久?

爲回答這個問題,我們先闡明一個簡單卻重要的概念:

以太坊 2.0 並不是對現有以太坊網絡的升級,而是一次全面的修訂和重新設計。

許多人並不知道,甚至不同意這一點,因此有必要澄清下。

1、新的以太坊 2.0 網絡將移除 PoW (工作量證明)共識機制,轉而使用(新的權益證明(PoS)共識機制) Casper 共識機制;
2、在 PoW 鏈上,可以用一種很簡單的方法來決定在分叉中應該選擇哪一條鏈、如何驅動鏈生長。該方法就是始終跟隨擁有最大累積工作量的鏈,換句話說,選擇耗費了最多算力的鏈。但因爲以太坊 2.0 使用 PoS,我們必須引入一系列新的分叉選擇規則(即 LMD GHOST),來決定鏈的生長方向;
3、當前的以太坊網絡只有一條( 有點像 DAG 有向無環圖的)單鏈。以太坊 2.0 網絡則使用 1024 條並行鏈(即分片),這是以太坊雄心勃勃的擴容計劃的核心。這些不同的鏈(分片)可以互相通信,並統一由單一主鏈 Beacon 鏈進行控制和驗證。Beacon 鏈就像植物的枝幹,掌控着 1024 個平等的分支
4、這些激進的改變,使得 ETH 持有者無法在新的以太坊 2.0 網絡中使用 ETH。而是需要先燃燒當前的 ETH,然後作爲回報,在 Beacon 鏈上獲得相同數量的 ETH。這個交換機制由以太坊 1.0 上的智能合約完成,並受 Beacon 鏈的監控。

雖然以太坊 1.0 和 2.0 之間有太多的不同,在這裏我們只討論主要部分。這將有助於說明完成以太坊 2.0 的工作量。

爲何以太坊 2.0 測試網的發佈如此重要?

從上述討論的 1.0 和 2.0 網絡之間的不同點來看,以太坊 2.0 還需要做許多功能的整合和調整工作才能正常運行。而且以太坊 2.0 的許多概念是全新的、從未被其它已公開的區塊鏈測試過,比如 Casper 共識機制。

相要實現與以太坊 2.0 類似目標的 Cosmos 和 Polkadot 協議,都用了超過 2 年的時間才能實現一個工作正常的(從 0 開始開發,具有充分靈活性的)設計。更何況,這些項目無需擔心如何將 ETH 和其它 ERC-20 代幣從舊鏈轉移到新鏈,也無需擔心如何降低(協議改變)對 dApp 開發者帶來的影響。因此,以太坊社區需要看到新舊網絡遷移過程中的切實而具體的步驟,以提振堅持執行路線圖的信心。

以太坊 2.0 藍寶石(Sapphire)測試網實現了哪些功能?

回顧下上面提到的以太坊 1.0 和 2.0 的 4 個不同點,測試網實現了 #1、#2 和 #4,部分實現了 #3。具體來說,藍寶石測試網實現了 Casper PoS 共識機制(使用新的分叉選擇規則);實現了 Beacon 鏈;實現了將 ETH 1.0 代幣轉移爲測試網的 ETH 2.0 代幣。測試網沒有實現 1024 個分片以及分片間的通信機制(跨片通信)。

測試網中,另一個值得注意的功能缺失是智能合約,該功能計劃在路線圖的第三階段實現。爲完成智能合約功能,需要移植以太坊虛擬機(EVM)到以太坊 2.0 中或者在以太坊 2.0 協議中重新實現一種虛擬機(WASM)作爲 EVM 的替代。

以太坊 2.0 測試網是如何工作的?

以太坊 2.0 是一個 PoS 網絡,由質押代幣的驗證節點來生產區塊並維持網絡運行。因此,首先要解決的問題是如何將代幣分配給驗證節點以運行網絡。

以太坊 2.0 網絡中,最終將使用與我們 1.0 網絡同樣有價值的 ETH 代幣,因此 ETH 代幣需要被轉移到新的以太坊 2.0 網絡中。爲了實現和測試該轉移功能,Prysmatic Labs 開發了一個叫作 Goerli 的以太坊 1.0 的測試網絡和一個叫做存款合約的智能合約,在 Goerli 網絡上任何人都可以獲得任意所需的僞 ETH,而存款合約可以儲存不限量的 ETH 代幣。當充幣到存款合約後,測試網的 Beacon 鏈將生成等量的 ETH 2.0 代幣。爲了簡化,我們將 ETH 2.0 代幣稱作:Beacon 鏈 ETH (bETH)。

以太坊 2.0 藍寶石測試網爲何重要,它實現了哪些功能?ETH 在以太坊 1.0 和 2.0 之間轉移的示意圖

從 ETH 1.0 到 bETH 的步驟

  1. 首先,驗證節點安裝支持以太坊 2.0 網絡的 Prysm 軟件,並創建賬戶。創建的賬戶將生成「存款數據」,用來打通以太坊 1.0 錢包和以太坊 2.0 賬戶;
    以太坊 2.0 藍寶石測試網爲何重要,它實現了哪些功能?
  2. 在以太坊 1.0 測試網 Goerli 上,用戶發送 3.2 個 ETH (實際網絡將需要 32 個 ETH)到存款合約中,以參與以太坊 2.0 的驗證工作。這實際上就是燃燒 ETH 1.0 代幣;
  3. 當以太坊 2.0 的 Beacon 鏈發現存款合約中有幣打入時,將在驗證節點的賬戶中生成相同數量的 bETH 代幣。現在,驗證節點已經準備好參與驗證,只需再等待一段安全延時即可,該延時用來增強 Beacon 鏈的安全性;
  4. 驗證客戶端開始參與共識機制並獲得驗證獎勵,如果不遵循協議規則,他們的 bETH 就會被罰沒。
驗證節點到底做什麼?

在以太坊 2.0 中,每 6 秒會產生一個新塊(當前 PoW 網絡約爲 15 秒)。每一次,都會由驗證節點池中的一個節點來提議生成新區塊。一定數量的其它驗證節點則檢查該區塊並驗證正確性。到下一次出塊時,則換另一個驗證節點提議生成區塊,同時換另一組不同的驗證節點驗證正確性。

每產出 64 個區塊(稱爲一個 epoch),所有的驗證節點會重新洗牌,爲新一個 epoch 選擇新的區塊提議者和區塊驗證者。驗證節點的選舉過程在隨機數生成算法的幫助下,從根本上避免了驗證節點間的勾結串通,提高了協議的安全性。

驗證節點需要一直在線以完成分配給它們的任務。如果它們誠實工作,將獲得 bETH 代幣獎勵。如果他們行爲不端、勾結串通或離線,他們所質押的代幣將被罰沒。如果驗證節點的餘額減小到驗證閾值以下(測試網中爲 3.2 bETH),則將被踢出驗證節點池,無法繼續參與驗證工作。

後續的發展方向?

藍寶石測試網只是漫長的抵達以太坊 2.0 的征程中的一步。 它實現了以太坊 2.0 路線圖中的 Phase 0。距離實現以太坊 2.0 的完整功能還有 2 個階段。

但即使是階段 0,想要上主網,仍有巨大的工作量。首先,我們尚在測試網的早期階段,有衆多的問題、bug 和優化項需要解決;其次,目前測試網上只有 Prysm 一個客戶端可以使用。其它團隊也在開發支持以太坊 2.0 網絡的客戶端,比如 Nimbus 和 Lighthouse。兼容不同的客戶端,是完成一個支持多客戶端的測試網的前提條件;再次,階段 0 的設計要求 bETH 能夠在不同賬戶間轉帳,當前的測試網並不滿足;最後,階段 0 的設計仍處在細節的修訂中(由以太坊基金會研究團隊進行)。這些設計需要在衆多的以太坊 2.0 客戶端中最終確定、完整實現和審計通過,纔有望於 2019 年底主網上線階段 0。

總之,測試網上線是以太坊 2.0 發佈路線圖中的關鍵一步。它的重要意義在於以太坊社區的公衆都能參與到測試中來,提出問題發現瓶頸,以引導以太坊 2.0 的開發者們解決。測試網的發佈有效提振了社區對以太坊 2.0 路線圖的信心。另外,以太坊基金會宣佈將投入 1900 萬美元來支持以太坊 2.0 的開發及其它以太坊擴容方案的開發。此舉將有效加加快開發和測試工作的進度。

來源鏈接:www.tokendaily.co