Celestia研究员解读了4种新的Rollup方案。

Celestia研究员解读了4种新的Rollup方案。

Rollup模型分析:新的Rollup变体探讨

本文整合了Celestia研究员NashQ关于Rollup模型分析的零散发言,包括了四种新的Rollup变体。在之前的一篇文章《站在Celestia的视角解析Rollup:6种变体的审查抗性和活性》中,他列举了六种不同的Rollup模型,本文在此基础上抽象出了四类新的Rollup模型。

变体7 : Based Rollup+多个Header Producer+“highest Protocol MEV”

这个Rollup变体中,Rollup网络用户直接将交易数据发布到DA层区块上,然后Header Producer负责交易排序和MEV的提取。与之前介绍的Based Rollup相比,交易的聚合和包含过程由DA层负责,但交易的排序工作不再由DA层节点负责,而是由Header Producer(HP)来处理。

假设现在有三个HP,它们彼此之间存在竞争关系,并且遵守名为“highest Protocol MEV”的MEV分配协议。通过这个协议,Block Builder需要额外支付一笔付给区块链网络Validator的“小费”,付小费最多的Builder构建的区块会被Validator们采纳。由于MEV被最擅长的节点提取,因此HP们被称为“highest Protocol MEV”的节点。

在本文介绍的Rollup变体中,不同的Header Producer需要在自己创建的Batch Header中声明小费金额,付小费最多的HP发布的Batch Header会被Rollup的节点们接纳。此外,HP发布的Batch Header必须能够对应DA层上的完整交易批次Batch。如果HP发布的Header存在错误,比如交易执行结果Stateroot不对,或者没有包含Batch中的某笔交易(丢交易),诚实的Rollup全节点会向轻节点广播欺诈证明Fraud proof。但通常情况下,轻节点可以接受HP发布的Header并相信它没有问题。

该Rollup的抗审查性分析结果是,存在两个可进行交易审查的点。第一处是在DA层,DA层可以审查交易内容并拒绝包含某些用户的交易。第二处是在DA层,DA层可以审查HP提交的Header并拒绝包含某个Header,这样DA层可以与HP串谋,通过审查攻击来垄断MEV。

同时,由于交易排序由HP负责,HP在自己发布的Batch Header中声明的小费金额决定了它们竞争的优势。为了防止HP进行审查攻击,可以延长Rollup交易序列被最终敲定的窗口期,使得被恶意DA层节点拒绝的Header可以在窗口期结束前及时被诚实DA层节点包含上链,增加DA层节点审查攻击的难度。

该Rollup的活性受DA层的活性情况影响。如果DA层出现活性故障,则Rollup也会出现活性故障。仅当所有HP都出现活性故障时,Rollup才会出现活性故障。

变体8:共享聚合器+去中心化Prover的ZK Rollup

在这个变体中,使用共享聚合器(Shared Aggregator,SA)进行交易包含和排序。共享聚合器将交易序列批量(Batch)发布到DA层上,而交易序列发到DA层后,理论上不再发生改变。

在Batch发到DA层之前,共享聚合器可以先将Batch和SA Header广播给全节点和Prover,将SA Header广播给轻节点。此时,虽然未上DA层的Batch可能会被替换,但共享聚合器已经将Batch和SA Header发布给节点们。

需要注意的是,共享聚合器发布的Header与HP发布的Batch Header不是同一样东西。共享聚合器发布的SA Header包含了密码学证明,确保Rollup节点从DA层读取的Batch是由SA生成的,而不是其他人伪造的。

Prover从DA层读取交易批次Batch(也可以直接向共享聚合器同步),生成一个ZK Proof+Batch Header,并将其发布到DA层。可以将Prover理解为扮演HP的角色。

对于Rollup的轻节点而言,只要收到ZK Proof,Batch中包含的交易序列就可以被确认。当然,Prover也可以通过DA层链下的Rollup点对点网络广播ZKP,使其更快地被轻节点接收到,但此时ZKP还没有上链,不具备“最终性”。

