文章:0xEvan, Primev

翻译:Franci, ETHconomics Research Space

校对:Jason, ETHconomics Research Space

译者导读

前面我们发的几篇文章都和 blob 交易本身以及 4844 费用机制相关,而在这篇文章中,作者通过对过去一年的数据回测,以模拟 blob 市场的潜力 —— 它可以容纳多少数据?能否满足 rollup 的数据可用需求?

除了 blob space 的供需曲线对 blob 市场会造成影响之外,验证者的时间博弈 (timing games) 以及构建者的审查也会对这个市场带来一些负面效应。本文对可能产生的 blob 交易广播延迟进行了数据分析,并对其产生的用户体验、rollup 数据可用开销影响进行了论证,也提出了可能的解决方案 —— 预确认 blob 交易。

总的来说,这篇文章是比较全面的 blob 市场分析,读者大可以通过文章的脉络,探索未来 blob space 的 landscape。

正文:

🙏特别感谢 @terencechain 的审阅、@BertKellerman 的见解和@ethpandaops 提供的 holesky 测试网数据。

TL;DR

  • 我们的研究深入探讨了新兴的 EIP-4844 blob 市场,该市场的运作方式与EIP-1559 的 gas 定价方式类似。不同的是,它没有直接面向区块构建者的小费机制,用以激励其打包 blob 交易,这可能导致 blob 交易体验不稳定,以及对其打包进区块有一定的挑战。
  • 我们注意到,虽然 blob 交易容量大(约 125 kB)且比同样大小的 calldata 便宜,但它们大幅增加了以太坊区块的大小。这也意味着 blob 交易给区块带来了增量的竞价能力。
  • 我们演示了这个新市场的容量能够吸收当前 rollup 的数据需求,并将标准区块空间的 gas 成本降低 15-20%,从而解锁了更低成本的 mev 机会。
  • 我们观察到,在网络活动增加的时期,blob 交易可能会使区块广播速度减慢数百毫秒的数量级,这可能导致区块构建者为了在 mev-boost 中维持具有竞争性的竞价而审查 blob。
  • 我们评估,“预确认出价”可以缓解这些挑战,blob 预确认可以增强 EIP-4844 的能力,为 L2 用户提供更好的交易体验,以及为 rollups 提供稳定的交易打包体验。
  • 我们将在 Holesky 测试网上进行实验,收集区块构建者数据,并通过 mev-commit 设置 relay 作为 blob 预确认提供商,我们邀请 PBS 的相关参与者来一起进行实验。

引入

EIP-4844 引入了一种 blob 市场,从而扩展了以太坊的数据可用性。这个新兴市场使用类似于 EIP-1559 的 gas 价格机制来定价和销毁 blob 的 base gas fee。然而,与 type2 交易不同的是,blob 市场中用户没有直接的方式出价给构建者,作为打包其 blob 的小费。缺乏 priority fee 的设计使得准确定价 blob 打包费用变得困难。此外,携带 blob 的区块在网络中的广播速度预计会变慢,因为 blob 是以太坊交易类型中最大的一种。如果构建者在一个区块中接受许多 blob,他们就会面临更高的区块重组风险,因此,假设构建者是经济学层面的理性人,其可能会选择在 mev 高峰期审查 blob,以保持区块构建的低延迟。

我们提出了一个与 blob 相关的区块构建和 mev-boost 数据收集工作,以及一个使用 mev-commit 的 blob 预确认提供商实验,并邀请社区中的 rollup、relay、区块构建者和提议者参与。我们对 EIP-4844 中 blob 相关行为的见解表明,L1 blob 预确认可以增强 blob 市场带来的效用,为 L2 用户提供更好的交易体验,为 rollup 在出现 mev 条件下提供可靠的打包体验,以及给 rollup 为中心的以太坊路线图提供一个更稳定的未来。

理解 Blob 市场

Blob 交易

EIP-4844 引入了一种 type3 交易 (亦称为 blob 交易)。携带 blob 的交易类似于常规交易,但增加了 blob 数据、KZG 承诺和证明。与标准以太坊交易相比,Blob 极大(约 125 kB),且比等量的 calldata 便宜得多。Calldata 的价格为每个非零字节 16 gas 且大小可变化;而 blob 数据的价格为每字节 1.04 gas,且每个 blob 上限为 131,072 gas。

以太坊坎昆升级前夜,全面洞悉Blob市场

Blob Gas 机制

