Vanilla Based Sequencing - Layer 2 原味排序 - Layer 2

本文介绍了Vanilla Based Sequencing,这是一种由L1提议者主导的rollup去中心化排序机制设计,旨在提供与中心化排序相媲美的用户体验,同时实现参与者的收益,并支持无需信任的跨rollup互操作性。该设计通过L1提议者作为L2排序器,并引入惩罚机制来保证诚实行为,从而解决了原始基于排序的冷启动问题。

作者: George Spasov (LimeChain), Daniel Ivanov (LimeChain)

感谢早期反馈: Justin Drake (Ethereum Foundation), Brecht Devos (Taiko), Péter Garamvölgyi (Scroll), Simon Brown (Linea), Cooper Kunz (Aztec), Santiago Palladino (Aztec), Nick Dodson (Fuel)

这项研究的实现离不开 以太坊基金会 的研究资助支持。

TLDR

Vanilla Based Sequencing 是一种由 L1 提议者主导的 rollups 去中心化排序机制的设计。其主要目标是:

  • 提供与中心化排序相比,在预确认时间、保证和交易成本方面同等甚至更好的用户体验
  • 使参与者(包括 rollup 协议本身)能够产生收入
  • 实现与其他 rollups 的可组合性,而无需信任单个中心化排序层
  • 将其活跃性保证建立在以太坊 L1 之上。
  • 消除对单一实体的信任需求,并确保有相当规模且多样化的排序器集合,以便在可接受的时间范围内,被审查的交易能够到达愿意对该交易进行排序的诚实验者。
  • 通过为早期参与者提供自然更高的激励,解决原始 基于排序 的冷启动问题。

在该设计中,L2 排序由已选择参与作为 L2 排序器并因不当行为而受到惩罚的 L1 提议者执行。默认的 L2 排序器是当前 slot 的 L1 提议者。如果当前的 L1 提议者没有选择成为 rollup 协议的一部分,则会随机选择另一个已选择加入的 L1 提议者来替换他们。

L2 排序器在此 L1 slot 期间对 rollup 序列具有垄断权,并且可以向用户提供与中心化排序质量相当的服务(即,预确认)。

去中心化排序的目标

当前以太坊 rollup 的大部分由具有中心化和/或许可排序的 rollups 组成。这些中心化排序层既引入了信任假设,又改善了用户体验。

去中心化排序协议的目标是解决缺点,同时保持或改善中心化排序提供的优点。

安全且不牺牲用户体验

与 L1 和具有去中心化排序器的 rollups 相比,当前具有中心化排序器的 rollups 提供卓越的用户体验。

首先,由于它们的持续垄断,它们提供了快速的包含和执行预确认。这现在是用户应该期望的交易标准。

其次,目前具有中心化排序器的 rollups 履行了以 rollup 为中心的未来承诺,与 L1 相比,交易成本降低了几个数量级。

去中心化排序设计的目标是使 rollup 协议能够提供与中心化排序相比,在预确认时间、保证和交易成本方面同等甚至更好的用户体验。

经济上可持续

当前具有中心化排序器的 rollups 从其 rollups 中的交易费用中产生收入。

去中心化排序设计的目标是使所有参与者(包括 rollup 协议本身)都能够盈利。

围墙花园之上的可组合性

具有中心化排序的 Rollups 无法提供与其他 rollups 的同步可组合性,并且除非它们选择加入单个中心化共享排序器,否则它们将不得不保持碎片化。这可能导致多个 rollups 具有单个受信任的中心化排序器,并进一步加剧中心化排序的缺点。

去中心化排序设计的目标是实现与其他rollups的可组合性,而无需信任单个中心化排序层。

继承以太坊活跃性而非外部活跃性保证

具有中心化排序的 Rollups 依赖于单个中心化排序器来保证系统的运行。

去中心化排序设计的目标是从以太坊 L1 活跃性保证中获得其活跃性保证。

基于协议而非信任的抗审查性

具有中心化排序的 Rollups 要求用户信任它们不会审查他们。这使得中心化排序器成为单点故障,并使 rollup 面临地缘政治风险等问题。

去中心化排序设计的目标是消除对单一实体的信任需求,并确保有相当规模且多样化的排序器集合,以便在可接受的时间范围内,被审查的交易能够到达愿意对该交易进行排序的诚实验者。

去中心化排序的类型

去中心化排序设计的主要决策是选择下一个 L2 排序器。Rollup 团队目前正在探索两类设计思想 - “完全自由” 和 “领导者选举”。

