佩克特拉升级包含哪些内容?
克里斯汀·金 (Christine Kim) 介绍以太坊的佩克特拉升级,涵盖升级中包含的 EIP、它们对协议的改变,以及它们对用户、开发者和验证者为何重要。
Date published: 2024年11月14日
克里斯汀·金 (Christine Kim) 在 Devcon SEA 上的演讲,涵盖了以太坊佩克特拉 (Pectra) 升级中包含的 EIP、它们对协议的改变、预计的主网激活时间,以及哪些 EIP 被移出了范围。
本文字稿是原视频文字稿 (opens in a new tab)的无障碍副本,由以太坊基金会发布。为提高可读性,已进行了轻微编辑。
简介 (0:00)
我们将讨论所有即将进入佩克特拉升级的 EIP。在开始之前做一个简短的免责声明:我接下来要说的所有内容都仅供参考——出于提供信息的目的——不应被视为财务或投资建议。
佩克特拉何时上线主网 (0:23)
在深入探讨佩克特拉包含的内容之前,我被问到最多的问题是“佩克特拉何时上线主网?”所以我打算先回答这个问题,以便我们能进入技术层面的讨论。
这是一个非常初步的时间表分析。当人们问我佩克特拉何时发生时,我说现在说还为时过早——因为这是事实。佩克特拉仍处于其开发的非常早期阶段。规范正在发生变化,而且佩克特拉的范围还没有真正最终确定下来。
通过这个过程,你可以了解到的一件事是升级是如何开发的、升级是如何测试的,以及最终它们是如何进入主网的。最初,开发者决定将几个 EIP 包含在升级中,然后他们将这些 EIP 实施到名为开发网的、专注于开发者的私有测试网上。开发者已经为佩克特拉启动了几个开发网,因此这些 EIP 已经经历了多轮实施。开发者已经注意到他们想要修复的边缘情况和错误,并通过启动新的开发网来迭代这些 EIP。开发网 4 已于上个月(10 月)启动。
这种情况通常不会发生,但开发者——非常特别地为了整个会议和在场的每一位观众——在本月启动了第一个公共佩克特拉测试网。它被称为 Mekong,所以你可以尽早去与一些即将进入佩克特拉的 EIP 进行交互。它基于开发网 4 的规范,但请注意,这些规范正在发生变化。
有一份开发者已经希望包含在佩克特拉开发网 5 中的 EIP 规范变更列表——比如 BLS 预编译合约重新定价,以及一个尚未在开发网 4 中实施,但开发者计划在开发网 5 或未来升级中实施的新 EIP。因此,佩克特拉的规范正在发生变化。我预计在规范真正冻结之前,还需要经历多个开发网。
对于佩克特拉升级向主网推进的过程来说,另一个非常重要的部分是范围要已最终确定——即决定所有进入佩克特拉的 EIP。有一个 EIP——它还算不上真正的 EIP——即斑点容量的增加,开发者尚未正式将其包含在佩克特拉中,但看起来他们很可能会包含某种形式的斑点容量增加,因为他们最近包含了一个 EIP,该 EIP 引入了一种通过共识层动态更新斑点 Gas 目标值和斑点 Gas 最大值的机制,而不是将这些参数硬编码在执行层和共识层中。
一旦范围已最终确定,你就可以开始测试你实施的任何新 EIP——佩克特拉升级的完整范围——并在更多的开发网上对其进行实战测试。我设想可能会一直到开发网 6 或 7。然后,一旦佩克特拉规范被冻结并准备就绪——开发者在开发网上能找到的所有边缘情况都已被发现——他们就会将佩克特拉升级发布到公共以太坊测试网上。目前有两个:Sepolia 和 Holesky。
从历史上看,开发者在公共测试网升级之间预留了大约两周的时间。在极少数情况下,开发者将测试网之间的时间缩短到只有一周,但由于佩克特拉的规模,我想开发者会希望利用完整的时间。我为 Sepolia 和 Holesky 预留了大约一个月的时间,在那之后,你最终才能迎来主网激活。
鉴于我目前所知的所有信息以及开发者迄今为止在佩克特拉上取得的进展,我最好的分析和猜测是,佩克特拉主网实际上将在 2025 年 4 月上线。再次强调,这非常初步,因为很多事情都可能发生变化。开发是按周进行的——开发者在这些 ACD 电话会议上讨论他们在这个 EIP 中没有预料到的错误,或者他们想要添加到佩克特拉中的新 EIP。
执行层 EIP (6:23)
让我们进入本次演讲的核心内容——佩克特拉升级中包含什么。有十个 EIP 将进入佩克特拉,其中四个集中在执行层。
EIP-2537 是 EVM 中的一个新预编译合约——BLS12-381 曲线操作。这是一种新的密码学签名方案,智能合约开发者已经要求了很长时间。这个 EIP 创建于 2020 年,当时去中心化应用 (dapp) 开发者表示他们非常想要它,因为它将为某些依赖零知识密码学的 dapp 提供更强的隐私保证,并可能提高安全性和可扩展性。BLS 签名也是在共识层上为验证者证明进行的聚合。这个 EIP 已经酝酿了很长时间。其中一个担忧是:是否还有应用在等待 BLS 预编译合约,并且当它上线时它们会使用它吗?但如果你在观众席中,并且不知道 BLS 预编译合约终于要来了——它真的要来了。
EIP-2935 — 从状态提供历史区块哈希。这引入了对执行层的更改,使得可以从状态生成历史区块的证明。它对轻客户端同步以及可能希望直接通过 EVM 利用先前区块状态数据的智能合约有一些短期好处——你现在实际上无法做到这一点。但这些短期好处并不是将此 EIP 包含在佩克特拉中的主要原因。主要原因是它是 Verkle 的先决条件——Verkle 是对以太坊状态数据结构的重大改革。开发者曾认为这种过渡将在佩克特拉之后立即发生,但 Verkle 不会进入弗萨卡。他们已将其推迟到另一次升级,但这块垫脚石已经从清单上划掉了。
EIP-7685 — 通用执行层请求。这个 EIP 并没有真正为以太坊引入新功能——它是一个支持佩克特拉中其他 EIP 的 EIP。在佩克特拉中,有几个 EIP 将使执行层能够向共识层传递比以前多得多的消息——不同种类的消息。执行层上的智能合约将能够触发验证者提款、合并和存款。与其以独立、独特的方式实施这些新的通信渠道,不如通过这个 EIP 创建一个通用结构——一个通用总线——来容纳这些请求。它将更容易测试,更容易在各个客户端中实施,也更容易标准化,特别是如果开发者想要引入新型的执行层可触发请求的话。
EIP-7702 — 为外部拥有账户设置代码。一种新的交易类型即将进入以太坊。这种交易类型将暂时允许 EOA 拥有更大的灵活性,从而实现交易批量处理、赞助交易、条件交易和委托安全等功能。你可能会想,“这是账户抽象愿景在以太坊上成为现实吗?”不,不是的——这只是一小步。这是早期的一步,旨在看看以太坊上真正的原生账户抽象的真实路线图会是什么样子。关于开发者应该如何迈出第一步存在相当多的争论,并且围绕这个 EIP 的加入及其设计也有很多争议——但它还是被纳入了。
共识层 EIP (12:00)
还有其他六个——这些是共识层 EIP。
EIP-7742 — 解耦共识层和执行层之间的斑点计数。这是最近被包含在佩克特拉中的 EIP。目前,在所有不同的客户端中,斑点容量都被硬编码到执行层和共识层中。更新这种硬编码并不像有些人想象的那么容易。创建一种通过共识层动态设置斑点容量的机制,将确保未来开发者可以轻松更改以太坊的斑点容量,并且这种升级只需要共识层的更改——而不需要对两层都进行更改。
EIP-6110 — 在链上提供验证者存款。合并已经发生,以太坊作为一个权益证明 (PoS) 区块链更加成熟。现在可以放宽某些安全假设。这个 EIP 移除了每次你在存款合约上存入 32 ETH 时在共识层端发生的额外一轮投票,确保所有存款验证都在执行层上进行。这对验证者的用户体验有好处——它将缩短从你存入 32 ETH 到你看到验证者真正在信标链上被激活之间的时间。
EIP-7002 — 执行层可触发的提款。这对质押池非常有利。目前,如果你想完全提取一个验证者的资金,操作该验证者的节点运营商需要使用他们的提款密钥来让验证者完全退出。通过这个 EIP,智能合约将能够发起这些全额提款。这是你现在可以从质押池中移除的信任假设——像 Lido、Rocket Pool 和其他基于智能合约的质押池现在可以根据需要触发验证者的全额提款。
EIP-7251 — 增加最大有效余额。这确实是一个问题。当开发者构思信标链时,他们没有预料到验证者集会增长得如此之快——我们现在大约有 120 万或 130 万个验证者。有大量活跃的验证者,网络层上传递着大量消息,这太多了。它给节点带来了压力,如果不加以控制,这将成为以太坊健康的一个重大问题。EIP-7251 旨在鼓励验证者合并他们的 ETH,并拥有高于 32 ETH 的最大有效余额,从而减少以太坊上活跃验证者的数量。
EIP-7549 — 将委员会指数移出证明。这是对证明聚合方式的重组和重构,以减少以太坊上的网络负载并节省节点带宽。当开发者将其包含在佩克特拉中时,他们认为这是一个具有巨大好处且容易实现的伟大改变——但在实践中,事实证明它的实施比预期的要困难得多。
总结 (17:19)
佩克特拉是各种更新的混合体。它将做三件事:首先,修复以太坊作为权益证明 (PoS) 区块链的关键缺陷——想想 MaxEB,这是一个关键的修复,因为验证者集的规模可能会继续不受控制地增长。其次,改善用户体验——新的交易类型、更灵活的设计、对质押池更无须信任设计的一些改进。第三,增加以太坊的数据可用性容量——这尚未正式包含在佩克特拉中,但看起来很有可能。
从佩克特拉中移除的 EIP (18:02)
以下是所有从佩克特拉中移除的 EIP。对于一次升级来说,有这么多 EIP 被移除,这还是头一次。
PeerDAS — 最初在佩克特拉中,数据可用性容量会有更大的增加。PeerDAS 将允许开发者成倍地增加以太坊的斑点目标值,而不会对运行以太坊节点的带宽消耗和计算要求产生重大影响。但它仍处于研发阶段。
EOF — EVM 对象格式。这 11 个代码更改作为一个捆绑包,是对以太坊 EVM 的重大更新。PeerDAS 和 EOF 最初确实被包含在佩克特拉中,但它们在不同的开发网上进行测试。开发者认为它们需要更多的时间来为主网激活做准备,并且他们不想推迟其他佩克特拉 EIP。所以他们表示 PeerDAS 和 EOF 显然需要更多时间——他们会将它们推迟到另一次升级,而不会阻碍其他佩克特拉 EIP 上线主网。
这些现在被移到了弗萨卡。Verkle 最初定于在弗萨卡中进行,但后来被进一步推迟。EOF 和 PeerDAS 目前在弗萨卡中。还有其他 EIP 开发者将重新考虑是否包含在弗萨卡中——SSZ 过渡、包含列表、发行更改、历史数据过期、ePBS 以及账户抽象方向。
问答 (22:02)
主持人: EOF 什么时候上线?
克里斯汀·金 (Christine Kim): 我刚才确实说过开发者会尝试将其放入弗萨卡。我认为这有可能吗?可能不会。我认为弗萨卡会在 2025 年发生吗?绝对不会。准备佩克特拉所花费的时间——弗萨卡将花费类似甚至更长的时间。
主持人: 从现在到佩克特拉激活之间,是否有增加斑点目标值的紧急途径?
克里斯汀·金 (Christine Kim): 没有。斑点目标值是执行层和共识层中硬编码的参数。要改变斑点容量,开发者需要进行硬分叉。我不认为在现在和佩克特拉之间有任何方法可以在没有硬分叉的情况下增加斑点容量。
主持人: 提案是仅更改斑点限制,还是也更改斑点目标值?
克里斯汀·金 (Christine Kim): 好问题。最保守的增加是三到四——只改变目标值,完全不改变最大值。但这并不是二层网络 (l2) 开发者所要求的。有一位 Base 团队(Coinbase 的 Base 团队)的代表,他一直在争取更激进的增加。他展示的数据表明,这种增加不会对以太坊的去中心化产生负面影响。有一个保守的提案只改变目标值,然后还有一个更雄心勃勃的提案同时改变最大值和目标值——比如八和四,或者六和十二。有不同的梯度。
主持人: 你敦促人们更多地参与治理。社区如何才能更多地参与进来?
克里斯汀·金 (Christine Kim): ETH Research 和 ETH Magicians 是两个非常棒的讨论论坛,可以为某些 EIP 投票并表达你的支持。ACD 电话会议可能是信号最强的地方——你所要做的就是在 GitHub 上的 ACD 电话会议议程上留言,说这是一个你想谈论或展示的 EIP。会议的主持人通常非常乐意给你时间。不过不要占用太多时间——也许五分钟来表达你的观点。