Cosmos的垂直扩展之路

2022年7月23日 257点热度 0人点赞 0条评论


总览

我们已经多次介绍过Cosmos, 和Polkadot类似,Cosmos这种Chain Agnostic Layer0解决方案主要致力于解决其上搭建各种区块链的水平扩展问题, 相较于以太坊, Solana这种垂直扩展解决方案,Cosmos 可以理解为由各个独立的zone组成的水平扩展框架, 而Zone可以理解为Cosmos框架中各种验证节点,安全假设,并且通过IBC进行通讯的主权区块链。当然相较于以太坊这种节点参与验证所有issue的单片链(验证者的容量紧张)而言,应用特定链的网络更具有可扩展性,那么具体怎么理解呢?如果Zone发生拥堵,或者区块空间满了,那么另一条区块链可以接入进来,实现水平化扩展。比如Osmosis上应用百花齐放,导致链的扩展性遇到了瓶颈,那么可以接入新的链进来,新的链可以有自己的验证节点,也可以以消费链的形式,借用OSMO现有节点安全性的方式接入。注意这里水平性扩展和IBC的理解,IBC解决了链与链,Zone与Zone间的通信问题,而不是水平性扩展。比如他们可以通过使用Rollups, 这些Rollups通过Zone作为结算层,实现相互通信。如果一个Zone开始拥堵,那么他们也可以在执行层引入Rollups, 并且使用Celestia作为数据可见层。如果某个区域开始过于拥挤,他们可以在执行层实施汇总,并让他们使用 Celestia 作为 DA 层。除了可扩展性,其设计框架和开发者友好的模块化框架也是其核心特色之一。开发者可以使用各种语言 (Cosmos SDK使用的Go语言开发,合约却是Rust;Goland作为Cosmos SDK的分叉,使用Go语言的智能合约), 目前主要语言包括Rust, Golang, CosmWasm, JavaScript和Solidity也即将接入。Cosmos SDK, Tendermint,IBC,CosmWasm 这些Cosmos的核心技术堆栈方便了开发者,让开发者可以专注于以应用为导向的特定区块链的开发。相较于以太坊的可组合和可编程性,其强调了互操作性和主权性,应用链可以有更多灵活性和选择性定制其性能,运行等参数。同时相较于POW等概率性确认出块模型,TendermintBFT为主导的确定性确认机制下,其抗MEV的设计也引入了交易排序机制(Tranasaction order mechainism, Osmosis是这个机制的先行者),感兴趣的朋友可以看加密经济的MEV 博弈:Osmosis的阈值加密技术 vs Flashbot 的SGX?。当然其设计的trade off 也体现在以下问题,在跨链安全正式上线之前(Q3,2022), 目前所有Zone都独立负责其安全性,而以太坊上的应用都依赖于其安全性。而我们之前也提到过,一个网络的安全一定程度上取决于其质押代币维护其网络的价值,而当TVL大于这个价值时会给网络带来潜在风险,所以对于一些长尾/新的应用链来说,如何找到合适的安全验证节点,以及维持相对稳定的币价,显得尤为重要。因此,跨链安全,Osmosis的超流体质押,以及Celestia DA,共识以及共享安全都在试图解决这个问题,对这块感兴趣的可以看Cosmos 技术原理,设计框架以及生态全览。同时,IBC目前仅支持同构链的跨链通信,并且链内部可以支持同步交互,而对外,目前IBC也正在接入其他以Polkadot, Near, EVM等为代表的异构链,对内,IBC上跨链账户模块的上线也将支持不同链间的同步交互 (目前Juno v8.00,Osmosis,Cosmos Hub等为代表的链已经接入跨链账户模块)。所以尽管Cosmos的设计存在一些问题,但目前都已经有了不错的解决方案。既然水平化扩展得益于Cosmos天然的“完美”架构,我们本文将着重于其垂直扩展性的解决方案,其中包括Celestia,跨链安全,Dymension等,部分内容来源于我们与相关的团队的交流。


Celestia

