以太坊将进行下一次升级,命名为Pectra,该名称是Prague(布拉格)和Electra(星星)的组合。Prague代表了执行层的升级,得名于以太坊开发者大会(Devcon 4)的举办城市布拉格,而Electra则象征共识层的升级,以星星命名。这次选择的星名Electra对应字母”E”。
Pectra升级是以太坊历史上可能涉及最多Ethereum Improvement Proposals(EIP)的一次硬分叉。它不仅包含了一系列针对验证者操作和主网性能提升的提案,还引入了优化L2的提案。Pectra Devnet 4测试网刚上线,目前已经确定有8个EIP包含在Pectra升级中。
这8个EIP对用户的影响体现在:通过为EOA添加代码执行能力提高了账户的灵活性,使其能够执行更复杂的操作;提升质押上限可能增加对ETH的需求;同时,优化验证者的流程提升了安全性和效率,提高了以太坊的速度和吞吐量。
以下是确定纳入的8个EIP及其产生的影响:
1. EIP-2537(支持BLS签名):通过引入一系列预编译合约,为以太坊增加对BLS12-381曲线运算的支持,实现BLS签名验证,并允许多个签名聚合为一个签名,从而减少验证时的复杂度。这将有助于需要进行大量的签名验证和数据验证操作的L2更好地运行。
2. EIP-2935(在状态中保存历史区块哈希):通过将最近8192个区块哈希存储在系统合约中,支持无状态客户端模型,并提供更灵活的历史区块哈希查询功能。这些哈希值可以通过合约直接查询,并作为证明捆绑,提供给无状态客户端。客户端无需自己维护完整的区块链历史或存储大量数据,只需依赖通过状态中存储的区块哈希和相关证明就能够验证区块和交易的合法性。
3. EIP-6110(在链上提供验证者存款):将验证者存款的处理从共识层转移到执行层,在链上进行处理和验证,而不再依赖共识层中的额外投票机制来确认存款信息的有效性。增强了存款流程的安全性,减少了处理延迟,同时简化了共识层和客户端的设计。
4. EIP-7002(执行层可触发的退出):允许持有提款凭证的所有者能够独立发起退出,无需依赖验证者的活跃密钥,增加了用户自主性。目前,只有验证者的活跃密钥才能触发退出,这意味着如果活跃密钥丢失,或验证者将验证任务委托给第三方(如质押服务提供商),提款凭证的所有者无法自主控制质押的ETH。该提案通过执行层触发ETH的退出和提款操作,持有者可以通过提款凭证发起退出,无需依赖活跃密钥。
5. EIP-7251(增加质押上限):增加验证者的最大有效余额,允许每个验证者可以持有超过32ETH的质押,而最低质押门槛仍然保持为32ETH。旨在让大节点运营者通过合并多个验证器减少网络中的验证者数量,从而减少P2P消息、签名聚合以及存储负担。
6. EIP-7549(将委员会索引移出证明):通过将委员会索引字段移出Attestation消息,实现更高效的共识投票聚合。当前在以太坊的共识机制中,每个验证者在投票包含:LMD GHOST投票、Casper-FFG投票和委员会索引。将委员会索引字段移出签名消息本身,实现更高效的投票聚合,减少验证成本和网络负载。
7. EIP-7685(通用执行层请求):为执行层定义一个通用框架,用于存储和处理由智能合约触发的请求。这一框架支持更多的执行层触发行为,并且使得不同类型的请求能够被统一处理,简化了添加新请求类型的过程。
8. EIP-7702(为EOA添加代码执行能力):为外部拥有账户(EOA)添加代码执行功能,增强账户的灵活性和可编程性。EOA通过授权签名的方式,指定一个智能合约来代理执行某些操作,比如批量交易或权限控制。在不需要转变为智能合约账户的情况下,具备一定的智能合约功能。
此外,还有一些正在积极考虑的EIP,主要通过优化blob,提高了L2数据发布的费用稳定性、增强了L2的交易处理能力,并有效降低了L2的成本。然而,增加calldata成本的调整可能会影响ETH的销毁量,加大ETH的通胀压力。
Pectra升级包含了大量EIP,为了减少单次升级的复杂性并加快部分EIP的上线,建议将Pectra拆分为两个部分。第一部分包括已经在Pectra Devnet测试网运行的EIP,相对来说更容易实施并且通过了大量测试。第二部分包括较复杂的EIP和需要更多时间测试的提案。这种拆分有助于在六个月内完成升级的第一部分。