AN

模块化区块链的启示:从 Rollup 到 SCP

0 166

作者:MiddleX @ PAKA.FUND From PermaDAO

经典 Rollups

L2 扩容是以太坊永恒的主题,以太坊上的 L2 的 形态经历了漫长的演化,最终 Rollups 成为了目前的主流 方案。

Rollups 的 Sequencers (排序者)会先排序交易、打包区块,对交易形成一个软共识,然后再提交到 L1,被 L1 验证后达成硬共识。

L1 会对 L2 提交的区块进行数据完整性和状态有效性的验证,但肯定不能通过重新跑一遍交易来验证,如果那么做,相当于没有扩容。因此,才会有OP(欺诈证明)和ZK(零知识证明)这样的懒惰验证方法:

  • OP的意思是,我作为L1 ,不直接验证,任何第三方都可以来验证,发现不对的地方告诉我,我再来核实,核实之后执行惩罚( OP Rollup 在 以太坊上部署的合约中锁仓了 Sequencers 的押金)。如果过了窗口期,没有人告诉我有什么不对,我就认为是对的。
  • ZK的意思是,你生成一个有效性证明,我来验证这个有效性证明。如果这个证明是对的,那么数据就是完整的,状态就是有效的。换句话说,验证这个证明等效于重算整个区块,但验证的开销远远小于重算区块。

OP Rollups 和 ZK Rollups 我们将其统称为经典 Rollups,它们是 Rollups 的 1.0 形态。值得一提的是,波卡的平行链属于 ZK-Rollup 的一种,平行链的收集者在打包好区块后,会将一个ZK-SNARK证明和区块一并提交给中继链。

模块化区块链视角下的Rollup

模块化区块链是最近很火的一个概念,大家都很喜欢谈论它。它给了我们研究和设计区块链的一个新视角,也催生出了几类新的 Rollup 形态。

模块化区块链概念的创造 者Celestia 将区块链划分为这样的层级结构:

  • 共识层:使得交易达成最终性,并对最新状态达成共识;
  • 数据可用性层(或称存储层):永久的,不可篡改的存储交易,保证历史交易的可访问性;
  • 执行层(或称计算层):负责根据交易计算最新状态;
  • 结算层:指的是执行层如何向共识层和存储层提交交易及状态,并保证交易数据的完整性和状态的有效性。或者反过来讲,共识层和存储层如何验证执行层提交的交易的完整性和状态的有效性。

结算层是个蹩脚的概念,与其称之为结算层,不如称之为结算策略。因为“层”的称呼容易让人产生误解,以为它存在某种实体。如果你试图问:某 Rollup 的结算层是在哪条链上呢?那么你已经陷入这种误解。你不需要纠结于结算层在哪条链上,它只是一种策略。

另外,共识层和存储层的联系是很紧密的,只有二者都安全的时候,区块链才是安全的,因此两者合起来才是完整的安全层。

因此,下图才是对模块化区块链概念更好的诠释。

剥离存储层:双L1式的Rollup

经典 Rollups 的安全层是统一的,存储层和共识层在同一条 L1 上。在模块化区块链概念的启发下,一些 L2 尝试将存储层剥离出来,例如 Celestium。

Celestium 将以太坊作为共识层,而将 Celestia 作为存储层,通过这种拆分,减少对昂贵的以太坊存储资源的占用,转而使用较为廉价的 Celestia 存储交易数据。这样做的确可以创造更便宜的Rollup,但相比经典Rollup,信任假设增加了——Celestia 必须是安全的。作为一个L2, Celestium 的安全性依附于两个 L1。

随着 danksharding 的推出,以太坊自身也会有一个和 Celestia 一样高效的存储层,届时各类剥离存储层的 Rollup 可能会回归为经典 Rollup。

主权 Rollup:不是 Rollup 的 Rollup

主权 Rollup 也是模块化语境下,被新发明出来的一个概念。主权 Rollup 将交易数据发布到存储层,存储层对其提交的交易数据不会做任何验证,来者不拒。这意味着存储层存储的是一个“脏账本”,其中有有效数据,也有无效数据。具体哪些是有效数据,哪些是无效数据,是主权 Rollup 自己定义的。换句话说,主权 Rollup 是数据的解释层,定义数据的解释规则,不同的解释规则将形成不同的分叉。

根据 主权 Rollup 概念的发明者 Celestia 的宣称,主权Rollup核心特性是:自主分叉。但“自主分叉”这个特性实际上需要主权 Rollup 有一个强大的社区共识才有可能实现,否则自主分叉的含义就会变为:项目方可以随时修改数据解释规则。

这意味着,主权Rollup的共识层在于自身,其安全性并没有依附于存储层,因此它不是 L2, 而是一个独立的 L1,一个将数据可用性外包的L1。较真一点,主权Rollup 叫 Rollup 是不合适的,应该叫 Roll-beside 或者 Rollout(不是“滚一边去”和“滚出去”的意思,你懂……)

本文一家之言,认为独立负责自身安全的区块链是 L1,将安全性依托于其他 L1 的是 L2(被依托的 L1 不限于以太坊)。按照这个定义,主权Rollup 不是 L2,除此之外,轻节点侧链、Plasma、Validium 都不是L2,而是一个新的 L1,Cosmos 的 Zones 也不是 L2,而是建立了互操作性的 L1 集群。