Celestia是目前模块化区块链中最引入注意的项目,致力于解决数据可见性的问题,我们也认为其提出的解决方案(Celestia是否会一统天下不好说, 但选择的方向是很有前景的)很有可能会成为以太坊和Cosmos生态中的中流砥柱。那么Celesita 究竟解决了什么问题。我们认为有几个方向,1)扩展性,通过将数据可见层,共识层与执行层分离,通过数据可见采样的方法,让轻节点在无需执行交易的情况下可以确保生产者已经发布了全部的数据。这里要理解的是Celestia的轻节点不参与验证交易,而只是需要确保数据可见并且参与数据排序。所以相较于其他L1的链,Celestia节点仅确保数据可见,并且通过Tendermint共识协议进行交易排序。而无需像其他L1一样参与交易的验证和执行。这个验证交给Rollups所依赖的结算层的验证节点,而执行则在Rollups的客户端执行。2) 解决Rollups centric的扩容路线,目前最大的问题就是calldata上链太贵了,尽管目前以太坊的L2垂直化扩展解决方案将交易搬到链下,并且通过压缩数据和calldata的方式将数据发送至L1 (当然该压缩技术相较于直接发送至L1,成本降低了不少),但是成本仍然很高,因此Celestia试图解决这个问题。举个例子来说,对于以太坊Rollups来说,他们可以选择将Celestia作为DA层。Celestia会将这些处理证明(而非压缩数据本身,这些证明可以理解为比上传数据便宜的多的一篮子签名和默尔克根,)发送至以太坊,并且通过批量处理的方式优化燃料费用,所以这比Rollups将压缩数据直接上传以太坊要便宜的多,整个流程可以理解为以太坊 Rollup -> Celestia ->以太坊主网。当然这个问题也在以太坊2.0中有相关的解决方案 (EIP-4884), EIP-4844引入了和调用数据不一样的一种交易格式,带有数据碎片的交易,从而进行存储。数据碎片可以承载125KB的数据,同时在和同等数据量的调用数据相比,便宜很多。这些数据碎片通常在一个月之后会被删除,从而降低了存储要求。而这一个月的时间足够让验证者去完成数据采样中的安全假设。具体可以看以太坊扩容终极解决方案 - Danksharding (一)以太坊扩容终极解决方案 - Danksharding与 MEV设计(二)。3)多虚拟机部署的灵活性,和以太坊上的Rollups不同,Celestia上的Rollups不一定专门为EVM兼容的欺诈证明/有效性证明实现。据我们所知,Celestia已经和很多团队开展了合作(还未官宣)。这打开了Celestia可支持的虚拟机的设计空间,并且开放给更多的开发者。我们看到了Starkware、LLVM、MoveVM、CosmWasm、FuelVM等拥有可支持操作,数据库结构,交易格式,软件语言的自定义虚拟机,在处理特定应用场景的同时也能够实现最优的性能。针对于FuelVM, 我们可以关注最近上线的Fuelv1, Fuel与今天的ORus的最大区别在于,它运行一个全新的 VM 架构,即 FuelVM 及其工具链和语言。FuelVM 具有 WASM、EVM 和 Solana 的 SeaLevel 的特征。FuelVM 最引人注目的潜在方面是它在基于 UTXO 的数据模型上执行。

关于未来多VM的格局的想法我们也在 CosmWasm:进化的虚拟机与智能合约一文中进行了描述。当然还有轻松部署,有效资源定价等优势,这里我们就不一一讨论了。


图片

Celestia中最核心的设计是其数据可见采样(DAS),这也是欺诈证明/有效证明的前提。而DAS的关键在于抹除码技术,这意味着任何数据通过抹除码技术,可以实现数据大小的翻倍,并且可以通过扩展数据的任何一定百分比的数据,对原有数据进行恢复。通过这种方式,Celestia上的轻节点可以以数据采样的方式,获取小块数据,并且基于较高的概率,保证数据的可见性。当然为了确保足够的数据样本,从而用于恢复数据,这个抽样过程应该保证参与节点的数量。DAS的一个核心特点是当参与节点采集的数量越多,采集的数据越多,那么基于同样的概率假设下,更多的数据可以被验证。所以理论上,当参与的节点数量越多,区块的大小可以更大,支持更多TPS,这个和单片链的设计不同,在单片链中,节点数量越多(全节点验证),为了确保去中心化的实现,区块大小/燃料限制的设置抑制状态的增长,从而降低了全节点的成本。当然这个设计的trade off问题就是尽管轻节点可以享有与全节点同等的安全性,但是其受限于O(√n) 的带宽成本,其中n为区块大小。所以Celestia数据可见的吞吐量主要受限于以下两点:

1. 可以集体采样的数据量

2.轻节点的目标块头大小


目前Celesita上的节点类型包括两种

共识节点

验证节点:参与共识。

