ETH |Petra 升级解析
2025-04-07 15:18
DefiLlama 24
2025-04-07 15:18
订阅此专栏
收藏此文章

原文作者:Julia

编译:LlamaC


(作品集:Burning Man 2017,关于 Tomo:eth 基金会插画师)


「推荐寄语:本文主要讨论了 Petra 升级对以太坊网络的改进,包括账户抽象、验证者激活过程的优化、以及对大块(blob)使用的增强。Petra 升级 是 Ethereum 的一个重要里程碑,旨在通过多个 EIPs(Ethereum Improvement Proposals)引入一系列技术改进,以解决用户、验证者、Rollup 以及整个网络面临的问题
正文👇
以太坊社区和开发者们对 Petra 的上线充满期待,因其承诺带来多方面的优化升级。或许您会好奇:Petra 究竟是什么?为何众人热议不断?别急,答案马上揭晓…


简介


历经多次延期,Petra 升级最终确定于 2025 年 5 月 7 日正式上线。此次升级距离 2024 年 3 月的 Dencun 升级已过去一年。接下来我们将详细解读 Petra 升级的具体内容。


有趣的是,以太坊的重大升级版本通常以举办线下活动的城市及恒星名称组合命名。例如 Dencun 升级就融合了恒星名"Deneb"与 Devcon 3 举办地"坎昆"。而即将推出的 Petra 升级,则取自今年五月即将召开的 ETHPrague 会议举办地"布拉格",以及恒星"Electra"之名。

"Petra 升级包含 Prague 升级和 Electra 升级两部分:Prague 主要针对执行层进行改进,而 Electra 则聚焦共识层的优化。整体而言,本次升级将实现账户抽象功能、优化验证器操作流程、引入 Verkle 树与 PeerDAS 技术,并对智能合约进行增强。需要注意的是,Verkle 树和 PeerDAS 预计要到 2025 年底(或 2026 年初)才会部署,因此不会与其他更新同步推出。目前升级已在 Holesky 和 Sepolia 测试网完成部署,以太坊主网将于下月正式启用该升级。"

让我们深入探讨 Petra 升级所涉及的 EIP 提案及其功能特性。

Petra升级提案(EIPs)

账户等级提升:这些更新将作用于账户层面,旨在为用户提供更优质的使用体验。


EIP-7702:账户抽象化提案


早在 2023 年,我就撰文介绍过 ERC-4337。这是账户抽象领域最早为人熟知的提案。实际上,账户抽象的概念多年前就已提出,期间衍生出多个改进方案。EIP-4337 经过迭代后发展为 EIP-7702,可以说 7702 就是 4337 的升级版。


EIP-7702 的核心特性之一 —— 费用抽象功能,将通过 Petra 升级在以太坊上实现。目前,网络上的每笔交易通常需以原生代币 ETH 支付 Gas 费。而费用抽象功能上线后,用户将可用 USDC 等非原生代币支付 Gas 费。这将显著提升用户体验,用户无需每次交易时都专门兑换 ETH。Metamask 钱包已宣布将支持该功能。

通过 Petra 升级,EIP-7702 将带来另一项优势——Gas 代付功能。顾名思义,用户可以为他人支付 Gas 费用,或者应用程序可以为其用户承担 Gas 费用。

“等等,真的假的?这居然能成?” 没毛病,兄弟!

AA 的另一大优势是支持交易批量处理——将多个操作合并为一笔交易以降低 Gas 成本。传统模式下,用户需多次点击才能完成单笔交易(授权代币→签署交易→确认,有时还需多次确认)。而通过 Petra,所有操作将被智能打包成单笔交易,大幅减少点击次数。这既节省了 Gas 费用,又显著提升了用户体验。

账户恢复是另一个关键应用场景。当用户遗失钱包私钥时,可联系事先设置好的可信联系人(即监护人)协助恢复访问权限。这些监护人在用户初始化钱包时即被选定。系统会向每位监护人分发一份独特的分片信息,单独持有无法发挥作用,但多方信息聚合后即可用于恢复因私钥 / 助记词丢失而无法访问的账户。必须获得全体或多数监护人的同意并提交相应信息片段,方能完成账户恢复流程。


验证器节点升级


下述 EIP 提案(包括 EIP-7251、EIP-6110 和 EIP-7002)需对共识层进行修改,这些改动将优化验证节点的操作体验。


EIP-7251:提高最大有效余额上限


