以太坊 Glamsterdam 升級恐讓舊合約失效,開發者提兩套修正草案

Elponcrab
分享
以太坊 Glamsterdam 升級恐讓舊合約失效,開發者提兩套修正草案

以太坊下一次大型升級 Glamsterdam 調高了建立與存取鏈上資料的 Gas 費用,可能讓部分已上線、無法修改的智慧合約失效。兩名開發者 11 月 8 日各自向以太坊改進提案庫提交草案,Leo Glisic 的 EIP-8488 主張舊合約沿用現行費率,Giulio Rebuffo 的草案則讓所有人付新價,但合約內部仍照舊規則運作。

EIP-8037 把建立新帳戶的 Gas 從 2.5 萬調到 18.36 萬

問題出在 Glamsterdam 納入的 EIP-8037 與 EIP-8038。Gas 是以太坊替每一步運算計價的單位,兩項提案提高了新增與讀寫鏈上狀態的收費,目的是控制狀態膨脹,讓網路之後能安全調高區塊的 Gas 上限。

依 EIP-8037 規格,建立一個新帳戶的費用從 25,000 單位調到 183,600 單位,約為 7 倍;部署合約的基本費也比照新帳戶,從 32,000 單位調到 183,600 單位,還不含程式碼儲存與執行費用。

廣告 - 內文未完請往下捲動

許多合約寫死了「呼叫別的合約要給多少 Gas」,費用一變,原本夠用的額度可能不夠,呼叫就會失敗。這類合約上線後多半無法更新。

Hoodi 測試網 10 月喊卡,資安研究員:現有版本不該上線

這個風險已經拖慢升級進度。資安公司 ChainSecurity 10 月示警後,以太坊基金會把原定 10 月 26 日在 Hoodi 測試網的升級延後(相關報導)。

據 CoinDesk 報導,資安研究員 pcaversaccio 在 X 上表示,Glamsterdam「以目前的形式就是不該上線」,他說兩週前已向核心開發者提出 Gas 調漲的問題。

匿名開發者 banteg 則說,以太坊官方的 repricing-impact 分析已列出約 20 萬個受影響合約,但他發現方法上有多處問題,實際漏算的更多,而且會影響數個知名協議的部署與運作,「不只是一些亂用操作碼的開發者」。

EIP-8488:舊合約永久沿用舊費率,新合約改用 V2 操作碼

Glisic 的 EIP-8488 把以太坊虛擬機的指令集拆成兩套。升級後新部署的合約只能使用 V2 操作碼,套用 EIP-8037 與 EIP-8038 的新費率;已部署的舊合約則無限期沿用 Glamsterdam 之前的收費。

草案也在 V2 裡拿掉 GAS、GASLIMIT 這類讓合約讀取剩餘 Gas 的操作碼,避免新合約再把費用假設寫死。可升級的協議換掉實作合約時會自然轉到新規則,網路可以隨 V2 占比提高,逐步調高 Gas 上限。

Rebuffo 草案:同一筆交易跑兩個計量器

Rebuffo 的草案讓每筆交易從同一個 Gas 上限開出兩個計數器。一個照舊規則計算,決定合約在執行時看得到、可以分配的 Gas;另一個照新規則計算,決定使用者實際付的手續費。

如果計費那一側的 Gas 不夠,整筆交易會直接中止,合約無法攔截。草案寫明,確切的收費表、退還規則與區塊計算方式都還沒定,「這個設計還沒有任何執行層客戶端實作,也沒跑過共識測試」,目前只是供討論。

兩份草案都沒有時程,下個開發網最快 11 月中旬

兩份提案都還是草案,Rebuffo 的版本連提案編號都尚未分配,也都沒有設定目標日期。依 10 月 29 日共識層開發者會議(ACDC #190)的會議摘要,Glamsterdam 下一個開發網最快 11 月 16 日至 20 日上線,這個時程是在兩份草案出現之前排定的。

風險提示

加密貨幣投資具有高度風險,其價格可能波動劇烈,您可能損失全部本金。請謹慎評估風險。