成为“基于”状态:通往去中心化排序的路径 - Layer 2

本文探讨了 Rollup 从中心化排序器逐步过渡到基于 L1 验证者集的去中心化排序的方法,提出了一个分阶段实施的方案,首先在中心化排序的基础上叠加预确认机制,然后逐步引入更多的网关(Gateways)参与排序,最终实现完全无需许可的排序。该方案旨在提高 Rollup 的性能、弹性和与以太坊 L1 的对齐,同时降低迁移风险。

_由 Lorenzo 和来自 GattacaKubi 共同撰写。特别感谢 Justin, Drew, Jason, Ladi, Connor, Liam, Sam B, Matthew, Lin, Brecht, Can, Thanh, KevinSam J 提供的反馈和建议。反馈不一定代表认可。_

前提: 本文假设读者熟悉以下概念:Based Rollup预确认PBS

设置背景

本文为当前大规模运营中心化排序器的 Rollup 提供了一个逐步过渡到基于 Rollup 的实用路线图。

为了展示如何实现这种过渡,本文首先概述了基于排序的设计,然后解释了如何逐步采用该设计的各个部分来实现过渡。

虽然已经提出了几种利用 L1 提案者进行排序服务的方法,例如完全自由(完全无政府状态)和 vanilla based sequencing,但本文概述的设计建立在 L1 提案者将排序权委托给称为网关的专门第三方的方法之上。这个概念最初在“基于预确认”和“Vanilla Based Sequencing”中讨论过,旨在 避免验证者过载

概述的设计还整合了围绕基于预确认的持续 标准化工作,并假设存在一个 开源的公共产品“边车”,可以实现选择性委托。它进一步利用现有的低延迟提案者-构建者分离(PBS)基础设施,以实现批量的高效 L1 包含和结算。总之,这些元素使 Rollup 能够立即采用基于排序,而无需 L1 协议级别的更改或硬分叉。

最后,一些机制的灵感来自与 TaikoPuffer UniFiRiseSpire 等团队的合作努力。

TLDR

  • Rollup 可以通过用最可信的中立参与者:L1 验证者集,来替换其中心化排序器,从而逐步分散并成为基于 Rollup。
  • 这种过渡可以分阶段进行,从而实现逐步且稳健的去中心化路径。
  • 实际的第一步是在中心化排序上叠加预确认——在发布 L2 区块之前来自排序器的保证。这可以提供接近 ping 延迟的 UX,并保持与无需许可的基于排序的前向兼容性。
  • 通过成为基于 Rollup,可以实现与 Ethereum 的更强一致性。此外,通过采用涉及竞争市场中网关的委托模型,他们还可以释放吞吐量和处理速度方面的显著性能改进。
  • 预确认和流水线区块构建等机制使数十毫秒级的执行证明成为可能。
  • Rollup 可以采用务实、渐进的三阶段去中心化方法,从而在每个步骤中提高排序器的弹性和性能。这对于管理具有大量 TVL 和用户群的生态系统的大规模 Rollup 运营商尤其重要,因为它提供了采用基于排序的有形激励,同时减轻了进行重大系统性改革的风险。

本文的结构

我们首先进行背景讨论,研究 Rollup 的现状以及中心化排序器带来的挑战。接下来,我们重点介绍基于排序的关键优势,概述了 Ethereum L1 提案者集如何在排序 Rollup 时提供更强的弹性、可组合性和经济安全性。

然后,我们定义术语,以确保在讨论我们提出的设计的关键角色和机制时清晰明了。之后,我们提出了使用委托的基于排序的设计,概述了技术细节和核心机制,这些细节和核心机制构成了逐步采用路线图的基础。

最后,在“成为基于”部分中,我们提供了一个三阶段路线图,展示了 Rollup 运营商如何逐步采用所提出设计的各个部分,以从中心化排序器模型过渡到完全无需许可的基于排序。在描述了潜在风险(包括中心化问题和 UX 差异)之后,我们以进一步考虑结束,确定了需要持续研究和改进的领域。

背景