以太坊验证者节点的运行需质押 32 ETH(即最低和最高均为 32 ETH)。换言之,若要在以太坊共识层运行验证节点,必须质押 32 ETH。但本次升级将对此机制进行调整,相关变更源自 EIP-7251 提案:提高 MAX_EFFECTIVE_BALANCE 上限。


运行验证者节点所需的 ETH 上限将提升至 2048 枚,但最低质押门槛仍维持 32 ETH 不变。这一调整将缩小验证者集合规模,因为小型验证者可通过合并质押来共同运行节点。虽然多个独立验证者参与区块链共识体现了去中心化特性,但有时会造成通信延迟。目前以太坊全球验证者数量已超 80 万,是去中心化程度最高的公链。提高单验证者质押上限后,网络中各验证节点间的消息传输量将得以减少。

这一升级尤其对当前运行多个小型验证节点的大型机构有利。通过此项调整,它们能够将分散的小型验证节点整合为更大规模的验证集群,从而减少管理大量小额质押验证节点的复杂度。表面上看,这种提升似乎会增加中心化风险,但深入分析后会发现事实并非如此(至少在理论上)。因为即便大型机构运营一个包含 2048 ETH 的大规模验证节点集,其最终获得的经济效益与分散运行多个 32 ETH 验证节点几乎相当。

EIP-6110:将验证者存款上链


目前,对于想要参与以太坊交易验证的新验证节点而言,首先需要向存款合约(位于执行层 EL)质押一定数量的 ETH。这些质押资金会进入待处理队列或列表,并经过存款有效性验证。随后,验证节点会被登记到“注册表”中,但不会立即激活。也就是说,由于质押资金仍处于待处理队列,这些节点暂时还不会开始验证交易。



存款仍需经过激活队列处理。验证者会按周期分批进入激活队列。参数'activation_churn_limit'决定了每个周期能从待处理队列转入激活队列的验证者数量上限。此外,还需通过投票流程才能正式接纳并激活这些新验证者。

在共识层中,需提供存款包含的证明。区块提议者通过投票确认区块来确保存款的有效性。当某个区块获得验证者投票并通过后,相应的存款操作便会执行。若计入排队等待激活、投票周期等环节,验证者从提交到完全激活预计需要 11 至 15 小时。最终阶段为验证者正式激活,此时验证者将进入活跃工作状态。

这一流程需要共识层(CL)与执行层(EL)之间反复交互,验证者的激活往往耗时数小时。而 EIP-6110 提案将通过把存款纳入及验证的职责转移至执行层来改变现状。此举不仅能大幅降低双链通信导致的延迟,还可免除区块提议者的投票环节。从验证者发起存款到完成验证的全流程时间,将从原先的数小时压缩至几分钟,极大提升了验证者激活效率。

EIP-7002:执行层可触发提款机制


与 EIP-6110 类似,EIP-7002 将取消现有的退出队列机制,使验证者能更便捷地退出。不同于当前每个 epoch 限制验证者退出数量的做法,EIP-7002 将采用"余额变动限制"机制来控制 ETH 的流出总量,防止大量质押 ETH 被同时提取而引发安全隐患。验证者可通过其提款凭证发起提款操作。关于提款凭证的具体运作机制,可参阅 EIP-7002 中的详细说明。


EIP-7685:通用执行层请求规范


EIP-7685 提议建立通用请求框架,旨在优化共识层与执行层间的通信效率,实现信息流畅传递。


目前:


用户若想成为验证者,需先将 ETH 存入执行层,随后这些 ETH 会被转移到共识层进行处理。同理,当验证者想要取回质押的 ETH 时,资金会从共识层转回执行层完成处理。如果验证者希望减少质押的 ETH(即合并操作),相关请求则需从执行层提交至共识层。上述各类请求的处理流程各不相同。


借助 EIP-7685 的通用请求框架,这些请求流程将得到优化,执行层(EL)与共识层(CL)之间将实现直接通信,从而消除或显著降低通信过程中的低效与延迟问题。


Blob 升级内容


本类别涉及的升级将影响二进制大对象 (blob) 的使用。


EIP-7623:提高调用数据成本


二层扩容方案(Rollups)虽然独立执行交易,但会将数据发布至以太坊主链(基础层),以确保节点能够验证这些数据。在 EIP-4844 提案出现前,Rollups 采用 Calldata 作为数据可用性解决方案 —— 这是 Rollups 向主链传输数据的临时存储机制。2019 年通过的 EIP-2028 提案将 Calldata 的 Gas 费用从每字节 64 Gas 大幅降至 16 Gas,显著降低了 Rollups 在以太坊上发布数据的成本,便于验证时快速调取数据。而如今竟有提案要回调这笔费用。真是戏剧性十足 :)


