
先厘清定义:什么是 L1,什么是 L2?
本文一家之言,认为独立负责自身安全的区块链是 L1,将安全性依托于其他 L1 的是 L2(被依托的 L1 不限于以太坊)。按照这个定义,侧链不属于 L2,轻节点侧链、Plasma、Validium 都是侧链,不是 L2,而是一个新的 L1。Cosmos 的 Zones 也不是 L2,而是建立了互操作性的 L1 集群。
状态通道
考起古来,最早的 L2 方案应该是状态通道,比特币的闪电网络是其中的典型代表。比如说张全蛋和李铁柱需要频繁交易,如果每笔交易都上链的话,Gas 太贵了,于是他们约定各自质押一部分资金在链上,打开一个通道,在链下进行交易,当需要结算时,任何一方可向 L1 提交最终的状态。如果提交“最终状态”的一方存在欺诈行为,另一方可以通过在窗口期内提交欺诈证明(一个更新的最终状态),触发 L1 罚没另一方的资金。这个方案的缺点是需要结算时,所有参与方都要在线,避免不利于自己的结果被作为最终状态提交。如果参与方只有张全蛋和李铁柱,或者再增加一个赵小花,可能没有问题,但如果参与方为数众多,且开放进入,这个方式就不再具有可行性。如果委托第三方来结算,又会存在对第三方的信任问题——这意味着状态通道失去对 L1 的安全性依附,退化为了侧链。
以太坊的 L2 形态经过漫长的演化,最终 Rollups 成为主流。
Rollups 的 Sequencers (排序者)会先收集和排序交易、打包区块,对交易形成一个软共识,然后再提交到 L1,被 L1 验证后达成硬共识。L1 会对 L2 提交的区块进行数据完整性和状态有效性的验证,但肯定不能通过重新跑一遍交易来验证,如果那么做,相当于没有扩容。因此,才会有 OP(欺诈证明)和 ZK(零知识证明)这样的懒惰验证法:
OP Rollups 和 ZK Rollups 我们将其统称为经典 Rollups,它们是 Rollups 的初始形态。
模块化区块链
模块化区块链是最近很火的一个概念,大家都很喜欢谈论它。它给了我们研究和设计区块链的一个新视角,也催生了一些新形态的 Rollups。
模块化区块链概念的创造者 Celestia 将区块链划分为这样的层级结构:
结算层是个蹩脚的概念,与其称之为结算层,不如称之为结算策略。因为“层”的称呼容易让人产生误解,以为它存在某种实体。如果你试图问:某 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 就不如把共识层也迁移过去。
随着 danksharding 的推出,以太坊自身也会有一个和 Celestia 一样高效的存储层,届时各类剥离存储层的 Rollup 可能会回归为经典 Rollup。但众所周知,船大难掉头,以太坊的 danksharding 升级将会是一个漫长的过程。主权 Rollup:不是 Rollup 的 Rollup
主权 Rollup 也是模块化语境下,被新发明出来的一个概念。主权 Rollup 将交易数据发布到存储层,存储层对其提交的交易数据不会做任何验证,来者不拒。这意味着存储层存储的是一个“脏账本”,其中有有效数据,也有无效数据。具体哪些是有效数据,哪些是无效数据,是主权 Rollup 自己定义的(如果主权 Rollup 的节点们愿意,它甚至规定交易的顺序是倒序的)。换句话说,主权 Rollup 是数据的解释层,定义数据的解释规则,不同的解释规则将形成不同的分叉。
主权 Rollup 概念的发明者 Celestia 宣称的自主分叉的特性,实际上需要主权 Rollup 有一个强大的社区共识才有可能实现,否则自主分叉的含义就会变为:项目方可以随时修改游戏规则。这意味着主权 Rollup 的共识层在于自身,其安全性没有依附于存储层,因此它不是 L2, 而是一个独立的 L1,一个将数据可用性外包的 L1。较真一点,主权 Rollup 叫 Rollup 是不合适的,应该叫 Roll-beside 或者 Rollout(不是“滚一边去”和“滚出去”的意思,你懂……)既然主权 Rollup 因为数据解释规则在自身,而不在存储层,导致它不继承存储层的安全性,那我们是否可以设想:将数据解释规则也提交到存储层呢?这就是 Arweave 提出的基于存储的共识范式(Storage-based Consensus Paradigm,简称 SCP)。L2 将程序代码提交到存储层,然后把交易数据也不断提交到存储层,任何人都可以用存储层的程序代码重新跑一遍交易数据,得到一致的最新状态。这样就实现了对存储层安全性的继承,从而让存储层成为了 L1。尽管 SCP 这个名称中没有 Rollup,但基于 SCP 的 L2 绝对是如假包换的 Rollup。其实,Arweave 可以考虑给 SCP 取一个更贴脸的名字——Code-Contained Rollup(包含代码的 Rollup),加入 Rollups 的大叙事中来。对于 SCP 应用而言,L1 虽然存的也是一个脏账本,但无效的数据不会被节点索引。与经典 Rollups 相比,SCP 范式下,L2 在不需要 L1 执行任何计算(包括数据验证和状态计算)的前提下,实现了对 L1 的安全性依附。这带来两个关键的特性:- L2 的性能几乎不受 L1 性能的限制。L2 可以放飞自我,实现比肩 Web2 的 TPS。
- L2 的虚拟机环境不受 L1 的限制,因此 L1 只是负责存储,并不需要在计算层面与 L2 有任何的兼容性,这样一来,基于 SCP 范式,开发者可以使用任何自己熟悉的语言来开发 L2,它甚至没必要用区块链的结构。
SCP 范式的 L2,尽管不能自主分叉,但可以像经典 Rollup 那样,通过重新部署来实现升级。SCP 提供了 Web2 应用进行 Web3 改造的绝佳途径。Web2 应用只需改造两个点:就可以成为真正意义上的 Web3 应用,获得 Web3 应用的关键特性
SCP 应用的缺点是:脏账本策略和自定义虚拟机环境限制了 一部分互操作性:- SCP 在链上存储的是一个脏账本,因此,其他应用或者账本与之进行互操作时,无法仅凭“该交易存在于链上”的证明就判断该交易的有效性,而是需要重跑一遍所有交易才能验证一个交易的有效性;
- 为不同虚拟机环境下的应用之间构建信任最小化的跨链桥难度很大。
但对于一些想要改造为 Web3 版本的 Web2 应用而言,并不需要像 DeFi 应用那样迫切需要互操作性,重要的是低成本的迁移。Web3 难道不是需要一个后 DeFi 时代么,或许 SCP 范式可以为我们创造!平行链
如果我们以 L2 的视角来看,波卡的平行链也是 Rollup。平行链的收集者(Collator)就相当于 Rollup 中的 Sequencer,他们收集和排序交易,打包区块,并提交给中继链。需要注意的是,收集者也会一并打包一个 ZK-SNARK 证明,供中继链进行「懒惰」验证。这意味着,平行链其实就是 ZK Rollup。Starkware 已经向我们呈现,ZK-Rollup 是一种可以支持分形扩容的结构,L2 之上可以再建立 L3,通过 L2 继承 L1 的安全性。平行链实际上也可以支持分形扩容。与以太坊上的 ZK Rollup 不同的是,平行链提交的有效性证明,并不是由中继链的验证人全体验证,而是由中继链随机分配给该平行链的一个子集负责验证(中继链有超过 1000 个验证人,该子集一般只有 5-10 个)。由于分配是随机的、不可预测的、不断洗牌的,因此并不会降低验证环节的安全性。子集验证比全体验证更节约成本,因此,在提供相同品质的区块空间的情况下,波卡中继链可以比以太坊做到更便宜。波卡具有经典 Rollup 不具备的统一互操作性。XCMP 和基于 XCM 的通讯可以让平行链与中继链、平行链之间就像在同一条链上一样相互读写。以太坊 Rollups 间的互操作性主要受限于两个因素- Op 系 Rollups 在最终性上的延迟(7 天以上),对于多数互操作场景而言很难接受。一些第三方跨 Op 桥,把 L2 的 soft confirmation 当做最终性来实现即时互操作,是有安全隐患的。
Zk 系 Rollups 的虚拟机环境尚未统一,SNARKs 和 STARKs 不能兼容,ZK 系 Rollups 和 Op 系 Rollups 也不能兼容,无法建立信任最小化的桥。
波卡中继链的验证者们会用纠删码技术对平行链提交的数据进行分片存储,这正是以太坊 danksharding 升级要实现的功能,也是 Arweave、Celestia 等存储型公链得以高效且永久存储数据的实现途径。目前来说,波卡生态的发展,相比很多投资者的预期而言,还有差距。核心原因是 WASM 还没有真正流行起来,Web3 领域的第一批开发者们还是更习惯 EVM,EVM 相关的开发工具、开发资源也相对更加完善。但相比 EVM,WASM 的优势太多,很多文章都已经分析的很透彻。即便是以太坊社区,也在讨论从 EVM 到 eWASM 的转型。当熟悉 WASM 的下一代开发者们成长起来,波卡生态将会大放异彩。Zk 证明、互操作性、纠删码分片存储、WASM,我们发现,以太坊进化的目的地,刚好是波卡出发的地方,由衷的佩服 Gavin 在架构设计上的前瞻性。小结
我们漫谈了经典 Rollup、SCP、平行链,这些 L2 方案。它们的特性对比如下图:

尽管主权 Rollup 不是 L2,但为了对比的完整性,还是放上去了。
1、SCP 是一个值得业内广泛关注的应用范式,可能会创造一波 Web3 应用的寒武纪大爆发;2、模块化区块链只是个 meme,不存在所谓模块化区块链的投资赛道,但可以关注为区块链提供模块化服务的一些项目;3、主权 Rollup 是个伪概念,它其实就是:外包数据可用性的 L1 公链;4、Web2 世界,创业家们都害怕腾讯,但在 Web3 世界,你不需要害怕以太坊,即便以太坊通过升级和优化可以覆盖你的创新,但速度会很慢,你有足够长的发展窗口;5、短期来看,EVM 依旧会是主流。但布局和埋伏 WASM,可能让你获得更大收益;感谢熊炜 @Arweave 向作者阐述了 SCP 范式的设计思想;感谢 msfew@HyperOracle 在本文写作过程中围绕 Rollups 与作者进行的探讨。Polkadot: A Pessimistic Rollup Worldhttps://medium.com/coinmonks/polkadot-a-pessimistic-rollup-world-89fee1cfcd5fTech Talk : Rollup vs Parachainhttps://forum.polkadot.network/t/rollup-vs-parachain/585Modular Blockchains: A Deep Divehttps://volt.capital/blog/modular-blockchainshttps://blog.suningyao.com/docs/Blockchain/scp/Foresight Ventures: Rollup 的现在, 阻碍, 竞赛, 和未来区块链存储 ARWEAVE:图灵机的纸带,可信计算新范式Delphi Digital:Rollup 完全指南https://foresightnews.pro/article/detail/11105Overview of Layer 2 approaches: Plasma, State Channels, Side Chains, Roll Upshttps://near.org/blog/layer-2/这样解释数据可用层项目 Celestia,应该就比较好理解了https://foresightnews.pro/article/detail/18927https://www.bitpush.news/articles/1758577PAKA 是一个由众多波卡平行链发起人联合创建的 DAO Venture,旨在发掘和帮助波卡以及 web3 生态的创新团队。我们希望能够将每一代创业者的创业经验和技术沉淀,通过 DAO 的方式帮助到下一代创业者,推动 Web3.0 的愿景实现。