Rollup 的当前状态:

  • 用户目前享受着卓越的 UX,这得益于由中心化排序器以低延迟发出的预确认。
  • 通过拥有对事务进行排序和批处理的独家权利,中心化排序器可以保证这些事务的执行。
  • Rollup 避免了共识机制的开销,从而开启了一个可以实现极高水平的性能和吞吐量的设计空间。目前,大多数 Rollup 依赖于仅在信任基础上运行的中心化排序器,这引起了对审查抵抗和活跃性的担忧。虽然某些 Rollup 包含“紧急出口”机制,但它通常以用户体验的降低为代价,因为会造成重大延迟。

为什么基于排序可以改进 Rollup:

  • 基于排序使 Ethereum L1 提案者(最去中心化和可信的中立参与者集)能够为 Rollup 提供排序服务。这实现了跨多个 Rollup 的共享排序,进而实现了跨 Rollup 以及 Rollup 和 L1 之间的同步可组合性。
  • 以经济保证为后盾的预确认可以减轻较长的 L1 插槽时间造成的延迟。这可确保 L2 用户在享受增强的经济安全性的同时保持卓越的 UX,并减轻中心化排序器带来的活性失败或监管挑战等风险。

委托的重要性:

  • 为了使基于排序能够充分利用 L1 提案者集,所有提案者(包括单人 Staker)都必须能够选择加入并参与。包容性确保了公平的收益获取机会,这对于维持 L1 提案者集的去中心化至关重要。与 PBS 和 APS 等研究保持一致,围绕基于排序的研究工作通常会引入一个称为“网关”的角色。
  • 网关是提供专门排序服务的已 Staking 第三方实体,可供缺乏带宽和技术能力来支持高吞吐量 Rollup 的提案者使用。网关通过严格的性能监控来承担责任,并受到削减条件的约束,从而确保可靠性并与网络的安全性保证保持一致。然而,将排序服务委托给网关会带来额外的风险,本文稍后将对此进行讨论。

我们坚信,通过强大的机制设计,基于排序应成为 Rollup 的默认选择。它利用了 Ethereum 的经济安全性、可靠性和中立性。此外,在采用委托模型并促进专门网关之间竞争市场的基于排序设计中,Rollup 可以实现卓越的性能,使其能够满足用户期望的高吞吐量需求。

基于排序的关键优势

  • 通过去中心化排序实现高性能: 优化的区块流水线和高效的 Gossip 协议使执行预确认在短短几毫秒内即可实现。这种性能水平已通过 流水线排序器 得到验证,在使用单核进行排序的消费级笔记本电脑上实现了每秒 300,000 笔交易或大约 每秒 6 Gigagas
  • 通过去中心化增强活跃性和弹性: 与依赖单个中心化排序器相比,具有多个网关的排序变得更加强大且容错。系统可以从临时的活性失败中自动恢复,从而确保连续运行,而无需手动干预。
  • 保留对 MEV 和 Gas 费的控制: Rollup 运营商保留对排序规则、MEV 管理和 Gas 费归属的完全控制权。这种灵活性使运营商能够微调激励和惩罚,以满足特定的绩效和经济目标。
  • 与 Ethereum L1 保持一致: 基于排序利用 Ethereum L1 提案者集作为监督机构,以增强安全性、确保可信的中立性并实现与 Ethereum L1 的无缝可组合性。
  • 可扩展的 Rollup 生态系统: 基于排序提供了与 Ethereum L1 实现同步可组合性的现实且可扩展的路径,为 Rollup 的无缝互连生态系统奠定了基础。
中心化排序 基于排序
性能 :white_check_mark: 优秀 :white_check_mark: 优秀 - 网关
活跃性 :warning: 单点故障 :white_check_mark: 优秀 - L1 提案者 + 网关
经济安全性 :x: :white_check_mark: 优秀 - Staking 提案者 + 网关
实时审查阻力 :warning: 单点故障 :white_check_mark: 优秀 - L1 提案者
可组合性 :warning: 有限 :white_check_mark: 优秀 - 同步

