以太坊推迟 Glamsterdam 升级,八项智能合约风险浮现

ETH
Glamsterdam升级智能合约风险Hoodi测试网ChainSecurityGas定价以太坊EIP-8037
3 小时前来源: crypto.news
以太坊推迟 Glamsterdam 升级,八项智能合约风险浮现

在安全研究人员发现八项现有智能合约假设在拟议的gas核算变更下可能失效后,以太坊开发者推迟了Hoodi测试网上的Glamsterdam升级。

摘要

  • 在ChainSecurity发现八项智能合约假设在拟议的gas变更下可能失效后,以太坊开发者推迟了Hoodi测试网上的Glamsterdam升级。
  • EIP 8037和EIP 8038将改变以太坊对某些操作的gas收费方式,可能影响依赖固定gas成本或特定交易失败条件的现有合约。
  • 以太坊基金会已要求开发者和审计人员审查受影响的项目,并在核心开发者决定是否需要修改升级规范之前报告潜在问题。
  • Hoodi硬分叉将保持暂停状态,直至已识别的问题得到解决,而以太坊后续Hegota升级的开发工作将继续不受影响地进行。

在11月6日的博客文章中,以太坊基金会表示,审计公司ChainSecurity已识别出若干项目,一旦EIP-8037和EIP-8038生效,这些项目可能变得脆弱。

这两项提案都改变了以太坊对某些操作的gas收费方式,尤其是涉及区块链状态创建和访问的操作。一些现有合约依赖固定gas成本,或依赖关于操作失败后剩余多少gas的假设。

这些发现促使以太坊全体核心开发者(ACD)小组推迟Hoodi硬分叉,直至兼容性问题得到解决。

开发者目前正在研究受影响的合约是否可以独立更新,或者是否需要对升级规范进行修改。

以太坊Glamsterdam升级面临八项兼容性问题

这些安全问题在ChainSecurity于10月13日发布的分析中有详细说明,该分析研究了Glamsterdam可能如何改变那些在外部调用失败后仍继续执行的合约的行为。

根据以太坊现有规则,一些合约依赖失败操作留下过少的gas,使后续指令无法完成。Glamsterdam修订后的核算方式可能允许某些操作完成,即使开发者原本预期整个交易会回滚。

ChainSecurity警告称,这种行为可能干扰旨在防止失败交易被永久记录或合法操作失去重试选项的保护机制。

其中一个例子涉及在外部调用耗尽gas后将操作标记为不成功的合约。在新规则下,先前不可用的gas可能再次变得可访问,使合约能够记录永久失败。

以太坊基金会已发布一个GitHub仓库,记录了八项受影响的不变量,并附有解释、示例以及供开发者检查自身代码的说明。

已识别的风险包括:合约假设gas消耗只能单向变化、固定gas配额将保持充足,或已回滚的调用无法返还已用于创建状态的gas。

该仓库将固定gas预算和gas储备列为目前发现的最常见问题,尤其是在依赖预定交易成本的合约中。

开发者已被要求审查链上合约和支持性链下系统,包括钱包、中继器以及可能包含硬编码gas限制的基础设施。

安全审查持续进行,Hoodi激活仍处于暂停状态

最新发现进一步说明了以太坊此前决定推迟Hoodi激活背后的细节,该激活原定于10月26日17:42:48 UTC进行。

正如crypto.news此前报道的那样,此次推迟将Amsterdam执行层和Gloas共识层的激活从Hoodi的日程中移除,同时还包括原计划将测试网gas上限提高至2亿的举措。

目前尚未宣布替代的激活日期。

以太坊基金会开发者 Marius van der Wijden 表示,该组织正在与 ChainSecurity 和 Dedaub 合作,同时进行内部审计,以评估对现有应用可能产生的影响。

基金会承认,其审查无法覆盖每一个以太坊项目,尤其是在漏洞可能涉及智能合约与链下基础设施之间交互的情况下。

因此,它已要求开发者和独立审计人员识别受影响的应用,并在下一次全体核心开发者讨论之前提交他们的发现。

该代码库要求提供受影响合约的详细信息、所涉及的具体不变量、可能的修复方案以及可用的支持性测试。报告可以私下提交至 [email protected]。

根据反馈情况,开发者可能会在推进升级之前考虑对 EIP-8037 和 EIP-8038 进行调整。

据基金会称,以太坊后续 Hegotá 升级的工作将继续并行推进,并且不受 Glamsterdam 延迟的影响。

Glamsterdam 的扩容变更仍在测试中

Glamsterdam 已于 10 月 6 日在 Sepolia 测试网上激活,开发者开始在其中以 2 亿 gas 上限检验其扩容变更。

该升级通过 EIP-7732 引入了内嵌的提议者-构建者分离机制,将区块构建职责纳入以太坊的共识协议。

另一个主要组成部分 EIP-7928 引入了区块级访问列表,旨在帮助客户端更高效地处理交易数据并支持并行执行。

Gas 重新定价是该升级的另一部分。EIP-8037 改变了创建新区块链状态的成本,而 EIP-8038 则调整了访问现有状态的费用。

在 8 月的一份技术评估中,以太坊基金会表示,历史交易重放显示大多数智能合约未受拟议定价变更的影响。

然而,较小一部分合约需要更高的 gas 上限或更大幅度的修改,以避免意外失败。

另外,开发者在发现一个可能将质押存款记入共享同一公钥的区块构建者名下的缺陷后,于 10 月 26 日合并了一项验证者存款修复。

该修正解决了涉及 Glamsterdam 的 Gloas 共识变更的另一个问题,并在客户端实现纳入修订后的行为之前,向规范中添加了回归测试。