一文看懂Native Rollup:关于 ZK Rollup 的 PoS & PoW 混合共识
币安(Binance)最新可用网址(点击下图直达注册!)
作者: Opside 联创 & CEO – nanfengpo
关于PoS & PoW 的混合共识
native rollup是一个基于 zk 的三层架构扩容解决方案,其中layer 2是一个EVM兼容的且对于 Rollup十分 友好的链,layer 3则由系统原生支持的多个zkRollup(称为native rollup)组成。Layer 2为zkRollup做了很多系统层面的优化。这个三层架构中的layer 2和layer 3,共用了一个PoS与PoW融合的共识机制:
Layer 2:
PoS:layer 2将采用ETH 2.0的PoS并对其进行必要的改进。因此,layer 2的共识层将有超过10万个验证者。任何人都可以质押token来成为验证者。这些验证者也将根据EIP-4844提供一个数据可用性层,从而容纳layer 3的Rollup提交的batch。此外,layer 2的PoS是可证明的,验证者会定期把PoS 证明提交到layer 1上。验证者可以获取PoS这部分的区块奖励和Gas费。
Layer 3:
PoS(排序器):排序器除了提议layer 2的区块,也提议layer 3的区块(即数据 batch),也就是说验证者同时是layer 3中native rollup的排序器。排序器可以获取其中的交易Gas费。
PoW(Prover):只要拥有zkp的算力,任意验证者都可以成为native rollup的prover。Prover为layer 3的各个Native rollup生成zk 证明。对于排序者提交的layer 3的各个区块,prover依据PoW的规则来竞争,最先提交zk 证明的prover将获得layer 3的区块奖励。
关于Native rollup的去中心化共识机制
下面将详细介绍layer 3中的native rollup的去中心化共识机制。
Sequencer (排序器)
sequencer (排序器)这个角色由layer 2的验证者来承担。每个layer 2的区块中,所有native rollup都有且仅有1笔交易来提交各自的rollup 区块,且这些rollup 区块只能由layer 2区块的验证者来提交。如果该layer 2区块中没有包含所有的native rollup的区块,则该区块无效。
即使某个native rollup在一段时间内没有交易,验证者也必须提交该rollup的区块。此时该rollup的区块为空。
排序器的收益是该排序器提交的各个native rollup的区块中的交易手续费。注意,所有native rollup中的交易手续费都是由layer 2 token 来支付的。因此,该排序器打包的rollup交易越多,收益也越多。
当排序器把rollup block打包上链后,该rollup 区块就进入了finalized状态。因此该区块最终确认所需要的时间与layer 2是相同的。
如果某一个rollup 区块没有在一定时间内被prover提交的证明验证,则该区块会被跳过,相应的排序器也将受到惩罚。
Prover
与排序器必须是当前layer 2区块的验证者不同,prover可以是任意的layer 2的验证者。只要一个验证者具有zkp算力,即可称为任意的native rollup的prover。
这些prover通过PoW的方式来竞争,最先提供某个rollup 区块的有效证明的,就能获得相应的区块奖励。注意,所有native rollup的区块奖励,都是由layer 2 token来支付的。这部分 token 就是layer 2的PoW部分的奖励,系统会根据zkp算力的供需平衡来自动调整PoW的奖励额度。
排序器打包的rollup 区块中,已经包含了生成证明所需要的所有数据。因此,对于每个rollup,prover可以并行生成多个区块的证明。同样的道理,这些区块证明的验证也是并行的。
当一个rollup 区块和它的所有父区块都被验证时,该区块就被验证了,即验证完成状态。
总结
通过 PoS & PoW的混合共识机制,layer 2和layer 3具有相同的共识层与验证者集合,确保了整个架构的安全性和去中心化。更为重要的是,layer 3的各个Native Rollup在底层架构上拥有了一个规范化的去中心化解决方案。layer 2定义了一个统一的系统合约,rollup的开发者只需要实现这些规范化的接口,并注册rollup 插槽成为native rollup。这样,开发者可以更加关注业务逻辑的实现,而不必关心在底层架构层面layer 2与layer 3如何交互,也不需要维护rollup的全节点和zkp算力。