眾所期待!以太坊 Shapella 主網將於4月13日升級
Protocol Support Team/blog.ethereum.org/Franci, ECN/Annie編譯
2023-03-30 09:40

  •  

提款來了!Shapella 以太坊主網升級將在 epoch 194048 處啟動,定在 2023 年 4 月 13 日 06:27:35。從現在起到 4 月 5 日,針對 Shapella 漏洞的獎勵已翻倍。

在順利完成了 Goerli 測試網 Shapella 升級之後,客戶端團隊計劃在主網激活 Shapella 升級。在第 157 次 All Core Devs 執行層會議期間,開發者們很快就 4 月 12 日這個時間達成共識。

此次升級緊隨 The Merge,使得驗證者可以把他們的押金從信標鏈提取回執行層。它還給執行層和共識層引入新功能,請看下文。

升級規範

Shapella 升級結合了對執行層 (上海升級) 和共識層 (Capella) 的修改。用於執行層和共識層通信的 Engine API 也在 Shapella 升級裡有修改。

上海升級

在上海升級裡納入的執行層的修改可以在這裡找到。作為參考,內容如下:

  • EIP-3651: Warm COINBASE (降低查看 COINBASE 地址的 gas 開銷)
  • EIP-3855: PUSH0 instruction (新增操作碼 `PUSH0)
  • EIP-3860: Limit and meter initcode (對 initcode 的大小設限並引入 gas 計量)
  • EIP-4895: Beacon chain push withdrawals as operations (信標鏈推式提款作為系統操作)
  • EIP-6049: Deprecate SELFDESTRUCT (停用 SELFDESTRUCT)

請注意,EIP-6049 只是一個操作碼棄用警告。客戶端團隊預計 SELFDESTRUCT 語義將在未來的網路升級中進行修改,但該操作碼的行為在上海升級中保持不變。

此外,上海升級的全套修改現在可以在 以太坊執行層規範 (EELS) 中查看,它是用於執行層的新 Python 參考實現。

Capella 升級

Capella 升級對共識層的修改詳情在 capella 目錄 的 v1.3.0-rc.3 規範裡。README 清單中列出了完整的更改集。從高層次來講,這次升級引入了:

  • 驗證者的完整和部分提款
  • BLSToExecutionChange 消息,它允許使用 BLS_WITHDRAWAL_PREFIX 的驗證者把提款更新到 ETH1_ADDRESS_WITHDRAWAL_PREFIX,這是提款的前提。
  • 分開的狀態和區塊歷史數據累加器,取代原來的單個的歷史數據根

我們鼓勵質押者都去閱讀《提款 FAQ》,以瞭解更多關於驗證者應該如何準備 Capella 的資訊。

Engine API

對 Engine API 的修改可以在 execution-apis repository 的 shanghai.md 文件裡找到。簡而言之,引入了 WithdrawalV1 結構,並添加了多個相關結構和方法。自 Merge 以來對執行層 API 的更改已經打包在倉庫的最新版本中。

客戶端版本

以下的客戶端版本支持在以太坊主網的 Shanghai & Capella 升級。此前的 Shapella 升級客戶端版本僅支持測試網的部署,與主網升級並不兼容。

當在選擇運行哪個客戶端時,驗證者應該特別注意在執行層和共識層運行多數客戶端的風險。關於這些風險以及他們的後果可以閱讀這篇文章瞭解更多。而如果想預估當前執行層和共識層客戶端的分布,以及瞭解如何從一個客戶端切換至另一個客戶端,則可以閱讀這篇文章。

共識層主網升級版本

Lighthousev4.0.1https://github.com/sigp/lighthouse/releases/tag/v4.0.1Lodestarv1.7.0https://github.com/ChainSafe/lodestar/releases/tag/v1.7.0Nimbusv23.3.2https://github.com/status-im/nimbus-eth2/releases/tag/v23.3.2Prysmv4.0.0https://github.com/prysmaticlabs/prysm/releases/tag/v4.0.0Tekuv23.3.1https://github.com/ConsenSys/teku/releases/tag/23.3.1

注意:運行一個驗證者時,共識層信標節點和驗證者客戶端都必須更新至最新版本。

執行層主網升級版本

Besuv23.1.2https://github.com/hyperledger/besu/releases/tag/23.1.2Erigonv2.42.0https://github.com/ledgerwatch/erigon/releases/tag/v2.42.0go-ethereum (geth)v1.11.5https://github.com/ethereum/go-ethereum/releases/tag/v1.11.5Nethermindv1.17.3https://github.com/NethermindEth/nethermind/releases/tag/1.17.3

注意:在 Erigon v2.41.0 中發現一個問題。此版本不適合 Shapella 升級。Erigon 用戶應該升級到 v2.42.0。

FAQ

作為一個以太坊用戶或者 ETH 持有者,我需要做什麼?

簡單來說,沒有。

如果你使用交易所、數位錢包或硬體錢包,你不需要做任何事情,除非你的交易所或錢包提供商通知你採取額外的措施。

如果你運行自己的以太坊節點,請參閱下文。

作為一個非質押的節點營運商,我需要做什麼?

為了與主網的 Shapella 升級兼容,請將你的節點更新到上文表中所列的以太坊客戶端版本。

作為一個質押者,我需要做什麼?

為了與主網的 Shapella 升級兼容,請將你的節點更新到上文表中所列的以太坊客戶端版本。

我們建議你閱讀《提款 FAQ》。

如果我是一個驗證者或節點運行者,且不參加這次升級,會怎麼樣?

如果你使用的以太坊客戶端沒有更新到上面列出的最新版本,一旦升級發生,你的客戶端將同步到分叉前的區塊鏈上。

你將被困在一個不兼容的鏈上,遵循舊的規則,無法發送 ETH 或在 Shapella 升級後的以太坊網路上操作。

作為一個應用程式或工具開發者,我應該怎麼做?

Shapella 不會為智慧合約引入不兼容的修改。應用程式和工具開發人員應審閱升級修改,以確保任何問題都解決了,或瞭解如何使用新引入的功能。

也就是說,應用程式開發者應該意識到在上海升級中,SELFDESTRUCT 操作碼已被棄用。雖然它的語義沒有在這次網路升級中進行更改,但在後續的升級中可能會更改。更多信息請參考 EIP-6049。

為什麼叫 "Shapella"?

執行層的升級按照 Devcon 舉辦城市來起名,而共識層的升級則根據恆星名字來取。"Shapella" 是上海 (Devcon 2 的舉辦地) 和 Capella (Auriga 北方星座中最亮的星) 的結合。

哪裡可以觀看 Shapella 升級直播?

EthStaker 和 Ethereum Cat Herders 會組織 Shapella 升級觀看派對,在升級差不多開始前直播。你可以在這裡收聽。

感謝所有為 Shapella 升級做出貢獻的人,感謝所有新舊質押者,感謝他們幫助保護了仍處於早期階段的 PoS 以太坊!

本文為火星財經授權刊登,原文標題為以太坊官方:Shapella 主網升級公告