基于多轮MEV-Boost的预确认 - Layer 2

本文提出了Multi-round MEV-Boost (MR-MEV-Boost)方案,旨在通过在单个slot内运行多轮MEV-Boost拍卖来实现基于L1的预确认,继承L1 PBS管道,以缓解基于预确认的负面外部性,同时保留基于Rollup的优势。该方案将每个slot分成多个轮次,每轮进行一次MEV-Boost拍卖,生成并发布预确认的部分区块。

image\ image719×411 59.8 KB

作者:Lin Oshitani ( Nethermind Switchboard, Nethermind Research). 非常感谢 Conor 在撰写本文档时提供的详细来回讨论,以及 Aikaterini, Elena, Ahmad, Anshu, Swapnil, Tomasz, Jinsuk, Quintus, Ceciliaz, 和 Brecht 提供的有益的评论和/或审查。这项工作部分由 Taiko 资助。此处表达的观点仅代表我个人,不一定反映审查者或 Taiko 的观点。

TL;DR(太长不看版)

正如我们在之前的文章 稻草人论证基于预确认 中概述的那样,基于预确认的简单实现会带来许多需要认真考虑的负面外部性。

在这篇文章中,我们将通过 L1 PBS 管道的视角来扩展基于预确认的负面外部性。然后,我们提出 多轮 MEV-Boost,这是一种 MEV-Boost 的修改方案,它通过在单个 slot 内运行多轮 MEV-Boost 拍卖来实现基于预确认。这种方法继承了 L1 PBS 管道,从而减轻了基于预确认的负面外部性。

动机

正如 Justin Drake 在原始帖子中 定义 的,Based Rollup 是指“下一个 L1 提议者可以与 L1 搜索者和构建者合作,无需许可地将下一个 rollup 区块作为下一个 L1 区块的一部分纳入其中”的 rollup。使用 MEV 供应链 图,Based Rollup 可以如下所示:

Based Rollups (5) (1)\ Based Rollups (5) (1)961×482 10.9 KB

请注意,表示为红线的 L2 交易,与表示为黑线的 L1 交易经过相同的流程。通过有效地“借用” L1 PBS 管道,Based Rollup 提供了两个主要好处:

  • 好处 1:由于没有为 L2 排序引入额外的参与者(因此也没有额外的瓶颈),Based Rollup 完全继承了 L1 的抗审查性、活跃性和可信中立性。
  • 好处 2:由于 L1 和 L2 交易由同一实体(构建者)排序,Based Rollup 不仅支持同步 L2-L2 可组合性,还支持同步 L1-L2 可组合性。

Based Rollup 很棒。它们解决了 L2 的碎片化和排序器去中心化问题,同时实现了 L1 的可组合性,并继承了 L1 的抗审查性、活跃性和可信中立性。它们是唯一可以同时拥有这些属性的 rollup。

但是,它们有一个很大的缺点:它们也继承了 12 秒的 L1 区块时间。为了解决确认时间慢的问题,Justin 引入了 基于预确认。在这种方法中,L1 提议者可以选择为Based Rollup 的 L2 交易提供预确认,如下所示:

Based Preconf (2) (1)\ Based Preconf (2) (1)961×482 16.4 KB

由于提供预确认需要技术上的精通,因此大多数基于预确认的设计都包含一种委托机制,允许验证者将预确认义务外包给指定的预确认者,如下图所示:

Based Preconf with delegation (2)\ Based Preconf with delegation (2)961×482 19.8 KB

请注意,L2 和 L1 交易不再共享区块构建管道。因此,Based Rollup 的好处减少了:

  • 关于好处 1:我们向系统中引入了一个额外的瓶颈,即预确认者,它可以审查 L2 交易或通过宕机来降低 L2 的活跃性。因此,L1 抗审查性和活跃性的继承性降低了。
  • 关于好处 2:我们现在有两个并行的区块构建实体:一个用于 L1(构建者),另一个用于 L2(预确认者)。因此,L1-L2 的可组合性现在需要构建者和预确认者之间的协调。这增加了复杂性,并可能导致 构建者-预确认者集成,在这种情况下,提议者不仅将他们的预确认权,而且还将整个区块构建权委托给他们 slot 之前的预确认者。

总之,通过引入预确认,我们失去了以下结构:

Based Rollups (5) (1)\ Based Rollups (5) (1)961×482 10.9 KB

因此,Based Rollup 的许多好处都减少了。

那么,如果我们保持这个管道,但在一个 slot 内多次运行它以实现快速预确认会怎样?这引出了本文档的主要贡献:多轮 MEV-Boost

多轮 MEV-Boost

从高层次讲,多轮 MEV-Boost,或简称 MR-MEV-Boost (发音为“ 米斯特-mev-boost”,感谢 Conor 提供的发音创意 :)),其工作方式如下:

  • 将每个 slot 分成固定数量的 轮次,例如,4 轮次,每轮 3 秒。
  • 在每一轮中,运行一次 MEV-Boost 拍卖。由于拍卖,将签署并发布一个 部分区块(也称为 部分 payload),即部分区块将被 预确认
  • 完整区块在 slot 结束时创建并发布。完整区块应包含完全确认顺序的部分区块,而不应在之前或之间插入任何交易。

回顾:MEV-Boost

在更深入地研究提议的协议之前,让我们快速回顾一下今天在 L1 以太坊中使用的 MEV-Boost PBS 管道。

MEV-Boost\ MEV-Boost715×587 12.5 KB

  1. 构建者将 headerpayloadbid 发送给中继者。
  2. 中继者检查有效性(bid 正确,payload 不包含无效交易等),存储 payload,然后将 headerbid 发送给提议者。
  3. 提议者选择出价最高的 header,对其进行签名,然后将签名的 header 发送给中继者。
  4. 中继者将签名的 header 和相应的 payload 传播到网络。

协议描述

在本节中,我们描述 MR-MEV-Boost 协议。

协议流程概述

为了激励提议者提供预确认,我们引入了一种 预确认交易,其中 预确认小费 的支付以被预确认作为条件。除交易 payload 本身外,它还将包括以下信息:

  • tip:为预确认支付的预确认小费。
  • target_slot:可以包含预确认交易的最近的 slot。
  • target_round:可以包含预确认交易的 target_slot 中最近的轮次。

预确认交易 部分将讨论这些条件的编码和执行。

使用这种新的交易类型,MR-MEV-Boost 的工作方式如下:

MR-MEV-Boost\ MR-MEV-Boost1132×2243 202 KB

  1. 用户将预确认交易提交给构建者。提交可以通过当前 L1 中使用的任何订单流管道进行,例如:
  2. 构建者构建 partial_payload。构建者构建的部分 payload 应仅包含 target_slottarget_round 等于或晚于当前区块/轮次的预确认交易。为了保证这一点,构建者签署 merkle_root(表示为 sig_b),并受到构建者削减条件 1 的约束,该条件在 削减条件部分 中进行了描述。
  3. 中继者检查有效性(例如,bid 正确,partial_payload 不包含无效交易等),存储 partial_payload,然后将 merkle_rootbid 发送给提议者。
  4. 提议者签名(表示为 sig_p)并返回选定的 merkle_root 以及当前的 round
  5. 中继将选定的 partial_payload 以及相关的轮次和签名发布到预确认网络。请注意,预确认网络与现有的 L1 p2p 网络不同。只有对预确认状态感兴趣的实体(部分区块构建者、中继者、完整节点提供者等)必须订阅预确认网络。
  6. 最终用户——或者更准确地说,他们连接到的 L2/L1 完整节点——验证 merkle_root 是否由提议者签名,并且与当前的 round 相关联。确认后,他们接受 partial_payload 作为预确认,并执行它以更新到最新的预确认状态。
  7. 到 6. 在 slot 内重复多个轮次。每个 slot 内的轮次数量将是固定的。最后一轮将与完整区块 MEV-Boost 拍卖同时运行,如 8.-11 所示。
  8. 到 11. 对完整区块进行 MEV-Boost 拍卖。与通常的 L1 MEV-Boost 拍卖的一个重要区别是,merkle_proofs 从构建者传播到提议者。这些证明可证明 partial_payload 以其所预确认的顺序包含在完整区块中,并且在它们之前或之间没有插入任何其他交易。通过验证这些证明,提议者可以确保提议者削减条件 2(在 削减条件部分 中进行了描述)没有被违反,而无需信任中继者(感谢 Brecht 提供了在此处使用 Merkle 证明的想法)。

