Celestia研究员分析Rollup(二):4种新的Rollup方案

进阶3/4/2024, 9:20:09 AM
Rollup模型更容易理解、更方便剖析的目的,Celestia研究员NashQ将Rollup的定序器(Sequencer)分成了两个逻辑实体——聚合器和Header生成者。同时,他将交易排序过程分为了三个逻辑步骤:包含、排序和执行(inclusion, ordering, and execution)。 在这种分析思路引导下,主权Rollup的6大重要变体更加清晰易懂。

导语:本文由Celestia研究员NashQ关于Rollup模型分析的零散发言整合而成,包含4种新的Rollup变体。此前,在《Celestia研究员分析6种Rollup变体:Sequencer=聚合器+Header生成者》一文中,他列举了6种不同的Rollup模型,而本文是他在此基础上新抽象出的4类Rollup模型。

此前,NashQ将定序器Sequencer分成聚合器+Header Producer两大模块,从交易指令的生命周期切入,讲解了Celestia主权Rollup的运作原理,探讨了不同Rollup变体的抗审查性和活性,以及用户在信任最小化前提下的最低配置(就是要达到Trustless,Rollup用户至少要运行哪些类型的节点)。

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

在这个Rollup变体中,Rollup网络用户直接把交易数据发布到DA层区块上,然后Header Producer负责交易排序,MEV被其提取。显然,Rollup变体7的交易聚合/包含流程,与以前介绍过的Based Rollup一样,由DA层负责(用户直接把交易发到DA层),但交易排序与Based Rollup不同,DA层节点不负责排序,由HP(Header Producer)负责。

下面假设有三个HP,它们彼此存在竞争关系,并且遵守名为“highest Protocol MEV”的MEV分配协议。该协议由Cosmos生态的Skip Protocol提出,不同于以太坊PBS方案,Block Builder需要额外支付一笔付给区块链网络Validator的“小费”,付小费最多的Builder构建的区块会被Validator们采纳。同时,SKIP Protocol提出了“主权MEV”的概念,意图让公链网络的全体Validator及社区有对MEV分配的自主权,解决以太坊PBS中Builder因飞轮效应越来越中心化的问题(但这不是本文要探讨的核心)。

在本文介绍的Rollup变体中,不同的Header Producer需要在自己创建的Batch Header中声明小费金额,付小费最多的HP发布的Batch Header自动被Rollup的节点们接纳(通过节点代码中写好的账本分叉选择算法自动完成)。

除此之外,HP发布的Batch Header必须能够对应DA层上的完整交易批次Batch。

如果HP发布的Header存在错误,比如交易执行结果Stateroot不对,或者没有包含Batch中的某笔交易(丢交易),诚实的Rollup全节点会向轻节点广播欺诈证明Fraud proof。但通常(乐观情况下),轻节点可以接受HP发布的Header并相信它没有问题。

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

同时,交易排序由HP负责,由于有欺诈证明的存在(可以针对HP丢交易的情况),HP自己往往不会展开审查攻击,但它可以贿赂DA层的节点去做(或者自己跑一些DA层的节点)。对此的解决方法是,延长Rollup交易序列被最终敲定的窗口期,使得被恶意DA层节点拒绝的Header,可在窗口期结束前及时被诚实DA层节点包含上链,进而增加DA层节点审查攻击的难度。

活性:L = L_da && ( L_hp1 || L_hp2 || L_hp3 )

如果DA层出现活性故障,则Rollup也会出现活性故障。在此基础上,仅当所有HP都出现活性故障时,Rollup才会出现活性故障。

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

变体8使用共享聚合器Shared Aggregator(SA)进行交易包含+排序,由SA将交易序列Batch发布到DA层上,交易序列发到DA层后,交易次序理论上不再改变。

而在Batch发到DA层之前,共享聚合器SA可以先将Batch+ SA Header广播给全节点和Prover,将SA Header广播给轻节点,只是此时未上DA层的Batch还不稳定,随时可能被替换。

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

Prover从DA层读取交易批次Batch(也可以直接向共享聚合器同步),生成一个 ZK Proof+Batch Header,发布到DA层。显然Prover充当了HP的角色。

