波卡XCM和Cosmos IBC是一样的原理吗?
去中心化互联网的使用需求随着区块链的普及日渐突显,除了专注于解决性能问题的以太坊和二层解决方案,新一代的底层基础设施同样极具爆发力。同处于区块链互操作性和「区块链互联网」赛道的波卡和Cosmos在过去的一年中分别推出了原生的跨链信息通信格式。波卡的XCM(Cross-consensus Message Format)和Cosmos IBC(Inter-Blockchain Communication)都属于无信任跨链信息通信格式。
波卡XCM和Cosmos IBC是一样的原理吗?
回答:都是跨链信息通信格式,但实现途径不同。
什么是无信任跨链信息通信格式?
类似于TCP或UDP传输协议对互联网的作用。在TCP协议普及之前,互联网是一个个独立的计算机网络的集合,彼此之间无法良好的沟通。与IP一起,TCP/IP规范了数据如何在服务器之间传送和路由。今天,TCP/IP无缝地在底层支撑着我们每天消费和享受的互联网和移动互联网应用。
回到与互联网发展初期类似的区块链行业,我们同样在探索如何实现链之间的互操作性,波卡的XCM和Cosmos的IBC的解决方案殊途同归,他们是如何运营的,两者方案有哪些区别呢?我们今天一起来看一看。
波卡XCM
什么是XCM?
XCM (Cross-consensus Message Format)是波卡原生的跨链信息通信格式。XCM主要用于在波卡的平行链或平行线程之间发送消息。平行链和平行线程均想用波卡中继链确认区块和安全性,XCM当前属于一种“同构”区块链之间的跨链协议,但以后有可能扩展支持波卡系之外的区块链。
信任模型和先决条件
平行链在与其他平行链通信时不需要做出额外的信任条件,因为它们都依赖于波卡中继链的共识。
XCM依赖中继链(波卡主链)和目标平行链共识来验证和确认从起源平行链发送的消息,包含这个消息的区块会由中继链进行最终确认。
跨链流程
举例,从Moonbeam向另外一条平行链P发送XCM消息,例如资产转移,主要逻辑由波卡中继链验证人和平行链收集人节点执行。
用户Alith和将资产锁定在Moonbeam上的主权账户中,表明将被发送到平行链P
XCM消息被添加到Moonbeam的外传信息队列中,然后又被添加到平行链P的接收信息队列中
在平行链P的下一个区块中,该消息被验证和执行,衍生资产在平行链B上铸造并发给目标账户
该过程由验证人节点验证,并在中继链上最终确定
Cosmos IBC
什么是IBC?
IBC是Inter-Blockchain Communication(跨链通信)的缩写。它是由Tendermint、Interchain Foundation和Agoric Systems等IBC贡献者开发的,为Cosmos网络生态系统的一部分。IBC以最简单的形式,将不同的区块链连接在一起。
IBC协议是区块链相互通信的载体,有点类似TCP或UDP等协议对互联网的作用,同样地,IBC规范了区块链的通信方式。IBC是异构链(不同信任模型)之间的通信标准。
信任模型和先决条件
IBC参与链需要同意和符合以下先决条件:
相信彼此的共识算法和安全模型
遵循通用的通信标准 (IBC)
双方的共识算法具有“Fast Finality”特性,即所有交易都会被快速打包,并且无法撤销、更改
消息或轻客户端证明将由“中继节点”角色传递到另一条链
跨链流程
每个想要相互通信的区块链都会发送和接收头文件,以保持对验证者集的跟踪。简单地说,他们互相运行一个轻量级的客户端,以跟踪对方的区块链/分类账。
当从一个区块链A向另一个区块链B发送资产时,必须符合以下条件:
有质押(以委托方式持有),为交易做准备(比如100 ATOM)
必须向接收区块链发送证明,链B验证链A的轻客户端证明,证明该资产已经被质押;具体来说:链B验证消息发生在链A上,并验证消息确实导致资产被锁定在链A上
链B从一个中继节点(任何人可以运行)接到来自链A的证明,接收链B必须通过轻客户端验证100个质押的ATOM的证明
如果证明被验证成功,100个ATOM就会被冻结/担保在原始链上,同时在新链上创建100个ATOM的衍生品
简化的IBC跨链流程图。为简单起见隐藏了辅助中继器角色
IBC和XCM的比较与分析
我们可以看出XCM和IBC的很多基础工作原理是很相似的,这两种跨链通信格式都依赖于中继人的角色来传递信息,在波卡上,这个角色是由中继链的验证人节点来承担,而在Cosmos生态系统中,中继节点则是需要分开部署的。
👉 查询Cosmos中继节点网的状态:https://www.mintscan.io/cosmos/relayers
因为XCM和IBC的基础原理相似,通过这两个信息标准跨链转帐的流程也非常相似,都是使用类似在起源链锁定质押+在目标链铸造衍生品的基本模式。
那么目前XCM和IBC最主要的区别,XCM主要用于同构的波卡平行链之间的跨链通信,而IBC则是可以用于不同共识模式的异构链之间的跨链通信。因为XCM面向同构链,它基本不需要任何信任模型的调整或先决条件,两条平行链之间只要开启HRMP通道,然后将相互的资产注册在自己的链上就可以了,可以说XCM在设置和开启上是相对非常便利的。
而IBC因为面向异构链,相对XCM它需要符合一些更多的先觉条件。比如其中一个条件是“Fast Finality”,这个条件是比特币和以太坊等工作量证明 (PoW) 系统不符合的。为了解决这个问题,IBC提供了「钉子」(pegs)作为区块链和Cosmos Hub之间的中介,把PoW共识系统模拟成一个具有Fast Finality并与IBC兼容的系统。
Cosmos IBC生态图
Kusama XCM生态图
所以简单来讲,波卡XCM目前只适用于同构的波卡平行链,但因为平行链已经满足了相互跨链的很多先决条件,XCM的开启和设置也是相对比较简单的。而Cosmos IBC可以用于共识系统不一样的异构链,但在集成IBC之前,对应的区块链可能需要符合更多的先决条件,并需要信任对方的共识算法和安全模型。
基础设施的强强联合
Moonbeam - Osmosis 案例
从最近的一个跨链集成案例来看,Cosmos IBC和波卡XCM很有可能会成为并行存在而互补的跨链信息通信格式。
Moonbeam在7月23日宣布完成与Osmosis网络的跨链集成,让用户可以一键将波卡的DOT,跨链到Osmosis网络。这项功能的实现共使用了三种不同的跨链信息通信格式或协议:
通过XCM将波卡中继链上的DOT转移到Moonbeam,生成xcDOT
通过Axelar的GMP协议(General Messaging Passing)将Moonbeam上的xcDOT转移到Axelar链
通过Cosmos IBC将Axelar链上的DOT再次转移到Osmosis网络
这些传输的细节是可以从用户体验层完全抽象化掉的,就像我们在手机上发送一条短消息,是不必要知道这个信息是如何在互联网的传输层通过TCP或UDP传送。
但类似于互联网的通讯路由机制,不同性质的通信需求是会利用不同的协议来进行传送。比如在不同网关之间的传送会使用边界网关协议(Border Gateway Protocol),而同一网关内的传送会使用内部网关协议(Interior Gateway Protocol)。波卡XCM,Cosmos IBC以及其它类似的跨链信息格式和协议也很有可能适用于不同性质的应用场景和信息传送需要。
Moonbeam是一个智能合约平台,用于构建跨链互连应用程序,能够访问任何链上的用户、资产和服务。通过将来自以太坊、Cosmos、波卡等功能整合到一个平台中,Moonbeam解决了当今用户体验碎片化的问题,解锁了真正的互操作性,并为下一代应用程序奠定基础。
Moonbeam平台使用集成的跨链信息传递,允许开发者创建访问多个远程区块链服务的智能合约。通过此方式结合Moonbeam的开发者友好型EVM平台、各类工具支持和Substrate架构,为构建互连应用程序提供理想化的开发环境。
如需了解更多信息,请访问:
https://moonbeam.network/
Moonbeam
欢迎加入Moonbeam社区
期待与您携手打造去中心化跨链世界 ~
△ 获取Moonbeam官方最新资讯
更多Moonbeam信息
官网: https://moonbeam.network
Twitter: https://twitter.com/MoonbeamCN
Telegram: https://t.me/moonbeam_CN
Discord: https://discord.gg/skPfXvJWG7
中文电报群助手:@MoonbeamSister