预确认交易

让我们考虑一下预确认交易的编码。对于 L2,附加字段可以作为交易的自定义编码引入。对于 L1,它们可以通过 ERC-4337 样式的入口点合约来实现,该合约使用附加信息包装合约调用。

为了强制执行到期时间,L2 执行层(或 派生层)和 L1 入口点合约将过滤掉过期的 target_slot 的预确认交易。另一方面,由于 L1 不知道轮次的概念,因此基于 target_round 的到期时间将通过构建者削减条件 1 来强制执行,这将在下一节中进行解释。

削减条件

为了确保完整区块与已预确认的部分区块相匹配,提议者将受到以下限制:

  • 提议者削减条件 1:提议者不得在同一轮次内签署两个冲突的 merkle_root
  • 提议者削减条件 2:最终的 full_payload 应按它们已签名和发布的顺序包含所有 partial_payload,并且在它们之前或之间不得插入任何其他交易。

此外,为了以密码经济学的方式强制执行预确认交易的到期时间,构建者将受到以下限制:

  • 构建者削减条件 1:每个 partial_payload 必须仅包含 target_slottarget_round 等于或晚于当前 slot/轮次的预确认交易。

我们对构建者而不是提议者施加此条件,因为提议者在签名时看不到部分 payload。另一种方法是将其作为提议者削减条件,并要求中继者确保不违反该条件。但是,这将需要提议者信任中继者以避免被削减,而不是像当前在 L1 MEV-Boost 中那样仅依赖中继者来避免错过一个 slot。

用户行为

为了缓解 公平交换问题 ,钱包或最终用户连接到的完整节点应采取以下操作:

  • 用户行为 1:如果预确认的 partial_payload 没有及时发布,则停止提交预确认交易。例如,如果我们在一个 slot 中有 4 轮,那么如果 partial_payload 没有每 3 秒发布一次,则停止提交预确认交易。
  • 用户行为 2:将 target_slottarget_round 设置为合理接近的区块和轮次(例如,提前一两个轮次)。通过这样做,构建者需要及时响应预确认交易,以避免预确认交易失效。

有关如何解决公平交换问题的更多信息,请参见 分析部分

L1-L2 可组合性

由于部分 payload 可以同时包含 L1 和 L2 交易,因此构建者可以通过在部分 payload 中包含 L1-L2 交易包来确保 L1-L2 的可组合性。

未选择加入的 Slot

当当前 L1 slot 的提议者没有选择加入作为预确认者时,L1 交易将由当前的提议者提议,而 L2 交易将由前瞻中的下一个选择加入的预确认者提议(我们遵循 Justin 的 原始基于预确认的设计)。这将导致两个同时进行的 MEV-Boost 拍卖:由当前 L1 提议者签名的通常的 L1 MEV-Boost 拍卖和由下一个预确认者签名的 MR-MEV-Boost 拍卖。因此,在这些未选择加入的 slot 期间,L1-L2 的可组合性和 L1 预确认将会丢失。请注意,此限制适用于所有协议外预确认设计。

分析

在本节中,我们将对提议的协议进行初步分析,并确定其缺点。

我们解决问题了吗?

让我们重新审视 稻草人论证基于预确认 文章中提出的问题,看看 MR-MEV-Boost 是否以及如何解决这些问题。

问题 1:延迟竞赛

延迟竞赛是指搜索者争先恐后地第一个访问预确认者,从而导致同地协作或垂直整合。通过预确认批处理并在批处理中进行拍卖,MR-MEV-Boost 在很大程度上缓解了此问题,因为它促进了基于价格而不是速度的竞争。人们普遍认为,与连续的先到先得排序相比,批处理拍卖有助于减少延迟竞争,如 本文此帖子 中所述。

问题 2:拥塞

当搜索者用概率套利尝试淹没 rollup 时,就会出现拥塞问题。使用 MR-MEV-Boost,由于搜索者被激励参与拍卖而不是求助于垃圾邮件,因此缓解了此问题。

问题 3:小费定价

MEV-Boost 拍卖将处理预确认的小费定价。此外,通过在批处理中引入批处理和拍卖,与提供连续的每笔交易预确认相比,提议者可以更有效地对预确认小费进行定价(从而捕获收入)。

问题 4:公平交换

