原文:https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement
作者:以太坊基金會協議支持團隊
在第 157 次以太坊核心開發者會議上,以太坊開發者達成以下共識:Shapella 網絡計劃於 2023 年 4 月 12 日 22 時 27 分 35 秒(UTC 時間)完成升級, 紀元時間(Epoch)將定格在 194048。
本次命名為 Shapella 的升級計劃,是以太坊合併後的重要升級事件。此次升級不僅要讓驗證者能將他們質押在信標鏈的數字資產撤回到執行層,也同時向以太坊的執行層和共識層引入了一些新的功能。
升級詳情介紹
Shapella 升級包括:執行層的升級(Shanghai upgrade)的升級、共識層的升級(Capella upgrade)、引擎 API 的更改。
執行層的升級變化
執行層將會實施以下以太坊改進協議(EIP):
- EIP-3651:Warm COINBASE
- EIP-3855:PUSH0 指令
- EIP-3860:Limit and meter initcode
- EIP-4895:信標鏈按操作推送 withdrawals 功能
- EIP-6049:棄用 SELFDESTRUCT
需要注意的是,EIP-6049 目前只是一個棄用的警告,相關操作碼的行為在本次執行層的升級中保持不變,以太坊客戶端開發人員將在未來的以太坊升級中再做改變,建議那些向用戶公開了 SELFDESTRUCT 操作碼的軟件要向用戶告知即將發生的語義變化。
此外,有關本次執行層升級(上海昇級)的全套變動進展已同步《以太坊執行層規範(EELS)》,可以復制下方鏈接到瀏覽器查看:https://ethereum.github.io/execution-specs/diffs/paris_shanghai.html
共識層的升級變化
共識層的升級(Capella upgrade) 已在 v1.3.0-rc.5 規範中有所指定,相關文件(README)已經列出了全部的更改。從宏觀上看,本次共識層的升級實施的計劃包括:
- 驗證人的 withdrawals 功能(完全或部分)
- 確定 withdrawals 功能的先決條件,即 BLSToExecutionChange 消息功能,將允許驗證者使用 BLS_WITHDRAWAL_PREFIX 去更新 ETH1_ADDRESS_WITHDRAWAL_PREFIX
- 用獨立的區塊狀態和區塊歷史累加器(Accumulator)取代原有的、單一的歷史根目錄。
引擎 API 的更改
引擎 API 的更改和變化已經記錄在 execution-apis 存儲庫的 shanghai.md 文件中。本次 Shapella 升級引入了 WithdrawalV1 結構體。執行層 API 的變化,自以太坊合併完成後,已綁定在相關存儲庫的最新版本中。
客戶端發布
以下客戶端版本均支持 Shapella 升級後的執行層(Shanghai)和共識層(Capella),它們分別是:
共識層客戶端:
- Lighthouse v4.0.1
- Lodestar v1.7.0
- Nimbus v23.3.2
- Prysm v4.0.0
- Teku v23.3.1
執行層客戶端:
- Besu v23.1.2
- Erigon v2.42.0 (Erigon v2.41.0 存在問題,已確定不適用 Shapella 升級)
- go-ethereum (geth) v1.11.5
- Nethermind v1.17.3
更多注意
之前發布的 Shapella 版本客戶端僅支持測試網部署,與本次 Shapella 升級不兼容。
共識層客戶端運行驗證器時,必須更新共識層信標節點和驗證器客戶端。
上述客戶端的下載鏈接可查閱公告原文:https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement
常見問題與解答
Q1:作為以太坊用戶和數字資產持有者,我需要為升級做些什麼嗎?
答:沒有需要特別做準備的。如果你使用交易平台、數字錢包或者硬件錢包,不需要做額外的調整。但如果你是一位節點驗證者或運營商,請查閱下一個問題。
Q2:作為非質押節點運營商/驗證者,我需要為升級做什麼準備嗎?
答:你需要把節點更新到上文中列出的客戶端版本,才能兼容此次升級。
Q3:作為一個質押節點運營商/驗證者,我需要為升級做些什麼?
答:你需要把節點更新到上文中列出的客戶端版本,才能兼容此次升級,並且需要確保您的信標節點和驗證器客戶端都已更新!同時建議查閱有關 withdrawals 的常見問題解答:https://notes.ethereum.org/@launchpad/withdrawals-faq
Q4:如果我做了質押,或者我是一個節點運營商/驗證者,但又不想參與升級,會發生什麼?
答:如果你一直不升級上文所列出的客戶端,待 2023 年 4 月 12 日 Shapella 升級完成後,你的客戶端將同步到預分叉區塊鏈。
按照舊有規則,你將被困在一個不兼容的區塊鏈上,無法操作數字資產或在完成 Shapella 升級後的以太坊主網上操作。
Q5:作為一名應用程序或區塊鏈工具開發人員,我應該做什麼?
答:本次 Shapella 升級沒有為智能合約引入突破性的改變。
區塊鏈應用程序和工具的開發人員應該審查此次升級發生的變化,以確保能夠完成應用程序或工具所需要的修復,同時也可以多了解此次升級新引入的功能。
值得注意的是,在本次升級中,SELFDESTRUCT 操作碼在執行層(Shanghai)被認為是不推薦使用的。雖然在本次升級中該操作碼的語義並不會改變,但未來會可能改變。有關更多信息,可以參考以太坊協議 EIP-6049 的具體內容。
Q6:為什麼此次升級命名為「Shapella」?
答:Shapella 是 Shanghai 與 Capella 的合併詞彙。
以太坊升級依舊遵循此前的命名規律,執行層的升級使用 Devcon 大會舉辦城市的名字命名;共識層的升級使用星系的名字命名,Capella 是御夫座北部最亮的一顆恆星。
Q7:在哪裡可以觀看 Shapella 網絡上線?
答:EthStaker 和 Ethereum Cat Herders 正在籌劃一場 Shapella 見證派對,將在 2023 年 4 月 12 日昇級啟動前開始,觀看地址:https://www.youtube.com/watch?v=BVq1pz3FrDo
漏洞賞金升級
根據以太坊協議支持團隊 2023 年 3 月 28 日發布的公告:從現在起直到 2023 年 4 月 5 日,針對 Shapella 網絡漏洞的以太坊漏洞賞金將翻倍!
了解更多,請查閱:https://ethereum.org/en/bug-bounty/