对于Rollup的轻节点而言,收到ZKProof后,这个Batch包含的交易序列就完成了最终确认。当然,Prover也可以通过DA层链下的Rollup p2p网络广播ZKP,使其更快的被轻节点接收,但此时ZKP还没发到DA层上,还不具备“最终性”。

抗审查性:变体8中,DA层不能对某些笔特定的交易进行审查攻击,只能针对共享聚合器提交的整个交易批次Batch审查攻击。同时,共享聚合器可以拒绝打包某些用户的交易。

活性:L = L_da && L_sa && L_pm。该变体中,任何部分出现活性故障,则Rollup都会出现活性故障。如果Prover故障,那么轻节点将无法有效的同步Rollup账本进度。但由于全节点同步了所有的交易序列Batch,它可以跟上账本进度。此时全节点不受影响,轻节点全部失效,等价于以前介绍过的采用共享聚合器的Based Rollup的情况。

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

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

变体9其实基于上面的变体8展开,只是其DA层不止一个,这样可以有效提高Rollup的活性。变体9中,共享聚合器SA可以将交易序列Batch发布到任意一个DA 层上,它可以根据自己的需求选择不同的DA层发布数据,这样就可以动态优化Rollup的相关参数,比如:数据成本、安全性、活性、交易延迟和最终性。

根据Rollup项目方的需求,可以定制最便宜、最安全、最活跃、结算速度的Rollup,选用吞吐量最高的DA层。一般而言,某个Rollup区块高度(比如第1万个)的Batch不必同时存在于不同的DA层上,但如果存在,它们的内容必须一致。如果不同的DA层上出现了高度相同、内容不同的两个Batch,则说明共享聚合器故意搞账本分叉。

这里,我们选用了和变体8相同的去中心化Prover Market,由Prover充当Header Producer,发布Batch Header和ZKProof。此时,Prover需要通过变体7中提到的小费竞拍机制展开竞争(由SKIP Protocol提出)。

变体9的交易结算速度(最终确认速度)受它采用的出块最快的DA层影响。

抗审查性:共享聚合器可以搞审查攻击,但可选的DA层变多了,与DA层相关的审查攻击可能性降低了。

活性:L = ( L_da1 || L_da2) && L_sa && L_pm。

与之前的变体相比,变体9活性更强。只要不是全部DA层网络出现活性故障,一切就能够正常进行。

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

显然,我们采用的DA层越多,就必须运行越多的轻节点。但这样做的好处可能会盖过其成本。

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


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

这是保持跨链桥信任最小化的先决条件。但如果是从以太坊Rollup(基于智能合约的SC Rollup)上往以太坊跨链,则不需要再运行Rollup的DA层轻节点,因为DA层就是以太坊本身。这一点与Celestia的主权Rollup极为不同,后者的Rollup之间互跨,必须运行对方DA层的轻节点。

当Relayer发送跨链交易时,它将被Rollup2的聚合器2和HP2处理。我们将两者都添加到图中,以理解Rollup2的节点如何处理跨Rollup的交易。

Rollup2的中继器Relayer将获取Rollup 2的Batch Header和ZKP,并将其发回Rollup1。Rollup 1还有一个Rollup 2的轻节点和DA 层的轻节点。

我们可以让模型更加简化。假设两个Rollup使用相同的共享聚合器和Header Producer,换言之,他们采用的DA层是重合的。

在这种情况下,可以直接将Relayer取缔。因为Batch Header和ZK Proof已由HP发布到相同的DA层,因此可以直接在DA层上读取另一个Rollup的Header和ZKP等数据,不再需要经由Relayer传给共享聚合器。

显然,使用相同DA层的Rollup不需要依赖于Relayer(很多跨链桥都依赖中继节点)。这可以解决跨链桥的安全问题(从这点来看,以太坊的SC Rollup之间的互跨,安全性要高于不同公链间的跨链)。

此时,信任最小化的最低配置:DA层轻节点+Rollup轻节点。

声明:

  1. 本文转载自[极客 Web3],著作权归属原作者[NashQ,Celestia],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