完全自由设计将排序器的角色视为在任何时候都完全开放。在 “完全自由” 排序中,任何用户都可以充当排序器并在 L1 中提交排序交易。(可能多个)排序交易在 L1 区块中的包含顺序由 L1 提议者和 L1 区块构建流程决定。

领导者选举设计认为单个排序器被选为在某个时间段内对排序权具有垄断权(通常以 L1 区块表示)。各种 rollup 研究人员正在探索两类领导者选举设计思想 - “外部排序” 和 “基于排序”。

外部排序认为领导者选举是通过 L1 共识算法之外的算法执行的。Rollup 具有自己的一组参与者,这些参与者已选择加入共识算法(及其加密经济激励 - 即,staking)以选择 L2 排序器。

基于排序认为领导者角色 (L2 排序器) 被分配给当前的 L1 提议者。为了成为 rollup 协议选择过程的一部分,L1 提议者需要选择加入对其 L1 stake 的额外 slashing 条件。

Vanilla Based Sequencing

本文档概述了基于排序概念的设计迭代,旨在实现去中心化排序的所有概述目标。原始基于排序概念和 vanilla based sequencing 概念之间的主要区别在于,当当前 L1 slot 提议者未选择成为 L2 排序器时,协议的行为。

该设计旨在解决“冷启动”问题 - 即使在早期 L1 提议者的参与度预计较低时,也能实现去中心化排序的预期目标。这是一个重要的设计考虑因素。

以下各节将回顾 “vanilla based sequencing” 设计的三个关键设计建议。

L2 排序器选择

Vanilla based sequencing L2 排序器选择从与原始基于排序相同的总体思路开始 - L2 排序器是 L1 提议者。为了使 L1 提议者有资格成为某个 rollup L2 排序器,L1 提议者需要选择加入 slashing 条件 - 因在 rollup 中作为排序器的不当行为而受到惩罚。

该设计认识到只有一部分 L1 提议者会选择成为 rollup 的 L2 排序器。这种细微差别需要该机制在两种可能的情况下定义排序器选择:

  1. 主要选择 - 当当前 L1 提议者已选择成为 rollup 的 L2 排序器时(以绿色表示)
  2. 回退选择 - 当当前 L1 提议者选择成为 rollup 的 L2 排序器时(以蓝色表示)

Preconfirmations-Vanilla Based Sequencing.drawio\ Preconfirmations-Vanilla Based Sequencing.drawio851×720 55.5 KB

主要选择

主要选择情况下,当前 L1 提议者已选择成为 L2 排序器(如上图中以绿色表示)。rollup 协议会自动将 L1 提议者分配为此Slot的 L2 排序器。在此期间,此提议者能够提供最佳的安全性和及时性保证 - 排序交易将包含在此区块中,并且正好包含在此区块中(如果没有重组发生)。作为 L2 排序器,L1 提议者能够从交易费用和从 rollup 交易中提取的价值中获得额外收入。

回退选择

原始基于排序概念的一个缺点是出现 “排序差距” - 其提议者未选择成为 L2 排序器的 L1 Slot。这些差距导致了不可预测的长排序时间 - 下一个选择加入的 L1 提议者可能超出了当前的 L1 提前量。这种差距会导致 rollup 服务降级。

回退选择情况下,当前 L1 提议者选择成为 L2 排序器(如上图中以蓝色表示)。为了应对排序差距,rollup 会从其他选择加入的 L1 提议者中随机抽取一个 L1 提议者,并将其分配为 L2 排序器。作为 L2 排序器,L1 提议者能够从交易费用和从 rollup 交易中提取的价值中获得额外收入。

与主要选择情况不同,L2 排序器不再对 L1 Slot具有垄断权。这就要求 L2 排序器采取策略,以最大限度地提高其排序交易被包含在分配的Slot中,以及正好包含在分配的Slot中的机会。此类策略可能包括但不限于,以增加的基础小费将排序交易发送到公共 L1 交易内存池。

Rollup Slot和排序频率

在上图中,我们将一个 rollup Slot - 单个 L2 排序器对排序具有垄断权的时间 - 等同于一个 L1 Slot。

根据 rollups 的使用情况和机制,某些 rollups 可能希望通过将 rollup 大小调整为多个 L1 Slot来暂时或永久地降低排序频率。

在跨越多个 L1 Slot的 rollup Slot中,排序器选择标准保持不变,但仅考虑 rollup Slot的最后一个 L1 Slot应用。

协议中惩罚机制的要求

