來源:以太坊基金會官方博客
以太坊正在轉向權益證明(PoS)這次過渡被稱為合併(The Merge),必須首先在信標鏈上通過Bellatrix 升級來激活。之後,以太坊工作量證明(PoW) 鏈將在達到特定的總難度值時遷移到權益證明(PoS)。
根據計劃,Bellatrix 升級將於2022 年9 月6 日UTC 時間11:34:47 在信標鏈第 144896 個epoch 時進行。
觸發合併的終端總難度值為 58750000000000000000000,預計在2022 年9 月10 日至20 日之間。
注意:正如此前宣布的,Kiln 測試網即將棄用,運營商將在2022 年9 月6 日關閉。
背景
經過多年的努力,以太坊的PoS 升級終於要來了所有公共測試網現已成功完成升級,而以太坊主網的合併升級也已經被安排完畢。
合併在兩個方面不同於以往的網絡升級。首先,節點運營商需要同時更新其共識層 (CL) 客戶端和執行層 (EL) 客戶端,而不僅僅是其中之一。第二,此次升級分兩個階段激活:第一階段稱為Bellatrix,將在信標鏈上的某個epoch 高度完成;第二階段稱為Paris,將在執行層達到預定的總難度值時完成。
升級信息
時間
合併分為兩個步驟,第一步是在某個epoch 高度時,在共識層觸發的Bellatrix 網絡升級。隨後,執行層從工作量證明(PoW) 過渡到權益證明(PoS),這個步驟被稱為Paris,由一個稱為終端總難度(TTD) 的特定總難度值觸發。
Bellatrix 升級計劃於2022 年9 月6 日UTC 時間上午11:34:47 在信標鏈高度達到144896 時進行。
而執行層升級Paris,將在TTD 總難度值達到 58750000000000000000000 時觸發,預計將在2022 年9 月10 日– 9 月20 日之間。達到TTD 的確切日期取決於工作量證明的算力情況,關於過渡時間的預計,你可以在bordel.wtf[1]以及 797.io/themerge [2]找到。
一旦執行層達到或超過預定TTD 值,信標鏈驗證器將負責生成後續的區塊。一旦信標鏈敲定了該區塊,那麼此次合併升級就被視為完成。在正常網絡條件下,TDD 難度值達到之後生成的第一個區塊,會在 2 個epoch (約13 分鐘) 被敲定。
一個新的JSON-RPC 區塊標籤 finalized,會返回最新的最終區塊,或者如果不存在此類合併后區塊,則會返回錯誤。應用程序可以使用此標籤來檢查合併是否已完成。同樣,智能合約可以查詢DIFFICULTY 操作碼 (0x44) [3] (在合併後重命名為 PREVRANDAO) 以確定合併是否發生。我們建議基礎設施提供商除了監控最終狀態外,還要監控整體網絡的穩定性。
客戶端版本
以下客戶端版本支持以太坊主網的合併升級,注意,節點運營商必須同時運行執行層和共識層客戶端,才能在合併期間和之後保持在網絡上。
在選擇運行哪個客戶端時,驗證者應該特別注意在EL 和CL 上運行多數客戶端的風險。你可以在此處 [4] 找到這些風險及其後果的解釋。你還可以在此處 [5] 找到執行層和共識層客戶端分佈的估計,以及從一個客戶端切換到另一個客戶端的指南。
1) 共識層客戶端
客戶端:Lighthouse
版本:v3.0.0
下載鏈接:
https://github.com/sigp/lighthouse/releases/tag/v3.0.0
客戶端:Lodestar
版本:v1.0.0
下載鏈接:
https://github.com/ChainSafe/lodestar/releases/tag/v1.0.0
客戶端:Nimbus
版本:v22.8.0
下載鏈接:
https://github.com/status-im/nimbus-eth2/releases/tag/v22.8.0
客戶端:Prysm
版本:v3.0.0
下載鏈接:
https://github.com/prysmaticlabs/prysm/releases/tag/v3.0.0
客戶端:Teku
版本:22.8.1
下載鏈接:
https://github.com/ConsenSys/teku/releases/tag/22.8.1
2) 執行層客戶端
客戶端:Besu
版本:22.7.1
下載鏈接:
https://github.com/hyperledger/besu/releases/tag/22.7.1
客戶端:Erigon
版本:v2022.08.02-alpha
下載鏈接:
https://github.com/ledgerwatch/erigon/releases/tag/v2022.08.02
客戶端:go-ethereum (geth)
版本:v1.10.23
下載鏈接:
https://github.com/ethereum/go-ethereum/releases/tag/v1.10.23
客戶端:Nethermind
版本:v1.14.0
下載鏈接:
https://github.com/NethermindEth/nethermind/releases/tag/1.14.0
警告:geth v1.10.22 版本客戶端包含嚴重的數據庫問題,請勿使用此版本,如果你使用的是該版本的客戶端,請盡快升級到v1.10.23。
升級規範
合併的共識關鍵變更在兩處指定:
共識層根據共識規範存儲庫的Bellatrix 目錄 [6] 發生變化。
執行層根據執行規範存儲庫中的Paris 規範 [7] 發生變化。
除此之外,另外兩個規範涵蓋了共識層和執行層客戶端如何交互:
在 execution-apis [8] 存儲庫中指定的Engine API 用於共識層和執行層之間的通信。
在共識規範存儲庫的sync [9]文件夾中指定的Optimistic Sync,由共識層在執行層客戶端同步時用於導入區塊,並提供從前者到後者的鏈頭部的部分視圖。
合併漏洞賞金計劃
從現在到9 月8 日的這段時間,所有與合併相關的漏洞獎勵都會有4 倍的乘數。嚴重的漏洞賞金最高可達100 萬美元。
有關更多詳細信息,請參閱漏洞賞金計劃:
https://bounty.ethereum.org/
FAQ
1. 作為節點運營商,我該怎麼做?
合併後,以太坊全節點是共識層(CL)客戶端和執行層(EL)客戶端的組合,前者運行權益證明信標鏈,後者管理用戶狀態並運行與交易相關的計算。執行層(EL)和共識層(CL)客戶端使用一組稱為 Engine API [10] 的新JSON RPC 方法,通過經身份驗證的端口進行通信。執行層(EL)和共識層(CL)客戶端使用JWT 密鑰相互認證。有關如何生成和配置此值的說明,節點運營商應參考其客戶端的文檔。
換句話說,如果你已經在信標鏈上運行了一個節點,那麼你現在還需要運行一個執行層客戶端。同樣,如果你在當前的工作量證明(PoW)網絡上運行一個節點,那你還需要運行一個共識層客戶端。為了讓它們安全通信,必須將一個JWT token 傳遞給每個客戶端。 ethereum.org 網站的“Run a Node”部分[11] 更新更詳細地介紹了這些步驟。
值得強調的是,雖然它們都是共識層客戶端版本的一部分,但運行信標鏈節點與運行驗證器客戶端是不同的。質押者必須同時運行兩者,而節點運營商只需要運行前者。這篇文章 [12] 更詳細地解釋了這兩個組件之間的區別。
此外,請注意,每一層都將維護一組獨立的對等節點並公開其自己的API。 Beacon API [13] 和 JSON RPC API [14] 都將繼續按預期工作。
2. 作為質押者,我需要做什麼?
如上所述,信標鏈上的驗證者除了要運行共識層客戶端外,還需要在合併之後運行執行層客戶端。強烈建議質押者在合併前就這麼做,但一些驗證者已將這些功能外包給第三方提供商。這是可能的,因為執行層所需的唯一數據是存款合約的更新。
合併後,驗證者必須確保他們創建和證明的用戶交易和狀態轉換區塊是有效的。為此,每個信標鏈節點必須與執行層客戶端配對。請注意,多個驗證器仍然可以與單個信標鏈節點和執行層客戶端組合配對。這擴大了驗證者的責任,但也賦予了提出區塊的驗證者相關交易優先權費用的權利(目前屬於礦工)。
雖然驗證者獎勵仍然在信標鏈上產生,並且需要隨後的網絡升級才能提取,但交易費用將在執行層上支付、銷毀和分配。驗證者可以指定任何以太坊地址作為交易費用的接收方。
更新共識客戶端后,請務必將 fee recipient 設置為驗證者客戶端配置的一部分,以確保將交易費用發送到你控制的地址。如果你使用第三方提供商進行質押,則由你選擇的提供商指定如何分配這些費用。
Staking Launchpad 有一個合併準備檢查清單 [15],質押者可以使用它來確保他們完成了流程的每個步驟。 EthStaker 還舉辦了驗證者準備研討會,併計劃舉辦更多的研討會。
希望在測試網上運行驗證器以準備主網PoS 轉換的質押者,可以在Goerli 測試網(現已完成合併) 上操作,它也有一個Staking Launchpad 實例。
3. 為什麼終端總難度(TTD) 的預計日期範圍如此寬泛?
每個區塊增加的難度取決於不穩定的網絡算力,如果更多的算力加入網絡,則TTD 將更快達到。同樣,如果算力提現網絡,TTD 的到達時間將會延後。在算力水平顯著下跌的情況下,可以像在Ropsten 測試網上所做的那樣協調一個TTD 覆蓋值。
4. 作為應用程序或工具開發者,我應該怎麼做?
如前一篇文章所述,合併對部署在以太坊上的合約子集的影響很小,所有合約都不應被破壞。此外,大部分用戶API 端點會保持穩定(除非你使用工作量證明特定的方法,例如 eth_getWork)。
也就是說,以太坊上的大多數應用所涉及的遠不止鏈上合約。現在是確保前端代碼、工具、部署管道和其他鏈外組件按預期工作的時候了。我們強烈建議開發人員在Sepolia 或Goerli 上運行一個完整的測試和部署週期,並向這些項目的維護人員報告任何工具或依賴性問題。如果你不確定在哪裡打開問題,請使用此存儲庫。
此外,請注意,除了Sepolia 和Goerli 之外的所有測試網,都將在合併後被棄用。如果你是Ropsten、Rinkeby 或Kiln 的用戶,你應該計劃遷移到Goerli 或Sepolia。有關這方面的更多信息,請參見此鏈接[16]。
5. 作為以太坊用戶或ETH 持有者,我需要做什麼?
無論你是在鏈上使用以太坊應用,還是在交易所上持有ETH,還是在自己保管的錢包中,你都無需做任何事情。如果你使用的應用、交易所或錢包提供了額外的說明或建議,你應該驗證這些說明或建議是否來自它們。請警惕詐騙
6. 作為一名以太坊礦工,我還能做什麼嗎?
沒有,如果你在以太坊主網上進行挖礦,你應該知道,合併後,該網絡將完全在權益證明(PoS) 算法下運行,到那時,POW 挖礦將不再可能。
7. 如果我是礦工或節點運營商,並且沒有參與升級,會發生什麼?
如果你使用的以太坊客戶端未更新到最新版本(如上所列),一旦網絡完成升級,你的客戶端將同步到預分叉區塊鏈。
你將被困在遵循舊規則的不兼容鏈上,無法發送以太幣或在合併後的以太坊網絡上操作。
8. 作為驗證者,我可以提取我質押的ETH 權益嗎?
不能,合併是迄今為止對以太坊最複雜的升級,為了最大限度地降低網絡中斷的風險,我們採取了一種最小化的方法,該方法排除了此升級中的任何非過渡更改。
從信標鏈提款,可能要在合併後的第一次升級中引入。共識層和執行層的規范正在製定當中。
9. 我有更多的問題,我可以在哪裡提問?
在9 月9 日UTC 時間14:00,會有一次關於合併的社區電話會議,你可以和客戶端開發人員、ETHStaker 成員、研究人員等一起參加
鳴謝
以太坊向權益證明(PoS) 的過渡已經準備很長一段時間了。感謝所有為研究、開發、分析、測試、破壞、修復或解釋合併(The Merge) 的一切做出貢獻的人。
這些年來有太多的貢獻者需要在這裡上架,但你知道你們是誰。沒有你們所有人,我們就無法建造這座大教堂。
何時合併?會非常快。
原文鏈接:
https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement/
上文中涉及的鏈接:
[1]: https://bordel.wtf/
[2]: https://797.io/themerge/
[3]:https://eips.ethereum.org/EIPS/eip-4399#using-264-threshold-to-determine-pos-blocks
[4]:https://dankradfeist.de/ethereum/2022/03/24/run-the-majority-client-at-your-own-peril.html
[5]:https://clientdiversity.org/
[6]:https://github.com/ethereum/consensus-specs/tree/dev/specs/bellatrix
[7]:https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md
[8]:https://github.com/ethereum/execution-apis/tree/main/src/engine
[9]:https://github.com/ethereum/consensus-specs/blob/dev/sync/optimistic.md
[10]:https://github.com/ethereum/execution-apis/tree/main/src/engine
[11]:https://ethereum.org/en/developers/docs/nodes-and-clients/run-a-node/
[12]:https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-client-architecture/
[13]:https://github.com/ethereum/beacon-apis
[14]:https://github.com/ethereum/execution-apis
[15]:https://launchpad.ethereum.org/en/merge-readiness
[16]:https://blog.ethereum.org/2022/06/21/testnet-deprecation/
資訊來源:由0x資訊採集自互聯網。版權歸作者“Unitimes”所有,未經許可,不得轉載