目前,汇总主要有两种类型:
- 基于汇总,Rollup中交易的顺序由 L1 决定:Rollup块是L1 交易,块的顺序与这些交易在 L1 上出现的顺序相同。
- 顺序汇总(Sequenced Rollup)中,交易顺序由链下机制决定,例如中心化序列器或BFT共识。Rollup历史记录定期提交到L1层,但排序决策显然由链下机制做出。
顺序滚动的主要优势在于其延迟远低于以太坊 L1 流动性。基于 L2 的滚动的主要优势在于其能够与以太坊 L1 流动性实现同步组合。交易可以通过直接包含完整的 L2 区块,并在其前后执行操作(包括断言后操作,如果断言失败,则会回滚所有内容,包括 L2 区块),从而能够同时使用 L1 和 L2 流动性。
本文将论证在一定限制条件下,将两者结合起来是可行的。
设计
L2 模块有三种类型:
- 常规序列块:这些序列块需要序列器证书(例如,中央服务器签名、三分之二委员会投票通过等)才能生效,并且它们经常出现。
- 时隙结束的序列块:这些需要序列器证书,并带有一条特殊消息,表明只有在当前时隙期间(并且如果 L1 父块匹配)才能在其上构建基础块并将其包含在 L1 中。
- 基于块:任何人都可以构建和包含它们,但只能构建在以槽位结束的序列块之上(或者,有可能构建在另一个基于块之上)。
L2 序列器的任务是进行时序控制。通常情况下,它们会以极低的延迟发布顺序Rollup块。然后,在接近槽位末尾时,它们会发布一个槽位结束顺序块——发布时间足够早,以便构建者可以创建一个基础块并将其包含在内;但又足够晚,以最大限度地减少延迟较高的时间段。最后,一旦确认 L1 块已成功发布,它们就会立即开始为下一个槽位创建顺序块。
如果在给定的槽位中,没有包含基础块(要么是因为没有人按时来构建,要么是因为提议者缺席或有缺陷),则序列器会直接在前一个槽位的槽位结束块之上构建下一个槽位。
特性
- 这种设计仅兼容那些在 L1 层回滚时也愿意回滚的 L2 层。这是因为如果一个基础块回滚,任何构建在其上的顺序块也会回滚。即使在理论上理想的 L1 层最终机制下,等待包含该基础块的 L1 层完成也会造成过长的延迟。
- 正常情况下,L1区块发布前后的延迟应该很短。L2区块发布其时隙结束区块后,构建者立即在其上构建基础区块,很快提议者就会生成包含这些基础区块的L1区块,然后验证者在提议者提出后立即进行验证,从而为新的序列区块的到来扫清障碍。
- 请注意,过晚发布槽位结束区块并不会造成安全风险:最坏的情况只是没有人会基于该区块进行构建。然而,过早发布下一个槽位的第一个已排序区块则存在安全风险,因为如果排序者基于一个被重组的区块进行构建,那么他们构建的区块也会被重组。
- 最长的延迟出现在提案人缺席的情况下,因为证明人会等待确认没有提案人出现,然后才会发布证明。
- 这种设计无法获得基于汇总的无需许可的优势,因为构建一个基于区块需要来自时隙结束的已排序区块的序列器证书。要实现无需许可,最简单的方法是在 L1 层引入强制包含通道。基于区块的构建者可以负责将所有交易包含在强制包含收件箱中。






