PAKA Labs | 浅析模块化视角下的Rollups、SCP、平行链等Layer2方案
撰文:MIDDLE.X 审阅:Owen
先厘清定义:什么是L1,什么是L2?
本文一家之言,认为独立负责自身安全的区块链是 L1,将安全性依托于其他 L1 的是 L2(被依托的 L1 不限于以太坊)。按照这个定义,侧链不属于 L2,轻节点侧链、Plasma、Validium 都是侧链,不是 L2,而是一个新的 L1。Cosmos 的 Zones 也不是 L2,而是建立了互操作性的 L1 集群。
状态通道
经典 Rollups
以太坊的 L2 形态经过漫长的演化,最终 Rollups 成为主流。
Rollups 的 Sequencers (排序者)会先收集和排序交易、打包区块,对交易形成一个软共识,然后再提交到 L1,被 L1 验证后达成硬共识。L1 会对 L2 提交的区块进行数据完整性和状态有效性的验证,但肯定不能通过重新跑一遍交易来验证,如果那么做,相当于没有扩容。因此,才会有 OP(欺诈证明)和 ZK(零知识证明)这样的懒惰验证法:
OP 的意思是,我作为 L1,默认不亲自验证,任何第三方都可以来验证,发现不对的地方告诉我,我再来亲自验证核实,核实确有欺诈之后执行对欺诈者的惩罚(L2 在 L1 上部署的合约中锁仓了 Sequencers 的押金)。如果窗口期过了,没有人告诉我有什么不对,我就认为是对的。 ZK 的意思是,你生成一个有效性证明,我来验证这个有效性证明。如果这个证明是对的,那么数据就是完整的,状态就是有效的。换句话说,验证这个证明等效于重算整个区块,但验证的开销远远小于重算区块。
OP Rollups 和 ZK Rollups 我们将其统称为经典 Rollups,它们是 Rollups 的初始形态。
模块化区块链
模块化区块链是最近很火的一个概念,大家都很喜欢谈论它。它给了我们研究和设计区块链的一个新视角,也催生了一些新形态的 Rollups。
模块化区块链概念的创造者 Celestia 将区块链划分为这样的层级结构:
共识层:使得交易达成最终性,并对最新状态达成共识; 数据可用性层(或称存储层):永久的,不可篡改的存储交易,保证历史交易的可访问性; 执行层(或称计算层):负责根据交易计算最新状态; 结算层:指的是执行层如何向共识层和存储层提交交易及状态,并保证交易数据的完整性和状态的有效性。或者反过来讲,共识层和存储层如何验证执行层提交的交易的完整性和状态的有效性。
结算层是个蹩脚的概念,与其称之为结算层,不如称之为结算策略。因为“层”的称呼容易让人产生误解,以为它存在某种实体。如果你试图问:某 Rollup 的结算层是在以太坊吗?那么你已经陷入这种误解。你不需要纠结于结算层在哪条链上,它只是一种策略。
另外,共识层和存储层的联系是很紧密的,只有二者都安全的时候,区块链才是安全的,因此两者合起来才是完整的安全层。
剥离存储层:双 L1 式的 Rollup
经典 Rollups 的安全层是统一的,存储层和共识层在同一条 L1 上。在模块化区块链概念的启发下,一些 L2 尝试将存储层剥离出来,例如 Celestium。
Celestium 将以太坊作为共识层,而将 Celestia 作为存储层,通过这种拆分,减少对昂贵的以太坊存储资源的占用,转而使用较为廉价的 Celestia 存储交易数据。
这样做的确可以创造更便宜的 Rollup,但相比经典 Rollup,信任假设增加了—— Celestia 必须是安全的。作为一个 L2,Celestium 的安全性依附于两个 L1,这不意味着安全性的增加,而是意味着安全性的减弱。假设以太坊安全性为 S1,Celesita 安全性为 S2,那么 Celestium 的安全性为 min (S1,S2),由于 S1 > S2,所以 Celestium 的安全性 min (S1,S2) = S2。
Celestia 是一个纯粹的存储型公链,主营业务就是为其他公链提供数据可用性服务。假设 Celestia 提供智能合约功能,那 Celestium 就不如把共识层也迁移过去。
主权 Rollup:不是 Rollup 的 Rollup
主权 Rollup 也是模块化语境下,被新发明出来的一个概念。主权 Rollup 将交易数据发布到存储层,存储层对其提交的交易数据不会做任何验证,来者不拒。这意味着存储层存储的是一个“脏账本”,其中有有效数据,也有无效数据。具体哪些是有效数据,哪些是无效数据,是主权 Rollup 自己定义的(如果主权 Rollup 的节点们愿意,它甚至规定交易的顺序是倒序的)。换句话说,主权 Rollup 是数据的解释层,定义数据的解释规则,不同的解释规则将形成不同的分叉。
基于存储的共识范式
L2 的性能几乎不受 L1 性能的限制。L2 可以放飞自我,实现比肩 Web2 的 TPS。 L2 的虚拟机环境不受 L1 的限制,因此 L1 只是负责存储,并不需要在计算层面与 L2 有任何的兼容性,这样一来,基于 SCP 范式,开发者可以使用任何自己熟悉的语言来开发 L2,它甚至没必要用区块链的结构。
改为基于数字签名的账户系统 改为将数据存储到链上
用户自由准入,不受审查 数据不可篡改,用户的装备、资产不可剥夺
SCP 在链上存储的是一个脏账本,因此,其他应用或者账本与之进行互操作时,无法仅凭“该交易存在于链上”的证明就判断该交易的有效性,而是需要重跑一遍所有交易才能验证一个交易的有效性; 为不同虚拟机环境下的应用之间构建信任最小化的跨链桥难度很大。
平行链
平行链即 ZK Rollup
互操作性
Op 系 Rollups 在最终性上的延迟(7 天以上),对于多数互操作场景而言很难接受。一些第三方跨 Op 桥,把 L2 的 soft confirmation 当做最终性来实现即时互操作,是有安全隐患的。 Zk 系 Rollups 的虚拟机环境尚未统一,SNARKs 和 STARKs 不能兼容,ZK系Rollups 和 Op 系 Rollups 也不能兼容,无法建立信任最小化的桥。
分片存储
WASM
小结
我们漫谈了经典 Rollup、SCP、平行链,这些 L2 方案。它们的特性对比如下图:
尽管主权 Rollup 不是 L2,但为了对比的完整性,还是放上去了。
About PAKA
往期推荐