与任何类型的排序类似,vanilla based sequencing 要求对排序器的不当行为进行惩罚。这种惩罚机制可能会有所不同,并且是rollup协议的设计决策。几个流行的选择是:

  • Staking - 要求 L2 排序器发布一个stake,该stake会在不当行为时被削减。这种方式可以是重新staking - 拿出你的 ETH 验证器 stake,或委托staking - 允许其他用户代表排序器发布stake。
  • Bonding - 要求 L2 排序器每次排序时都发布stake,并在达到最终状态且未检测到不当行为时将其取回。

在 vanilla based sequencing 的上下文中,唯一重要的要求是存在这种惩罚机制,以阻止排序器的不当行为。

选择机制

大多数选择机制都是在链下执行的,并在链上进行验证。此验证是链上排序过程的一部分,并且是处理此 rollup 排序的智能合约或最终确定机制的逻辑的一部分。

第一种选择是在 L1 rollup 智能合约中执行选择。合约需要验证排序器是否有资格成为当前的 L2 排序器。由于 L1 执行层无法访问当前 L1 提议者,因此需要作为后续 L1 区块中的单独交易执行此检查,或者需要采用乐观挑战机制。

第二种选择是让 rollup 在其最终确定机制 - 有效性或欺诈证明中包含对排序器正确选择的验证。

在这两种情况下,都可以根据当前的 L1 提前量提前知道该选择,并且可以在链下有效地验证该选择。

选择加入和选择验证的机制是 其他研究文档 的主题。

交易列表构建委托

成为一个或多个 rollups 的排序器会增加选择加入的 L1 提议者的复杂性要求。对于任何 vanilla based sequencing rollup 而言,服务质量的一个重要因素是较高的 L1 提议者参与率。提高 L1 提议者的复杂性要求和较高的 L1 提议者参与率是众所周知的“拉锯战”。

为了应对这场战争,建议在 vanilla based sequencing rollup 之上建立交易列表构建委托机制。vanilla based sequencing 设计可以在没有此委托机制的情况下完全运行,但需要提高 L1 提议者的复杂性。

以 MEV-boost 的方式,选择加入的 L1 提议者可以选择将其交易列表构建委托给辅助区块构建流程。

列表构建流程是 其他研究文档 的主题。

预确认

与 L1 和去中心化排序设计相比,当前的中心化排序器 rollups 提供了卓越的用户体验。这种用户体验现在正在成为用户期望的最低标准。此用户体验的一个主要组成部分是能够快速预确认交易包含和/或执行到其发送者。对于 vanilla based sequencing 而言,自然重要的是努力达到并超越预期的用户体验。

系统需要两种类型的预确认。

第一种类型的预确认是交易包含预确认。此预确认保证交易包含在后续 rollup Slot中。这些对于简单的转账等用例很有用。

第二种类型的预确认是更强的执行状态预确认。它允许指定在交易执行前后 rollup 状态的某些部分的所需值。这些对于更复杂的用例(如 DEX 交易和/或套利)很有用。

Preconfirmation Flow - Simple

两种预确认类型都要求排序器承诺包含某个用户交易。主要区别在于交易的排序。在序列的上下文中,预确认交易的包含可以位于序列中的任何位置。状态预确认交易要求直到此交易的交易列表具有特定顺序。

包含预确认需要对交易有效性进行简单的检查 - 帐户余额、nonce 等。

执行状态预确认需要更多的复杂性才能提交和定价。目标交易之前的交易可能会更改预执行状态并使所需的后状态无效,从而使整个预确认无效。实际上,这意味着排序器必须维护并提交到列表顶部的有序交易列表。

为了提高用户体验的可用性并使钱包能够在拒绝或预确认违约的情况下隐藏重试的复杂性,建议使用 deadline 字段。这样的字段使钱包能够在没有用户重新签署交易的情况下进行重试。

两种类型的预确认都对排序器可以排序的交易列表施加了某些约束。这种约束在不同程度上限制了排序器可以从该序列中提取的价值。因此,两种预确认都需要用户向提议者支付额外费用以换取他们的保证。

预确认的机制及其定价是 单独研究文档 的主题。

Rollup 的收入

交易费用和 MEV 是 rollup 的两个主要价值来源。所有这些都在排序时捕获(假设排序的交易可以最终确定)。

为了确保协议产生收入而不是被迫无私,建议 rollup 捕获一部分排序收入。具体比例和机制是 rollup 协议本身的设计决策。

sequencing-design-space-Value Flow.drawio\ sequencing-design-space-Value Flow.drawio941×391 36.9 KB

