利用预确认解决Blob费用滑点问题

该研究探讨了2024年6月以太坊blob市场拥堵期间,blob fee高企和包含时间延长的问题,指出blob滑点和nonce gaps是导致市场效率低下的主要原因。

利用预确认解决 Blob 手续费滑点问题

Primev

概要

  • 过度的 Blob 手续费滑点: 平均 730 秒的长时间包含加剧了巨大的手续费差额,我们称之为 blob 滑点,显著增加了 Rollup 的成本。

  • 无效的 Blob 发布策略: Rollup 在 2024 年 6 月的拥堵期间采用了各种方法,但未能减少 blob 包含时间或减轻手续费滑点。

  • 网络不稳定和构建者审查: 由于重组率的增加,网络经历了不稳定性高峰,大约一个月重组的 10% 发生在半天之内。构建者审查了 blob,因为他们没有因更高的重组风险获得足够的补偿。

  • Blob 预确认实验: 我们在 mev-commit 测试网上应用了 Blob 预确认,并证明它是一种更快、更私密的 blob 竞价方法——通过减少包含时间、减轻手续费滑点以及通过私有 blob 内存池促进手续费隐私,提供了一个有希望的解决方案。

介绍

本研究深入探讨了 2024 年 6 月拥堵期间 blob 市场面临的挑战,重点关注导致更高费用和延长包含时间的因素。两个主要问题——blob 滑点nonce 间隔——导致了一个效率低下的 blob 市场,而现有的 rollup 策略无法充分解决这些问题以实现更短的包含时间。

通过对 Holesky 网络的深入分析,我们提出了预确认作为增强 blob 交易效率的解决方案。我们通过 mev-commit 测试了预确认,mev-commit 是一个促进预确认竞价实时交换的 p2p 平台。mev-commit 还通过加密承诺得到加强,从而实现完整的端到端隐私。

我们的研究结果表明,预确认显著提高了包含时间,并为 Rollup 创建了一个更具成本效益的环境。除了减少手续费滑点和包含时间外,这种方法还加强了网络稳定性,并通过私有 blob 内存池促进了创新。

Blob 市场拥堵:原因和影响(2024 年 6 月)

blob 手续费市场在恢复到较低价格之前出现峰值

blob 手续费市场在恢复到较低价格之前出现峰值

包含时间增加

每分钟 30 个 blob 的最大容量不堪重负,导致每个区块超过 100 个待处理 blob。这种波动导致 blob 市场停止运作,使平均 blob 包含时间达到 730 秒,标准差为 5 个区块,即 184,000%(2049 秒)。

100 个待处理 blob =

100 个待处理 blob =

尽管 Rollup 采用了不同的策略,但没有一个能够降低 blob 包含时间或减轻手续费滑点。特别是 Arbitrum,在处理来自 Layer Zero 空投的大量流量时面临重大困难,但它设法动态切换到 calldata以应对这种情况。

相比之下,没有这种能力的 Rollup 产生了更高的费用,直到手动切换到 calldata。例如,Blast 为单个 blob 支付了 5.22 ETH,而 Linea 完全停止发布 blob。

Linea 决定在整个期间停止发布 blob。

Linea 决定在整个期间停止发布 blob。

网络不稳定:构建者审查和重组风险

在市场波动期间,区块构建者广泛参与了 blob 审查。如下图所示,其中显示了大量区块是在 mempool 包含许多待处理 blob 的情况下,以零 blob 构建的。我们知道一些区块构建者正在尽最大努力包含 blob,但在高需求时期,这种社会后备方案是不够的。

这种行为可能归因于缺乏适当的经济激励,因为构建者没有因包含 blob 相关的更高重组风险获得补偿。

EF 的 Toni 进行的一项 blob 重组研究 显示,每月发生 92 次重组,遗漏 1,202 个 slot。特别是 1 月份每个 slot 6 个 blob 的重组率为 0.3%。在这次持续约 3,000 个区块的紧张 blob 拥堵事件中,6 个 blob 区块的遗漏 slot 率飙升至 1.05%,blob 重组率飙升至 7%。

重组风险的增加和缺乏经济补偿可能促使构建者审查 blob,进一步加剧了这段时期的拥堵和不稳定。

Blob 竞价策略效率低下

当前,Blob 发布策略面临两个主要的效率问题,阻碍了更快的交易包含:手续费滑点和 nonce 间隔。

  1. 手续费滑点:这是指提交交易时的手续费与包含时实际支付的手续费之间的差异。由于市场状况波动和包含时间延迟,Blob 交易尤其容易出现滑点。

  2. Nonce 间隔:以太坊的内存池按顺序处理交易,这意味着 nonce 较低的交易必须在 nonce 较高的交易之前包含。这可能会造成瓶颈,尤其是在较低 nonce 的交易手续费较低时,迫使较高手续费的交易等待。

这些效率问题扰乱了竞价过程,使 Rollup 难以确保最佳定价和更快的包含。因此,交易定价和包含受到不利影响,导致更高的成本和延迟。

Blob 手续费滑点

Blob 滑点是指一种多区块手续费滑点,当提交到内存池时的 blob 市场价格与最终包含在已确认区块中的价格之间存在差距时发生。这种滑点反映了提交和确认之间的手续费差异,通常由市场波动或区块包含延迟驱动。

正滑点值意味着确认时的 blob 手续费高于提交时,表明 Rollup 支付了过多的费用。在 blob 拥堵事件期间,如下面的图表所示,blob 滑点明显比非 blob 滑点更明显。

如下面的图表中负值所示,最“有利”的 blob 滑点似乎发生在较短的包含时间内。这是合乎逻辑的,因为较短的内存池持续时间降低了市场定价的不确定性。