Celestia研究员分析Rollup(二):4种新的Rollup方案

进阶3/4/2024, 9:20:09 AM
Rollup模型更容易理解、更方便剖析的目的,Celestia研究员NashQ将Rollup的定序器(Sequencer)分成了两个逻辑实体——聚合器和Header生成者。同时,他将交易排序过程分为了三个逻辑步骤:包含、排序和执行(inclusion, ordering, and execution)。 在这种分析思路引导下,主权Rollup的6大重要变体更加清晰易懂。

导语:本文由Celestia研究员NashQ关于Rollup模型分析的零散发言整合而成,包含4种新的Rollup变体。此前,在《Celestia研究员分析6种Rollup变体:Sequencer=聚合器+Header生成者》一文中,他列举了6种不同的Rollup模型,而本文是他在此基础上新抽象出的4类Rollup模型。

此前,NashQ将定序器Sequencer分成聚合器+Header Producer两大模块,从交易指令的生命周期切入,讲解了Celestia主权Rollup的运作原理,探讨了不同Rollup变体的抗审查性和活性,以及用户在信任最小化前提下的最低配置(就是要达到Trustless,Rollup用户至少要运行哪些类型的节点)。

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

在这个Rollup变体中,Rollup网络用户直接把交易数据发布到DA层区块上,然后Header Producer负责交易排序,MEV被其提取。显然,Rollup变体7的交易聚合/包含流程,与以前介绍过的Based Rollup一样,由DA层负责(用户直接把交易发到DA层),但交易排序与Based Rollup不同,DA层节点不负责排序,由HP(Header Producer)负责。

下面假设有三个HP,它们彼此存在竞争关系,并且遵守名为“highest Protocol MEV”的MEV分配协议。该协议由Cosmos生态的Skip Protocol提出,不同于以太坊PBS方案,Block Builder需要额外支付一笔付给区块链网络Validator的“小费”,付小费最多的Builder构建的区块会被Validator们采纳。同时,SKIP Protocol提出了“主权MEV”的概念,意图让公链网络的全体Validator及社区有对MEV分配的自主权,解决以太坊PBS中Builder因飞轮效应越来越中心化的问题(但这不是本文要探讨的核心)。

在本文介绍的Rollup变体中,不同的Header Producer需要在自己创建的Batch Header中声明小费金额,付小费最多的HP发布的Batch Header自动被Rollup的节点们接纳(通过节点代码中写好的账本分叉选择算法自动完成)。

除此之外,HP发布的Batch Header必须能够对应DA层上的完整交易批次Batch。

如果HP发布的Header存在错误,比如交易执行结果Stateroot不对,或者没有包含Batch中的某笔交易(丢交易),诚实的Rollup全节点会向轻节点广播欺诈证明Fraud proof。但通常(乐观情况下),轻节点可以接受HP发布的Header并相信它没有问题。

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

同时,交易排序由HP负责,由于有欺诈证明的存在(可以针对HP丢交易的情况),HP自己往往不会展开审查攻击,但它可以贿赂DA层的节点去做(或者自己跑一些DA层的节点)。对此的解决方法是,延长Rollup交易序列被最终敲定的窗口期,使得被恶意DA层节点拒绝的Header,可在窗口期结束前及时被诚实DA层节点包含上链,进而增加DA层节点审查攻击的难度。

活性:L = L_da && ( L_hp1 || L_hp2 || L_hp3 )

如果DA层出现活性故障,则Rollup也会出现活性故障。在此基础上,仅当所有HP都出现活性故障时,Rollup才会出现活性故障。

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

变体8使用共享聚合器Shared Aggregator(SA)进行交易包含+排序,由SA将交易序列Batch发布到DA层上,交易序列发到DA层后,交易次序理论上不再改变。

而在Batch发到DA层之前,共享聚合器SA可以先将Batch+ SA Header广播给全节点和Prover,将SA Header广播给轻节点,只是此时未上DA层的Batch还不稳定,随时可能被替换。

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

Prover从DA层读取交易批次Batch(也可以直接向共享聚合器同步),生成一个 ZK Proof+Batch Header,发布到DA层。显然Prover充当了HP的角色。