共识全节点:同步区块链历史的 Celestia-App 全节点。

数据可用性节点

桥节点:在数据可用性网络和共识网络之间桥接区块。

全存储节点:存储所有数据但不连接共识。

轻节点:轻客户端在数据可用性网络上进行数据可用性采样。

Optimint 是允许链作为Rollups部署于Celestia的产品。这些链可以启动自己的P2P网络,将交易数据收集到区块中,并且将他们发布到Celestia主网,负责数据可见和共识。Optimint 本质上是一个供开发人员使用的框架,基于其搭建的链无需寻找安全的验证器,Celestia 会为他们处理工作。Optimint 可以理解为 Celestia 的共识层,它提供了一个交易排序框架,可用于数据可用性层和结算层(但是不参与交易的验证)。这个似乎和我们下文将介绍的Cosmos Hub即将上线的跨链安全的理念相似,而Optiminent是否会对跨链安全造成威胁,我们也将结合他们共识的差异性来判断。但尽管如此,我们认为Celestia的先进理念,以及其在Cosmos和以太坊生态中的重要性要等到上线后才能得知 (2023年)。对Celestia感兴趣的,可以看我们的Celestia 的模块化架构Celestia 2 - 技术实践

跨链安全

跨链安全本质上可以理解为租借安全性,目前V1版本中仅支持Cosmos Hub的全部节点。当然对于模块本身,是一个可插拔,可选择的模块。对于选择接入的消费链而言,在V1版本中,消费链必须强制接入175个验证节点,并且需要治理通过,本质上是一种带有准入机制的产品。消费链需要提交团队的核心产品,和理念,在确保足够的Atom持有者投票通过后,才可以接入。同时,消费链也需要支付一定的费用(%通胀费用)给到验证者节点,这个比例也需要在治理提案中明确,同时在V1中,消费链将75%的燃料费给到国库DAO,又多签钱包管理,而25%的燃料费给到Hub, 激励验证节点和质押者。在我们之前的文章中也提到过,团队可以选择创建(体现了灵活性和可选择性)“自定义消费链”或“合约消费者链(通过CosmWasm实现)”。两者之间的主要区别在于验证节点运行的二进制文件。合约消费者链中的二进制文件是标准的,而自定义消费链中,团队可以灵活地自定义二进制文件以适应不同的交易费用和交易组装。ICS总共会有三个版本,第一个版本是消费链的安全完全由Cosmos Hub节点维护。而这些消费链是否能够接入需要Cosmos Hub通过治理根据他们的风险概况最终决定 (比如是一条基于Cosmwasm开发的消费合约链还是一条SDK无变化的消费自定义链)。因此,Atom质押者需要决定他们质押的验证节点,因为在享受额外收益的同时,也会面临和其他POS链一样消费链节点宕机和不当行为风险。第一个版本中,消费链和Cosmos Hub享有了共同的安全保证。但这种情况下的参与ICS的节点所质押的Atom价值和这些节点会面临的Slashing风险。同时,对于验证节点来说,需要额外的硬件要求,从而保证工作量。而第二个版本中,消费链可以将自己的质押代币与Cosmos Hub的Atom代币相结合,并最终确定消费链的验证器集组成。而V3版本中,这种关系会进一步扩大和加深,可以在双向大型网络间实现横向共享安全协议,Cosmos Hub可以和任何其他Cosmos SDK项目的验证集共享Atom价值,反之亦然,可以将其理解为主权网络的相互安全保险。而在V3版本中,Hub验证节点可以有权停止验证哪条链。第二,三个版本相较于第一个版本,网络安全将最终取决于消费链和供应链共同的安全。而对于Cosmos Hub的部分参与的节点来说,如果消费链上的唯一验证节点恶意进行攻击,会有女巫攻击的可能性。目前可以关注的项目包括Quicksilver和Neutron(P2P,一个大节点搭建的自定义合约链)。对于跨链安全想要进一步了解的,可以看深度分析Cosmos的开拓者 - Osmosis,继IBC之后,看ICS, ICA如何重构加密行业Cosmos Thessis- Osmosis应用主权链的崛起。

dYmension

