以太坊的下一次升級 Glamsterdam 正在測試網進行驗證,但 ChainSecurity 發現,一些項目所依賴的運行假設會被 EIP-8037 和 EIP-8038 打破。這兩項提議調整了部分操作的燃氣收費方式,並重新設計了狀態訪問的計費方式。因此,全體核心開發者決定延後硬分叉流程,在問題解決之前不讓 Hoodi 的測試網進入下一步。升級尚未進入主網,團隊選擇先停下來尋找受到影響的項目,這正是公開區塊鏈中最有價值,也最容易被忽視的安全環節。
合約沒有修改代碼,為何仍可能出問題?
智能合約所依賴的並非只有函數輸入和帳戶餘額,還包括執行環境的經濟規則。有些合約會假設某個操作最多消耗多少燃氣,或透過剩餘燃氣來判斷外部調用是否完成。在 EIP-8037 和 EIP-8038 改變了特定操作與狀態訪問的收費方式之後,原本成立的燃氣邊界可能就不再適用了。代碼一行未改,運行條件卻變了。
這類風險比語法錯誤更難發現。合約在當前網路上可以連續運行多年,審計報告也可能基於舊規則得出安全結論。一旦底層協議重新定價,依賴於特定燃氣行為的退款、清算、跨合約調用或防護邏輯就可能失敗。升級帶來的並非單純的「費用高一點或低一點」,而是某些控制流程的前提發生變化。
八項不變量是排查清單,而非八個已確認的漏洞
以太坊基金會的文章提到了一個倉庫,整理了 Glamsterdam 可能打破的八項不變量,并提供了解釋、示例以及用於檢查項目的提示。在這裡需要區分「不變量被改變」和「項目必然存在漏洞」。只有合約或鏈下系統實際依賴於這些假設,才會受到影響;影響也可能從交易失敗到更嚴重的安全問題不等。
公開清單的意義在於,讓那些無法由核心團隊一一覆蓋的項目能自行檢查。以太坊上不僅有主網合約,還有代理合約、機器人、索引服務、錢包以及鏈下風險控制。審計公司可以覆蓋高價值項目,卻不可能讀完所有代碼。將風險條件寫成可搜尋、可測試的規則,能讓開發者更快判斷自己是否屬於受影響的範圍。
推遲 Hoodi,並不等於整條路線停擺
官方說明,全體核心開發者決定延後硬分叉流程,在問題解決之前不對 Hoodi 進行分叉;同時,Hegota 相關工作不受影響,仍會並行推進。這個邊界非常重要。延後的是 Glamsterdam 的當前測試節點,並非以太坊停止研發,也不是已經發生主網事故。
在升級治理過程中,延遲常常被外界理解為交付失敗。但對於不可隨意回滾的公共網絡來說,發現前提錯誤後仍繼續趕工期,其代價可能遠高於延遲。測試網的本意就是讓協議變化與實際應用發生衝突。如果測試僅驗證客戶端是否能夠產生塊(block),卻沒有暴露應用層的假設,那麼按時上線反而會失去測試的意義。
審計正從「看代碼」變成「看變化」
基金會表示,正在與 ChainSecurity、Dedaub 等審計機構合作,並開展內部審計。但文章也明確承認,團隊無法覆蓋所有項目,尤其無法同時檢查鏈上和鏈下代碼。這揭示了協議升級審計的現實:一個合約在部署時通過審計,並不代表它能永久適應未來的底層規則。
項目方需要建立升級影響分析。除了追蹤 EIP 文本之外,還應將關鍵經濟假設寫入測試中,讓同一套合約在新客戶端和新燃氣表下重新執行;對於清算、橋接和權限路徑,需要測試在失敗時是否會鎖定資金或繞過限制。審計報告也應註明所適用的協議版本與假設,而不是給出沒有期限的“安全”標籤。
用戶現在需要做什麼
普通用戶不需要因為這次延期而立即遷移資產。Glamsterdam 仍處於測試階段,官方也沒有宣佈主網發生相關故障。真正需要行動的是合約開發者、審計員和基礎設施運營方:核對項目是否依賴於八項不變量,使用公開示例與工具進行驗證,若發現影響則聯絡協議團隊,並在修復完成前避免將假設寫入新的版本。
交易所、錢包和數據服務也不能只等待合約團隊的通知。鏈下系統可能根據燃氣估計來決定是否提交交易,或使用執行結果來觸發後續動作。底層計費變化可能造成批量失敗、報價不準或監控誤判。提前在測試網上回放真實工作負載,通常比主網上線後再調整參數更便宜。
一次有價值的「踩剎車」
Glamsterdam 此次延期說明,協議升級的安全性不僅取決於提案本身是否正確,還取決於龐大生態對舊規則形成了哪些隱含依賴。發現風險的時間點越靠前,修復的空間就越大;等到主網生效後再找問題,治理、協調和資金損失都會放大。
区块链強調代碼的確定性,但代碼總是在一組環境規則中運行。EIP-8037 和 EIP-8038 正在改變其中的一部分規則,開發者必須重新證明自己的系統仍然成立。推遲雖然不理想,但比在時間壓力下將未知風險帶上主網更負責任。真正成熟的升級,不是從不延期,而是知道何時必須停下來。