术语

  • 网关: 负责发布预确认和排序 L2 的实体。复杂的 L1 提案者可以选择运行自己的网关,而其他提案者可以将排序职责委派给第三方运营商。为简单起见,我们将所有排序实体称为网关,前提是提案者可以自行委托。
  • 节点: 通过侦听排序的事务批次来跟踪链顶的非排序跟随者节点。这些节点对于提交欺诈证明、索引、处理 RPC 调用和支持其他链下服务等任务至关重要。
  • Lookahead: 从 L1 插槽到网关身份的映射,用于建立排序器的领导者时间表。
  • 收件箱合约: L2 的事务批次发布到的 L1 合约。
  • Frags: 领导者在完全构建区块之前与跟随者节点共享的区块片段。这个概念类似于 Solana 中的 shreds,并且在排序和预确认调用中经常被讨论(例如 #13)。

给定 L2 事务的确认级别

我们定义了三个确认级别

  1. 预确认: 事务由网关排序,并且用户可以使用执行收据。
  2. 已包含: 事务包含在 L2 区块中。
  3. 已完成: 包含该事务的 L2 区块已批处理并包含在 L1 区块中。

注意: 即使在完成后,L1 区块仍可能会受到重组的影响,但是可以通过 链接预确认 来避免重组 L2 区块。

使用委托的基于排序的设计

Lookahead(如下表所示)充当排序器的领导者时间表,将 L1 插槽号映射到领导者网关。这些网关充当排序器,具有在分配的插槽期间推进 L2 状态的独家权利。插槽分配由选择成为排序器的 L1 提案者确定,从而在各自的 L1 插槽持续时间内授予他们排序权。如果一个或多个插槽没有 L1 提案者选择加入,则这些插槽的排序权将分配给下一个可用的已选择加入的提案者。

网关 L1 插槽
网关 A 100-102
网关 B 103-105
网关 C 106-108

还可以考虑建立网关时间表的替代方法。分配可以考虑诸如每个网关由 L1 提案者委托的比例质押等因素,以确保整个提案者集中公平的代表性。为了进一步促进去中心化并防止垄断,可以对单个网关允许排序的连续插槽数量设置硬性上限。

最后,收件箱合约通过仅接受来自每个插槽的指定网关领导者的事务批次来执行此时间表,如 Lookahead 中所定义。

网关和节点连接

网关和节点通过快速的、具有领导者意识的点对点 (p2p) Gossip 网络进行通信,该网络受到 Solana Turbine 区块传播的启发。该网络在维护高效可靠的通信方面发挥着关键作用,并且有两个主要目的:

  1. 入站 Gossip: 事务从节点重新传输到当前网关领导者以进行排序。
  2. 出站 Gossip: 网关领导者将排序的事务批次重新分发回节点和 Lookahead 时间表中的下一个领导者。

image\ image1896×860 98 KB

用户可以将事务直接发送到当前网关领导者或任何节点,然后通过入站 Gossip 转发收到的事务。领导者对这些事务进行排序,并通过 p2p 网络通过出站 Gossip 分发生成的 Frags。重要的是要注意,这些 Frags 由网关领导者签名(提交到)。这种简化的区块构建过程允许节点立即开始重建当前区块,而不是像今天的 Ethereum 那样等待整个区块完成。

struct Frag {
    // Block in which this frag will be included
    // 将包含此 frag 的区块
    block_number: u64,
    // Index of this frag. Frags need to be applied sequentially by index
    // 此 frag 的索引。Frags 需要按索引顺序应用
    seq: u64,
    // Whether this is the last frag in the sequence
    // 这是否是序列中的最后一个 frag
    is_last: bool,
    // Ordered list of EIP-2718 encoded transactions
    // EIP-2718 编码事务的有序列表
    txs: Transactions,
}

当对等节点收到批次时,它们会乐观地构建本地 TempBlock 并向用户提供预确认(执行收据)。这是可能的,因为节点根据当前的 Lookahead 和 L1 上发布的最新 L2 区块号来验证批次,从而拒绝任何未由当前领导者签名的批次。

\ 907×1097 55.7 KB

节点还会监控网关领导者的排序性能和响应能力。如果节点错过任何顺序批次,它可以从 p2p 网络中的其他节点请求丢失的数据。

image\ image1695×701 84.7 KB

新节点可以无需许可地加入网络,并通过直接从 L1 读取 Lookahead 数据来独立重建网关时间表。这确保了网络保持开放和透明,从而消除了对中心化 RPC 提供商发布预确认的依赖。为了支持钱包、索引器和其他服务等链下组件,节点还公开标准的 JSON-RPC API,从而实现与现有基础设施的无缝集成和兼容性。

frag 的大小和频率可以由 Rollup 运营商进行调整,从而平衡性能、硬件要求和吞吐量之间的权衡。在限制情况下,如果 frag 包含单个事务并连续流式传输,则直接连接到网关领导者的用户可以在短短几毫秒内收到执行预确认。之所以能够实现这种效率,是因为 L2 继承了 L1 的安全保证,从而无需额外的共识开销。

网关领导者定期广播区块封印,将一组 frag 合并到单个 L2 区块中,从而推进链顶。

struct Seal {
    // How many frags for this block were in this sequence
    // 此序列中此区块有多少 frag
    total_frags: u64,
    // Header fields
    // 标头字段
    block_number: u64,
    gas_used: u64,
    gas_limit: u64,
    ...
}

为了确保领导者之间的平稳过渡,当前网关还会广播 EndOfSequence 消息,向下一个网关和节点发出信号,表明排序权可以安全地转移。这种方法最大限度地缩短了没有排序器处于活跃状态的“死亡时间”,从而避免了在过渡期间不必要地依赖 L1 结算。

struct EndOfSequence {
   // Last block sequenced
   // 排序的最后一个区块
   block_number: u64,
   // Hash of last block
   // 最后一个区块的哈希
   block_hash: B256,
}

如果当前网关未能广播 EndOfSequence 消息,则下一个网关必须回退到等待 L1 结算,从而防止任何冲突的 L2 事务的风险。

L1 结算和削减

即使链顶乐观地推进,每个网关也负责确保根据 Lookahead 中的时间表在 L1 上结算 L2 区块的批次。网关和提案者必须在注册合约中发布抵押品,并且在某些情况下会被削减,包括:

  • 放弃预确认,
  • 未能在 L1 上结算批次,
  • 错过分配的插槽。

值得注意的是,如果他们所委托的网关被削减,提案者也可能面临削减处罚。这会在提案者和网关之间建立强大的激励一致性,从而加强提案者监控和仔细选择网关的责任。作为回报,提案者可以获得额外的收益,以补偿与委托相关的风险。

归属和削减的确切条件不在本文档的范围内,但仍然是进一步规范的重要领域。

回退机制

网关的活性失败会导致临时的“停电”,在此期间用户无法结算事务,并且 Rollup 无法取得进展。单个中心化排序器的失败可能导致长达数小时的中断,但是具有多个排序器的基于 Rollup 可以在几个 L1 插槽内恢复。

在实践中,由故障网关引起的停电通常只会持续很短的时间,例如两个 L1 插槽。可以对有缺陷的网关处以削减其抵押品和减少其在未来 Lookahead 中的排序插槽的惩罚。例如,如果 GatewayA 是根据 Lookahead 在 Slot N 之前的当前领导者,但在插槽过后未能发布批次,则可以削减 GatewayA 并暂时将其排除在排序时间表之外。

此回退机制可确保即使在网关发生故障的情况下,系统仍保持弹性,从而最大限度地减少中断并激励所有网关实现可靠的性能。

注意: 活性失败可能源于网关或提案者,因此我们需要一种强大的方法来检测和惩罚这两种情况。如果提案者有过错,则执行问责制可能需要链下流程,这与真正最小化信任的方法相冲突。设计一种可以可靠地归因于提案者引起的活性失败并对其进行惩罚的机制仍然是一个开放的挑战。

提案者和网关

将排序职责委托给第三方的功能允许不复杂的提案者(他们可能缺乏带宽或运行网关所需的技术专长)有效地参与。这种委托机制促进了更公平和包容的市场,同时对网关运营商提供了竞争压力,以提供更高质量的排序服务。

虽然在精神上与提案者-构建者分离 (PBS) 类似,其中验证者将区块构建委托给专门的第三方参与者,但基于排序可确保提案者保留对其委托的控制和监督。这是通过削减网关的安全故障和削减提案者的活性故障来实现的。如果活性故障不是由提案者引起的,则预计提案者将通过链下机制寻求网关的赔偿。

提案者充当“监督机构”,通过跟踪关键指标并激励可靠性和效率来监控网关的性能。这种激励一致性确保委托不会损害系统的安全性或稳健性。

保留对 MEV 和 Gas 费的控制

Rollup 运营商保留对排序规则、Gas 费和 MEV 管理的完全控制权。网关必须按照 Rollup 的既定政策运行。最初,这是通过将参与限制在已许可的网关中来执行,直到有更强大的机制可用于完全无需许可的参与。

提案者获得一部分 Gas 费作为对其间接排序服务的补偿,并且反过来,根据其性能和可靠性,将这些 Gas 费的一部分分配给网关。这种安排创造了一个良性循环,激励网关提供高质量的服务,同时确保跨系统公平分配奖励。

提案者、网关和 Rollup 运营商之间的 Gas 费分配由 Rollup 运营商自行决定,从而可以灵活地与 Rollup 的经济和运营目标保持一致。

变得更“基于”

实现完全无需许可的基于排序是最终目标。但是,我们认识到从中心化排序器开始的 Rollup 可能会采用渐进的 3 阶段去中心化方法。此框架允许逐步过渡到基于排序,同时最大限度地降低风险并确保运营稳定性。

第 1 阶段:初始部署

在此阶段,领导者感知的 Gossip 协议已部署并与充当中心化排序器的单个网关集成。无论 L2 区块时间如何,这都使节点能够接收快速预确认。引入注册合约以为排序器集奠定基础,最初仅包括一个实体。

为了增加稳健性,还实施了利用现有 Rollup 堆栈的回退机制。

第 2 阶段:额外网关引入

网关逐步纳入 Lookahead 时间表。在此阶段,网关仍然由 Rollup 运营商和/或预先批准的第三方运营。Gossip 网络已完全运行,从而可以进行事务转发和排序批次的流式传输。虽然网关在与 Rollup 运营商签订的类 SLA 协议下运行,但削减机制尚未启用。

第 3 阶段:无需许可的排序

网关现在可以无需许可地加入排序器集,并且提案者能够将排序职责委托给网关。预计提案者会监控其委托的性能和可靠性。在此阶段,将激活削减机制以解决安全和活性故障。

但是,必须解决诸如故障归因和抢先交易预防等几个注意事项,以确保系统在达到此阶段之前的稳健性。

风险

  • 中心化风险: 如果大多数提案者委托给少数几个网关,则可能导致寡头垄断的排序市场。然而,只要存在多个活跃网关,此模型仍然是对中心化现状的重大改进。此外,网关是受削减条件约束的 Staking 参与者,并受到 L1 提案者的问责,从而确保去中心化的监督。
  • 不一致的用户体验: 与中心化排序器相比,轮换的分布式排序器集可能会给用户体验带来可变性。为了缓解这种情况,可以采用类 SLA 协议下的网关运营商临时白名单,以便在过渡阶段提供更一致的性能。
  • 依赖 Rollup 运营商: 在第 1 阶段和第 2 阶段,排序器集不是完全无需许可的,并且仍然依赖于 Rollup 运营商。这种“训练轮”方法对于确保稳定性是必要的,但在早期引入了一些中心化。

进一步考虑

有几个主题需要进一步讨论和详细规范:

  • 注册合约的设计和实施。
  • 网关和提案者的抵押品要求
  • 确切削减条件的定义。

对于第 3 阶段(无需许可的网关),仍然存在以下开放性问题:

  • 如何防止恶意领导者进行抢先交易
  • 在错过提案的情况下,确定提案者和网关之间的故障归因
  • 建立有效的性能监控并解决公平交易问题

我们渴望与协议研究人员、开发人员、Rollup 运营商和生态系统中的其他团队合作,共同完善这些开放性问题,并为基于排序塑造安全、高性能的未来。通过合作处理未完成的设计细节并在实际环境中测试解决方案,我们可以共同构建一个更强大、无需许可排序的 Rollup 生态系统。

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

0 条评论

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