Blob base gas 定价具有一个定价网络拥堵情况的费用机制,这与 EIP-1559 类似。主要区别在于,blob base gas 的价格基于 blob 使用数量变化,而 EIP-1559 是基于上个区块 gas 的利用率变化 (使用的 gas 数量之于目标 gas 数量而言)。Target Blob 的数量是 3 (0.375 MB),每个区块的最大数量是 6 (0.75 MB)。Blob base gas 价格最小值设置为 1 wei。

当提交一个 blob 交易时,发送者将提交max_fee_per_blob_gas作为他们愿意为 blob base gas fee 支付的最高价格,所有这些费用都将被销毁。max_fee_per_blob_gas与 type0 和 type2 交易中的max_fee_per_gas类似。如果用户想提交额外的费用以激励打包其交易,那么他们还会提交max_priority_fee。然而,max_priority_fee仅覆盖交易中非 blob gas 部分。也就说,在此 blob gas 费用机制下用户不能直接提交 blob 打包小费给构建者。

(译者注:关于 4844 费用机制原理分析,我们社区撰写了更为详细的文章,请看这里)

Blob 市场容量

在本节中,我们对 2023 年 1 月到 2024 年 1 月期间 rollup 网络的历史交互活动进行了回测,以展示 blob 市场的容量。我们关注以太坊上最活跃的 rollup 的交易,并使用历史数据来模拟一个实时的 blob 市场。当然,这个市场正积极增长着,且 blob 尚未在主网上线,本文使用了整个 2023 年的历史数据,旨在模拟它的潜力。

基于 rollup 的历史 calldata 活动,将其模拟在 type3 交易的区块空间中使用,我们可以看到 blob 市场价格可以轻易地吸收所有 rollup 的容量,而不会使 blob 市场价格超过 blob base gas 最小值 (即 1 wei)。

以太坊坎昆升级前夜,全面洞悉Blob市场图:base blob gas 每区块

尽管 rollup 向以太坊发布了更多数据,但大多数区块仍然低于 target blob 数量,这确保了 blob gas 价格保持在低水平。

以太坊坎昆升级前夜,全面洞悉Blob市场图:颜色越浅,代表着打包特定数量 blob 的区块被构建的次数越多

💡 这意味着,blob 市场的 calldata 开销将更低(calldata 每字节消耗 16 gas,而 blob 每字节消耗 1 gas),gas price 也将更低(calldata 的 gas price 是 gwei 级别的,而 blob 的 gas price 是 wei 级别的),从而为 rollup 节省两层额外成本。

Blob 市场不仅能够轻松地吸收当前 rollup 的数据可用性需求,还能使非 blob 市场释放更多区块空间,将 gas 开销降低 15-20% 以上。Gas 开销的降低相应地提高了用户/搜索者、构建者和验证者的出价能力,并解锁了在 EIP-4844 之前因价格过高而被排除在外的新 mev 机会。

以太坊坎昆升级前夜,全面洞悉Blob市场图:EIP-4844 对标准区块空间的影响 (基于2023 年的数据)

Rollup 需要更多数据可用性

Rollup 大大地影响着区块中 gas 的使用情况,它们是当前以太坊区块空间最大的一类 gas 用户。2023 年,rollup 在以太坊上存储了创纪录数量的交易数据,如下图所示:

以太坊坎昆升级前夜,全面洞悉Blob市场图:保存在以太坊上的 calldata 创历史新高

下面的日均图表显示,rollup 开始占据它们所在每个区块的 15% 以上,直接影响了其他用户的使用价格。

以太坊坎昆升级前夜,全面洞悉Blob市场

这在黑天鹅出现,需求增加的情况下可能会进一步恶化。最近在 2023 年 12 月,铭文热潮引起交易量过大,导致 Arbitrum 的定序器离线约一个小时。当 Arbitrum sequencer 恢复运营并开始发布已保存的状态数据的 backlog 时,定序器当即垄断了整个区块空间,导致 gas 价格飙升至140 gwei 以上,消耗了所有区块中高达 90% 的 gas,使得网络在数小时内对大多数用户不可用。

在下一节中,我们将展开讨论,即使在没有这种需求激增的情况下,时间博弈 (timing games) 和审查也可能如何影响这个市场。

Blob 市场面临的挑战:审查

Blob 交易的广播

