以太坊开发者于8月24日发出警告,计划在Glamsterdam升级中实施的Gas费用调整可能对一小部分Layer 1智能合约造成影响。此次调整涉及EIP-8037和EIP-8038两个提案,分别针对状态创建和状态访问的Gas成本进行重新定价。
EIP-8037改变了以太坊创建新状态(包括新账户、存储槽和部署合约字节码)的收费方式,引入了独立的状态Gas核算机制,旨在防止随着网络容量提升而导致的区块链状态过快增长。EIP-8038则提高了访问现有状态的成本,涉及SLOAD、SSTORE、冷账户访问、EXTCODESIZE和EXTCODECOPY等操作。以太坊上一次大规模调整状态操作价格是在2021年的柏林升级期间。
以太坊基金会表示,在进一步安全提高网络容量之前,对资源密集型操作进行重新定价是必要的。新定价方案围绕一个性能目标设计,该目标可支持当前基础吞吐量的大约三倍。
开发者回放了历史以太坊主网交易,模拟Glamsterdam新定价下的表现。结果分为四类:未受影响交易、Gas用量不同的成功交易、通过提高Gas上限可修复的失败交易,以及潜在受损交易。最后一类即使在研究人员大幅提高Gas限额后仍然失败。
基金会警告指出,固定Gas津贴、硬编码调用限制、基于gasleft()的逻辑以及预设Gas限额的预签名交易是常见的风险因素。使用Solidity历史遗留的2300 Gas津贴(通过transfer或send函数)的合约需要特别关注。在新状态访问定价下,此前能在该津贴内完成的操作可能消耗更多Gas。
基金会尚未公开所有受影响的应用,但表示已直接联系受影响最严重的开发者,并将受损合约数量描述为“少量”。
钱包和Gas估算工具也需要更新
警告范围不仅限于智能合约。钱包、RPC提供商、索引器和节点工具必须更新其Gas估算系统,以识别新的成本规则。使用缓存常量的软件可能低估交易所需Gas,导致交易失败。两个提案均要求使用eth_estimateGas及相关函数的工具考虑新的状态成本。
据此前报道,Glamsterdam升级还可能影响钱包和Gas工具,这些工具假设普通转账总是需要21,000 Gas。向现有账户转账仍维持该数值,但创建新账户的转账将额外产生状态费用。基金会表示,普通用户无需手动调整,更新的钱包和基础设施提供商会自动应用正确的Gas估算。
开发者可在Platåberget测试网上测试修复
以太坊开发者已启动Platåberget测试网(又称glam-devnet-8),为Glamsterdam升级提供长期测试环境,该网络已运行新的定价方案。合约维护者可通过输入地址到以太坊检查工具,识别在新规则下出现差异的历史交易。若提高Gas上限可解决问题,则应提高上限;若失败持续存在,则需要审查单个调用点。
以太坊Glamsterdam升级相关工作已通过Gas重新定价、区块级访问列表和区块构建更改,将Layer 1扩展重新带回重点。下一阶段将进行更多开发者测试网测试,随后在Sepolia和Hoodi测试网上进行分叉。以太坊路线图目标是在2026年第四季度进行Glamsterdam升级,但开发者尚未公布确定的主网激活日期,最终时间表取决于稳定的客户端实现和成功的公共测试网部署。
