- 以太坊基金會警告,Glamsterdam 的氣體重定價可能導致部分智能合約在沒有開發者更新的情況下失敗。
- EIP-8037 和 EIP-8038 將提升並標準化以太坊上狀態創建與存取的汽油費。
- 開發者可以在 Glamsterdam 開發網上測試合約,而錢包和 RPC 提供商必須根據新的排程更新 Gas 評估。
以太坊開發者 面臨 即將到來的 Glamsterdam 升級中的新燃氣規則,部分合約在未作修改的情況下可能無法運行。以太坊基金會表示,EIP-8037 和 EIP-8038 將改變狀態創建和訪問成本。大多數合約不受影響,但使用硬編碼燃氣假設的開發者可能需要在重新定價上線主網前進行更新。
Glamsterdam 調整以太坊燃氣費用
這兩項 EIP 針對 Ethereum 在整個網絡中對狀態操作的收費方式。EIP-8037 提高並標準化了建立帳戶、儲存插槽和已部署位元組碼的費用。
同時,EIP-8038 提高了存取現有狀態的費用,包括 SLOAD、SSTORE 和冷帳戶存取。它也調整了 EXTCODESIZE 和 EXTCODECOPY 操作的費用。
根據以太坊基金會的說法,這些變更反映了以太坊較大狀態下操作的測量工作量。這些操作的汽油費上次變更是在 2021 年柏林升級期間。
值得注意的是,近期的汽油費上限提高加速了狀態增長。新的定價模型採用了一個性能目標,支援大約三倍的基礎吞吐量。
某些智能合約可能會失敗
Ethereum Foundation 使用建議的燃料費時間表重放了歷史主網交易。大多數交易在新的定價規則下產生了相同的結果。然而,較小的一組交易在重新定價後顯示出不同的結果。
部分交易仍成功,但使用的氣體數量不同。其他交易則僅因原始氣體上限不足而失敗。開發者可透過提高提供的氣體上限來解決這些情況。
即使限額大幅提高,較小的群組仍可能保持中斷。這些合約通常依賴其代碼中的固定氣體假設,例如 Solidity 的 2,300 氣體轉帳和發送補貼。
硬編碼的呼叫值、gasleft() 檢查和固定氣體限制也可能導致問題。該基金會表示,受影響最嚴重合約的團隊已收到直接聯絡。
開發者可在主網前進行測試
維護 Layer 1 合約的開發人員可使用其合約地址搜尋受影響合約資料庫。該工具會識別導致每個問題的失敗類型及重新定價原因。
該基金會亦建議開發者在 Platåberget 測試網(稱為 glam-devnet-8)上測試修復方案。錢包和 RPC 開發者必須更新氣體估計,以反映新的時間表。
緩存的氣體常數可能會低估交易成本並導致失敗。普通用戶無需採取任何行動,因為更新後的钱包和基礎設施將自動處理這些變更。
重新定價已於開發網上線,並將在主網啟用前移至公開測試網。


