原文标题:《IOSèG Weekly Br”ief|多链生态:我们的当前阶段与ϑ未来格局 #13》
ਪ 撰文:Jia👽wei 转载自ⓗ金色财经
Composable Finanએc↵e 提♤出了跨链互操作性的五个发展阶段:
对这些阶段的研判基本确定了我们应如何看待如今的多链格局。抽象来看,我认为 Polkadot XCM /ð XCMP 与 Cosmos IBC,以及 Subsਗ਼trate 与 Cosmos SDK,已经分别在做第四、五阶段的事情。ç
Û 同样作为多链生态,对比 Polkadot 与 Cosmos 的体系设计、技术架构的文章已એ有很多。作为微小的补充,本文将从轻客户端的视角出发,比较各自的跨链通信机制 XੇCMP / IBC 以及开发框架 Substrate / Cosmos SDK。
最后,提◊Ξ出了一些个人思考作为ⓑ结尾。
正如 Cosmos 文档中所描述的:‘Cosmઢos 不是一个产品,而是一个建立在Π一组模块化、适应性强Φ和可互相替换工具之上的生态系统’。我对 Polkadot 的理解亦是如此。
♨在正Χ文开始之前૮,我们先从高维层面快速过一遍它们的体系结构。
中继链是 Polkⓓadot 的核心,平行链之间彼此独立,但统一连接到中继链,以共享其安全性。Collators 逐一收集平行链上的交易、生成ⓦ状态转换证明,提交给中继链,Ņ由 Validators 验证这些证明,并执行共识,在中继链上出块。Nominators 负责挑选 Validators,并需要为他们质押 DOT,以保护中继链。
Pρolkadot 平行链的安全性依赖于中继链,中继链为平ઙ行链提供Φ共享安全性和状态一致性。
Cosmos 包含两种类型的区块链:°Zones 和 Hubs。Zones 是常规的异构链,Hubs 则用于把这些 Zones 连È接起来。Zone 和 Hubs 之间的通信和消息传递依赖于 IBC(Inter-blockchain ¥Communication)协议。当任意 Zone 与一个 Hub 建立 IBC 连接时,它可以与连接到该 Hub 的其他 Zones 进行通信。
Cosmosૣ Hub 是≤整个网络中的第一个 Hub,标志着 CosmosΒ 网络的启动。
对两个跨链生态有了基本શ认识之后,我ⓝ们来具体看各自的通信机ν制。
Polkadot 采用 UMP、DMP 在平行链和中继链间进行上、下行的消息传递,并基于 XCMP(Cross-Chain Message Passing)进行平行链间消息传递。XΤCMP 仍在开发中,目前的实际使用的跨链方案是 HRMP(Ho•rizontal Relay-routed Mes੩sage Passing)。
HRMP 提供与 XCMP 相同的接口和功能,但需要将所有消息放置在中继链的存储(storage)。对⇓中继链而言,产生了额外的消息负载。而 XCMP 仅仅将与消息关联的元数据哈希存储在中继链。因此 HRMP 作为暂时的过Ö渡方案,在未来将被 XCMP 所替代。
上图描Ċb;述了 XCMP 的☼工作原理:
平行链间可以打开双向通道,分别用于接收和发送消息。平行链 A 和平′行链 B 之间进行 XCMP 通信,首先需要各自链上的 Collators 将消息、目的地和时间戳加入到自己的输出队列,而对方监测到消息后,将其加入到自己的输入队列,处理这条消息,并把区块提交给 Validators。Validators 对消息进行验证,随后将该区≅块ϖ包含在中继链上。这样视作完成一次跨链消息传递。
链与链之间、或ષ是说不½同的共识系统之间,消息格式缺乏兼容性,各有各的一套消息传递方式和标准。
ⓗ 如果我们想要进行进ˆ一步的跨共识互操作,需要一种更通用的‘语言’—— 高阶地抽象出这些消息的意图,为共识系统间通信的数据报提供一个基本框架。同时需要考虑到智能合约或区块链的潜在升级,所以这样的语言还必须做到前向兼容和可扩展。
今年五月初,Polkadot 在其 v0.9.19 中正式启用了 XCM(Cross-consensus Messaging Format),其中跨共识的涵义在于,这种通信格式不仅能在ੈ Polkadtot 链间的 UMP、DMP 和 XCMP 中采用,还能够在智能合约、Pallet、桥以至 SPREE(Shared Protected Runtime Executioⓤn Enclaves)之间进行通信。(注:Pallet 相当于一系列有特定用途、可组合的模块和工具包,例如 EVM Pallet 的Ņ用途是在 Substrate 链上集成基于 Solidty 的合约;SPREE 模块是一种去信任的消息模块,用于确保在收到消息之后以何种方式执行代码)
需要注意 XCM 与 XCMP 的区别。XCM 是一种共识系统之间相će;互通信的‘格ૢ式’,其效用在于表达接收消息者得到消息应૦该做什么。而 XCMP 是一种消息传递的‘协议’。
本质上,XCM 的消息是运行在非图灵完备虚拟机 XCVM(Cro⋅ss-Consensus Virtual ¤Machine)上的单个或一系列指令,换句话说,XCVM 的指令集构成了 XCM 消息的ધ全部内容。
Polkadot 提出 XCM 和 XCMP,实际上是为平行链间通信提供了原生、通用”性的℘支持,这样平行链间能够实现直接通信,而无需依赖专门的跨链桥,使整个 Polkadot 网络的互操作性在协议层上更加统一。
在 XCM 启用后不久,Moonbeam 与 Acala 率先宣布启用基于 XCM 的双向 HRMαP 进行跨链通信,实现两条∞链上原生资产的自由流动。
例如,Acala 上的 $ACA 和 $aUSD 可以跨链到 Moonbeéam,ⓞ作为 XC-20 资产($xcACA 和 $xcaUSD)实现与以太坊生态的互联互通。Moonbeam 的原生代币 $GLMR 亦可在 Acala 上作为抵押品来铸造 $aUSD 或者£参与质押。
ƒMoonbeam 与 Acala 两大生态打通Ó XCM 连接是一个里程碑事件,象征着 Polkadot 擘画的跨链图景正在缓缓铺开。随着其他平行链启用基于 XCM 的跨链通信,我们将看到更多类似的用例,并激发更Π大的想象空间。
自底向上地,Cosmos 的体系依次基于 Tendermi®nt Core、IBC ≤和 Cosmos SDK,三者分别是 BFT 共识引擎、跨链通信协议和开发框架。
作为跨链通信协议的 IB⌉C 于去年 3 月在 Cosmos Stargate 升级时正式开&#ffe0 ;始实施,其语义和设计原理由链间标准 ICS(Inter-chain Standard)所制定。
类比于互联网通信协议 TCP / IP è的层级体系,IBCⓔ 可分解为Β传输层和应用层。传输层提供必要的基础设施以在链间建立安全连接和验证数据包;应用层准确定义了这些数据包应该如何被发送方打包、以及如何被接收方解释。
‚
上ખ图‘描述了 IBC 数据包的生命周期。
IBC 采用‘锁定 – 铸造’的资产跨链模型。如上图,Zone A 想要将资产跨链转移到 Zone Bò,需要锁定代币并将证明发送给 Zone B,ï经验证后,Zone B 在本身链上铸造等量的代币。该过程中资产并非产生了实际转移,而是在 Zone A 锁定这笔资产,在 Zone B 重新铸造了等额的同一资产。
最终性(Finality)指的是加密货币交易一旦完成,即无法被任意更改或取消。以上过程描述的是即时最终性的情况。而对于比特币这样的概率最终性区块链,需要引入 Peg-Zone 作为代理链(注:目前 Cosće;mos 与以太坊υ之间的 Peg-Zone 是 Gravity Bridge),并确定一个最终性的阈值:例如,假定某条链在某笔交易发生之后≥产出了 100 个新区块,认为实现了(伪)最终性。
当前,Cosmos 生态中ⓥ已经囊括 39 条链、78 个验证人,总质押资产价值超过 31 亿美金。一些潜在的空投机会成为了吸Á引用户流入 Cosmos 生态动力之一。但 Terra 的香消玉殒显ˆ然对 Cosmos 生态造成了巨大破坏,使生态的总锁仓量缩水严重。
我们从ζ轻客户端的角度¦来看 XCMP 和 IBરC。
轻客户»端(或轻节点)最早是区别于全节点的一种∼说法,🙀用于比特币的简化支付验证(SPV)。更广义来讲,智能合约也可以是轻客户端。这样的轻客户端往往不与链进行直接交互,而依赖全节点作为中介,从全节点请求某种信息,例如发送交易、验证账户余额和请求区块头。
õ在跨链通信时,中继者Þe;对源链上的事件进行监控,并生成事件的密码学证明,将ૉ证明与区块头一起转发到目标链上的智能合约(即轻客户端)。轻客户端验证某一特定事件,并以此为凭据,执行某些动作。以上我们讨论的 Polkadot XCMP 和 Cosmos IBC 都采用了轻客户端模型。
除此之外,NEAR 的 RainbowBridge 也是典型&的轻客户端模型。轻客户端作为智能合约,分别部署在以太坊(存储 NEAR 的区块头)和 NEAR(存储以太坊的区块头)上。这些区块头由 Relayer 进行定期更新,更新频率取决于经济效率上的权衡 —— 在以太坊上更新 N◘EAR 的区块头设置为 12 至 16 小时。Connector 则负责处理特定资产的跨链逻辑(↑如 ERC-20 代币或 NFT)。
RainbowBridge 的速度与开销主要取决于以太坊。将资产从以太坊发送到 NEAR 大约વ需要 6 分钟(20 个区块)。将资产从 NEAR 发送回以太Ρ坊目前最多需要 16 个小时(由于以太坊最终性的时间花费)。
通过上述对 XCM / XCMP、IBC ⓟ和 RainbowBridge 的梳理,我们对轻客户端模型有了基本的认知。轻客户端的优势在于安全性,通过对某些信息进⊕行验证,两条链之间可以知悉对手链上发生了什么,而无需依赖对外部验证者的信任假设,故安全性基本等同与链本身。
特别地,XCMP 的安全性属于 Sh∃ared Security,依赖于中继链提供的全局安全性,因为跨链消息的验证是由 ValiⓛdaΔtors 完成的,随后 Validators 把包含该消息的区块包含到中继链上。
上表中 Cosmos 的 Interchain Security 是一种特殊的 Shared Security,即多链共享同一验证者集并进行出块。由于一些小型链的验证者较为薄弱,容易受到攻击,因此 Interchain ðSecurity ◯相当于帮助他们继承成熟网络的安全性。¼
采用 Cosmos IBC 的થ通ਬ信需要两条链之间彼此信任,而 RainbowBridge 则要求 NEAR 与以太坊之间ç彼此信任,这也是对区块头进行有效性验证的基本前提。
而轻客户端的缺点在&于:对这些证明的验证有着不菲的成本;此外还涉及到连接性的问题,需要为每两条链之间的通信部署轻客户端 —— 当然,Polળkadot 和 Cosmos 的原生通信机制很好地解决了生态系统内部的连接性问题。દ
作为小∋结,在上表中对 XCMPÌ/XCM、CoÙsmos IBC 和 NEAR RainbowBridge 进行了简要的对比,其中一些数据可能直接涉及到生态间的对比。(RainbowBridge 仅仅涉及到 NEAR 与以太坊的跨链,不像前两者属于跨链生态,但作为轻客户端的一种,我们同样放在这里做个对比。)
注:以上 / 下案例项目均为 ‾IOSGς PortfoliΞo,举例仅供信息交流,不构成投资建议。个人投资决策请 DYOR!
‘开થ箱即用’指੭一系列现成的软 / 硬件或工具包,开发者能够直接拿过来使用,而不需要花时间和精力重新实现ਜ਼这些功能。
Substratપe 和 Cosmos SDK 即是这样的框架:对底层逻辑进行封装,提供一些预构建模块,进行灵活、可定制的模ી块组合,用于搭建ó区块链与应用。在互操作性方面,Substrate 和 Cosmos SDK 都分别提供了对 Polkadot 和 Cosmos 生态的原生支持。
Substrate 提供三种开发方式:Substrateϑ Node 预先提供了节点配置,仅需额外配置一个 JSON 文件即可一键搭链;Substrate FRAME 提供了一系列的模块和组件(即上述提到的 Pallet),开发者亦可编写 Pallet 并进行自由组合;Substrate Core 更加高维和抽象,开发者可以从头设计运行时(注:运行时本质是状态转换函数,是 Substrate 中的核心概念,代表链的状态存∠储以及状态将被如何更改)这三♨种方式的开发难度和技术灵活度都是递增的。
Polkadot 和 Kusama 都基于 Substrate 进行开发。但 Substrate 本身是一种通用化的开发框架,支持与 Polkadot 的无缝连接,并不意a1;味着所有 Substrate 都需要与 Polkadot 有强绑定的关系。
区别于智能合Š约,Cosmos SDK 提出了应用链(Application-specific Blockchains)的概念(也即为↔单个应用而定制的区块链),并对底层的 BFT 共识引擎 Tendermint Core 和网络层进行封装,借助 ABCI(Application Blockchain Inteⓩrface)实现与应用层的连接。
除 Cosmos SDK 之外还有一些扩展工具作为补充,例如基于 JavaScript 的 DeFi 组件 Agoric、基ઞ于 Wasm 的智能合约模块 CosmWasm 以及基于 Cosmos SDK 的 EVM 实现 Etheⓤrmintਰ。
×
开发框架整体上提供的功能和工具大同Ô小异,在细微ੑ处有不同的设计理念,在这里暂不再详细展开。
(P.S:一些主观的看法:在写作本文的时候,笔者在 Polkadot 和 Cosmos 的 Discord 开发ગ者频道提了一些问题。在Ë Cosmos 提问时有专门的开发者社ઝ区 Mod 建立一个子区,一对一回答问题,是比较好的体验)
根据 Electric Capital ∈的报告,自 2017 年起,Web3 开发者数量开始实现大幅增长,截至 2021 年底,有超过 18,000 名开发者活跃在 Web3 领域。然而,对比传统开发者而言仍占少数。从行业发展的角度考虑,需要进ઞ一步 降低链上应用开发的门槛,做好开发者服务。
繁荣的生态👽会吸ૣ引更多优质的开发者加入,毕竟 Substraⓕte 和 Cosmos SDK 都强调了接入各自生态的便利性。事实上,选择开发框架也与选择其后的生态密不可分。
同样,我们对 Sub∂strate 和 Cos⇒mos SDK 进行了简β单的对比。
我部分Ψ同意‘胖应用’的论അ据(同时协议也未必需要‘瘦’)。在工程上,不同链有不同链的权衡取舍,针对不同目标各自提出了独出心裁的技术方案,但诸如此类基础设施的终极目标是相对一致的 —— 服务于应用。我们不是要造空中楼阁,抛开应用空谈技术是书生意气。回看 18、19 年的叙事,动辄‘以太坊杀手’、‘百万 TPS’,用户关心这些吗?也许并不关心。所以应当有一些小而美的应用、用户接受度高的应用,先在ⓛ链上跑起来。(我认为符合此描述的其中一个应用是 NFT Marketplace 聚合器 gem.xyz, 界面清爽、功能好用,对很多用户来说这就足够了。)
以太坊的设计使得建立在其上的应用和协议彼此受限、且不可避免地竞争底层资源。多链生态的起势一定程度上分担了以太坊的压力,但实际上也在蚕食其领先地位。与此同时,在熊市的视角下,以太坊回归到ⓕ相对合理的 Gas 费用和交易速度也削弱了资金外流的动力。短期来看,各条链能否产生‘赚钱效应’是吸引用户流入的主要引力(例如 DeFi Ki∑ngdoms 和 STEPN)。中长期来看,¶用户流向与各条链生态的整体质量密不可分。最终用户会用其资金投票,使链间的竞争关系达到相对均衡。
可组合性、互操作性激发了新的叙事,但隐含的风险同样不容忽视。两年前我们只在以Κ太坊上搭乐高,3 ″月 12 日的极端行情中,协议▦的层叠嵌套以及枯竭的流动性就引发了系统性风险。在近一年来的多链格局之下,我们有了更多的锚、跨链桥,以及更复杂的协议,但仍未经历那样的严峻考验。Terra 帝国的分崩离析也许仅仅是一个先兆。况且,当前市场处于中长期的下行趋势,我们需要如履薄冰,主动预估和评判风险。
需要承认,当前的多链生态依旧有些‘虚胖’,一些看似繁荣的生态,说到底是一套协议、一套代码在另一条链上重新ⓟ开设赌局而已。生态繁荣与否,不是单纯看项目数的多少,而需要综合评判用户的活跃度和资金的持续性。此外,资产跨链仍然是当下跨链的主要用例。在未来我们可以期待或者预见一些其他应用场景。一些有趣的用例可能是:在做 DID 时我们需要评估多链的活动轨迹;在做 NFT 借贷时我们可以抵押多链的 NFT 资产;甚至根据多链的资产活动变化以辅助套利决策;诸如此类。
跨链基础设施已经箭在弦上,但真正点燃多链生态需要ã大规模的增量用 户,仅仅是瞄准存量用户的博弈、仅仅是资金在链间的辗转腾挪,无法带来指数级增长。考虑到♨这一点,提供用户友好的入口(例如多链钱包)至关重要。
我们应如何展望未来的多链格局?在上图(截至 202¡1 年 9 月),我们已经看到跨链生态正在变得繁荣起来,虽然在熊市中不可避免地显现颓势,但客观来说,跨链ƒ基础设施已经相对完善。(尽管如此,黑客对于跨链设施漏洞的攻击仍然层出不穷,保持乐观,但也应小心谨慎。)
合理猜测,下一个大周期的叙事是围绕各个链上优质应用构建☎起来的多链生态。‘搭一条≤公链,满足所有需求’类似的言μ论可能会成为历史,毕竟我们的确没有必要在一条链上做完所有事情。期待在未来涌现出更多的应用链。
当下,我们仍处在多ν链格局的早期阶段૪。
24小时滚动播报最新的财经资讯和视♤频,更多粉丝福利扫ð描二维码关注(sinafiⓠnance)
新浪财ê经意见反ਖ਼馈留言ⓒ板
All Ri▒ght࠽s Reserved 新&#ffe0 ;浪公司 版权所有