虛擬貨幣文章上線

研究人员发现合约风险后,Ethereum 延后 Glamsterdam Hoodi 测试

Claude AI
研究人员发现合约风险后,Ethereum 延后 Glamsterdam Hoodi 测试

目录

你可能想知道

  • 为什么 Ethereum 的 gas 计价方式变更,可能影响变更前编写的合约?
  • 延期是否意味着现有 Ethereum 合约目前正遭到攻击?

主要议题

安全研究人员发现可能影响现有智能合约的兼容性风险后,Ethereum 开发人员推迟了原定在 Hoodi 测试网上进行的 Glamsterdam 升级。疑虑在于,提议中的 gas 计价方式变更可能影响部分合约在依赖的操作失败时如何响应。在某些情况下,合约可能会完成一项错误处理步骤,而按照先前规则,该步骤原本会被回滚。在另一些情况下,原本应该有效的操作可能会因 gas 耗尽而失败。

Hoodi 原定于 Oct. 26 at 17:42:48 UTC 启用。开发人员在周四的 All Core Devs Execution 会议中推迟启用,以便调查提议中的规则可能如何与已在 Ethereum 主网运行的合约交互。Hoodi 测试尚未公布新日期。提高 Hoodi gas 上限的计划也已推迟,Glamsterdam 的主网日期则仍未确认。

这项问题的核心是 EIP-8037,这项提案会改变 Ethereum 对在数据库中创建新记录的收费方式。Ethereum 的数据库存储处理网络活动所需的信息;随着网络力求支持更多交易,数据库的增长是长期考量之一。EIP-8037 旨在通过改变特定存储操作的成本,限制数据库增长。EIP-8038 也可能与此产生交互影响,因此同样重要:安全公司 ChainSecurity 指出,这些提案合并实施后,可能影响合约在其调用的另一个合约 gas 耗尽时的行为。

Gas 是用来衡量执行 Ethereum 交易所需计算工作的单位。交易或合约操作需要一定数量的 gas,可用 gas 量决定能完成多少处理工作。智能合约可以调用其他合约,而如果被调用的合约耗尽 gas,该调用就可能失败。此时,调用合约必须按照其代码,以及仍可使用的 gas 作出响应。

有些合约的编写方式会捕捉失败的调用并继续执行。例如,合约可能会记录某次尝试失败、停止后续尝试,或进入下一步。开发人员可能会依赖失败操作后剩余的特定 gas 量。如果 gas 太少,无法完成错误处理步骤,整笔交易可能会被回滚。这种回滚可能是合约预期行为的重要一环。

ChainSecurity 于 Oct. 13 发布的分析说明,提议中的计价规则可能如何改变这项计算。根据这些变更,撤销相关变更时,用于创建特定记录的 gas 可以返还。因此,如果失败的调用之后又回滚了相关存储变更,调用合约可用的 gas 可能会与合约作者依据现行规则预期的数量不同。

如果合约获得足够的返还 gas,得以完成先前无法完成的错误处理操作,这项差异就可能造成影响。合约可能会记录操作失败,或继续执行,而不是回滚整笔交易。这种结果是否有问题,取决于合约设计,以及开发人员对失败处理路径的预期。因此,这项发现指出的是执行行为可能改变,而非证明所有合约——甚至某个特定的大型协议——都存在漏洞。

研究人员也指出另一个方向的潜在风险:在某些额度用尽的情况下,提议中的规则可能使部分存储操作变得更昂贵。ChainSecurity 计算指出,在这种情况下,创建新的存储槽可能需要 110,020 gas,而旧规则下为 22,100。因此,依赖现有 gas 预算的合约,在尝试执行原本有效的操作时,可能会耗尽 gas。

这些例子说明,协议层级的计价方式变更必须使用现有软件进行测试,而不能只考虑按照提议规则编写的新合约。合约可能依赖当前 gas 费用表的行为,包括失败调用后消耗、退还或剩余的 gas 数量。即使合约代码本身未变,规则变更仍可能导致不同结果。