一个简单的示例机制可以看到 rollup 在 L2 排序器余额增加之上嵌入佣金 Z%这种佣金费用与协议的成功息息相关,因为更多的交易表明高质量的服务并且为 rollup 和排序器的收入都带来了增加。

通用同步可组合性

rollup 设计自然适合成为更广泛的通用同步可组合性 (USC) 机制的一部分。

假设多个 rollups 使用 vanilla based sequencing 设计,则对于其提议人已选择成为两个或多个 rollups 的 L2 排序器的 L1 Slot,可以实现 USC。在这些Slot中,L1 提议人成为共享 L2 排序器。此共享 L2 排序器可以提供额外的跨 rollup 服务,例如原子消息传递和超级交易。

排序器违规

无论选择类型如何,排序器都有几种违反协议的方式。为了阻止违规和不当行为,rollups 需要嵌入惩罚机制(在排序器选择部分中讨论)。如果发生违规,预计会对排序器进行惩罚。

以下是适用于 vanilla based sequencing 的违规和错误的简短列表,预计会因违反和错误而受到惩罚。此列表绝非详尽无遗,rollups 应根据其特定设计进行调整。

排序器活跃性和及时性故障

此违规行为的特征在于 L2 排序器未在其 rollup Slot内包含 L1 排序交易。此故障可以由 L1 智能合约客观地证明。

重要的是要注意,主要排序中的原因只能归因于 L1 提议者或其委托流程。在回退排序的上下文中,活跃性故障可能是由于 L2 排序器无法保证排序交易的按时包含,原因是缺乏对 L1 Slot的垄断。

这种差异可能会改变对 L2 排序器的惩罚的严重程度。此外,这是回退排序器必须考虑并尽可能减轻的风险 - 例如,通过在排序交易上增加 L1 基础小费。

预确认违约

此违规行为的特征在于 L2 排序器违背了他们的预确认承诺。可以向 L1 智能合约证明的特定方式是 rollup 的设计决策,但强烈建议使用签名承诺

成为 Vanilla Based Rollup 的要求

以下是两个列表,以帮助读者区分 rollup 被认为使用 vanilla based sequencing 的强烈要求,以及 rollup 要做出的设计决策。随着时间的推移,这两个列表都可能会发生变化,并且会受到社区共识的影响。

最低可行 Vanilla Based Sequencing 要求

  • 排序器选择包括主要选择当前 L1 提议者(如果选择加入)和在其他选择加入的 L1 提议者中进行回退选择(如果没有选择加入)。
  • 提供包含预确认的能力
  • 允许参与者产生收入

Rollup 设计决策

  • 排序频率
  • 排序器违规的惩罚机制
  • 支持状态预确认
  • 发现违规的机制
  • Rollup 协议的收入来源
  • 存款、最终确定和提款机制

目标达成分析

安全且不牺牲用户体验

Vanilla based sequencing 通过去中心化排序器组来提高 rollup 协议的安全性。通过将 L1 提议者作为 L2 排序器参与进来,该设计提供了尽可能高的及时性保证。

Vanilla based sequencing 的一个主要重点是支持与中心化排序同等甚至更好的用户体验的能力。这是通过预确认和实现与其他 rollups 的可组合性来实现的。

经济上可持续

Vanilla based sequencing 设计中的任何参与者都不会被要求变得无私。所有参与者,包括 rollup 协议本身,都为其所提供的服务产生收入。

围墙花园之上的可组合性

Vanilla based sequencing 是一种中性的设计理念,可以轻松扩展到同步可组合性。由于 L1 提议者被重用为 L2 排序器,因此 L1 提议者可以在 rollups 之间实现可组合性。

继承以太坊活跃性而非外部活跃性保证

任何 rollup 的活跃性保证都来自其排序器整体的活跃性。由于 L1 提议者被重用为 L2 排序器,因此 vanilla based sequencing 概念继承了以太坊活跃性保证。

基于协议而非信任的抗审查性

具有中心化排序的 Rollups 要求用户信任它们不会审查他们。这使得中心化排序器成为单点故障,并使 rollup 面临地缘政治风险等问题。

与中心化排序不同,vanilla based sequencing rollup 的抗审查性随着选择加入成为 L2 排序器的 L1 提议者集合的增加而增加。由于它们的等效性,对 L2 排序器的信任假设与对 L1 提议者本身的信任假设相似。L1 提议者群体的多样性和明确的选择加入的经济激励使任何单个排序器都不是长期的单点故障,并降低了地缘政治和技术风险。

更多研究资源

hackmd-github-sync-badge

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

0 条评论

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