让我们看看 MR-MEV-Boost 如何解决 公平交换问题 ,提议者扣留发布给用户的预确认。请注意,预确认者被激励尽可能多地扣留预确认承诺,以最大程度地重新排序和插入交易的机会,从而增加他们的 MEV。

有两种情况需要考虑:

  • 如果提议者扣留预确认部分 payload(即停止对 partial_payloadmerkle_root 进行签名),则用户将停止发送预确认请求(用户行为 1),从而减少提议者的订单流,从而减少收入。
  • 如果提议者有意发布空的部分 payload,则待处理的预确认交易将在几个轮次后过期(用户行为 2 和构建者削减条件 1),从而减少提议者的订单流,从而减少收入。

总而言之,最终用户通过将提议者的收入与及时预确认部分 payload 联系起来,来监视和强制提议者的诚实行为。

一种潜在的替代方案是引入一个委员会来监视和证明部分 payload 的及时发布。但是,除非我们将协议纳入 L1 中,否则这将需要对外部委员会的其他信任假设。有关纳入的更多信息,请参见 未来方向部分

问题 5:活跃性

通过现有的基于预确认的设计,在 slot 之前委托预确认职责,活跃性依赖于此单个外部实体来完成预确认者的 slot。另一方面,使用 MR-MEV-Boost,由于我们没有在这种 slot 之前引入对特定实体的“锁定”,因此减少了对活跃性的担忧。如果某些构建者或中继者不可用,则其他人可以介入以维持功能。此外,即使整个多轮 MEV-Boost 管道出现故障,提议者仍然可以选择构建自己的部分区块并独立预确认它们。

问题 6:早期拍卖

由于预确认是通过 MEV-Boost JIT 拍卖提供的,因此不会引入早期拍卖。

轮次间隔

MR-MEV-Boost 中每个轮次可以有多短?如果时间太长,它将降低用户体验;如果时间太短,它将对构建者和中继者施加过度的网络和硬件要求,从而损害去中心化。

在每一轮中,中继者有两项任务:

  • (A) 运行部分区块拍卖。
  • (B) 传播部分区块。

任务 (A) 包括构建者构建区块所需的时间、中继者验证区块所需的时间以及两次网络往返:一次在构建者和中继者之间,另一次在中继者和提议者之间。假设 区块构建 、验证和网络往返各需 500 毫秒,我们得到一个大约 2 秒钟的估计值。

对于任务 (B),考虑到 L1 为区块传播分配了 4 秒钟,为共识分配了 8 秒钟,并且部分区块不需要共识,因此传播时间的上限是 4 秒钟。在实践中,它应该短得多,因为只有区块构建者、中继者和完整节点提供者需要接收这些部分区块,并且他们比普通验证者具有更好的网络带宽和更低的延迟。让我们假设此分析为 1-2 秒。

将 (A) 的 2 秒和 (B) 的 1-2 秒结合起来,每轮需要 3-4 秒。

这些估计值非常近似,需要进一步的研究和分析。此外,如 此处 所述,使间隔太短会加剧批处理持续时间结束时的延迟竞争,应该考虑这一点。

缺点

接下来,我们将概述与现有的基于预确认的设计(例如 原始帖子 中描述的设计)相比,此协议的缺点。对预确认的更一般缺点的分析将保留给以后的工作。

没有光速连续预确认

MR-MEV-Boost 不提供具有数百毫秒延迟的光速预确认,例如 Arbitrum 的先到先得排序器。相反,它提供批处理中的预确认,它们之间的延迟为几秒钟,类似于 Optimism 的方法

SolanaJito 提供了有关连续预确认与批处理预确认的有趣案例研究。在 Solana 的“连续区块构建”中,领导者连续地流式传输(即预确认)已处理的交易。结合 Solana 的固定低费用,连续区块构建导致网络垃圾邮件和延迟竞赛,导致验证者 浪费 58% 的时间来处理失败的套利。Jito 通过引入 200 毫秒的“减速带”(批处理)和一个 mev-geth 样式的批处理捆绑拍卖解决了这个问题,并通过他们的 Jito 验证器客户端获得了 80% 的份额。此示例表明,由于垃圾邮件,连续预确认可能无法持续,并且需要每个批处理进行批处理和一些拍卖。有关更多详细信息,请观看 Jito 联合创始人 Zano Sherwani 的 informative 演讲,此处