EIP-4844 将每个信标区块的带宽需求最多增加约 0.75 MB,42m gas,以容纳额外多达 6 个 blob 到每个信标区块中。与永久存储的 calldata 不同,blob 在信标节点中持续存在的时间很短(截至 2024 年 2 月为 18 天),以保持网络存档状态的增长在可控范围内。

此外,blob 交易有两种网络表示形式 —— 对于区块构建者来说是一个 blob 交易,对于验证者来说是一个 blob sidecar。Blob sidecar 的设计是为了向前兼容。

Blob 首先必须通过执行层进行广播,然后再广播至共识层。**这意味着构建者 (而非验证者) 对 blob 打包有最终发言权。**提议者只能根据承诺/证明的无效在 mev-boost 动态下排除 blob 交易。

以太坊坎昆升级前夜,全面洞悉Blob市场图:执行验证由构建者进行,共识验证由验证者进行

区块构建者的视角

最近关于验证者“时间博弈“ (timing games)的研究强调了延迟优化可以策略性地使节点运营者通过延迟区块提议来最大化利润。作者解释说,这对链的健康有害。Blob 交易通过增加不同数量的延迟(当 blob sidecar 进行广播时)进一步复杂化了这个博弈。

Blob 交易相当于最大可能的交易大小类型。因为这个原因,携带这些交易的区块传播速度较慢,使得区块构建者在赢得 mev-boost 竞标方面的竞争力较弱。结果,这激励区块构建者暂时甚至无限期地审查 blob,以便他们可以以更高的频率提交 mev 出价。

ethpanda 团队一直在使用 Xatu 在测试网上对真实世界的延迟进行测试。他们在全球多个地点 (NYC、FRA、BLR、SYD) 设置了观察器,使用不同的以太坊共识客户端 (Prysm、Nimbus、Lodestar 和 Lighthouse) 来测量现实世界的延迟。2024 年 2 月 20 日 Holesky Blob 数据快照显示,在整个 mev 流水线中产生了大量延迟。

区块构建者赢得 mev-boost 竞标拍卖后,提议者必须等待 blob sidecar 广播,然后才能验证打包在区块中的 blob。下表显示,在样本量为 800 个 blob sidecar 的情况下,单个 blob sidecar 广播的最短时间约为 400 毫秒

图表 1. Blob 广播时间 vs 单个 slot 包含的 blob 数量

以太坊坎昆升级前夜,全面洞悉Blob市场图:数据量小是造成本数据集所描述的一些反直觉观察结果的原因之一

下表则展示了当等待更多 blob sidecar 到达时的延时差异。表中 50% 的百分位数 (p50) 表明,携带 2 个 blob 的区块和携带 6 个 blob 的区块之间的延迟差异约为 225 毫秒。

图表 2. 基于区块分组的 blob sidecar 总量中,第一个到达和最后一个到达的 blob sidecar 之间的时间差异

以太坊坎昆升级前夜,全面洞悉Blob市场这种 blob 广播延迟会给区块构建者带来额外的区块重组风险,当他们用 blob 填满自己的区块时,经济收益却微乎其微。构建者可能会选择排除/审查 blob 交易,以避免潜在的重组。如果区块包含大量 mev,经济理性的构建者需要通过 rollup 网络来适当补偿这种风险。

关于 Blob 市场打包竞价的用户体验

在这篇关于验证者时间博弈研究的论文中指出,在 mev-boost 竞价过程的后期,更大的出价与更大的区块相关。随着出价和 gas price 上升,在后续的 slot 中会销毁更大份额的 ETH。如果 base fee 增加,而 mev 提取量保持不变,构建者对提议者未来收入的出价空间就会减少。

译者注:

(价值流入:MEV + 手续费

价值流出:销毁的 ETH + Proposer 的 PriorityFee + builder 给 Proposer 的 tip + builder 自身的收入)

也就是说,销毁的多了,自然给到 proposer 的就少。

预期的 blob 市场中,容量超过当前需求。被销毁的 blob base fee 将保持在非常小的数量级,即几十或几百 wei。了解这一点对 rollup 来说至关重要:即便支付了足够的 base fee,它们的 blob 交易也可能不会被打包。Blob 市场 base fee 低意味着 blob 交易需要出价高出许多倍,才能激励构建者打包这类交易。在这种情况下,blob 交易将不得不以更高的费用重新提交,导致用户体验不佳。

此外,由于 EIP-4844 下的初始 blob 市场没有打包小费机制 (比如 blob priority gas fee 这样的东西),这进一步加剧了用户体验问题,因为 rollup 无法直接出价竞争打包 blob 交易的空间。

