原文標題:《以太坊核心開發者會議更新 015》
原文來源:AllCoreDevs Update
原文編譯:Stephanie,ECN
摘要
Shapella 升級已順利啟動!我們正處於規劃下一次升級 Dencun 的最後階段。目前已確定納入的 EIP 包括:4844、6780、1153 和 6475,但相關規範尚未最終定案。EIP-2537、4788 和 6493 則被列入候選名單。此外,還有許多其他 EIP 正在 EthMagicians 論壇上進行討論。我起草了 EIP-6953,旨在總結長期以來啟動網路升級的觸發機制。今年夏天,我將在多個場合分享以太坊治理相關內容,完整的會議日程安排請見下文。
Shapella 升級
升級已成功啟動!儘管過程中出現了一些小插曲,但不到一個月後的現在,以太坊上的提款功能已平穩運行,對我們來說這已是再自然不過的事了。
Dencun 升級
在上次發布核心開發者會議更新時,Shapella 升級的規範雖已大致確定,但仍存在不少變動。之後,這些規範已全部敲定,以太坊基金會部落格也發布了「進展-更新-最終主網版本」系列文章;現在,協議公告還開通了電子郵件訂閱功能!
本篇更新的性質與上次類似:目前我們已有一組暫定納入下一次網路升級 Dencun(Deneb + Cancun)的 EIP。我將概述這些 EIP 的內容、重要性,以及目前仍在考慮是否納入的候選提案。
請注意,本篇更新主要聚焦於以太坊的執行層——共識層可能還有更多我未提及的內容。如果可能,待 Dencun 升級內容最終確定後,我會再發布一篇更新。但務實來看,我下一篇發表的文章很可能會是首個測試網分叉的公告。現在,讓我們來看看這些 EIP 吧!
已納入的 EIP
EIP-4844,即 Proto-Danksharding
這項提案無需過多介紹:4844 是 Dencun 網路升級的核心功能。簡單來說,此 EIP 為以太坊網路引入了臨時性的「data blob」,Layer 2 可以利用它們來發布原本存放在 CALLDATA 中的交易或證明資料。
由於 blob 僅作短期儲存,其 gas 成本預計將遠低於永久儲存在網路中的 CALLDATA。這將大幅降低用戶使用 Layer 2 的交易費用,因為目前 Layer 2 交易超過 90% 的成本都來自於 Layer 1 的數據儲存。如果想更深入了解 4844,可以參考 eip4844.com,該網站提供了不同深度的解釋資源和常見問答。
儘管此次升級的規模不如「合併」那般龐大,但 EIP-4844 對以太坊來說仍是一項重大變更:它為網路引入了一個全新的數據層,且當前的共識層與執行層都必須與其互動。這項 EIP 的規模也意味著,Dencun 升級中其他修改的實施空間將受到限制。
也就是說,除了 4844 之外,還有一些 EIP 也將被納入此次升級。
EIP-6780:限制 SELFDESTRUCT 操作碼
Dencun 升級引入的第二項重大變更,是透過 EIP-6780 來限制操作碼 SELFDESTRUCT 的功能。這項提案經過多年討論,並已在 Shapella 升級中正式宣告將被停用。
近期分析發現,SELFDESTRUCT 存在一種普遍的使用模式:合約在同一筆交易中被建立與銷毀。EIP-6780 允許保留此功能。如果 SELFDESTRUCT 在與合約建立相同的交易中被呼叫,其行為將維持不變。
而在所有其他情況下,此操作碼將不會刪除合約的儲存或程式碼,但合約內的 ETH 仍會轉移至目標地址。
儘管客戶端團隊目前認為這是處理 SELFDESTRUCT 的最佳方式,但更完整的影響分析仍在進行中。一旦分析完成,規範可能會被修改以處理其他邊界情況;也可能採用完全不同的方法,例如將 EIP-6046 也納入考量。
換句話說,對於 Dencun 升級而言,現在的問題已不是「是否」要移除 SELFDESTRUCT,而是「如何」移除。
EIP-1153:瞬態儲存
Dencun 升級中納入的第三項變更是 EIP-1153。這項提案提出至今已近五年,去年由 Uniswap 團隊重新提出,並在以太坊開發者社群中獲得廣泛支持。它引入了兩個新操作碼——TSTORE 和 TLOAD,提供瞬態儲存功能,並在交易完成時自動清除。此 EIP 實現了多種應用場景,從重入鎖(reentrancy lock)到在單筆交易中對 ERC-20 代幣進行多次批准。
EIP-1153 曾被考慮納入 Shapella 升級,但最終被推遲。這次,客戶端團隊同意繼續推進。值得一提的是,除了此 EIP 本身整體的健全性與實用性外,促成其被納入的一項關鍵因素在於出色的技術倡導工作:Uniswap 及其他團隊已為所有執行層客戶端提供了完整的 1153 參考實現與全面的測試案例。
EIP-6475:SSZ 可選值
最後一項納入的變更可視為 EIP-4844 的配套提案。Proto-danksharding 引入了一種採用 SSZ 編碼的新交易類型,而非其他交易類型所使用的 RLP 編碼方式。
長期以來,社群持續討論將以太坊執行層全面轉向使用 SSZ 編碼,因為其具備更豐富的編碼結構,且共識層也採用相同格式;但目前其實現工程量對 Dencun 升級而言過於龐大。EIP-6475 定義了 SSZ 的其中一項元素——即 4844 交易格式(Optionals)的一部分,以確保其與未來擬引入以太坊的 SSZ 物件保持向前相容性。
由於關於一般交易及特定 4844 blob 交易的最佳長期 SSZ 格式之討論仍在持續,預計這兩項 EIP 都將有所調整。
正在評估納入的 EIP
除了正式納入本次升級的 EIP 外,客戶端團隊還有一份仍可能納入的候選 EIP 名單。
EIP-2537:BLS 12-381 曲線運算的預編譯
自 2019 年起,這份 EIP 就以某種形式被考慮納入升級。過去,人們不願為以太坊執行層新增密碼學曲線。然而,信標鏈高度依賴 BLS 12-381,而隨著合併完成,BLS 已成為以太坊的一項「核心」依賴,且擁有安全且經過優化的函式庫。
引入此預編譯合約後,執行層將能驗證信標鏈簽名,並開啟基於該橢圓曲線的新應用場景。
EIP-4788:在 EVM 中引入信標區塊根
與 EIP-2537 類似,此 EIP 旨在將信標鏈的資訊提供給執行層。具體做法是將信標鏈區塊的根(root)加入執行負載(execution payload),並存入執行層的一個智能合約中。隨後,可透過新的操作碼 BEACON_ROOT 來讀取這些儲存的信標區塊根;該操作碼以 slot 編號為輸入,並回傳對應的信標區塊根。
此舉將有助於質押池、跨鏈橋以及再質押(restaking)協議實現更高程度的去信任化設計。
EIP-6493:SSZ 交易簽名方案
此 EIP 是對 EIP-6475 的補充,專門為 SSZ 格式的交易定義了一套簽名方案。雖然它不適用於現有的 RLP 交易,但能確保當前 EIP-4844 的 SSZ 交易簽名方案,與未來執行層全面轉向 SSZ 架構的規劃保持向前相容。
請注意,與 EOF 相關的 EIP 並未納入本次升級。
儘管 EOF 的一系列 EIP 曾先後被考慮納入 Shapella 和 Dencun 升級,但由於開發資源有限,最終決定將其排除在此次升級之外。目前社群正討論將其列為未來升級的「主要功能」,但各客戶端團隊尚未就此達成正式共識。
其他提議中的 EIP
除了上述內容,本次升級的完整提案清單可在 Ethereum Magicians 論壇上查閱。雖然最終納入 Dencun 升級的內容大多已討論多時,但仍可能有意外驚喜!例如,團隊在上一次 ACD 會議中首次接觸到 EIP-5656(引入 MCOPY 操作碼)時,反應就相當積極。
關於網路升級激活機制的 EIP
公告:我起草了一份資訊性 EIP,旨在系統性地整理歷來用於觸發網路升級的各種機制,包括早期的 PoW 區塊、epoch、總難度(TTD),到目前採用的時間戳(timestamp)等。
希望我們未來不再需要變更目前結合 epoch 與時間戳的觸發方式。
夏季(遠端)演講行程
接下來幾個月,我將參與一系列演講,分享我對以太坊治理流程運作方式的觀察。部分活動為實體舉辦,部分採遠端形式,另有幾場尚在確認中。按時間順序,我預計會出席 EDCON、ETHPrague、ETHShanghai、EthCC 以及 ETHMontreal。
