以太坊基金会警告称,随着Glamsterdam升级改变某些ETH转账的21,000 gas假设,钱包、索引器和gas估算器可能会崩溃,该升级计划于8月20日在Platåberget测试网上激活。
摘要
- 以太坊警告称,Glamsterdam可能会破坏依赖固定gas假设的钱包、索引器和gas估算器。
- EIP 8037将为创建新状态的操作增加单独的状态gas费用。
- 向现有账户进行基本ETH转账仍将花费21,000 gas,而向新账户转账将花费更多。
- 开发者被敦促在Glamsterdam迁移到Sepolia和Hoodi之前,在Platåberget测试网上测试他们的软件。
以太坊基金会的协议DevOps团队于8月17日表示,任何依赖硬编码最大gas限制的工具“都会崩溃”,并点名钱包、索引器和gas估算器可能受到影响的软件。该团队敦促应用程序和基础设施开发者在Platåberget上测试他们的系统,这是一个旨在保持在线数月的公共测试网。
Forkcast数据显示,Platåberget于8月13日启动,为开发者在Glamsterdam迁移到Sepolia和Hoodi之前提供了一个早期环境。根据基金会的说法,Glamsterdam分叉计划于8月20日在Platåberget上激活,公共验证者和构建者存款作为测试过程的一部分可用。
Glamsterdam可能破坏硬编码的gas假设
在计划的gas重新定价方案下,基金会表示,软件不能再安全地假设以太坊有一个单一的固定gas上限,或者常见操作在所有情况下都会花费相同的金额。这些更改围绕大约2亿gas下限设计,并改变单个操作的价格以及与区块gas限制相关的假设。
对于应用程序开发者来说,直接的问题是软件在估算交易成本时设置固定边界。协议DevOps团队表示,在Glamsterdam到达主网之前,需要审查这些系统,因为重新定价会影响整个网络的钱包、索引器和gas估算器。
这一警告是在crypto.news于6月17日报道Glamsterdam升级之后发布的,该报道称以太坊开发者已经在开发网络上测试全套计划的EIP。当时,以太坊基金会开发者Parithosh Jayanthi表示,升级将改变以太坊上操作的成本,高级计算变得更便宜,而状态变得更昂贵。
在同一测试阶段,Jayanthi表示开发者取得了“巨大进展”,但指出尚未确定主网上线时间表。部署将取决于测试结果以及以太坊客户端团队是否准备好支持新规则。
EIP-8037改变新状态的定价方式
警告的核心部分涉及EIP-8037,它为创建新状态的操作引入了单独的状态gas维度。基金会表示,创建账户、部署代码或写入新的存储槽将按每个状态字节的固定成本计量,并在运行时收费。
由于这一变化,基本ETH转账并不总是具有相同的gas成本。向已存在的账户发送ETH将继续花费21,000 gas,该金额分为基础交易成本、冷账户访问和转账成本。向尚不存在的地址发送资金也将产生与创建新账户相关的状态gas费用。
因此,协议DevOps团队表示,开发者应重新审视将21,000 gas视为每次ETH转账足够的应用程序。一旦新状态被单独计量,仅围绕一个gas维度构建的gas估算器也可能返回不正确的估算。
EIP-8037在5月已接近最终形式。5月11日的协议开发报告称,该提案已达到最终草案状态,并正在Glamsterdam开发网络上进行参数化。当时,其每状态字节成本模型旨在将年度状态增长限制在约60 GiB,区块gas限制为3亿。
根据5月份报告中的参数,新账户创建的成本可能增加约8.5倍,而合约部署成本可能上升约十倍。对代码存储进行单独计量,旨在确保大型合约(包括代码密集型的去中心化金融应用)仍可部署。
状态-gas模型也改变了以太坊对永久状态成本的核算方式。基金会表示,账户创建、新的存储槽和已部署代码将根据新创建的状态量收费,这使得频繁添加永久数据的应用成为主网部署前测试的重要目标。
以太坊Glamsterdam升级还改变了区块生产
Gas重新定价只是Glamsterdam的一部分。基金会表示,该分叉还包括内置的提议者-构建者分离(ePBS),这改变了以太坊核心协议中区块的构建、提议和验证方式。
在ePBS下,区块构建过程与提议者角色之间的分离被纳入协议,同时引入了新的构建者API流程和负载及时性检查。根据基金会的说法,与以太坊区块生产和验证管道相关的基础设施预计将受到影响。
随着Platåberget向公众开放参与,协议DevOps团队鼓励单独质押者、分布式验证者技术项目、自定义软件运营商和大型质押提供商测试其基础设施。该测试网允许用户存入新的验证者,并在相同变更迁移到更长期的网络之前,试验验证者和构建者存款流程。
区块级访问列表构成了分叉的另一个主要组成部分。基金会表示,这些列表将记录执行期间访问的状态位置和交易后的状态变更,BAL数据与区块主体分开存储,并通过eth/71网络协议在执行层对等节点之间交换。
6月早些时候的报道称,访问列表设计为以太坊客户端提供了区块将使用哪些账户和智能合约数据的提前信息。根据Ethereum.org的说法,该系统可以允许节点预加载所需数据,并在交易不访问相同状态时并行处理交易。
Glamsterdam还将增加已部署合约和初始化代码的大小限制。基金会表示,最大已部署合约大小将从24 KiB增加到64 KiB,而最大initcode大小将从48 KiB增加到128 KiB。计划中的分叉还包括向前兼容的共识数据结构。
Platåberget为开发者提供了更长的测试窗口
与早期Glamsterdam工作中使用的较短开发网络不同,Platåberget旨在保持可用数月。协议DevOps团队表示,更长的生命周期应能让开发者有时间测试Glamsterdam后的行为,并在变更到达Sepolia和Hoodi之前识别故障。
其验证者集合相对较小,但向公众开放参与。在初始测试期间,基金会列出了共识客户端的容器镜像,包括Lighthouse、Lodestar、Nimbus、Prysm、Teku和Grandine,以及执行客户端,包括Besu、Geth、Erigon、Nethermind、Reth、NimbusEL和Ethrex。标记的客户端版本仍然是可选的,而开发团队准备自己的构建。
根据基金会的说法,在将Platåberget的反馈纳入规范和客户端软件后,预计本月内将有一个非最终性开发网,以测试困难的共识场景。在开发网络保持稳定后,Sepolia和Hoodi将接收Glamsterdam,而以太坊主网激活将在长期测试网成功升级后进行。
以太坊下一个计划分叉的开发也在单独进行。8月16日的Hegotá规划报告称,开发者正在考虑2027年升级的66项提案,尽管当时只有Fork Choice强制包含列表是正式计划包含的EIP。
正在审查的几项Hegotá提案涉及未来gas和状态定价,因为以太坊增加了第1层容量。例如,EIP-8368将在区块gas限制超过Glamsterdam使用的参考水平时重新校准状态创建定价,而开发者已讨论为以太坊可能走向6亿gas限制的路径做准备。