我们来看一个交易示例,假定 blob base gas fee 为 10 wei,计算出相同数据量的 blob 开销。需要注意的是,这个例子假定有一个有效的打包竞价机制,可以对 blob 空间进行竞价。

💡请看示例交易:

Calldata - 129,998 bytes (129429 nonzero bytes) ~ 2,094,140 gas used at 10.56 gwei (10.55 gwei base price + .01 gwei Priority Fee) = .022 ETH

Blob-128,000bytes~131,072gasusedat1gwei(10weibaseprice+.99999999gweipriorityfee)=0.000131072ETH

计算得出的结论是,如果 rollup 使用 blob 市场,由于 blob base fee 较低,它们可以提交的出价可能会增加 100 倍,同时还能节省 150 倍以上的成本。较低的 blob baseFee将使 rollup 在节省开销的同时,还能给出更具竞争力出价。打包费用需要与区块中现有的 mev 机会一样具有竞争力,以补偿构建者面临潜在的重组风险,因此即使出价高出 100 倍也可能不够。这是在没有 blob 预确认的情况下。

通过 mev-commit 实现 blob 预确认

在这种时间博弈中,blob 预确认的主要作用是让一些被预确认的 blob 在 mev 流水线上可用。通过 mev-commit, 每个预确认提供商对交易作出自己的承诺。然后,提供商可以将这些数据授权给其他参与者 (例如区块构建者、中继、定序器)。在 MEV 流水线上其他参与者可用的预确认数据允许区块构建者并行发送匹配的执行负载。这一概念可以被利用来创建预确认的 blob 打包列表,或者由中继协作构建 type3 区块空间。

因为提前得知预先确认的 blob,区块构建者可以在其 slot 开始前就构建未来携带 blob 的区块。这种做法为定价提供了依据,并为构建一个强大的期货市场打下了基础。而该市场将能为 rollup 提供更可靠的交易打包体验,并使得区块空间价格更加稳定。此外,mev-commit 的预确认竞价为 rollup 提供了更可靠的价格发现机制,因为 rollup 可以实时更新其预确认竞价,而无需重新提交整个 blob 交易。

最后,捆绑 blob 和使用预确认竞价机制可以让 rollup 们建立联盟。预确认竞价可以应用于捆绑的 blob 交易或聚合的 blob 中,允许 rollup 之间共享竞价能力和打包空间,帮助促进以太坊 blob 市场走向稳定和继续发展。

结论

总的来说,我们的研究表明,rollup 的经济性正在改善,而新市场的出现则需要考虑更多因素,包括时间博弈和缺乏小费机制带来的影响。对于我们强调的问题,现在就进入解决方案阶段还为时过早,但由于 mev-commit 已在 Holesky 测试网上激活,我们可以很容易地与 PBS 行为实体一起进行实验。Primev 将收集 blob 对区块构建和提议者延迟的影响的相关数据,并希望了解潜在的行为模式。

虽然经济性和用户体验是预确认 Type2 交易的主要驱动力,但在 EIP-4844 下,rollup 和以 rollup 为中心的以太坊生态系统的交易打包体验、可靠性和稳定性将成为预确认 blob 的重要原因。我们还将尝试使用 blob 预确认中继器,它可以利用 blob 预确认和区块构建者协调来改善 Holesky 测试网上的 blob sidecar 广播延迟问题。我们邀请社区参与这项实验,因为它将为整个社区提供潜在的解决方案。

相关资料

EIP-4844 经济学#1: 深入 EIP-4844 费用机制

https://ethconomicsresearchspace.substack.com/p/4844-economics-series-1-cn

The cost of artificial latency in the PBS context

https://arxiv.org/pdf/2312.09654.pdf

Timing Games: Implications and Possible Mitigations

https://ethresear.ch/t/timing-games-implications-and-possible-mitigations/17612

STRUCTURAL ADVANTAGES FOR INTEGRATED BUILDERS IN MEV-BOOST

https://arxiv.org/pdf/2311.09083.pdf

Validator Timing Game Post EIP4844

https://ethresear.ch/t/validator-timing-game-post-eip4844/18129?u=murat

2023 年 1 月到 2024 年 1 月期间 rollup 网络的历史数据

https://github.com/Evan-Kim2028/ethereum_block_explorer/tree/master/panel

What is mev-commit

https://docs.primev.xyz/concepts/overview/introduction