Blob 由 EIP-4844 提案(即 proto-danksharding 和 danksharding)提出,并随着 2024 年 3 月 Dencun 升级的生效而正式实施。这种内存空间类似于 calldata,专门用于存储交易数据,但与区块链上的永久区块不同,Blob 具有临时存储特性——虽然能容纳海量数据,但仅保留有限时间。Blob 被视为 calldata 的优化替代方案,尤其在成本优势上表现突出:虽然两者 gas 费用标准相同(均为每字节 16 gas),但实际使用中 Blob 通常更经济。当然,也存在少数场景下 calldata 更具成本优势的情况。

调用数据成本高昂的原因解析。Coinshares 博客文章

Rollups 会使用 calldata 或 blobs 数据存储方式;部分方案会同时采用两种方式,根据实时费用自动切换至成本更低的选项。

去年提出的 EIP-7623 方案计划将 calldata 成本(从 4/16 提高到 10/40)上调,以抑制过度使用 calldata 并促进 blob 的采用。该方案将在 Petra 升级中实施。提高 calldata 成本理论上可以缩减区块体积,推动更多 blob 使用,从而为 blob 交易释放更多空间。

据我所知,其运作原理如下:

目前,在未实施 EIP-7623 的情况下:

以太坊每个区块的 Gas 上限为 3000 万

调用数据成本(非零字节部分)= 每字节消耗 16 单位 gas

3000 万除以 16 等于 187.5 万字节,约 1.875 兆字节

理论最大区块容量 = 1.875 MB

根据 EIP-7623 提案:

以太坊每个区块的 Gas 上限为 3000 万

非零字节的调用数据费用为每字节 40 gas

"3000 万除以 40 等于 75 万字节,约 0.75 兆字节"

理论最大区块大小 = 0.75 MB

"随着这一变化,"

(a). 调用数据对 Rollup 而言成本过高,这将迫使其完全转向采用数据块 (blob) 方案。

(b). 当 calldata 交易的容量从 1.875 MB 降至 0.75 MB 后,blob 交易将获得更多可用空间。这样,区块就能分配更多空间给 blob 交易,减少 calldata 交易占用的空间,同时保留部分空间给其他类型的交易。

补充说明:该提案同时调整了零字节(0x00…)的调用数据成本,从 4 提高到 10,但我的计算仅针对非零字节(从 16 调整至 40)。想了解零字节与非零字节的区别,可参阅这篇文章:

What is Address(0) or Null Address in Solidity?

https://coinsbench.com/what-is-address-0-or-null-address-in-solidity-03df1d4ee65d

该 EIP 实施后,预计 calldata 数据使用量会减少,而 blob 数据使用量将增加。

EIP-7691: 提升 Blob 数据吞吐量


目前,单个以太坊区块最多可包含 6 个数据 blob,但网络设计目标是处理 3 个 blob。因此实际上限为 6 个 blob,而理想容量为 3 个 blob。与普通区块交易类似,数据 blob 也需要支付基础费用。


"blob 基础费用是什么?它是 rollup 用户为将交易数据存入 blob 而支付的费用,本质上相当于购买区块内 blob 存储空间的使用权。该费用采用动态定价机制,具体金额会根据当前市场对 blob 空间的需求波动而调整。"

根据 EIP-4844 的实施结果;

  • 若区块内的 blob 数量超过设定目标(3 个),系统将自动上调 blob 基础费用。

  • 若区块内的 blob 数量未达到目标值(3 个),则相应降低 blob 基础费用。


EIP-7691 提案建议将每个区块的 blob 目标值提升至 6 个,上限提高至 9 个。即:上限为 9 个 blob,目标值为每个区块 6 个 blob。这一调整将降低 blob 的基础费用。其原理在于:当 blob 的目标容量 / 上限提高后,由于 blob 供应量增加(经济学基本原理:供大于求则价格下降),Rollup 项目可以更高效地利用 blob 存储数据。随着每个区块可容纳的 blob 数量增多,单个 blob 的成本随之下降。而 blob 成本的降低,最终将传导至用户端,表现为 Rollup 向用户收取的 gas 费用减少。

简而言之,增加 blob 数量意味着更高的 rollup 处理能力和扩展性,从而降低 rollup 的 blob 成本,最终让用户支付更少的 blob 基础费用。Vitalik 的愿景是进一步大幅提升(将 blob 目标值设为 48,上限设为 72),具体可参见下方推文内容。