优先手续费滑点

Blob 交易表现出负优先手续费滑点,这意味着实际支付的手续费低于预期,使 Rollup 受益。相比之下,如下图所示的正 blob 手续费滑点反映了由延迟包含引起的超额支付。虽然构建者无法捕获 blob 滑点,因为手续费会被烧毁,但他们仍然会收取优先手续费。

负优先手续费滑点消除了构建者优先处理这些交易以实现更快包含的动机,从而导致市场定价和更快的交易处理之间的不一致。

Nonce 间隔

Geth 的内存池强制执行连续 nonce,这意味着较低 nonce 的交易必须在较高 nonce 的交易之前包含,而不管优先手续费金额如何。对于 Rollup 来说,这意味着即使后来的交易手续费较高,它们仍然处于待处理状态,直到包含最早的交易。因此,竞价受到最低 nonce 竞价强度的限制。

负 nonce 间隔表示 blob 是按顺序提交的,而正间隔表示首先提交了以后的 nonce。下图显示所有主要的 Rollup 在其提交中都有 nonce 间隔,这解释了为什么具有更高优先手续费的交易没有被包含

其中的一个问题是,如果 Rollup 想要加快多个待处理 blob 的包含时间,它必须首先重新提交所有具有更高手续费的较低 nonce blob。在动荡的情况下,这将通过增加提高包含率所需的 blob 重新提交的数量来测试公共内存池的限制。

预确认:增强 Blob 发布策略

预确认通过加速包含并最大限度地减少延迟来直接解决手续费滑点问题,从而降低了 Rollup 的成本并显著提高了网络稳定性。通过减少滑点,预确认使 Rollup 具有战略优势,提高了成本效益和竞争力。至关重要的是,网络稳定性得到了加强,因为只需要更新 blob 包含手续费(预确认竞价),而不是通过内存池重新提交整个 blob 交易。

然而,即使有了预确认,blob 手续费滑点仍然是 Rollup 必须有效管理的额外成本。论文 Base Layer 上的高效 Rollup 批量发布策略强调了优化发布策略以平衡发布和延迟成本的重要性。论文 Base Layer 上的最佳发布策略 进一步将这些结果推广到 zk 和乐观 Rollup,将乐观 Rollup 成本函数归类为具有线性衰减的同质发布成本,并将 zk Rollup 成本函数归类为恒定的发布成本。

预确认的速度和可靠性

为了评估预确认对包含速度的影响,我们将预确认接受时间与标准内存池包含时间进行了比较。为了在真实条件下测试预确认的有效性,我们重点关注难以及时包含的 blob。我们发送了 6 个具有不具竞争力的优先手续费竞价的 blob 交易。

如下图所示,大约 ~247,000 个 blob 在 24 秒内得到确认,而 ~15,000 个 blob 花费了更长的时间,有些超过 24 秒。下图仅显示 24 秒后确认的 blob。

每个预确认都有一个 decayStartTimestamp,标记竞价价值开始下降的点,一旦构建者接受竞价,dispatchTimestamp 就会记录在链上,从而确保竞价时间安排的透明度和责任性。有关竞价衰减机制的详细信息 此处。我们使用竞价衰减函数来衡量预确认竞价接受延迟,即构建者通知竞标者预确认已被接受所需的时间。

平均而言,预确认竞价延迟仅为 ~75 毫秒——比通常通过公共内存池包含所需的 ~96 秒(8 个区块)快得多。这代表了 1000 倍的改进。

这种更快的响应时间允许更敏捷的竞价策略,尤其是在公共内存池包含时间可能飙升的高波动性或拥堵期间,从而允许 Rollup 对更精细的控制和更复杂的 blob 发布策略。

你只需要预确认竞价

如果预确认(preconf)竞价足够高,它可以用作优先手续费的替代品,无缝集成到区块构建过程中。我们的包含率测试(如下图所示)表明,仅使用预确认竞价提交的 blob 可以可靠地推动交易包含。

私有 Blob 内存池

使用 mev-commit,Rollup 可以将它们的 blob 交易负载直接 发送到构建者,从而创建一个私有内存池。对于 Rollup 来说,使用私有内存池 有很多优点,因为它混淆了包含竞价金额,绕过了对 blob 不宽容的公共内存池规则,并防止了更复杂的 Rollup 抢先交易其他 Rollup 的 blob。

此外,与公共内存池相比,私有 blob 内存池提供了更大的创新空间。私有内存池还允许更多的创新,例如 Titan 的自定义 blob 池,它允许从单个发送者发送 blob 交易的所有排列,允许部分 blob 包含,并允许具有相同 nonce 的多个交易。

结论

这项研究强调了预确认在优化 blob 市场方面的变革潜力,尤其是在拥堵时期。 预确认大大减少了 blob 包含时间并减轻了手续费滑点。 这通过确保最佳交易定价和更快的包含为 Rollup 提供了战略优势。 此外,预确认的实施通过减少对成本高昂的公共内存池重复提交的需求来增强网络稳定性。

此外,私有 blob 内存池开辟了新的创新途径,使 Rollup 能够绕过公共内存池的严格限制,从而进一步提高交易效率。 诸如 Titan 的自定义 blob 池之类的策略的集成证明了通过私有基础设施优化 blob 交易的更广泛潜力。

随着以太坊生态系统继续扩展,预确认对于解决当前限制 blob 市场的瓶颈至关重要。 未来的工作应探索改进预确认定价模型,优化 blob 发布策略,并加深私有 blob 内存池的集成,最终为更高效和更有弹性的以太坊网络做出贡献。

  • 原文链接: mirror.xyz/preconf.eth/x...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
preconf.eth
preconf.eth
江湖只有他的大名,没有他的介绍。