结合预确认与Based Rollup的架构,实现同步可组合性

本文提出了一种结合Based Rollup和排序rollup的新型L2架构。该架构通过引入slot-ending sequenced blocks,允许在L1上构建Based Rollup的区块,同时保持较低的延迟。该设计在L1重组的情况下,L2需要能够回滚。

目前,rollup 主要有两种类型:

  • Based rollups(Based Rollup),rollup 上的交易排序由 L1 决定:rollup 区块就是 L1 交易,区块的顺序与这些交易在 L1 上出现的顺序相同。
  • Sequenced rollups(排序rollup),交易排序由链下机制决定,例如中心化排序器或 BFT 共识。rollup 历史会定期提交到 L1,但排序决策显然由链下机制做出。

Sequenced rollups 的主要优势在于,它们可以提供远低于以太坊 L1 的延迟。Based rollups 的主要优势在于,它们可以提供与以太坊 L1 的同步可组合性。交易将能够执行使用 L1 和 L2 流动性的操作,方法是直接包含整个 L2 区块,并在其前后采取行动,包括在失败时恢复一切(包括 L2 区块)的后置断言

本文将证明,在一定限制下,将两者结合是可行的。

设计

sharedsequence.drawio\ sharedsequence.drawio502×326 16.6 KB

L2 区块有三种类型:

  • Regular sequenced blocks(常规排序区块):这些区块需要排序器证书(例如,中心服务器签名,来自 2/3 委员会的投票...)才能有效,并且它们出现频率很高
  • Slot-ending sequenced blocks(Slot 结束排序区块):这些区块需要排序器证书,并附带一条特殊消息,表明可以在它们之上构建基于区块并将其包含在 L1 中,仅在当前插槽期间有效(并且如果 L1 父区块匹配也有效)
  • Based blocks(基于区块):任何人都可以构建并包含它们,但只能在 Slot 结束排序区块之上(或者,可能在另一个基于区块之上)

L2 排序器的工作是玩一个时间游戏。通常,他们以非常低的延迟发布排序的 rollup 区块。然后,接近 Slot 结束时,他们发布一个 Slot 结束排序区块 - 足够早,以便构建者可以创建一个基于区块并包含它,但足够晚,以便最大限度地减少没有非常低延迟的时期。最后,一旦他们确信 L1 区块已确认,他们就开始为下一个 Slot 制作排序区块。

如果在给定的 Slot 中,未包含基于区块(要么是因为没有人及时出现来构建,要么是因为提议者丢失或有缺陷),则排序器通过直接在先前 Slot 的 Slot 结束区块之上构建来开始下一个 Slot。

属性

  • 此设计仅与如果 L1 回滚则愿意回滚的 L2 兼容。这是因为如果基于区块回滚,则构建在其之上的任何排序区块也将回滚。即使在理论上理想的 L1 最终性机制下,等到包含基于区块的 L1 区块最终确定也将是一个非常长的延迟。
  • 在正常情况下,L1 区块发布时间附近的延迟应该很短。L2 发布其 Slot 结束区块,构建者立即在其之上构建基于区块,提议者很快就会创建包含它们的 L1 区块,然后证明者在提议者提出后立即进行证明,为新的排序区块的到来扫清道路。
  • 请注意,发布 Slot 结束区块太晚没有安全风险:最糟糕的情况是根本没有人构建它。但是,过早发布下一个 Slot 的第一个排序区块存在安全风险,因为如果排序器构建在被 reorg 的区块之上,他们的区块也会被 reorg。
  • 最长的延迟出现在提议者丢失的情况下,因为证明者会等待以确保没有提议者出现,然后才发布证明
  • 此设计不会获得Based Rollup 的免许可性优势,因为构建基于区块需要来自 Slot 结束排序区块的排序器证书。为了实现免许可性,最简单的途径是在 L1 上引入强制包含通道。基于区块的构建者可以负责包含强制包含收件箱中的所有交易。
  • 原文链接: ethresear.ch/t/combining...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

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