注:原文来自Phil Ngo发布博文,火星财经整理编译。
随着 Deneb/Cancun 的实施工作接近尾声,客户端团队被要求就下一次 Electra/Prague 硬分叉的内容提出建议。这篇博文将概述 Lodestar 主要贡献者的综合共识,其灵感来自 Paradigm 的 Reth 团队的文章,以及 AllCoreDevs 执行会议 179 对这种方法的赞扬。
简要说明
以太坊的客户端团队在 AllCoreDevs 执行会议第 179 次会议上普遍同意,在主网交付 Verkle tries(预计将于 2025 年完成的一项重大工作)之前,利用升级的势头,在 2024 年期间进行一次较小的分叉。其他团队也可以同时开展并行工作流。对于像 Lodestar 这样的共识客户端,倡导纳入以下 EIP 是有意义的:
EIP-6110: 在链上供应验证器押金
EIP-7002: 执行层可触发退出
EIP-7251: 增加 MAX_EFFECTIVE_BALANCE
EIP-7549:将委员会索引移至证明之外
EIP-7594: PeerDAS
SSZification
EIP-7495: SSZ 稳定容器
EIP-6493: SSZ 交易签名方案
EIP-6404: SSZ 交易根目录
EIP-6466: SSZ 收据根
EIP-6465: SSZ 提取根
EIP-3074: AUTH 和 AUTHCALL 操作码
支持纳入 Electra 的共识 EIP
以下是我们认为应纳入 Electra 的以太坊改进提案 (EIP):
EIP-6110:在链上供应验证器押金
该提案旨在将验证者押金附加到执行层区块结构中。这一变化将把押金纳入和验证的责任转移到执行层,从而消除共识层对押金(或 eth1data)投票的需求。区块中的验证器存款列表将通过解析特定区块中每笔存款交易产生的存款合约日志事件获得。
加入该功能将提高押金的安全性,减少押金提交和处理之间的延迟,消除对 JSON-RPC API 数据轮询的依赖,并降低执行和共识客户端之间的复杂性。
EIP-7002: 执行层可触发退出
EIP-7002 建议添加一个新的有状态预编译,允许验证者使用其执行层(0x01)退出凭证触发信标链的退出。这种机制可将这些新的执行层退出消息附加到执行层块中,供共识层读取。
加入这一 EIP 后,可以更好地控制验证器,提高托管安排的安全性。该 EIP 对于流动质押运营商和智能合约控制的验证器特别有用,可以减少受信任的集中管理。除了简化验证者的退出流程外,验证者如果失去了对其激活密钥的访问权限,仍可使用其退出凭证退出并收回资金。用户体验的大量改进(集体和单人)证明了这一加入的合理性。
EIP-7251:提高 MAX_EFFECTIVE_BALANCE
EIP-7251 建议提高 MAX_EFFECTIVE_BALANCE,以减少验证程序集的大小,从而减少 P2P 消息、BLS 签名聚合和 BeaconState 内存占用的数量。这一变化对小型和大型验证器都有好处,可实现更灵活的定标增量和复合奖励。
尽管讨论仍在进行,对规范的优化也在进行,但重要的是要获得最新的信息,以便就是否可纳入规范做出明智的决定。我们认为,该 EIP 对于确保最大程度的去中心化、优化网络带宽和节点计算开销至关重要,因为由 210 多万验证器组成的「Big Boy」(Holesky )测试网络确定,验证器状态存在理论上限。
EIP-7549:将委员会索引移出「证明」(Attestation)报文
EIP-7549 的主要目的是将委员会索引字段移出已签署的 「证明」(Attestation)报文。这一改动旨在允许汇总相同的共识票,从而提高共识规则验证的效率。
这种实现方式的简便性和验证流程的优化证明了将其纳入信标链性能的合理性。
EIP-7594: PeerDAS
PeerDAS 旨在利用已在以太坊生产中的知名、经过实战检验的 p2p 组件来扩展数据可用性,使其超过 EIP-4844 所提供的数据可用性,同时保持诚实节点的工作量与 EIP-4844 类似(每个插槽下载量少于 1MB)。
我们相信,该提案可能会成为下一次共识硬分叉的最大实施工作。数据空间可能是区块链中最重要的商品之一。提高可扩展性所带来的好处将证明这项工作的合理性。通过重复使用可靠的组件,我们可以更轻松地实现这一功能,同时为各种规模的单个节点保持可管理的工作量。
SSZification
本节包括以下供全面完成的 EIP:
EIP-7495: SSZ 稳定容器
EIP-6493: SSZ 交易签名方案
EIP-6404:SSZ 交易根目录
EIP-6466: SSZ 收据根目录
EIP-6465: SSZ 提取根
我们支持 SSZ 数据结构的一致性,并希望继续向 SSZ 化过渡,哪怕是缓慢的过渡。高效梅克尔证明将有助于进一步启用轻节点/客户端,并在数据存储、网络传输和代码复杂性方面带来更多优化。我们建议首先支持 StableContainer 并迁移 BeaconBlockBody 和 ExecutionPayload,因为这些结构更有可能在每次硬分叉中被修改。
支持Prague纳入的执行EIP
尽管下面列出的 EIP 通常被认为是执行变更,但 Lodestar 希望通过其他执行客户端团队的意见,表示支持纳入Prague的 EIP:
EIP-3074: AUTH 和 AUTHCALL 操作码
EIP-3074 旨在允许 EOA 将控制权委托给合约,从而有效地使其像智能合约钱包一样行事,而无需部署合约。这种授权是通过两个新操作码 AUTH 和 AUTHCALL 实现的。
我们支持将此 EIP 或其某种形式纳入以太坊,以增强用户与以太坊的交互。正如 f00bar 在第 179 次执行层会议上所介绍的,纳入该 EIP 对以太坊生态系统的持续发展至关重要。