ChainSecurity 展示了可能导致行为改变的机制。不过,该公司尚未公开证实,这些机制可用于攻击某个主要的生产环境协议。这一区别十分重要:经展示的边界案例或兼容性疑虑值得调查,但本身并不能证明资金已经损失,或已部署的合约目前正遭受攻击。Ethereum 开发人员推迟测试,以便在继续进行前检查相关影响。

Glamsterdam 是一项涵盖多项变更的 Ethereum 大型升级。其中包括一套新的区块构建者选择系统,以及旨在让网络处理更大区块的改进。这项升级已于 Oct. 6 在 Sepolia 测试网完成启用。Hoodi 原定作为下一场公开演练,并计划将其 gas 上限提高至 200 million。在开发人员评估 gas 计价方式相关发现期间,这场演练和上限调整计划目前均已推迟。

这次延期并未确立新的时间表。开发人员尚未公布 Hoodi 测试的替代日期,Ethereum 主网的 Glamsterdam 启用日期也尚未确认。延期让开发人员有时间调查 EIP-8037 和 EIP-8038 可能如何影响实际合约行为,并判断升级继续推进前是否需要调整、增加测试或采取其他防护措施。

报告也没有指出现有合约目前正通过这些提议中的变更遭到攻击。相关疑虑涉及尚未在主网上启用的规则下可能出现的行为。在提案尚未实施前,所描述的影响仍是计划变更可能造成的结果,而非正在发生事件的证据。

核心问题在于兼容性:网络升级必须改善 Ethereum,同时确保已部署软件的行为可预测。公开测试网测试让开发人员有机会在变更进入主网前找出意料之外的影响。在这个案例中,研究人员的分析促使开发人员暂停 Hoodi 演练,并检查这些提案如何影响失败处理、存储成本及 gas 可用量。

重点摘要表

项目说明
推迟 Hoodi 测试开发人员推迟了原定进行的 Glamsterdam 启用,原定时间为 Oct. 26 at 17:42:48 UTC。尚未公布替代日期。
审查中的提案EIP-8037 和 EIP-8038 可能改变 gas 计价方式,并影响现有合约对失败调用的响应方式。
可能的 gas 差异ChainSecurity 计算指出,在特定情况下,创建新的存储槽可能需要 110,020 gas,而旧规则下为 22,100。
测试网进度Glamsterdam 已于 Oct. 6 在 Sepolia 完成启用。Hoodi 原定作为下一场公开演练。
Hoodi gas 上限提高至 200 million 的计划也已推迟。
主网状态Ethereum 主网的启用日期仍未确认,这些发现也不能证明现有合约目前正遭到攻击。

后续……

下一步是由 Ethereum 开发人员评估这些发现,依据各种合约行为测试提议中的计价规则,并决定何时能让 Hoodi 安全恢复其公开演练的角色。任何时间表修订都将取决于这项工作的结果;目前尚未确认新的测试日期或主网日期。

更广泛来看,这起事件凸显了使用已部署软件检验协议升级的重要性。为管理数据库增长或提高网络容量而进行的变更,可能产生超出其直接技术目标的影响,尤其是当合约在失败情况下依赖精确的 gas 行为时。审慎测试与透明沟通,有助开发人员评估 Glamsterdam 提案能否按照设计推进,或是否需要进一步调整。

披露与政策:CoinDesk 是屡获殊荣、报道加密货币行业的媒体机构。其记者遵循一套严格的编辑政策。CoinDesk 采纳了旨在维护其出版内容的诚信、编辑独立性及免于偏见的原则。CoinDesk 隶属于 Bullish(NYSE:BLSH),这是一家专注于机构客户的全球数字资产平台,提供市场基础设施与信息服务。Bullish 拥有并投资数字资产企业及数字资产。CoinDesk 员工(包括记者)可能会获得 Bullish 股权形式的薪酬。

最後編輯時間:2026/10/23