EIP-8037 這個編號,這兩週在 Glamsterdam 的私有 devnet 上一直在製造 execution layer 的不穩定——不是因為它寫錯了什麼,而是因為它想解的問題,是 200M gas limit 路線圖裡前兩篇沒提到的第三面牆:state growth。前兩篇分別確認了 proving throughput(EIP-8025、Amdahl 定律那道牆)跟 witness 傳輸這兩個計算/頻寬側的瓶頸,今天這篇要處理的是磁碟側的瓶頸——而且它跟已經上線的另一個 EIP 之間,存在一個目前還沒解開的內部矛盾。
📖 學
EIP-8037《State Creation Gas Cost Increase》要做的事,是在既有的 execution gas 之外,加一條獨立計量的第二維度:state gas,只針對「往狀態裡新增資料」的操作計價,單位成本是 COST_PER_STATE_BYTE = 1530 gas/byte。機制上,一筆交易的 gas 會被拆成兩塊:gas_left(仍受 TX_MAX_GAS_LIMIT - intrinsic_gas 上限約束)跟 state_gas_reservoir(專門吸收超額的 state 創建成本),目標是讓區塊在 150M gas 的參考基準下,state gas 平均使用率落在區塊上限的 50% 左右。
之所以要這樣拆,是因為現行定價早就不統一——合約部署大約是每 byte 200 gas,新的 storage slot 卻是每 byte 313 gas 左右,兩者換算完全不成比例,誰便宜就往誰身上塞。EIP-8037 把這些管道全部拉齊到 1530 gas/byte 這一個數字上,漲幅視操作而定:CREATE 從 32,000 漲到 120×1530=183,600 gas(約 5.7 倍)、新的 storage slot 從 20,000 漲到 64×1530=97,920 gas(約 4.9 倍)、EIP-7702 的 EOA delegation 從 12,500 漲到 23×1530=35,190 gas(約 2.8 倍)。EIP 自己舉的例子更極端:部署一份 24 KB(合約大小上限)的合約,code-deposit 成本會從約 4.95M gas 漲到約 37.8M gas,漲幅接近 7.6 倍。
這個漲幅是怎麼算出來的,值得驗一遍數字。Fusaka 把 gas limit 從 45M 拉到 60M 之後,每日新增 state 已經從約 105 MiB 跳到約 326 MiB,年化大約 116 GiB。如果不做任何定價調整、直接線性外推到 200M gas 的地板,年化新增 state 會來到約 387 GiB;而客戶端團隊常引用的「節點效能開始明顯退化」門檻大約在 650 GiB 的 state 資料庫大小。650÷387 ≈ 1.7 年——也就是說,如果 200M gas limit 上線後 state 定價維持現狀,大概 20 個月內就會撞到這道退化門檻。EIP-8037 的目標,是把 200M gas 下最壞情況(整個區塊都在做 state 創建)的年化成長壓到約 160 GiB,把 20 個月的緩衝拉長到大約 4 年。
已標存疑的地方有兩處。第一,ethereum-magicians 討論串裡有留言試算:就算套用這個約 8.5 倍的定價乘數,若使用者行為模式不變、gas limit 拉到 300M,實際年化成長可能仍落在約 191 GiB,遠高於模型設定的目標值——換句話說,固定倍率的重新定價可能只是買時間,不是解決結構性問題;同一串裡也有人引用經驗數據,估計 base fee 每漲 1%,淨 state 創建量只降約 0.09%,價格彈性相當弱。第二,合約 bytecode 本身並不算在 Ethereum 的 state 裡(reorg 時不會跟著回滾),所以要判斷「這段 code 是不是已經存在、可以免收重複的 state gas」,目前沒有共識機制可以證明——這需要一個新的 codehash 存在性證明(例如全域 codehash 登記的 system contract),但方案還沒定案。
更值得記的是一個尚未解開的內部矛盾:EIP-7825(Transaction Gas Limit Cap)已經隨 Fusaka 上線 mainnet、且已在 Sepolia/Holesky 生效,把單筆交易的 gas 硬性封頂在 2^24 = 16,777,216 gas,不管區塊本身的 gas limit 多高。但 EIP-8037 自己舉的例子——部署 24 KB 上限合約需要約 37.8M state gas——已經是 EIP-7825 上限的兩倍多。也就是說,照目前規格,現在合法、將來也想繼續合法的「部署上限大小合約」這件事,會因為 state gas 超出單筆交易上限而變得塞不進一筆交易裡。這個矛盾在 EIP-8037 自己的討論串裡已經有人指出,而 EIP 目前狀態仍是「under peer review」,尚未解決。
這不是空談的疑慮,是這幾週實際在拖垮 Glamsterdam 私有測試網的原因之一。多家媒體(crypto.news、PANews)報導,devnet-8 出過一個嚴重的 consensus layer bug,devnet-9(1000 個驗證者規模)則持續無法正常 finalize,而 EIP-8037 被點名是造成 execution layer 不穩的原因之一,需要客戶端修補。能查到的第一手資料是 All Core Devs Testing #97(2026-09-21,github.com/ethereum/pm/issues/2225)的逐字 agenda:上面討論的是 devnet-8(代號 Plataberget)跟 devnet-11,client 版本的釋出截止日訂在 9 月 29 日——也就是今天——並寫明 Sepolia fork「confirmed」在 10 月 6 日、epoch 353024。但同一週的媒體報導(crypto.news、24/7 Wall St.)把同一個 10/6 日期形容成「tentative」,而且引用的 epoch 是 351232,跟官方 agenda 對不上。這個 epoch 數字的落差,我沒能從公開資料裡核對出哪一個是對的,已標存疑;但 10 月 6 日這個日期本身,一手與二手來源是一致的。
最後回頭接上前兩篇提過的 EIP-8025:它現在已經正式進入 Hegotá 的 non-headliner 提案窗口,EF Protocol 在九月的評估裡把它列為 A 級優先。跟今天主題直接相關的一點是,EIP-8025 的驗證成本被描述為「大致與區塊大小無關」——一個 60M gas 的區塊跟一個 600M gas 的區塊,驗證時間差不多。這意味著如果 stateless 驗證真的上線,對只做驗證、不做完整執行的節點來說,state growth 根本不是問題,因為它們從不觸碰完整 state;但對繼續執行與保存 state 的 full/archive 節點來說,今天講的這道牆完全沒有繞過去。
🧠 記
- 200M gas limit 現在同時卡在三道獨立的牆上:proving throughput(EIP-8025/Amdahl,前篇)、witness 傳輸(前篇)、以及今天這道 state growth(EIP-8037)。三者要同時解決,不是接力賽。
- EIP-8037 用單一 COST_PER_STATE_BYTE = 1530 gas/byte 把 CREATE、新 storage slot、EIP-7702 delegation 等操作重新定價,漲幅 2.8x–7.6x,目標把 200M gas 下外推的年化 state 成長從約 387 GiB 壓到約 160 GiB(650 GiB 退化門檻的緩衝從約 20 個月拉長到約 4 年)。
- 但 EIP-8037 自己的 worked example(24KB 合約部署 ≈37.8M state gas)已經超過同期在跑的 EIP-7825 單筆交易上限(16,777,216 gas)兩倍以上——兩個定案/準定案的 EIP 之間有尚未解決的衝突。
- devnet-8/9 的不穩定不是抽象風險,是 9/21 ACDT #97 agenda 裡還在處理的真實 client bug;10/6 Sepolia 官方 agenda 寫「confirmed」,epoch 353024,同週媒體卻稱 tentative、引用不同的 epoch 351232,兩邊對不上,已標存疑。
✍️ 實踐
- 讀 EIP-8037 全文,自己核對 COST_PER_STATE_BYTE 與 state_gas_reservoir 的公式:eips.ethereum.org/EIPS/eip-8037
- 去 ethereum-magicians 討論串,看 codehash 存在性證明跟 EIP-7825 衝突那幾則回覆,自己判斷哪個解法比較站得住:ethereum-magicians.org/t/eip-8037-state-creation-gas-cost-increase/25694
- 對照 github.com/ethereum/pm/issues/2225(ACDT #97 逐字 agenda)跟當週媒體報導的 10/6 日期與 epoch 號碼,自己抓落差
- 不必等 EIP 上線,現在就能追蹤全節點 state/chain data 的實際成長速度:etherscan.io/chartsync/chaindefault
🔗 延伸學習
- EIP-8037: State Creation Gas Cost Increase
- EIP-7825: Transaction Gas Limit Cap
- All Core Devs Testing (ACDT) #97, Sept 21 2026 — agenda
- EIP-8025: bringing optional execution proofs to Hegotá — zkEVM Blog
💬 問 AI
我在讀 Ethereum 的 EIP-8037(State Creation Gas Cost Increase)。
請幫我檢查:
1. COST_PER_STATE_BYTE = 1530 gas/byte 這個數字,跟 gas_left / state_gas_reservoir
的拆分機制,我的理解對不對?
2. EIP-8037 舉例的 24KB 合約部署(約 37.8M state gas)跟 EIP-7825 的單筆交易
gas 上限(16,777,216 gas)之間的衝突,目前社群有沒有更新的解法(例如
放寬 EIP-7825、或允許特定交易類型的例外上限)?
3. 幫我找 EIP-8037 最新的 devnet 測試狀態(devnet-8/devnet-9/devnet-11 任一),
看 execution layer 的 bug 是否已經修好。
請附上你查到的原始來源連結,不要用你自己記憶裡的舊資訊回答。