对于Rollup的轻节点而言,收到ZKProof后,这个Batch包含的交易序列就完成了最终确认。当然,Prover也可以通过DA层链下的Rollup p2p网络广播ZKP,使其更快的被轻节点接收,但此时ZKP还没发到DA层上,还不具备“最终性”。

抗审查性:变体8中,DA层不能对某些笔特定的交易进行审查攻击,只能针对共享聚合器提交的整个交易批次Batch审查攻击。同时,共享聚合器可以拒绝打包某些用户的交易。

活性:L = L_da && L_sa && L_pm。该变体中,任何部分出现活性故障,则Rollup都会出现活性故障。如果Prover故障,那么轻节点将无法有效的同步Rollup账本进度。但由于全节点同步了所有的交易序列Batch,它可以跟上账本进度。此时全节点不受影响,轻节点全部失效,等价于以前介绍过的采用共享聚合器的Based Rollup的情况。

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

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

变体9其实基于上面的变体8展开,只是其DA层不止一个,这样可以有效提高Rollup的活性。变体9中,共享聚合器SA可以将交易序列Batch发布到任意一个DA 层上,它可以根据自己的需求选择不同的DA层发布数据,这样就可以动态优化Rollup的相关参数,比如:数据成本、安全性、活性、交易延迟和最终性。

根据Rollup项目方的需求,可以定制最便宜、最安全、最活跃、结算速度的Rollup,选用吞吐量最高的DA层。一般而言,某个Rollup区块高度(比如第1万个)的Batch不必同时存在于不同的DA层上,但如果存在,它们的内容必须一致。如果不同的DA层上出现了高度相同、内容不同的两个Batch,则说明共享聚合器故意搞账本分叉。

这里,我们选用了和变体8相同的去中心化Prover Market,由Prover充当Header Producer,发布Batch Header和ZKProof。此时,Prover需要通过变体7中提到的小费竞拍机制展开竞争(由SKIP Protocol提出)。

变体9的交易结算速度(最终确认速度)受它采用的出块最快的DA层影响。

抗审查性:共享聚合器可以搞审查攻击,但可选的DA层变多了,与DA层相关的审查攻击可能性降低了。

活性:L = ( L_da1 || L_da2) && L_sa && L_pm。

与之前的变体相比,变体9活性更强。只要不是全部DA层网络出现活性故障,一切就能够正常进行。

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

显然,我们采用的DA层越多,就必须运行越多的轻节点。但这样做的好处可能会盖过其成本。

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


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

这是保持跨链桥信任最小化的先决条件。但如果是从以太坊Rollup(基于智能合约的SC Rollup)上往以太坊跨链,则不需要再运行Rollup的DA层轻节点,因为DA层就是以太坊本身。这一点与Celestia的主权Rollup极为不同,后者的Rollup之间互跨,必须运行对方DA层的轻节点。

当Relayer发送跨链交易时,它将被Rollup2的聚合器2和HP2处理。我们将两者都添加到图中,以理解Rollup2的节点如何处理跨Rollup的交易。

Rollup2的中继器Relayer将获取Rollup 2的Batch Header和ZKP,并将其发回Rollup1。Rollup 1还有一个Rollup 2的轻节点和DA 层的轻节点。

我们可以让模型更加简化。假设两个Rollup使用相同的共享聚合器和Header Producer,换言之,他们采用的DA层是重合的。

在这种情况下,可以直接将Relayer取缔。因为Batch Header和ZK Proof已由HP发布到相同的DA层,因此可以直接在DA层上读取另一个Rollup的Header和ZKP等数据,不再需要经由Relayer传给共享聚合器。

显然,使用相同DA层的Rollup不需要依赖于Relayer(很多跨链桥都依赖中继节点)。这可以解决跨链桥的安全问题(从这点来看,以太坊的SC Rollup之间的互跨,安全性要高于不同公链间的跨链)。

此时,信任最小化的最低配置:DA层轻节点+Rollup轻节点。

声明:

  1. 本文转载自[极客 Web3],著作权归属原作者[NashQ,Celestia],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.