原文作者:Cynic Leo,LK Venture
TL;DR
区块链中存在着一个不可能三角,即安全、去中心化与可扩展性无法同时实现。Bitcoin 与 Ethereum 选择了前两者,而对后者的支持不足,短时间的大量交易会导致网络拥塞与高昂的交易费用。
Bitcoin 生态最先提出扩容的概念,希望在 Bitcoin 之上构建一个虚拟的第二层用于处理交易,而主链用于结算。Ethereum 先后尝试使用 State Channel, Sidechain, Plasma 来实现扩容,但结果都不尽如人意。2018 年 9 月 5 日,Barry Hat 在 Github 提出了 Rollup 的概念。最终 Rollup 技术赢得了社区的认可,Ethereum Foundation 将其称之为唯一的 Layer 2 技术。
五年弹指一挥间,市场关注度最高的以太坊 Rollup 都在近期频繁传出 RaaS(Rollup as a Service)的新动向,我们会不会在不久后迎来属于 Rollup 的是 summer?本文从 RaaS 的概况、生态和未来发展分析,希望由点到线,由线到面,窥见一斑。
RaaS 概况
关于 Rollup 的技术分析,Rollup 的实现较为复杂,对于专业技能与开发能力的要求较高,发链的高门槛显然与区块链无许可的理念背道而驰。
Rollup-as-a-Service (RaaS)将 Rollup 打包为一项服务,为企业、组织以及个人提供更加友好、简便的 Rollup 部署体验。类似 Cosmos SDK 与 Polkadot Substrate。
对于 Layer 1 发链所做的那样,RaaS 为 Rollup 提供了通用的 SDK,通过简单的配置就可以实现自主的 Rollup 开发部署,可定制化的特点维护了项目的主权性。部分 RaaS 项目甚至提供了无代码的一键发链功能,让用户不需要具备编程能力也能够部署自己的 Rollup。
Rollup 是高度模块化的,排序器(Sequencer)以及证明生成器(Prover)都可以进行单独的迭代升级。在 RaaS 中,有项目专攻排序器与证明生成器的设计与开发,能够为所有 Rollup 提供服务。
RaaS 能够带来以下改变:
1.更便宜、高效且同等安全的应用链:Rollup 将昂贵的计算过程移到链下处理,使得交易更加便宜且高效;以底层公链作为 DA 层,由智能合约验证证明,能够获得与底层公链相同的安全性。
2.创新想法的试验场:Rollup 使用和底层公链相同的虚拟机环境,但是价格上更加低廉,可以作为底层链的 battle test 环境,将社区的提案在 Rollup 上经过足够的测试后,再迁移至底层公链。
3.更高的互操作性:使用同一套 RaaS 服务的 Rollup,由于技术架构相同,所以容易定义出一套消息规则,无需通过桥接进行跨链,而是直接在各 Rollup 间进行消息传递,获取彼此间的高互操作性。
RaaS 生态
广义而言,所有对发行 Rollup 有贡献的项目都属于 RaaS 生态。本文根据模块化原则,自底向上,将 RaaS 生态分为了 DA(数据可用性)、SDK(软件开发工具包)、Sequencer(排序器)、No-Code(无代码部署)四个层级。
其中部分项目提供了多个层级的服务,将在第一次出现时综合论述,在下文不再重复说明。
DA(数据可用性)
理论上,任何公链都可以作为 DA 层存储 Rollup 的交易数据,然而,如果没有一个稳定、正确运行的 DA 层,Rollup 将无法验证状态转换的可靠性。
对 Rollup 而言,有两种选择。一种是 Smart Contract Rollup,也是当前大多数 Rollup 选择的模式,实际依赖底层公链的结算与数据可用性;另一种是 Sovereignty Rollup,将数据可用性与结算分离,只依赖底层公链的数据可用性,自己处理结算部分。
前者的代表通常会选择 EVM 兼容、Cosmos 兼容链或是 Solana 等具备完整功能的公链;后者的需求衍生出了专攻数据可用性的项目,包括 Celestia、EigenLayer、Avail 等。
Celestia
Celestia 是使用 Cosmos SDK 构建的 PoS 链,使用修改的 Tendermint 共识算法,使用 RS 码进行区块数据的编码。利用数据可用性采样技术,Celestia 进一步降低了轻节点的验证成本,轻节点只需要下载部分区块数据即可验证数据可用性。
此外,对于区块是否被正确编码的检测,Celestia 使用 Optimism 机制,即先乐观相信其被正确编码,如果一段时间未收到欺诈证明,则确定该区块已被正确编码。Optimism 机制提高了运行时的效率,但是增加了部分延迟。
Avail
Avail 是 Polygon Labs 扶持的项目,所用共识算法为 BABE+GRANDPA,同样使用了数据可用性采样技术。与 Celestia 不同的是,Avail 使用有效性证明来验证区块被正确编码,采用的是比 Merkel Proof 更高效的 KZG 证明。
EigenLayer
EigenLayer 本身是作为重质押的解决方案,旨在利用以太坊质押的流动性来为项目提供经济层面的安全保障。有了 EigenLayer,新的协议不需要构建自己的分布式验证网络,只需要通过 EigenLayer 利用 ETH 重质押的安全性。EigenLayer 能够出色地应用在轻量级、无许可、去中心化场景,在以太坊扩容的叙事之下,最佳的用例就在 RaaS 中。
由于 DA 不进行交易的计算,仅对交易数据进行编码与承诺,所以对节点的要求较低。由于采用 PoS 算法,所以质押流动性是区块链安全性、可用性的直接体现,这也正是 EigenLayer 大展身手的机会。
EigenLayer 作为 Ethereum 上的智能合约存在,使用 KZG 有效性证明进行区块正确编码的校验,然而当前 EigenLayer 还未采用数据可用性抽样技术,这可能与 Ethereum 下一阶段的升级计划有关。
Sequencer(排序器)
排序器的工作是将接收到的用户交易进行排序,后续的执行与出块都将按照这个顺序进行。在以太坊的架构中,由于排序与执行是由同一个实体进行处理,导致验证者的权力过大,存在 MEV、审查等现象,极大影响了用户体验。
将排序与执行分离,是 PBS(Propose Builder Separation)提议构建分离思想的一种体现。然而,当前的 Rollup 架构仍然广泛依赖于中心化的排序器来决定交易顺序,存在着单点故障与审查风险,继续一套去中心化的解决方案。
Astria
Astra 提供了一个共享排序器的解决方案。来自不同 Rollup 的用户交易会被收集至 Astria 排序器。对于 Rollup 节点而言,可以直接从 Astria 获取数据,以更低的延迟获得软确认;也可以等待 Astria 将数据提交至 DA 层后从 DA 层获取,获得最强的最终性确认。
由于 Astria 所提交的数据包含多个 Rollup 的交易,对每个 Rollup 而言,需要根据共识机制剔除无效的交易(包括来自其他 Rollup 的),再进行处理。Astria 只提供数据,将共识的选择交给 Rollup 节点,保障了 Rollup 的主权性。
OP Stack
OP Stack 的默认配置是使用单个的专用排序器处理交易排序,对此的一个简单修改是使用有许可的排序器集合,可以通过 PoS 机制来降低排序器节点作恶的可能。
在 OP Stack 引入超级链(Superchain)概念后,共享排序器就成为了一个必然的选择。共享排序器带来了原子跨链功能,提高了 Superchain 之间的互操作性。
Espresso
Espresso 希望利用以太坊质押者的流动性,通过重质押来获得共享安全性。Espresso 集成了排序器与 DA,通过 REST API 为 Rollups 提供排序结果,屏蔽了 DA 的细节,共识的安全性由位于L1上的智能合约进行验证,提供了更强的可靠性。
Saga
Saga 最初是作为 Cosmos Hub 类似的角色,用自身的一组验证器为在 Saga 上使用 Cosmos SDK 的应用链提供共享安全。
在 Rollup 的火热浪潮下,Saga 与 Celestia 合作,利用 Celestia 作为 DA,Saga 则是将自己的验证器转换为排序器,,利用 Optimistic Rollup IBC 与上层 Rollup 交换信息,提供共享安全性。
SUAVE
与其他排序器不同,SUAVE 始终瞄准的是 MEV 市场。Flashbots 是 MEV 赛道的绝对龙头,SUAVE 是其瞄准跨链 MEV 捕获所提出的产品,声称“The Future of MEV is SUAVE.”通过 SUAVE 所提供的共享排序器,原子的跨链交易成为可能,有助于提升不同链上资本市场的有效性。
EigenLayer
前面提到了 EigenLayer 在 DA 层面的用例,排序器的去中心化同样是 EigenLayer 的拿手好戏。
由于排序器仅负责排序不负责执行,对节点的要求很低,去中心化的关键就在于通过罚没机制降低节点作恶的可能性,EigenLayer 提供能够提供深度质押池,利用 Ethereum 的去中心化培育 Rollup 排序器的去中心化。
SDK(软件开发套件)
类似于 Cosmos SDK,RaaS 所提供的 SDK 让开发者能够复用大量软件模块,并以最低成本对所需的 Rollup 进行定制化,降低了开发难度。
Rollkit(Optimism)
Rollkit 最初为 Celestia 社区孵化,现在已经成为独立项目。Rollkit 使用 Celstia 作为 DA 层,向上提供 ABCI 兼容的客户端接口,为所有与 ABCI 兼容的 Rollup 提供服务(Cosmos 链)。
现阶段,Rollkit 使用单个中心化排序器,支持 Cosmos SDK、Ethermint 与 CosmWasm 的集成,用户可以选择自己想要的执行环境。未来,Rollkit 将继续开发,以支持更多的配置服务。
Dymension(Optimisim)
Dymension 将服务分为前后端,前端是支持自定义的 RollApps,由 Dymension RDK 提供支持(修改的 Cosmos SDK),后端 Dymension Hub 协调整个系统,处理 DA 与排序。
Dymension 使用 Optimism 机制,Dymension Hub 先乐观接受排序器传来的状态更新,如果接收到有效的欺诈证明,则回滚状态修改。RollApps 能够实现平均 0.2 秒的延迟与最高 20, 000 的 TPS。
Dymension 采用弹性出块方案,当区块中没有交易时,会停止出块,这显著降低了排序器的运营成本。
现阶段 Dymension 产品尚在开发中,已经支持了 EVM 的执行层,对于 DA 层没有明确的选择。
Sovereign(ZK)
Soverign SDK 提供的是 zk-Rollup as a Service,提供了搭建区块链的通用模块以及一个屏蔽底层零知识证明细节的 zkVM,让开发者能够用 Rust 编写程序,SDK 可以将其编译为高效的 zk 友好形式。
就像项目名称所标明的那样,Sovereign SDK 强调主权,Rollup 通过自定义的共识规则来确定状态转换的合法性,而不需要 DA 层的验证。
当前,Sovereign SDK 在 DA 层已经适配了 Celestia 和 Avail,支持 Risc 0 的 zkVM,可以实现 Rollup 的部署与演示。
Stackr(Unknown)
Stackr 提出了一种更为激进的创新,想要将传统互联网中的微服务架构迁移至区块链中,提出 micro-rollup 的概念。
常规 rollup 与 micro-rollup 的关系,就像虚拟机与容器的关系。使用 Stackr SDK,开发者只需要定义所需的数据结构与状态转移函数,其余事情交给 Stackr 处理。
Stackr 支持多种执行环境,例如 EVM, Solana VM, FuelVM 等,用户可以自行选择希望使用的环境。
AltLayer(Optimism)
AltLayer 作为去中心化与弹性的 RaaS,提供了一个面向开发者的 SDK 与无需代码经验的 No-Code Dashboard,能够实现一键发链。
AltLayer 提供了独特的弹性 Rollup,称之为 Flash Layer。在应用需求激增的时候,可以快速部署一条 Rollup 链,当需求回归正常,在L1上进行结算,废弃该 Rollup,实现了互联网体系中常见的横向扩容。
AltLayer 的目标是支持多链、多执行环境,当前已经实现了对 EVM 与 WASM 的支持。
OP Stack(Optimism)
OP Stack 是为支持 Optimism Superchain 而构建的,这是一个拟议的由L2网络共享安全性、通信层和共同开发堆栈的网络。Bedrock 升级后,使用 OP Stack 创建的 Rollup 将原生与 Superchain 兼容。当然,也可以对 OP Stack 的组件进行修改,以获得的定制化特性,base 与 opBNB 等都是基于 OP Stack 进行开发的 Rollup。
OP Stack 的安全性与可用性,已经经过 OP Mainnet,base 等链的充分检验,但当前仍然存在缺乏欺诈证明、排序器中心化等问题,OP Stack 正在探索新的出路,例如采用更廉价的 DA 层、使用 ZK Proof、共享排序器等。
Arbitrum Orbit(Optimism)
6 月 22 日,Offchain Labs 发布了用于发行 Arbitrum Orbit Chain 的工具。Orbit Chain 是在 Arbitrum Layer 2 之上的 Layer 3 ,可以选择利用 Arbitrum One, Arbitrum Nova, Arbitrum Goerli 在内的三条 Layer 2 之一进行结算。用户可以自己选择使用 Rollup 或 Anytrust 技术,其区别在于 Anytrust 使用 DAC 而不用将交易数据提交至链上,价格更低廉,但是安全性稍弱。Orbit Chain 的优势在于其简单的发链流程、与 Arbitrum 生态的互操作性、Nitro 的即时更新以及 Stylus 提供的 EVM+兼容性(支持 Rust, C, C++编写,运行在 WASM 虚拟机)。用户可以无需可地定制化发行任何 Orbit Chain,但是必须在 Arbitrum Layer 2 上结算,否则需要联系 Offchain Labs 或者 Arbitrum DAO 获得授权。
ZK Stack(ZK)
6 月 26 日,zkSync 发布文章,宣称将在未来几周内对现有的开源代码进行修改,推出 ZK Stack,让用户能够使用其定制化构建自己的 ZK 超级链。与 Arbitrum 的 Orbit Chain 不同, ZK Stack 强调主权与互操作性,用户根据需求进行完全的定制化,使用 ZK Stack 构建的链可以实现无桥的互操作性。ZK Stack 既能够用于构建 Layer 2 也能够构建 Layer 3 ,官方并未对其进行限制,没有要求必须在 zkSync 上结算。从这点来看,ZK Stack 提供的主权似乎更强。
Starknet Stack/Madara(ZK)
Madara 最初的定位是 Starknet 上的排序器,借助技术积累,成功在原产品的基础上开发了 Starknet Stack,帮助构建 Starknet 上的应用链 Rollup。由 Ethereum 作为 DA 层,借助 Starknet 的共享证明器,在 Starknet 上进行结算。从可用性的角度上来看,Madara 已经在 PragmaOracle hackathon 中帮助团队在 24 小时内实现了应用链 Rollup 的发行,并且给出了视频演示,相比 zkSync 团队的 ZK Stack,完成度要更高。
No-Code(无代码部署)
无代码部署是门槛更低的一种解决方案,为非开发者提供了一键发链的选项,有望进一步提高采用度。
Caldera(Optimism)
Calera Chain 是一个全链路定制化的一键发链方案。在执行层,支持 OP Stack 与 Arbitrum Orbit,结算层可以选取 Polygon、BSC、Evmos 等 EVM 兼容链,DA 层由 EigenLayer 与 Celestia 提供支持。
除了 Rollup 链本身,Caldera 还提供了配套的一系列基础设施,如区块链浏览器、测试网水龙头、预言机、Hyperlane 支持的桥接等,进一步降低发链成本。
Eclipse(Optimism+ZK)
Eclipse 的可定制化能力很高,在执行层支持 EVM 与 SolanaVM,在 DA 层接入了 Celestia、Avail、EigenLayer,结算层提供了 Optimistic 结算,并且正在开发支持 ZK 结算的 RISC 0 zkVM。
用户还可以根据需要,选择链的准入性(许可/无许可)、Gas token 以及是否收取 Gas Fee、是否允许 MEV、特定的 Opcode、区块大小等,赋予了很高的灵活性。
Opside(ZK)
Opside 最大的特点在于其构建了一个去中心化的 ZKP 市场。本来想将 Prover 单独作为一层来叙述,由于项目数量较少放弃了。零知识证明 ZKP 对于算力的要求较高,在 zkRollup 市场份额逐渐增加的背景下,ZKP 的去中心化是未来发展的大方向。
Opside 采用无许可的 PoW 共识机制,吸引矿工来生成 ZKP,维护 zkRollup 的安全性与可用性,而无需发链者考虑证明的生成问题。在验证者层面,采用 PoS 机制,降低参与门槛,促进验证者的中心化。
Opside 提供定制化服务,用户可以在 zkSync、Starknet、Polygon zkEVM 等 zkEVM 中进行选择,也可以修改经济模型,调整 Gas 费用。
RaaS 的未来发展
更多 ZK
zkRollup 与 Optimistic Rollup 相比,从经济学保障安全性升级为密码学保障安全性,安全程度更高;不再需要等待长时间的挑战器,确认延迟更低;对数据的压缩程度更高,DA 更便宜。
尽管 Optimism 方案由于其技术成熟度高,在产品发布上借助早期优势占据了很高的市场份额,但是 ZK 作为一种革命性的技术,将会在未来扮演更加重要的作用。Vitalik 在黑山演讲上将 ZK 技术与区块链技术放在了同等重要的位置,也侧面反映了 ZK 的重要性。
随着技术的不断完善,更多的 zk-Rollup as a Service 项目将进入大众视野,为用户提供更多的选择。
更多非 Ethereum
时至今日,以太坊生态在整个区块链行业中仍然占据绝对的主导地位。尽管其他社区不断迭代创新,但是仍然无法动摇以太坊生态的宝座。
在 RaaS 中,事情好像发生了一些变化。以太坊上数据存储的低容量与高价格,人们可以选择 Celestia、Avail 或是 Polygon 这类更便宜的 DA 层;以太坊是非模块化的,进行修改非常复杂,人们可以选择高度模块化的 Cosmos SKD;EVM 的执行效率低,人们可以选择效率更高的 Solana VM、Move VM、CairoVM。
一枝独放不是春,百花齐放春满园。非以太坊生态的各类解决方案将在 RaaS 中绽放新的活力。
更多模块化
模块化的作用可以分为两点,一是各模块可以单独快速迭代,提高开发效率;二是模块化可以极大降低定制化的复杂度。
在当前的市场环境下,想要再独立开发一个一站式的解决方案几乎没有可能,整体的创新速度永远赶不上小模块的快速迭代。对于定制化的极致要求会导致模块划分的进一步细化,如果自身不进行模块化,最后就会被其他项目进行拆分,像 OP Stack 与 Arbitrum Orbit 被 Caldera 分离出执行层。
更多定制化
当扩容技术逐渐成熟,交易的费用越来越低,基础设施完善了,人们才反应过来,“傻瓜,关键在应用”。每个应用都有其特定的运行规则与模式,单一的解决方案无法适应复杂的应用生态,所以我们需要更多的定制化。
从区块大小到数据结构、从交易费用到交易延迟、从准入机制到安全假设、从合约引擎到代币赋能,未来 Rollup 的定制化程度将逐步升级,为应用程序提供更灵活的解决方案。
更多互操作性
前面提到过,以太坊生态占据区块链生态的主导地位,其实与其锁定的巨额流动性有很大关系。在加密市场中,由于每条链是独立存在的,流动性无法同时存在于两条链中,Rollup 的数量增加,会导致流动性的进一步瓜分,流动性成为了很严重的问题。
更强的互操作性可以降低跨链的摩擦,让流动性更顺畅在地不同链间往返,甚至可以称之为共享流动性。与 Cosmos 所倡导的思想一致,OP Stack、Arbitrun Orbit、ZK Stack、Starknet Stack 等项目都试图构建庞大的应用链生态,使用同一个技术堆栈构建的 Rollup,由于其技术架构相同,所以可以获得原生的互操作性,而不需要构建跨链桥。
更多重质押
目前 RaaS 中的很多服务都采用 PoS 的模式,利用经济惩罚来增加作恶成本,提高安全性。但是经济学上的安全性需要深度的质押资产作为保障,导致资本利用率低,并且增大了服务提供方的启动成本。
重质押会是一个很好的解决方案,利用以太坊共识质押的庞大资金池,通过重质押为其他服务提供共享安全性的同时,为质押者增加了收入,提高了资本利用率。目前 EigenLayer 和 Espresso 都在进行相关的工作,可以预见未来有更多的服务由重质押来保障经济学上的安全性。
综上,RaaS 的发展,实际最大的受益方是应用链。Cosmos、Polkadot 在早年间提出的应用链概念,能否老树发新芽,在 RaaS 生态实现爆发?我们也拭目以待。
也许,只有应用层的创新,才能够驱动 RaaS 生态的大爆发。毕竟,再好的公路,也得有车在上面跑,才能算做是好的基础设施。