冷访问附加费能省回来吗:EIP-8289 的多块预热设想 图 1
冷访问附加费能省回来吗:EIP-8289 的多块预热设想 · 图 1

以太坊从 2021 年伦敦升级起采用 EIP-2929 的冷热计价:同一笔交易里,第一次碰某个存储槽要多付约 2100 gas,第一次碰某个账户地址要多付约 2600 gas,之后再碰只付热价。这套设计防的是单交易内的状态访问放大攻击。EIP-8289 盯上了它的另一面:冷热判定以“单笔交易”为界,可现实里大量状态访问在块与块之间高度重复——上一块刚被碰过的槽,这一块又冷启动了,附加费白花。这份 2026 年 5 月创建的草稿提出把“暖”的判定扩展到过去若干个区块,目前是 Draft。

提案引用的账本

EIP-8289 开篇给了两组来自主网测量的数字:一个区块大约 17% 的 gas 被用于支付 EIP-2929 的首次接触附加费;而这些首次接触项里,约 79% 在过去 256 个块内也曾被触碰过。如果按 256 块的预热视野来回收,中位数情形下能省下全块 gas 的约 14%。这组数字说明两件事:浪费真实存在,且有八成以上是可回收的重复付费。

机制:链上带一个暖访问多重集

实现思路是给链状态挂一个 warm-access multiset(暖访问多重集,WAM):记录每个被访问项在预热视野内的访问次数。执行一笔交易时,若目标项在多重集里还有余量,就按热价起算,同时扣减计数;区块结束时,本块访问进入多重集,视野另一端过期出账。效果上等价于把 EIP-2929 的“单交易热集”拉长成“多块热集”。访问列表(EIP-2930 那套随交易附带地址清单的机制)与新机制并存不冲突,预热回收的是列表之外的隐性重复。

反对意见也值得读

第一是安全边界。冷热区分的原始动机是给状态访问爆炸上一道闸:攻击者用大合约/大状态制造验证成本。把“热”的窗口拉长,等于承认某些交易能以热价扫更多状态,DoS 预算被重新打开多少,需要精确论证——这是所有跨块状态类提案共同的阿喀琉斯之踵。第二是公平性。视野内被高频交易的 DeFi 热合约持续保有热价红利,低频合约则常年在冷价里;协议第一次在“哪些状态更值钱”上有了事实上的中心化排队——交易所充值合约、热门 AMM 永远热,小众长尾合约永远冷。第三是共识负担:多重集要成为共识状态,各客户端每块都要维护与哈希,同步时也得多传这份账本。

一次判断线

把 8289 放回同类谱系看更清楚:EIP-2930 让发送方随交易声明访问清单、明付预热费;EIP-7557 想让整块声明一次预热;8289 则完全不要声明——协议自己记账、自动回收。三条路线从“明付”到“暗补”,用户打扰依次降低、共识状态负担依次升高。评估时守住这条轴,就不会被“反正都省 gas”的口号带偏。

快速问答

问:现在有多块预热吗? 答:没有。今天的冷热判定严格以单笔交易为界;能跨交易影响价格的只有交易自带的访问列表(EIP-2930),那是发送方明付的。

问:它和区块级访问列表(EIP-7928)什么关系? 答:EIP-7928 记录“这个块碰过什么”,供并行执行与无执行状态更新使用;8289 消费的是“过去这些块碰过什么”来定价。两者共享同类观测需求,但目标不同。

问:省下来的 gas 谁得利? 答:直接受益是高频读写同批状态的合约用户;间接受益是所有用户——同样的区块空间装下更多有效计算。

一笔直觉账

把 2929 想成酒店钥匙卡:今天每进一家店都要重新押一次卡费,哪怕你昨天刚住过隔壁。8289 等于办了张有效期 256 块的通票。通票省的是回头客的钱,代价是前台必须维护一本“谁最近来过”的总账——而且这本账所有人都要能核对。

风险提示:本文是对公开提案文本的解读,不构成投资建议;提案内容可能随社区讨论修改或作废,请以提案仓库页面为准。