10月20日,随着Celestia公布了由BainCapitalCrypto和PolychainCapital领投的新一轮融资后,模块化公链再次成为了人们讨论的热点之一。本文带读者一览Celestia生态中正在构建的项目:Cevmos,Fuel,dYmension,Eclipse。
什么是模块化解决方案?
简而言之,模块化解决方案即将单体区块链功能模块化的功能堆栈,具体功能可大致分为:
执行:处理状态的改变;
结算:验证执行层状态并解决争议、负责资产跨链的桥梁;
共识:全节点对状态转换的有效性达成共识,简而言之,节点至少就交易及其排序达成一致;
数据可用性:确保数据可存储、可验证且可用,即确保rollup区块头后面的交易数据已经公布并可用,以便任何人都可以重新创建状态。
为什么要分离各个模块?
因为单体区块链在保证足够吞吐量的前提下,无法同时通过打破计算和验证成本之间的相关性来保持网络的去信任和去中心化,这个瓶颈也被称为「区块链的不可能三角」。
为什么有了rollup还需要模块化公链呢?
其实二者并不冲突,以往我们熟知的rollup仅作为执行层存在的「纵向扩容」,而以Celestia为首的模块化区块链方案以rollup为基础实现了结算层的模块化,通过构建模块化堆栈的」横向扩容「让打破「区块链不可能三角」成为可能。
Celestia
Celestia的前身LazyLedger就是一个可插拔的共识和数据可用性层,仅验证数据可用性和交易排序,为整个区块链网络模块化架构提供了极大的灵活性。为什么说Celestia与rollup分不开呢?在模块化以前,rollup的提出已经让如何验证Layer2交易数据的DA成为了一大难题。
具体来说,当blockproducer发布一个有效的区块头、但故意隐藏或篡改交易数据时,轻节点只能依赖区块头来验证,因此很容易受到并接受无效区块。而全节点却无法为轻节点生成DA和欺诈证明,这意味着轻节点不得不自己验证DA或假设大多数数据是可信的。所以,这就是为什么大多数节点必须下载全部交易数据并验证区块数据可用性的原因。然而,这么做又会给网络扩展解决方案带来了可扩展性限制和问题。
Celestia采用了链下的方式来实现DA,即通过Reed-Solomon纠删码以及专门的NamespacedMerkleTrees结构来确保数据的可用性,让DA变得更便宜并以更有效的方式进行。具体的CelestiaDA的工作方式如下:
节点接收由rollup提交的交易
节点确保支付了适当的费用
节点对交易进行排序
集体验证数据的完整性
根据与插入Celestia的特定rollup相对应的DNS映射划分数据
当然,Celestia的核心竞争力不仅在于它的DA和共识功能,其利用rollups为执行层提供了多样化的可选方案。当然,Celestia的核心竞争力不仅在于它的DA和共识功能,其利用rollups为执行层提供了多样化的可选方案。Celestia还把rollup分成了以太坊原生与Celestia原生,Celestia原生rollup可通过两种方式来插入Celestia:
主权rollup
强制结算rollup(SettlementEnforcedrollupslikeCevmos,Celestiums,etc)
值得注意的是,两种方案的最大区别在于共识层是以太坊还是Celestia,而关于两种rollup可构建方案,不同团队提出了不同的想法。
Cevmos
Cevmos是CosmosEVM应用链Evmos与Celestia合作共同开发的rollup堆栈,旨在成为Celestia上基于EVMrollup构建的最佳结算层。而Cevmos是Celestia,Evmos和Cosmos的缩写。
作为强制结算rollup方案中的一种,Cevmos尝试通过为rollup提供专门的结算层来实现成本的降低与效率的提升。具体来说,在这个堆栈中,Cevmos将作为一个结算层,将以Evmos为基础,在其之上构建EVM的递归rollup。
Cevmos使用Optimint而不是现有Cosmos上使用的TendermintCore共识引擎来构建Celestiarollup。Optimint是TendermintBFT的替代品,使开发者能够使用现有的共识和DA部署rollup。
由于Cevmos结算层本身就是一个rollup,因此在其之上构建的rollup被统称为结算rollup。每个构建的rollup都会有一个与Cevmosrollup双向信任最小化的桥,可以重新部署以太坊上已有的rollup合约与应用,以此来减少迁移的工作量。这也代表所有构件的rollup都将使用Cevmosrollup上的calldata,而Cevmos则使用Optimint对数据进行批量处理并将其发布到Celestia上。
由于Cevmosrollup本身是受限制的EVM环境,它们也将试图通过单轮欺诈证明来完成挑战极致的设置。
Cevmos不仅尝试无需设计并维护复杂的共识机制,还把rollup的高效性和EVM的互操作性带给了整个Cosmos生态,为模块化解决方案与Cosmos生态的普及与使用提供了切实可行的方案。
Fuel
Fuel与Celestia是孪生姐妹。不同的是,Celestia针对DA和排序进行了优化,只处理数据可用性和共识,而Fuel的定位则是模块化执行层。
与今天的Optimisticrollups的最区别是,Fuel运个全新的虚拟机架构,即FuelVM及其具链和Sway语。
FuelVM是一个完全为执行智能合约而专门构建的定制虚拟机,用来并行处理交易。FuelVM从一开始就被设计成易于防欺诈,可以被Optimisticrollup的交易执行层使用。
此外,FuelVM带有来WASM、EVM和Solana的SeaLevel的特征,但使其差异化的点在于Fuel使用了UTXO模型,而非账户模型。具体来说,FuelVM强制每个交易明确定义它将接触的UTXO,也由于执行引擎可以准确地识别每个交易所触及的状态,它能够轻松地找到没有争议的交易并将其并行化。
dYmension
dYmension是一个基于Cosmos构建的主权rollup,旨在通过dYmensionChain、RDK、IRC让rollApp开发无比便捷。
dYmension自己构建的结算层被称为dYmensionhub,是一个拥有TendermintCore状态复制模型进行联网和共识的PoS链。基于dYmensionhub构建的RollApp继承了hub的安全性,且由RDK与hub支持的专用模块组保证相互的通信。
RollApps由两个核心组成:客户端和服务器。服务器是为RollApp部署程序指定的应用程序端,用于实现自定义业务逻辑以及构建RollApp开发工具包RDK的预打包模块。而客户端组件,称为dymint,从Celestia的Optimint派生出来,是Tendermint的直接替代品,负责区块生产、对等消息传播和层间通信。由于RollApp本身没有共识任务,dymint可以提供现代应用程序所需的低延迟要求。
与Cosmos类似,dYmensionRollApps旨在创建特定于应用程序的区块链以降低共识开销。RDK在Cosmos-SDK的基础上添加新模块并修改现有模块,以确保RollApp与dYmension协议兼容,同时仍与其他Cosmos生态系统工具兼容。RollApps能够使用dYmensionHub与任何支持IBC的链进行交互,因此也是Cosmos生态系统的一部分。
Eclipse
Eclipse也是基于Cosmos生态的主权rollup,允许在任何链上使用SolanaVM构建可定制的模块化rollup结算层。
Eclipse前期将使用Celestia当作共识层与DA,使用SolanaVM作为结算与执行的环境,而其最终愿景是为任意Layer1异构区块链构建可定制化的rollup执行层,将所有区块链通过模块化的方式连接起来。此外,基于SolanaVM构建的结算层rollup也会在未来迭代为Optimisticrollup与zkrollup。
值得注意的是,上述模块化方案的构建都使用Celestia来提供数据并由CosmosIBC保证链间通信。就像以太坊自由生态一样一样,一个基于Cosmos构建模块化生态也就此被搭建起来,Cosmos的互操作性使用场景也将迎来爆发。
可以预见的是,随着CelestiaFellowships项目的推出,将涌现出越来越多的模块化方案,我们离「区块链不可能三角」的最终解决方案也越来越近,或许,区块链模块化的叙事也因此被打开。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。