新聞加密貨幣以太坊 Glamsterdam 升級面臨智能合約風險,開發者提出兩項解決方案

以太坊 Glamsterdam 升級面臨智能合約風險,開發者提出兩項解決方案

作者: Hokanews·

重點速覽

  • •以太坊開發者 Leo Glisic 與 Giulio Rebuffo 於週日提交了相互競爭的提案,旨在防止 Glamsterdam 升級中 EIP-8037 與 EIP-8038 的 gas 調漲破壞網路上已部署的合約。
  • •EIP-8037 將把創建智能合約的基本 gas 費用從 32,000 提高至 183,600 gas,與程式碼儲存和執行相關的額外成本則另行計算。
  • •原定 10 月 26 日舉行的 Glamsterdam 測試網演練在安全研究人員警告重新定價可能干擾現有應用程式後延期,研究人員 pcaversaccio 主張升級不應以現有形式推出。
  • •開發者 banteg 指向儲存庫中約 20 萬個潛在受影響合約的清單,並警告方法論上的侷限意味著實際數量可能大幅更高,且可能包括知名協議。
  • •Glisic 的 EIP-8488 讓現有合約保留舊有 gas 排程、新合約使用 V2 操作碼,而 Rebuffo 的雙重 gas 計量設計目前尚無執行客戶端實作或共識測試結果。
以太坊 Glamsterdam 升級面臨智能合約風險,開發者提出兩項解決方案

兩位以太坊開發者 Leo Glisic 與 Giulio Rebuffo 於週日分別提交了競爭性提案,針對保護已部署在網路上的應用程式提出不同的策略。兩項提案都涉及以太坊改進提案 EIP-8037 與 EIP-8038 可能帶來的後果,這兩項提案將提高某些智能合約操作所需的 gas。這場爭論已成為 Glamsterdam 升級的重要議題,開發者正在評估擬議的定價變更能否在不干擾圍繞以太坊現有 gas 排程設計的合約的情況下推出。

Glamsterdam Gas 變更引發相容性疑慮

爭議的核心是 EIP-8037 與 EIP-8038,這兩項納入 Glamsterdam 升級計畫的提案將修改合約創建與存取區塊鏈儲存資料的成本。Gas 是以太坊用於衡量執行交易與智能合約指令所需運算資源的單位,gas 定價的變更可能改變應用程式的運作方式,尤其是當開發者圍繞特定執行限制編寫合約時。

像 Glamsterdam 這樣的以太坊升級會將多項 EIP 打包成一次協調一致的網路規則變更,提案通常需經過核心開發者審查、客戶端實作與測試網測試,才會做出啟用決定。目前的爭論正是在這一流程中展開:異議在 Glamsterdam 仍處於測試網評估階段、尚未觸及主區塊鏈之前浮現。

根據 EIP-8037,創建智能合約的基本 gas 費用將從 32,000 提高至 183,600 gas,與程式碼儲存與執行相關的額外成本則另行計算。此一調漲引發了疑慮,因為部分現有的以太坊應用程式在開發時,預期某些操作會持續消耗相同的 gas 量。

部分合約在與其他應用程式互動時會配置固定的 gas 額度。若這些互動的成本超出配置額度,操作可能失敗。對於部署後無法修改的智能合約而言,風險尤其重大,因為這類應用程式可能沒有直接機制來適應修訂後的 gas 排程。

安全研究人員警告大規模合約中斷風險

這些疑慮已經影響到 Glamsterdam 的測試時程。儘管該升級已部署至以太坊測試網,但原定於 10 月 26 日舉行的第二輪測試演練,在安全研究人員發出警告後延期。以太坊測試網讓開發者能在變更抵達主區塊鏈(應用程式與交易涉及真實資產)之前評估協議變更。Gas 排程在以往的以太坊升級中也曾修訂,這正是重新定價提案通常需要對照依舊成本假設編寫的合約進行檢查的原因。

安全研究人員 pcaversaccio 公開批評擬議的 gas 調整,認為 Glamsterdam 不應以現有形式繼續推進。

「imho Glamsterdam should not be shipped in its current form, period,」pcaversaccio 在 X 上寫道。

這位研究人員表示,相關疑慮早在兩週前已向以太坊核心開發者提出。

化名開發者 banteg 也質疑現有相容性評估的範圍,並指向 ethereum/repricing-impact 儲存庫中一份約 20 萬個潛在受影響合約的清單。根據 banteg 的說法,評估方法的侷限性可能意味著實際受影響的合約數量遠高於現有清單所示。該開發者更進一步警告,擬議的變更可能干擾多個知名以太坊協議的部署與運作,而不僅影響使用量較低的應用程式。

這些警告加劇了外界對以太坊開發者如何在保留網路上既有合約功能的同時實施 gas 重新定價的關注。

EIP-8488 提議為既有與新合約制定不同的 Gas 規則

Glisic 的提案編號為 EIP-8488,引入了一種相容性機制,用以區分升級前部署的智能合約與升級後創建的合約。現有合約將繼續按照以太坊目前的 gas 定價規則運作,而新部署的合約則使用一套修訂後的指令,反映 EIP-8037 與 EIP-8038 帶來的較高 gas 成本。

該提案實際上會將以太坊的指令集分為兩個版本,讓較舊的應用程式保留既定的執行成本,同時要求新應用程式遵循更新後的定價結構。

「Existing contracts keep the legacy schedule,」EIP-8488 草案寫道。

新合約將被要求使用與修訂後 gas 排程相關的 V2 操作碼。此做法旨在降低無法升級的應用程式的相容性風險,同時讓以太坊能夠為未來的部署引入規劃中的 gas 定價變更。

替代方案引入雙重 Gas 計量

Rebuffo 則提出了另一種機制,將新的 gas 定價排程應用於交易計費,同時保留較舊智能合約的既有執行行為。該設計不是為新舊應用程式維護不同的指令集,而是在每筆交易中引入兩種 gas 計量機制。一個計量器依現行 gas 規則追蹤合約執行,另一個則依更新後的定價排程計算交易費用。

在此結構下,新的排程將決定交易費用,但較舊的應用程式將繼續在先前 gas 規則所建立的假設下執行。該提案旨在將交易成本的計算與既有智能合約所依賴的執行條件分離。

不過草案也承認,該設計在實作層面仍未經測試。

「no execution-client implementation or consensus tests have been run for this design,」提案中寫道。

開發者面臨 Glamsterdam Gas 變更的抉擇

兩項競爭性提案凸顯了解決同一相容性問題的不同做法。Glisic 的 EIP-8488 將為先前部署的合約保留現行 gas 定價,並透過新指令引入修訂後的排程。Rebuffo 的替代方案則採用更新後的交易計費,同時保留舊有的執行行為。兩種做法都旨在防止規劃中的 gas 重新定價干擾依賴以太坊現有執行成本的應用程式。

此議題受到關注,是因為受影響的合約可能包括難以修改已部署程式碼的成熟協議。在測試已因安全警告而延期的情況下,這些提案為評估 Glamsterdam 相容性風險的開發者提供了潛在的技術解決方案。

推動這場辯論前進的里程碑是具體的:在相容性機制到位後重新舉行的測試網演練,以及若任一草案要繼續推進,所需的執行客戶端實作與共識測試結果。在這些步驟完成之前,隨著 Glamsterdam 持續其開發週期,相容性問題仍未有定論。

現有資訊無法確定任一提案是否會被採納。Rebuffo 的設計同樣尚未有執行客戶端實作或共識測試結果,其技術可行性仍有待進一步評估。

來源:CoinDesk

首次發布:Hokanews