以太坊基金会宣布,由于核心安全问题尚未解决,原定的Hoodi测试网硬分叉将推迟执行。此次延迟源于对Glamsterdam升级中八项关键Gas规则的重新评估,这些规则曾被视作不可更改的基础假设。
在11月6日的更新中,开发者Marius van der Wijden指出,只有在安全公司ChainSecurity确认问题修复后,才会推进分叉。基金会列出了八项此前被视为“恒定”的Gas规则,如今已不再成立。其中最引人关注的是空账户发起委托操作的Gas消耗从25,000跃升至235,606,远超多数钱包预设预算。
Glamsterdam升级的核心是两项提案:EIP-8037将新状态创建(如账户、存储槽)的成本独立计量;EIP-8038则显著提高读写现有状态的费用。根据规范测试,写入新存储槽的Gas从22,100增至110,020,更新热存储槽从2,900升至10,100,代码部署每字节成本从200升至1,530。
EIP-7702允许普通账户通过一次签名授权调用智能合约。过去,若交易被打包,即视为委托生效。但在新规则下,部分费用依赖账户状态,导致原本有效的交易在应用授权时因Gas不足而失败,但仍进入区块并公开授权签名。
这一变化带来安全隐患:攻击者可利用失败交易中的有效授权,重新提交至合约,篡改账户控制权。尽管钱包本身未被盗,但若合约允许任意用户设置所有者,风险极高。目前建议在失败后手动推进nonce或重新绑定安全合约。
INV-4指出,任何事先设定的固定Gas数值——无论位于合约内部、签名消息还是链下软件——都可能因新规则而不足。例如向空地址转账的Gas需求从65,000飙升至150,000以上。
对于中继器、Keepers和交易所提款系统而言,这意味着原有预算模型必须重构。一旦交易因预算不足回滚,即使在链下重试也需更高成本。而多签交易、元交易及跨链消息等无法修改的结构,则可能永久失效。
此前依赖“剩余Gas检查”或“失败代价过高”的合约防护策略,在新规则下已不适用。因为EIP-8037引入了独立储备池,`gasleft()`无法识别额外资源;同时回退调用或清除数据可返还部分Gas。
ChainSecurity警告:过去通过审计的代码,现在可能因规则变化而产生不可逆错误。开发者应避免基于事后剩余Gas做决策,优先确保操作可回滚或保留恢复路径。
基金会强调,自2021年柏林分叉以来,状态增长速度远超预期。当前的Gas定价已严重失真,成为提升网络吞吐量的关键障碍。新价格体系支持未来三倍基础吞吐量目标,并且历史主网交易在新规则下绝大多数仍能正常重放。
普通用户无需主动操作,但钱包与基础设施需适配新规则。本次发现更凸显了调整估算机制的重要性。
基金会正收集核心开发者反馈,决定是否微调EIP-8037与EIP-8038。Hoodi分叉日期尚未公布。各角色需采取应对措施:
重要信号包括:基金会博客更新分叉时间、规范修订公告,以及项目方确认修复。问题应私密提交至glamsterdam@ethereum.org,防止细节外泄。