EIP-7840:在执行层配置文件中添加 Blob 调度机制


该 EIP 替代了原先的 EIP-7742 提案,原提案试图通过让共识层验证最大 blob 数量,实现执行层与共识层间 blob 计数的解耦。当前若要调整 blob 数量上限及目标值,需进行大量代码修改,导致整个流程操作复杂且工作量巨大。


EIP-7840 将在执行层配置文件中引入名为 blobSchedule 的对象,使开发者无需大幅修改代码即可灵活调整 blob 的目标数量和上限。通过 blobSchedule,可以预先设定每个分叉阶段的目标值及每个区块的 blob 数量上限,实现参数的可配置化。

EIP-7840 将简化 EIP-7691(此前讨论的提案)的实施流程。


Petra 升级涉及的其他 EIP 提案


除上述 8 项 EIP 提案外,Petra 升级还将引入以下其他 EIP:


EIP-2537:BLS12-381 曲线运算预编译合约


EIP-2935:基于状态提供历史区块哈希值

EIP-7782:缩短时隙时长以降低带宽峰值

EIP-7783:引入可控 Gas 上限调整策略

EIP-7549:将委员会索引从证明结构中剥离


下一步计划:Fusaka 升级


某些改进方案过于复杂且风险较高,无法一次性完成,因此被推迟到后续阶段。Fusaka 升级是继 Petra 之后的重大更新,计划于 2025 年底或 2026 年初实施,届时将带来以下改进:

EIP-7594:PeerDAS - 点对点数据可用性采样


EIP-7594 提案旨在提升第二层网络的扩展性,其机制是让以太坊主链上的验证节点能够直接访问由 Layer2 提交的数据片段(blob),而无需下载完整数据。该设计既确保了验证节点能获取必要数据进行校验,又避免了因下载所有数据片段造成的资源浪费。


计划进一步提高每个区块的目标 blob 数量和上限值。

EIP-6800:基于统一 Verkle 树的以太坊状态方案


根据以太坊官方博客介绍,Verkle 树是“一种新型数据结构,通过升级以太坊节点,既能大幅减少状态数据的存储需求,又能保持区块验证能力”。这是为优化以太坊状态存储而提出的全新数据结构方案。


补充说明:区块链状态指的是某一时刻网络上所有数据(含账户余额)的完整快照。

简而言之,数据结构决定了区块链(本文以以太坊为例)数据的存储、组织和访问方式。当前链的状态通过数据存储结构(现为 Merkle Patricia 树,未来将升级为 Verkle 树)实现存储和查询。

Verkle 树能生成一种名为“见证”的密码学证明,其体积非常小,使得节点无需访问完整数据集即可验证特定数据是否属于某个更大的集合。借助 Verkle 树,数据验证过程变得更快、更高效。这一特性尤其适用于“无状态客户端”——这类节点无需预先存储整个区块链数据库即可完成区块验证。

EIP-7692:EOF(以太坊虚拟机对象格式)


EOF 提案由 11 项子提案组成,旨在对以太坊虚拟机(EVM)本身进行改进。这些包含在 EOF 中的 EIP 包括:EIP-3540、EIP-3670、EIP-4200、EIP-4750、EIP-5450、EIP-6206、EIP-7480、EIP-663、EIP-7069、EIP-7620 以及 EIP-7698。



结论


尽管以太坊的代币价格可能持续走低,但本次技术升级却意义非凡。作为以太坊的重大里程碑之一,Petra 升级将针对用户、验证节点、Rollup 方案及网络本身面临的诸多问题提供解决方案。通过账户抽象功能,用户可享受更优质的链上体验 —— 包括费用代付、交易批量处理、第三方赞助以及账户恢复等创新特性。

EIP-7685、6110、7002 和 7251 提案的实施,让验证者可以享受三大优势:质押要求优化、执行层与共识层间通信更便捷,以及激活验证者状态无需再等待数小时。

blob 升级使得 rollup 使用 blob 的成本降低,从而用户支付的 gas 费用也随之减少。随着性能更强的链不断涌现,以太坊在实现更高效、更具扩展性网络的长期愿景中展现出强大的适应力。



关注公众号,获取市场价值转移趋势


扫码入群,获取市场实时动态

图片

关注推特获取潜在空投交互教程:@DefiLlamaCn

图片

查看公开投资策略,扫码加入知识星球:

图片

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

DefiLlama 24
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开