新聞加密貨幣以太坊開發者被要求在 Glamsterdam 升級前審查 gas 假設

以太坊開發者被要求在 Glamsterdam 升級前審查 gas 假設

作者: Metaverse Post·

重點速覽

  • EIP-8037 將重新定價新狀態的建立,包括新帳戶、儲存槽與已部署 bytecode。
  • EIP-8038 將提高存取既有狀態的成本,例如 SSTORE、SLOAD 與 cold account access。
  • 重新執行分析顯示,多數智能合約行為應保持不變,但少數可能需要更高 gas 上限或人工審查。
  • 風險較高的合約多依賴固定 gas 假設,包括硬編碼補貼、基於 gasleft() 的邏輯與彈性不足的預簽交易上限。
  • 錢包、RPC 服務與節點工具必須更新 gas 預估邏輯,因為快取常數在新排程下可能低估 gas 需求。
以太坊開發者被要求在 Glamsterdam 升級前審查 gas 假設

以太坊網路正為 Glamsterdam 升級做準備,這項協議更新將透過兩項排定提案 EIP-8037 與 EIP-8038 重新校準與狀態相關操作的 gas 費用。這些變更旨在讓 gas 定價與交易實際消耗的計算與儲存資源一致,解決自 2021 年 Berlin 分叉上次調整以來逐漸擴大的差距。

根據 Ethereum Foundation,EIP-8037 針對建立新狀態的成本,包括新帳戶、儲存槽與已部署 bytecode,透過提高並統一這些費用,同時分開計量。其目標是在區塊 gas 上限持續提高的情況下,仍能維持狀態成長的可持續性。

同時,EIP-8038 會提高存取既有狀態的成本,包括 SSTORE、SLOAD、cold account access,以及 EXTCODESIZE 或 EXTCODECOPY 等操作,以反映網路擴大後狀態規模下的當前效能指標。該組織表示,這項重定價排程的設計目標是支援大約三倍的基礎吞吐量提升,因此在不降低節點營運者效能的情況下進一步擴充,這是必要前提。

評估對開發者的影響

對歷史主網交易在新排程下重新執行的分析顯示,絕大多數智能合約將以相同方式執行,只有少部分會出現行為變化。交易可分為四類:沒有變化者;在不同 gas 用量下仍能成功者;原本 gas 上限耗盡但提高上限後可完成者;以及即使大幅提高上限仍會失敗者。

最後一類合約通常依賴脆弱的 gas 成本假設,例如硬編碼的補貼額度——如 Solidity 的 transfer 與 send 函式中固定的 2,300 gas——、外部呼叫中的明確 gas 數值、基於 gasleft() 的條件邏輯,或上限不具彈性的預簽交易。Ethereum Foundation 已經開始直接聯繫受影響最嚴重的開發團隊,並彙整出受影響程度最高的實體報告。

建議開發者與基礎設施營運者透過官方搜尋工具確認合約狀態,並在目前執行新排程的 Platåberget 測試網上進行測試。可透過提高 gas 上限修復的合約,需要前端或基礎設施更新;可能已損壞的合約則需要人工審查被標記的呼叫位置。

錢包供應商、RPC 服務與節點工具也必須更新 gas 預估邏輯,因為快取的常數在新規則下會導致低估。一般使用者不需要採取行動,因為更新後的錢包與服務預期會自動處理過渡。這項重定價已在開發網路上生效,並將在主網啟用前先部署到公共測試網。