魅力阿姆斯特丹
以太坊即将推出的 Glamsterdam 升级旨在为下一代扩容铺平道路。Glamsterdam 这个名字结合了“Amsterdam”(执行层升级,以之前的 Devconnect 地点命名)和“Gloas”(共识层升级,以一颗星星命名)。
继Fusaka升级取得进展之后,Glamsterdam 专注于通过重组网络处理交易和管理其不断增长的数据库的方式来扩容L1,从而从根本上更新以太坊创建和验证区块的方式。
Fusaka 专注于基础改进,而 Glamsterdam 则通过明确不同网络参与者之间的职责分离,并引入更有效的数据处理方式,为高吞吐量并行化做好,从而推进“Scale L1”和“Scale Blobs”目标。
这些改进确保了以太坊在处理更多活动时仍然保持快速、经济和去中心化,同时使在家运行人们能够轻松管理硬件要求。
正在考虑对 Glamsterdam 进行改进
注意:本文目前重点介绍正在考虑纳入 Glamsterdam 的部分 EIP。如需了解最新状态更新,请在 Forkcast 上查看 Glamsterdam 升级 (opens in a new tab)。
如果您想添加一个正在考虑用于 Glamsterdam 但尚未添加到此页面的 EIP,请在此处了解如何为 ethereum.org 做出贡献。
Glamsterdam 升级计划围绕三个主要目标展开:
- 加快处理速度(并行化):重新组织网络记录数据依赖关系的方式,以便能够安全地同时处理许多交易,而不是以缓慢的逐个序列进行处理。
- 扩展容量:将创建和验证区块的繁重工作分开,使网络有更多时间传播大量数据,而不会降低速度。
- 防止数据库膨胀(可持续性):调整网络费用,以准确反映存储新数据的长期硬件成本,在防止硬件性能下降的同时,解除未来燃料限制增加的障碍。
简而言之,Glamsterdam 将引入结构性变革,以确保随着网络容量的增加,其可持续性和性能保持高水平。
L1 扩展和并行处理
有意义的 L1扩容需要摆脱协议外信任假设和串行执行限制。Glamsterdam 通过规定某些区块构建职责的分离并引入允许网络为并行处理做准备的新数据结构来解决这个问题。
头条提案:确立提案者-构建者分离 (ePBS)
- 消除协议外的信任假设,不再依赖第三方中继
- 通过扩展传播窗口,允许传输更大的有效载荷,从而实现 L1扩容
- 将无需信任的构建者支付直接引入协议
目前,区块提议和构建过程包括区块提议者和区块构建者之间的交接。提议者和构建者之间的关系不是以太坊核心协议的一部分,因此它依赖于受信任的第三方中间件、软件(中继),以及实体之间的协议外信任。
提案者和构建者之间这种协议外的关系,在区块验证期间也创建了一个”热路径”,迫使在短短 2 秒的窗口内快速完成交易广播和执行,从而限制了网络可以处理的数据量。
确立的提议者-构建者分离(ePBS,或 EIP-7732)正式将提议者(选择共识区块)和构建者(组装执行有效载荷)的工作分离,将此交接直接确立到协议中。
将区块有效载荷与支付的无需信任交换直接构建到协议中,消除了对第三方中间件(如 MEV-Boost)的需求。然而,构建者和提议者仍然可能选择使用协议外的中继或中间件来实现尚未纳入核心协议的复杂功能。
为了解决”热路径”瓶颈,ePBS 还引入了有效载荷及时性委员会(PTC)和双截止日期逻辑,允许验证者分别证明共识区块和执行有效载荷的及时性,以最大化吞吐量。
在协议层面分离提案者和构建者的角色,将传播窗口(或在网络中传播数据的时间)从2秒扩展到大约9秒。
通过用协议内机制替代协议外的中间件和中继,ePBS 减少了信任依赖,并允许以太坊安全地处理更多数据(例如中的更多 blob),而不会给网络带来压力。
资源: EIP-7732 技术规范 (opens in a new tab)
主题提案:块级访问列表 (BAL)
- 通过提供所有交易依赖项的预先映射,消除顺序处理瓶颈,为验证者并行处理许多交易而不是逐个处理奠定基础。
- 允许节点通过读取最终结果来更新其记录,而无需重放每笔交易(无执行同步),从而使节点与网络的同步速度大大加快。
- 消除猜测,允许验证者一次性预加载所有必要数据,而不是逐步发现,从而使验证速度更快。
今天的以太坊就像一条单车道;因为网络在交易运行之前不知道交易需要什么数据或会改变什么数据(例如交易触及哪些账户),所以验证者必须严格地按顺序逐一处理交易。如果他们试图一次性处理所有交易,而不知道这些依赖关系,那么两个交易可能会意外地同时尝试更改完全相同的数据,从而导致错误。
区块级访问列表(BAL,或 EIP-7928)就像包含在每个区块中的地图,在工作开始之前告诉网络数据库的哪些部分将被访问。BAL 要求每个区块都包含交易将触及的每个账户变更的哈希,以及这些变更的最终结果(所有状态访问和执行后值的哈希记录)。
BAL 能够即时显示哪些交易不重叠,因此节点可以执行并行磁盘读取,同时获取许多交易的信息。网络可以安全地将不相关的交易分组,并并行处理它们。
由于 BAL 包含交易的最终结果(执行后的值),因此当网络节点需要同步到网络的当前状态时,它们可以复制这些最终结果来更新其记录。验证者不再需要从头开始重放所有复杂的交易来了解发生了什么,这使得新节点加入网络更快、更容易。
BAL 提供的并行磁盘读取功能将是迈向未来以太坊能够同时处理多笔交易的重要一步,这将显著提高网络速度。
eth/71区块访问列表交换
区块访问列表交换(eth/71 或 EIP-8159)是区块级访问列表的直接网络伴侣。BAL 解锁并行执行,而 eth/71 升级点对点协议,允许节点通过网络实际共享这些列表。实施区块访问列表交换将实现更快的同步,并允许节点执行无执行的状态更新。
资源:
网络可持续性
随着以太坊网络的快速发展,确保其使用成本与运行以太坊的硬件磨损程度相匹配至关重要。网络需要提高其整体容量限制,以便安全地扩展并处理更多交易。
状态创建的燃料成本增加
- 确保创建新账户或智能合约的费用准确反映其对以太坊数据库造成的长期负担。
- 根据网络的整体容量自动调整这些数据创建费用,目标是安全的、可预测的增长率,以便标准物理硬件可以继续运行网络。
- 将这些特定费用的核算分离到新的存储库中,从而取消旧的交易限制,并允许开发人员部署更大、更复杂的应用程序。
添加新账户、代币和会创建永久数据(称为“状态”),运行网络的每台计算机都必须无限期地存储这些数据。目前添加或读取这些数据的费用不一致,并且不一定反映它们对网络硬件造成的实际长期存储负担。
在以太坊上创建状态的一些操作,例如创建新帐户或部署大型智能合约,与它们在网络节点上占用的永久存储空间相比,成本相对较低,例如,合约部署的每字节成本明显低于创建存储槽。
如果不进行调整,当网络扩展到 1 亿燃料限制,以太坊的状态每年可能会增长近 200 GiB,最终超过普通硬件。
状态创建燃料成本增加(或 EIP-8037)通过将成本与所创建数据的实际大小挂钩来协调成本,更新费用,使其与操作创建或访问的永久数据的量成比例。
EIP-8037 还引入了一个储量模型,以更可预测地管理这些成本;状态燃料费用首先从 state_gas_reservoir 中提取,并且 GAS 操作码仅返回 gas_left,从而防止执行帧错误计算可用燃料。
在 EIP-8037 之前,计算工作(主动处理)和永久数据存储(将智能合约保存到网络的数据库)共享相同的燃料限制。水库模型将核算分开:交易的实际计算工作(处理)和长期数据存储(状态燃料 )的 燃料限制。将两者分开有助于防止应用程序数据的庞大体积达到燃料限制;只要开发人员提供足够的资金来填充数据存储的水库,他们就可以部署更大、更复杂的智能合约。
更准确、可预测地为数据存储定价,将有助于以太坊在不增加数据库负担的情况下安全地提高其速度和容量。这种可持续性将使节点运营商在未来几年继续使用(相对)经济实惠的硬件,使家庭质押保持可访问性,以维持网络的去中心化。
资源: EIP-8037 技术规范 (opens in a new tab)
状态访问燃料成本更新
- 增加应用程序读取或更新以太坊上永久存储的信息(状态访问操作码)时的燃料成本,以准确匹配这些命令所需的计算工作。
- 通过防止利用人为廉价的数据读取操作进行的拒绝服务攻击,来增强网络的弹性
随着以太坊状态的增长,节点处理搜索和读取旧数据(“状态访问”)的操作变得更加繁重和缓慢。尽管现在查找信息(就计算能力而言)的成本略有增加,但这些操作的费用保持不变。
因此,相对于它们强制节点执行的工作,某些特定命令目前定价过低。例如,EXTCODESIZE 和 EXTCODECOPY 定价过低,因为它们需要两次单独的数据库读取——一次用于账户对象,第二次用于实际代码大小或字节码。
状态访问燃料成本更新(或 EIP-8038)增加了状态访问操作码的燃料常数,例如查找账户和合约数据,以与现代硬件性能和状态大小保持一致。
调整状态访问成本也有助于提高以太坊的弹性。由于这些繁重的数据读取操作人为地降低了成本,恶意攻击者可以在达到网络费用限制之前,在一个区块中用数千个复杂的数据请求来轰炸网络,从而可能导致网络停滞或崩溃(一种拒绝服务攻击)。即使没有恶意意图,如果读取网络数据过于便宜,开发人员在经济上也不会被鼓励构建高效的应用程序。
通过更准确地为状态访问操作定价,以太坊可以更好地抵御意外或故意的减速,同时将网络成本与硬件负载相结合,为未来的燃料限制增加提供了更可持续的基础。
资源: EIP-8038 技术规范 (opens in a new tab)
网络弹性
对验证者职责和退出流程的改进,确保了在大量罚没事件期间网络的稳定性,并使流动性民主化。这些改进使网络更加稳定,并确保所有参与者,无论大小,都得到公平对待。
排除被削减的验证者参与提案
- 阻止受罚(被削减)的验证者被选中来提议未来的区块,从而消除必然错过的时隙。
- 确保以太坊平稳可靠地运行,防止在发生大规模惩罚事件时出现严重停滞。
目前,即使验证者被罚款(因违反规则或未按预期运行而受到惩罚),系统在生成未来的提案者前瞻时,仍可能在不久的将来选择他们来主导一个区块。
由于被罚没的提案者产生的区块会被自动拒绝,这会导致网络在发生大规模惩罚事件时错过时隙并延迟网络恢复。
排除被罚没的验证者参与提案(或 EIP-8045),只是将这些被罚没的验证者从未来的任务中筛选出去。这通过确保只有健康的验证者被选中来提出区块,从而提高了链的弹性,在网络中断期间保持服务质量。
资源: EIP-8045 技术规范 (opens in a new tab)
让退出使用合并队列
- 堵塞了一个漏洞,该漏洞允许高余额验证者通过合并队列比小验证者更快地退出网络。
- 当第二队列有空闲容量时,允许常规退出溢出到该队列,从而减少高流量期间的质押提款时间。
- 保持严格的安全措施,避免改变以太坊的核心安全限制或削弱网络。
由于Pectra 升级将以太坊验证者的最大有效余额从 32 ETH 增加到 2,048 ETH,一个技术漏洞允许高余额验证者通过合并队列比低余额验证者更快地退出网络。
让退出使用合并队列(或 EIP-8080)将合并队列民主化,适用于所有质押退出,为每个人创建一条单一、公平的队列。
以下是其工作原理的详细介绍:
- 以太坊的流失限制是验证者进入、退出或合并(整合)其质押的 ETH 的速率的安全限制,以确保网络安全永远不会不稳定
- 由于验证者合并比标准验证者退出更复杂,涉及更多移动部件,因此它会占用此安全预算(波动限制)的更大一部分。
- 具体而言,该协议规定,一次标准退出的确切安全成本是一次合并成本的三分之二(2/3)。
更公平的退出队列将允许标准退出在退出需求高的时候从合并队列借用未使用的空间,应用“3换2”的交换率(对于每2个未使用的合并点,网络可以安全地处理3个标准退出)。这个3/2的流失因子平衡了合并和退出队列之间的需求。
将合并队列的访问权限民主化,可以在不影响网络安全的情况下,将用户在需求高峰期退出其质押的速度提高多达 2.5 倍。
资源: EIP-8080 技术规范 (opens in a new tab)
改善用户和开发者体验
以太坊的 Glamsterdam 升级旨在改善用户体验、增强数据可发现性并处理不断增长的消息大小,以防止同步失败。这使得跟踪链上正在发生的事情变得更加容易,同时防止网络扩展时出现技术故障。
降低内在交易燃料
- 降低交易的基本费用,从而降低简单的原生ETH支付的总体成本。
- 让小额转账更经济实惠,从而提升以太坊作为常规交易媒介的可行性。
今天,所有以太坊交易都有一个固定的基本燃料费,无论处理起来是简单还是复杂。**减少内在交易燃料 (或 EIP-2780)**提议降低该基本费用,使现有账户之间的标准 ETH 转账费用降低高达 71%。
通过将交易费分解,使其仅反映运行网络的计算机实际执行的基本、必要工作(例如验证数字签名和更新余额),从而减少内在交易的燃料工作量。由于基本的 ETH 支付不执行复杂代码或携带额外数据,因此该提案将降低其费用,以匹配其轻量级特性。
该提案引入了一个例外,即创建全新账户,以防止低费用压垮网络状态。如果转账将 ETH 发送到一个空的、不存在的地址,网络必须为其创建一个永久的新记录。为此类账户创建添加了燃料附加费,以帮助弥补其长期存储负担。
EIP-2780 旨在让现有账户之间的日常转账更加经济实惠,同时通过准确定价真实的状态增长来确保网络免受数据库膨胀的影响。
资源: EIP-2780 技术规范 (opens in a new tab)
确定性工厂预部署
- 为开发者提供了一种原生方式,可将应用程序和智能合约钱包部署到多个链上的完全相同的地址。
- 允许用户在多个第二层(L2)网络上拥有相同的智能钱包地址,从而减少认知负担、减少混淆并降低意外资金损失的风险。
- 取代了开发人员目前为实现这种对等性而使用的变通方法,使构建多链钱包和应用程序变得更简单、更安全。
如果用户今天拥有一个智能合约钱包,其账户分布在多个以太坊虚拟机(EVM)兼容链上,那么他们最终在不同网络上往往会得到一个完全不同的地址。这不仅令人困惑,而且可能导致意外的资金损失。
确定性工厂预部署(或 EIP-7997)为开发人员提供了一种原生、内置的方式,可将他们的去中心化应用程序和智能合约钱包部署到多个 EVM 链上的完全相同的地址,包括以太坊主网、第 2 层 (L2) 网络等。如果采用,用户将可以在每个参与的链上拥有完全相同的地址,从而显著减少认知负担和用户出错的可能性。
确定性工厂预部署的工作原理是在每个参与的 EVM 兼容链上,将一个最小化的、专门的工厂程序永久放置在相同的位置(具体来说,地址0x12)。其目标是提供一个通用的、标准的工厂合约,任何 EVM 兼容网络都可以采用;只要 EVM 链参与并采用此标准,开发人员就可以使用它将智能合约部署到该网络上的完全相同的地址。
这种标准化简化了开发人员和更广泛的生态系统构建和管理跨链应用程序的过程。开发人员不再需要构建自定义的、特定于链的代码来将他们的软件连接到不同的网络,而是使用这个通用工厂为他们的应用程序在任何地方生成完全相同的地址。此外,区块浏览器、跟踪服务和钱包可以更轻松地识别和链接这些应用程序和帐户,从而为所有基于以太坊的参与者创建更统一、更无缝的多链环境。
资源: EIP-7997 技术规范 (opens in a new tab)
ETH 转账和销毁会发出日志
- 每次转移或销毁ETH时,都会自动生成永久记录(日志)
- 修复了历史上的盲点,使应用程序、交易所和桥梁能够可靠地检测用户存款,而无需使用临时跟踪工具。
与代币(ERC-20)不同,智能合约之间的常规ETH转账不会发出清晰的收据(标准日志),这使得交易所和应用程序难以跟踪。
ETH 转账和销毁会发出日志(或 EIP-7708),这使得网络在每次转移或销毁非零数量的 ETH 时都必须发出标准日志事件。
这将使钱包、交易所和链桥运营商更容易、更可靠地准确跟踪存款和转账,而无需自定义工具。
资源: EIP-7708 技术规范 (opens in a new tab)
eth/70 部分区块收据列表
随着以太坊能够处理的工作量增加,这些操作的收据列表(这些交易的数据记录)变得越来越大,以至于在节点尝试相互同步数据时,可能会导致网络节点出现故障。
eth/70 部分区块收据列表(或 EIP-7975)引入了一种节点之间相互通信的新方式(eth/70),允许将这些大型列表分解成更小、更易于管理的部分。eth/70 为网络的通信协议引入了一个分页系统,允许节点分解区块收据列表,并以更小、更易于管理的数据块安全地请求数据。
此更改将防止在活动繁重期间发生网络同步故障。最终,它为以太坊增加了区块容量铺平了道路,并在未来处理每个区块的更多交易,而不会使同步链的物理硬件不堪重负。
资源: EIP-7975 技术规范 (opens in a new tab)
延伸阅读
- 以太坊路线图
- Forkcast:Glamsterdam (opens in a new tab)
- Glamsterdam Meta EIP (opens in a new tab)
- 2026 年协议优先事项更新博客公告 (opens in a new tab)
- 《每日 Gwei 加油》播客——后量子以太坊,Glamsterdam 即将到来 (opens in a new tab)
常见问题解答
Glamsterdam硬分叉后,ETH如何转换?
- 您的ETH无需任何操作:在Glamsterdam升级后,您无需转换或升级您的ETH。您的账户余额将保持不变,并且您当前持有的ETH在硬分叉后将保持现有形式,可继续使用。
- 谨防诈骗! 任何指示您“升级”ETH 的人都是想诈骗您。您无需为此升级做任何操作。您的资产将完全不受影响。请记住,随时了解最新信息是防范诈骗的最佳方法。
Glamsterdam 升级是否会影响所有以太坊节点和验证者?
是的,Glamsterdam 升级需要更新执行客户端和共识客户端。由于此升级引入了“内置提案者-构建者分离”(ePBS),因此节点运营商需要确保其客户端已更新,以处理网络构建、验证和证明区块的新方式。
所有主要的以太坊客户端都将发布支持此次硬分叉的版本,并将其标记为高优先级。您可以通过客户端GitHub 仓库、其Discord 频道 (opens in a new tab)、 EthStaker Discord (opens in a new tab)或订阅以太坊博客以获取协议更新,来了解这些版本何时可用。
为了在升级后与以太坊网络保持同步,节点运营商必须确保他们运行的是受支持的客户端版本。请注意,有关客户端版本的信息是时效性的,用户应参考最新更新以获取最新详细信息。
作为质押者,我需要为 Glamsterdam 升级做些什么?
与每次网络升级一样,请务必将您的客户端更新到标有 Glamsterdam 支持的最新版本。关注邮件列表中的更新以及EF 博客上的协议公告, (opens in a new tab)以获取有关发布的信息。
在 Glamsterdam 主网激活之前,您可以在测试网上运行验证者来验证您的设置。测试网分叉也会在邮件列表和博客中公布。
Glamsterdam 将为 L1 扩容带来哪些改进?
核心功能是 ePBS (EIP-7732),它将验证网络交易的繁重任务与达成共识的任务分离开来。这使得数据传播窗口从 2 秒扩展到大约 9 秒,从而使以太坊能够安全地处理更高的交易吞吐量,并为第 2 层网络容纳更多数据块。
Glamsterdam 会降低以太坊(第 1 层)的费用吗?
是的,Glamsterdam 极有可能降低普通用户的费用!减少内在交易燃料(或 EIP-2780)会降低发送 ETH 的基本费用,从而使 ETH 在日常支付中的使用成本大大降低。
此外,为了实现长期可持续性,Glamsterdam 引入了区块级访问列表 (BAL)。这使得并行处理成为可能,并为 L1 做好准备,以便将来安全地处理更高的整体燃料上限,随着容量的增长,这可能会降低每笔交易的燃料成本。
Glamsterdam 之后,我现有的智能合约会有任何变化吗?
Glamsterdam之后,现有合同将继续正常运行。开发人员可能会获得几个新工具,并应检查其燃料用量:
- 增加最大合约大小(或 EIP-7954)允许开发人员部署更大的应用程序,将最大合约大小限制从大约 24KiB 提高到 32KiB。
- 确定性工厂预部署(或 EIP-7997)引入了一个通用的内置工厂合约。它允许开发人员将他们的应用程序和智能合约钱包部署到所有参与的 EVM 链上的完全相同的地址。
- 如果您的应用程序依赖于复杂的跟踪来查找 ETH 转账,那么 ETH 转账和销毁会发出日志(或 EIP-7708),这将允许您切换到使用日志进行更简单、更可靠的核算。
- 状态创建燃料成本增加(或 EIP-8037)和状态访问燃料成本更新(或 EIP-8038)引入了新的可持续性模型,这将改变某些合约的部署成本,因为创建新帐户或永久存储将具有动态调整的费用。
Glamsterdam 将如何影响节点存储和硬件要求?
Glamsterdam 正在考虑的多个 EIP地址状态增长带来的性能瓶颈:
- 状态创建燃料成本增加(或 EIP-8037)引入了动态定价模型,目标是状态数据库的增长率为 100 GiB/年,确保标准物理硬件可以继续高效地运行网络。
- eth/70 部分区块收据列表(或 EIP-7975)允许节点请求分页区块收据,将数据量大的区块收据列表分解成更小的块,以防止崩溃,并在以太坊扩展时同步。