原文作者:Julia
编译:LlamaC
(作品集:Burning Man 2017,关于 Tomo:eth 基金会插画师)
有趣的是,以太坊的重大升级版本通常以举办线下活动的城市及恒星名称组合命名。例如 Dencun 升级就融合了恒星名"Deneb"与 Devcon 3 举办地"坎昆"。而即将推出的 Petra 升级,则取自今年五月即将召开的 ETHPrague 会议举办地"布拉格",以及恒星"Electra"之名。
"Petra 升级包含 Prague 升级和 Electra 升级两部分:Prague 主要针对执行层进行改进,而 Electra 则聚焦共识层的优化。整体而言,本次升级将实现账户抽象功能、优化验证器操作流程、引入 Verkle 树与 PeerDAS 技术,并对智能合约进行增强。需要注意的是,Verkle 树和 PeerDAS 预计要到 2025 年底(或 2026 年初)才会部署,因此不会与其他更新同步推出。目前升级已在 Holesky 和 Sepolia 测试网完成部署,以太坊主网将于下月正式启用该升级。"
让我们深入探讨 Petra 升级所涉及的 EIP 提案及其功能特性。
EIP-7702 的核心特性之一 —— 费用抽象功能,将通过 Petra 升级在以太坊上实现。目前,网络上的每笔交易通常需以原生代币 ETH 支付 Gas 费。而费用抽象功能上线后,用户将可用 USDC 等非原生代币支付 Gas 费。这将显著提升用户体验,用户无需每次交易时都专门兑换 ETH。Metamask 钱包已宣布将支持该功能。
通过 Petra 升级,EIP-7702 将带来另一项优势——Gas 代付功能。顾名思义,用户可以为他人支付 Gas 费用,或者应用程序可以为其用户承担 Gas 费用。
“等等,真的假的?这居然能成?” 没毛病,兄弟!
AA 的另一大优势是支持交易批量处理——将多个操作合并为一笔交易以降低 Gas 成本。传统模式下,用户需多次点击才能完成单笔交易(授权代币→签署交易→确认,有时还需多次确认)。而通过 Petra,所有操作将被智能打包成单笔交易,大幅减少点击次数。这既节省了 Gas 费用,又显著提升了用户体验。
账户恢复是另一个关键应用场景。当用户遗失钱包私钥时,可联系事先设置好的可信联系人(即监护人)协助恢复访问权限。这些监护人在用户初始化钱包时即被选定。系统会向每位监护人分发一份独特的分片信息,单独持有无法发挥作用,但多方信息聚合后即可用于恢复因私钥 / 助记词丢失而无法访问的账户。必须获得全体或多数监护人的同意并提交相应信息片段,方能完成账户恢复流程。
运行验证者节点所需的 ETH 上限将提升至 2048 枚,但最低质押门槛仍维持 32 ETH 不变。这一调整将缩小验证者集合规模,因为小型验证者可通过合并质押来共同运行节点。虽然多个独立验证者参与区块链共识体现了去中心化特性,但有时会造成通信延迟。目前以太坊全球验证者数量已超 80 万,是去中心化程度最高的公链。提高单验证者质押上限后,网络中各验证节点间的消息传输量将得以减少。
这一升级尤其对当前运行多个小型验证节点的大型机构有利。通过此项调整,它们能够将分散的小型验证节点整合为更大规模的验证集群,从而减少管理大量小额质押验证节点的复杂度。表面上看,这种提升似乎会增加中心化风险,但深入分析后会发现事实并非如此(至少在理论上)。因为即便大型机构运营一个包含 2048 ETH 的大规模验证节点集,其最终获得的经济效益与分散运行多个 32 ETH 验证节点几乎相当。
存款仍需经过激活队列处理。验证者会按周期分批进入激活队列。参数'activation_churn_limit'决定了每个周期能从待处理队列转入激活队列的验证者数量上限。此外,还需通过投票流程才能正式接纳并激活这些新验证者。
在共识层中,需提供存款包含的证明。区块提议者通过投票确认区块来确保存款的有效性。当某个区块获得验证者投票并通过后,相应的存款操作便会执行。若计入排队等待激活、投票周期等环节,验证者从提交到完全激活预计需要 11 至 15 小时。最终阶段为验证者正式激活,此时验证者将进入活跃工作状态。
这一流程需要共识层(CL)与执行层(EL)之间反复交互,验证者的激活往往耗时数小时。而 EIP-6110 提案将通过把存款纳入及验证的职责转移至执行层来改变现状。此举不仅能大幅降低双链通信导致的延迟,还可免除区块提议者的投票环节。从验证者发起存款到完成验证的全流程时间,将从原先的数小时压缩至几分钟,极大提升了验证者激活效率。
借助 EIP-7685 的通用请求框架,这些请求流程将得到优化,执行层(EL)与共识层(CL)之间将实现直接通信,从而消除或显著降低通信过程中的低效与延迟问题。
Blob 由 EIP-4844 提案(即 proto-danksharding 和 danksharding)提出,并随着 2024 年 3 月 Dencun 升级的生效而正式实施。这种内存空间类似于 calldata,专门用于存储交易数据,但与区块链上的永久区块不同,Blob 具有临时存储特性——虽然能容纳海量数据,但仅保留有限时间。Blob 被视为 calldata 的优化替代方案,尤其在成本优势上表现突出:虽然两者 gas 费用标准相同(均为每字节 16 gas),但实际使用中 Blob 通常更经济。当然,也存在少数场景下 calldata 更具成本优势的情况。
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 数据使用量将增加。
"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 费用减少。
EIP-7840 将在执行层配置文件中引入名为 blobSchedule 的对象,使开发者无需大幅修改代码即可灵活调整 blob 的目标数量和上限。通过 blobSchedule,可以预先设定每个分叉阶段的目标值及每个区块的 blob 数量上限,实现参数的可配置化。
EIP-7840 将简化 EIP-7691(此前讨论的提案)的实施流程。
EIP-2935:基于状态提供历史区块哈希值
EIP-7782:缩短时隙时长以降低带宽峰值
EIP-7783:引入可控 Gas 上限调整策略
EIP-7549:将委员会索引从证明结构中剥离
某些改进方案过于复杂且风险较高,无法一次性完成,因此被推迟到后续阶段。Fusaka 升级是继 Petra 之后的重大更新,计划于 2025 年底或 2026 年初实施,届时将带来以下改进:
计划进一步提高每个区块的目标 blob 数量和上限值。
补充说明:区块链状态指的是某一时刻网络上所有数据(含账户余额)的完整快照。
简而言之,数据结构决定了区块链(本文以以太坊为例)数据的存储、组织和访问方式。当前链的状态通过数据存储结构(现为 Merkle Patricia 树,未来将升级为 Verkle 树)实现存储和查询。
Verkle 树能生成一种名为“见证”的密码学证明,其体积非常小,使得节点无需访问完整数据集即可验证特定数据是否属于某个更大的集合。借助 Verkle 树,数据验证过程变得更快、更高效。这一特性尤其适用于“无状态客户端”——这类节点无需预先存储整个区块链数据库即可完成区块验证。
尽管以太坊的代币价格可能持续走低,但本次技术升级却意义非凡。作为以太坊的重大里程碑之一,Petra 升级将针对用户、验证节点、Rollup 方案及网络本身面临的诸多问题提供解决方案。通过账户抽象功能,用户可享受更优质的链上体验 —— 包括费用代付、交易批量处理、第三方赞助以及账户恢复等创新特性。
EIP-7685、6110、7002 和 7251 提案的实施,让验证者可以享受三大优势:质押要求优化、执行层与共识层间通信更便捷,以及激活验证者状态无需再等待数小时。
blob 升级使得 rollup 使用 blob 的成本降低,从而用户支付的 gas 费用也随之减少。随着性能更强的链不断涌现,以太坊在实现更高效、更具扩展性网络的长期愿景中展现出强大的适应力。
关注公众号,获取市场价值转移趋势
扫码入群,获取市场实时动态
关注推特获取潜在空投交互教程:@DefiLlamaCn
查看公开投资策略,扫码加入知识星球:
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。