中继负担

MR-MEV-Boost 给中继者带来了额外的负担,而没有激励措施。中继者不必管理单轮 MEV-Boost 拍卖,而是必须在单个 slot 内处理多轮,每轮都在有限的时间范围内进行。如果运营中继者的成本增加过多,则可能导致进一步的中继者中心化和 构建者-中继集成,或者可能没有中继者选择支持 MR-MEV-Boost。中继者激励措施是 L1 中 长期存在的问题 ,并且 MR-MEV-Boost 可能会使这种情况恶化。

缓解此问题的一种方法是纳入 乐观中继 方案,以降低中继者的运营成本。通过这种方法,中继者乐观地假设区块构建者的诚实性,并跳过验证来自构建者的 payload 的工作。如果以后发现构建者偏离了诚实行为,他们的抵押品将用于退还给提议者。乐观中继将特别有用,因为它允许中继者在验证部分区块时绕过验证Based Rollup 交易的需求。

另一个潜在的解决方案是提议者与中继者共享预确认小费收入,以补偿额外的工作量。

Blob 效率

到目前为止,我们已经模糊了 L1 和 L2 预确认之间的界限。这在某种程度上是有意的,因为 L2 交易包含在 L1 交易中。但是,在某些情况下,差异变得很重要。

考虑这样一种情况:一轮中的 L2 交易无法填满整个 blob。如果我们仅通过预确认包含 L2 交易的 L1 交易来支持 L2 交易的预确认,那么我们将面临一个问题。提议者要么必须在一轮结束时预确认部分填充的 blob 交易,要么等待另一轮收集足够的交易来填充 blob。

一种解决方案是允许提议者承诺一批 L2 交易,而无需将它们链接到特定的 L1 交易。这将允许最终完整区块的构建者在 slot 结束时将 L2 交易聚合到一个或多个 L1 blob 中。

MEV-Boost 的问题

MR-MEV-Boost 继承了现有的 L1 MEV-Boost 管道,这也意味着我们继承了 MEV-Boost 的许多缺点,例如 对少数中继者和构建者的依赖。但是,Based Rollup 的目标是继承 L1 的安全性,而不是超过它。因此,作为一种基于解决方案,“与 L1 一样糟糕”是我们能做到的最好的。

未来方向

MR-MEV-Boost 可以概括为 部分区块预确认,其中提议者通过承诺并在他们的 slot 期间发布部分区块来逐步构建区块。

未来的一个方向是将部分区块预确认纳入 L1 协议中,以实现更快的区块时间。这符合 Vitalik 最近的 帖子 ,与 MR-MEV-Boost 等协议外设计相比,具有以下几个好处:

  • 移除“未选择加入”的提议者,为所有 slot 启用 L1 预确认和 L1-L2 的可组合性。
  • 充分利用以太坊的验证器集,可能会引入轻量级的 PTC 类似的证明,用于及时发布部分 payload。
  • 为增加区块时间而不降低 UX 打开了大门,这可能有助于启用 单 slot 终结性

相关工作

在他的 最新帖子 中,Jon Charbonneau 详细解释了Based Rollup/预确认的工作方式以及基于预确认的中心化风险。

此外,部分区块预确认与 包含列表 研究密切相关,因为两者都可以被视为“部分区块构建”的更广泛概念,其中区块的不同部分在不同的时间由不同的实体构建。例如,来自 Kyodo (EigenLayer) 的 MEV-Boost++ 提案 类似于 MR-MEV-Boost,因为两者都通过对提议者施加额外的削减条件来启用对部分区块的早期承诺。

结论

我们介绍了 MR-MEV-Boost,该设计通过在单个 slot 内运行多轮 MEV-Boost 拍卖来实现基于预确认。通过继承 L1 PBS 管道,MR-MEV-Boost 减轻了基于预确认的许多负面外部性,同时保留了Based Rollup 的好处。

Nethermind Switchboard,我们积极研究并解决基于预确认的开放挑战。我们还在与 Taiko 密切合作,以开发与 L2 PBS 兼容的 基于预确认的 PoC ,包括 MR-MEV-Boost。请继续关注更多更新!

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

0 条评论

请先 登录 后评论
以太坊中文
以太坊中文
以太坊中文, 用中文传播以太坊的最新进展