该Rollup的抗审查性分析结果是,DA层不能对某些特定交易进行审查攻击,只能针对共享聚合器提交的整个交易批次进行审查攻击。同时,共享聚合器可以拒绝打包某些用户的交易。

该Rollup的活性受DA层和共享聚合器的活性情况以及Prover Market的活性情况影响。任何一个部分出现活性故障,Rollup都会出现活性故障。特别是如果Prover故障,轻节点将无法有效地同步Rollup账本进度。但由于全节点同步了所有的交易序列Batch,它可以跟上账本进度。此时全节点不受影响,而轻节点则全部失效。

信任最小化的最低配置是DA层轻节点+共享聚合器网络轻节点+Rollup轻节点。

变体9:共享聚合器+去中心化Prover+有多个DA的ZK-Rollup

在这个变体中,Rollup采用共享聚合器进行交易包含和排序,并拥有多个DA层。通过选择不同的DA层进行数据的发布,可以实现Rollup参数的动态优化,例如数据成本、安全性、活性、交易延迟和最终性。

根据Rollup项目方的需求,可以定制符合自身需求的Rollup,选用吞吐量最高的DA层来提高效率。需要注意的是,同一个Rollup区块高度的Batch不必同时存在于多个DA层上,但如果存在,它们的内容必须一致。如果不同的DA层上出现了高度相同但内容不同的两个Batch,则可以判断出共享聚合器在故意搞账本分叉。

在变体9中,共享聚合器可以选择将交易序列Batch发布到任意一个DA层上,以此来实现动态优化。不同的DA层选择意味着不同的参数优化,例如数据成本、安全性、活性、交易延迟和最终性。

该Rollup的抗审查性分析结果是,共享聚合器可以搞审查攻击,但可选的DA层变多了,与DA层相关的审查攻击可能性降低了。此外,共享聚合器可以拒绝打包某些用户的交易。

该Rollup的活性受多个DA层、共享聚合器和Prover Market的活性情况影响。只要不是全部DA层网络出现活性故障,Rollup的运行就能够正常进行。

信任最小化的最低配置是不同DA层的轻节点+共享聚合器网络轻节点+Rollup轻节点。

变体10:两个ZK-Rollups+去中心化Prover,彼此间有一个链上轻节点(可桥接)

这个变体是对变体5的扩展,目的是创建两个可以相互桥接的ZK-Rollup。相比于变体5(Based Rollup+ZKP+去中心化Prover),变体10引入了一个中继器Relayer的角色。Relayer将Batch Header+ZK Proof打包到一笔交易中,并将交易发送给运行Rollup1的Rollup2轻节点,以此证明某个高度的Batch是有效的。当然,Rollup2还需运行DA层的轻节点。

这一设计旨在保持跨链桥的信任最小化。从以太坊Rollup(基于智能合约的SC Rollup)跨到以太坊时,不需要额外运行Rollup的DA层轻节点,因为DA层本身就是以太坊。

在Rollup2的DA层轻节点和Rollup2的聚合器2以及HP2的共同处理下,Rollup2的中继器Relayer获得Rollup2的Batch Header和ZKP,并将其发送回Rollup1。此时,Rollup1拥有Rollup2的轻节点和DA层的轻节点。

在特定情况下,由于两个Rollup使用相同的共享聚合器和Header Producer,因此可以不再依赖Relayer。因为Batch Header和ZK Proof已经由HP发布到共享聚合器所对应的DA层,可以直接在DA层上读取另一个Rollup的Header和ZKP等数据,不再需要由Relayer传递给共享聚合器。

对于这种情况,信任最小化的最低配置是DA层轻节点+Rollup轻节点。

通过以上四种新的Rollup变体的分析,我们可以看到不同变体的设计理念和特点。每种变体的抗审查性和活性特点都有所不同,在不同的场景下选择适合的变体可以更好地满足项目需求。同时,理解这些变体的信任最小化的最低配置有助于搭建更加安全和高效的Rollup系统。