基于存储的共识范式(SCP)

既然主权 rollup 因为数据解释规则在自身,而不在存储层,导致它不继承存储层的安全性,那我们是否可以设想:将数据解释规则也提交到存储层呢?——这就是 Arweave 提出的基于存储的共识范式(Storage-based Consensus Paradigm,简称SCP)的核心思想。

L2 将程序代码提交到存储层,然后把交易数据也不断提交到存储层,任何人都可以用存储层的程序代码重新跑一遍交易数据,得到一致的最新状态。这样就实现了对存储层安全性的继承,从而让存储层成为了L1。所以,基于 SCP 的 L2 虽然不叫 Rollup,却是真正的、如假包换的 Rollup。

这是一种新型的Rollup,我们可以称之为Rollup2.0,在我看来,Arweave 大可以给 SCP 取一个更贴脸的名字——Code-Contained Rollup,加入 Rollups 的大叙事中来。

对于 SCP 应用而言,L1 虽然存的也是一个脏账本,但无效的数据不会被节点索引。与经典 Rollups 相比,SCP 范式下,L2 在不需要 L1 执行任何的计算(包括数据验证和状态计算)的前提下,实现了对 L1 的安全性依附。这带来两个关键的特性:

  • L2 的性能几乎不受 L1 性能的限制。L2 可以放飞自我,实现比肩 Web2 的TPS。
  • L2 的虚拟机环境不受 L1 的限制,因为 L1 只是负责存储,并不需要在计算层面与 L2 有任何的兼容性,这样一来,基于 SCP 范式,开发者可以使用任何自己熟悉的语言来开发 L2,它甚至没必要用区块链的结构。

SCP 范式的 L2,尽管不能自主分叉,但可以像经典 Rollup 那样,通过重新部署来实现升级。SCP 范式的缺点在于互操作性受到了一定的制约:

  • 脏账本策略导致与之进行互操作的应用或者账本无法仅凭“交易存在于链上”的证明判断交易的有效性,而是需要在链下重新跑全部交易数据;
  • 自定义虚拟机虽然给了开发者自由度,但不同虚拟机环境之间很难建立信任最小化的跨账本桥

尽管如此,SCP 仍是一种非常有潜力的范式。对于一些想要改造为 Web3 版本的 Web2 应用而言,并不需要像 DeFi 应用那样迫切需要互操作性,重要的是低成本的迁移。

Web2应用只需改造两个点:

  • 改为基于数字签名的账户系统
  • 改为将数据存储到链上

就可以成为真正意义上的Web3应用,获得Web3应用的关键特性

  • 用户自由准入,不受审查
  • 数据不可篡改,用户的装备、资产不可剥夺

SCP 应用可以基于任意具备永久存储功能的区块链来开发,但作为一个专门的存储型公链,Arweave 会更有优势,一来存储的费用相对低廉,二来 Arweave 已经为 SCP 应用的开发提供了很多开发工具、资源和基础设施,事实上,Arweave 上已经有一个初具规模的 SCP 应用生态。

总结

我们漫谈了经典 Rollup 和模块化区块链语境中的新型 Rollup ,它们的特性对比如下图。

总体来看:

1、经典 Rollup ,也就是 Rollup 1.0 ,仍占据主导地位,但随着以太坊资源竞争的进一步加剧,很多Rollup 会选择更廉价的数据可用性层,尽管这样在安全性上有一定的妥协。

2、Danksharding 可以提升以太坊的存储性能,有希望让 Rollups 的数据可用性层回归以太坊,但 Danksharding 的实施周期会很长。

3、主权 Rollup 不是 Rollup,也不是 L2,而是一个将数据可用性外包的独立 L1。

4、SCP 范式是一类值得业内广泛关注的新型 Rollup,我愿称之为Rollup 2.0 ,也是 Web2 应用向 Web3 迁移的最佳路径。有可能为我们带来一波 Web3 应用的寒武纪大爆发。


本文作者是 PAKA 研究员 MiddleX。

About PAKA

PAKA 是一个由众多波卡平行链发起人联合创建的 DAO Venture,旨在发掘和帮助波卡以及web3生态的创新团队。我们希望能够将每一代创业者的创业经验和技术沉淀,通过 DAO 的方式帮助到下一代创业者,推动 Web3.0 的愿景实现。

参考资料

Modular Blockchains: A Deep Dive

https://volt.capital/blog/modular-blockchains

读懂SCP: 基于存储设计范式

https://blog.suningyao.com/docs/Blockchain/scp/

Foresight Ventures: Rollup 的现在, 阻碍, 竞赛, 和未来

https://mp.weixin.qq.com/s/GT4Yfw8VPhBikME4mKCTNQ

Delphi Digital:Rollup 完全指南

https://foresightnews.pro/article/detail/11105

Overview of Layer 2 approaches: Plasma, State Channels, Side Chains, Roll Ups

https://near.org/blog/layer-2/

这样解释数据可用层项目 Celestia,应该就比较好理解了

https://foresightnews.pro/article/detail/18927

 加入 PermaDAO,建设 Web3!一起做 Buidler


Join our
Telegram / Discord / Twitter / CN Twitter

Leave A Reply

Your email address will not be published.