安全研究人员警示现有合约风险后,以太坊推迟 Glamsterdam Hoodi 测试
要点速览
- •以太坊开发者推迟了 Hoodi 测试网上的 Glamsterdam 升级,取消了原定 10 月 26 日的激活,目前尚未公布新日期。
- •推迟源于 ChainSecurity 10 月 13 日的分析,该分析显示 EIP-8037 与 EIP-8038 的组合可能改变现有合约在被调用合约 gas 耗尽时的响应方式。
- •根据拟议规则,返还的 gas 可能使失败处理代码得以完成而非回滚,从而可能使某些错误变为永久性。
- •ChainSecurity 估算,在现行规则下创建新存储槽的耗时可能从 22,100 gas 增至 110,020 gas,这意味着在现有 gas 预算内的有效操作可能失败。
- •已于 10 月 6 日在 Sepolia 测试网完成激活的 Glamsterdam 还包含新的区块构建者选择系统;Hoodi 上将 gas 上限提高至 2 亿的计划也已推迟,等待后续决策。

由于安全研究人员发现一个潜在问题,可能改变现有智能合约处理失败交易的方式,以太坊开发者推迟了 Hoodi 测试网上的 Glamsterdam 升级。
该升级原定于 10 月 26 日 17:42:48 UTC 激活。Hoodi 是以太坊的公共测试网之一,升级在到达主网之前会先在此进行演练,使开发者能够根据实际活动观察新规则的表现。在周四的 All Core Devs Execution 会议上,开发者决定推迟升级,以便研究一项针对以太坊 gas 记账的拟议变更如何与主网上已运行的合约产生交互。目前尚未公布新的激活日期。
问题集中在 EIP-8037——这是以太坊改进提案,即以太坊协议变更的标准格式——它改变了以太坊对在数据库中创建新记录的收费方式。该提案旨在随着以太坊提高网络可处理交易数量,限制数据库的增长。
安全公司 ChainSecurity 于 10 月 13 日发布分析指出,EIP-8037 与 EIP-8038 的组合可能改变合约在被调用合约 gas 耗尽——即用于支付网络运营者的费用——时的响应方式。
一些合约被设计为捕获失败的操作并继续处理。它们可能记录某次尝试失败、禁用后续尝试或转入另一步骤。开发者有时依赖剩余 gas 不足以完成这些操作,从而使整个交易回滚。
Glamsterdam 改变了这一计算方式。根据拟议规则,用于创建某些记录的 gas 可以在这些更改被撤销时返还。因此,合约可能保留足够的 gas 来完成一项失败处理操作,而该操作此前会导致交易回滚。在某些情况下,这可能使错误变为永久性。
ChainSecurity 还发现了相反方向的风险。该公司测算,在单独的配额耗尽时,创建一个新的存储槽可能需要 110,020 gas,而旧规则下为 22,100 gas。因此,在现有 gas 预算内运行的合约可能在执行本应有效的操作时失败。
这些发现涉及现有软件在拟议规则下的行为方式。ChainSecurity 已演示了相关机制,但尚未公开证明某个大型生产环境协议可被利用。此次推迟反映了测试网上线的目的:在主网激活之前提出的担忧,可以在变更仍局限于测试网阶段得到解决。
Glamsterdam 包括对以太坊的多项变更,包括一个新的区块构建者选择系统,以及旨在让网络处理更大区块的改进。该升级已于 10 月 6 日在 Sepolia 测试网完成激活。
Hoodi 原定作为下一次公开演练,同时计划将 gas 上限提高至 2 亿——即每个区块允许的总计算量上限。该提额计划目前也被推迟。两项变更均无既定日期,后续决策将在未来的 All Core Devs Execution 会议上作出。