dYmension 对于自己的定位,认为其对于rollups的重要性类似于Cosmos对于整个区块链行业的重要性。dYmension是基于Cosmos搭建的结算层和执行层,给Rollups提供了灵活和可选择的chain-agnostic执行层环境。核心的产品(Rollups Development Kit) RDK开发套件, 类似于CosmosSDK模块,目前除了dYmension, Celestia和Cosmos也在开发RDK。这个开发套件为开发者提供了在Cosmos上轻松构建Rollups的所有工具和基础架构。dYmension目标为enshriend rollups,而非Discret Rollups。Enshrined rollups有更多的灵活性和选择,为用户提供了更多的灵活度,以及保证了最大化安全和稳定,而Arbitrum, Optimism, StarkNet, zkSync, Aztec etc.等为代表的Disrete Rollups 则提供了好的技术路径和品牌。Polynya认为短中期,discret rollups会被大部分用户接受,而长期来讲,两者方案可能可以实现共存。同时,dyMension 也试图在解决keeper 困境,女巫攻击等问题。Keeper问题可以表现为,在某些情况下,套利者因为无利可图,或者激励不明确,所以针对某些仓位(比如MakerDAO 上120美金的小仓位), 并不会进行清算,这导致了巨鲸可以将大仓位分散为不同仓位,通过付出一定成本,而保证仓位不受清算,影响网络整体稳定性的可能性。当然对于这个门槛值,由于受到不同市场环境,时间等影响,并没有办法进行确认。尽管MakerDAO 清算 2.0 升级有望使整个清算过程更加简单和可预测。然但是实际情况要更为复杂,为了应对一些黑天鹅事件,这些清算者通常要提前几个月准备复杂的交易和对冲系统,这对于散户来说是无法想象的。

目前市场上大部分清算系统都是激励给最快的清算者,这使得网络暴露在大量的MEV风险下,使得很多的收益给到了矿工,而不是真正的清算者,所以对于很多专业的做市商而言,他们也并没有参与搭建相关的系统,并且参与整个清算过程。Dymension的具体解决方案目前还不能共享,但是我们在这个赛道也看到了很多其他的竞争对手,比如Kujira,在脱离了Terra生态的束缚后,在短短1个月多的时间里,完成了应用链的部署,并且迅速跻身于mapofzone前十的位置。Kujiara的清算方法采用了不同的方法。平仓池由持有需要平仓头寸的合约直接调用。确保可以在链上搜索可清算头寸需要做更多的工作,但这意味着所有价值捕获都交给了矿池参与者。对于更复杂的头寸,用户可以轻松地在链上进行索引和搜索,Kujiara会向机器人运行者提供一小笔“曲柄”费用以帮助实际执行清算,但资金仍将来自清算池。所以它仍然是民主的,并且有足够的规模来清算最大的贷款。项目的更多信息我们之后分享给社群小伙伴。dYmension仍然非常早期,我们将持续关注其之后的发展,本质上你可以理解为以太坊的执行层和结算层设计,但是他继承了Cosmos设计的精髓,比如Rollups之间的互操作性(Thanks to the IBC and Cosmos的原生互操作性)以及模块化设计(可插拔以及轻松部署等开发者用好体验)。当然还有可定制化执行环境的Saga,这里我们就不详细阐述了,各个解决方案的对比可以见下图。

图片

总结

至此,我们梳理了市面上大部分的Cosmos生态的垂直扩展性解决方案。当然我们目前以太坊-rollups centric的地位仍然不可撼动,所以在我们关注Cosmos的同时,我们也需要密切关注以太坊上的发展以及Solana这种在执行层发力,创新(而非共识层)的公链。Fuel V1 作为以太坊上推出的第一个ORUs,目前是唯一具有欺诈证明、不可变智能合约和无许可区块生产,为P2P支付而设计的Rollups。而Fuel V2 将会是一个模块化执行层,在 UTXO 上提供以太坊式的智能合约,使用 Ethereum/Celestia 进行结算、数据可用性和共识,切入多个应用场景。我们看到共识层的创新很多,Bitcoin,EVM,Tendermint他们都是建立底层共识算法维护网络免受攻击的系统。但是真正在现实工业应用中,执行层的需求量或许更大,用户需要更便宜的燃料费用,网络需要更高吞吐量和性能,Solana, Aptos/Sui这种链也正试图解决执行层问题。我们将在之后的文章中讨论。


CFG Labs 第五次Office Hours将于7月27日晚上九点进行,届时我们将讨论Cosmos的垂直扩展方案以及Aptos,Sui等新Move链的特色和设计创新,请有兴趣的童鞋扫码入群。

图片

69520Cosmos的垂直扩展之路

这个人很懒,什么都没留下

文章评论