概述
PolkadotXCMP是Polkadot上的链间消息传输协议,主要用于平行链间传递消息。XCMP目前处于开发中,有些内容可能会发生变动,不过其架构已经差不多成型。
根据Polkadot自己的说法,XCMP利用基于Merkle树的简单队列机制确保跨链交易的保真度。中继链上的验证人负责把平行链出口队列中的交易转移到目标链的入口队列中,但是中继链并不会存这个跨链交易的原文,而只会存一些少量的消息元数据。
XCMP的目标
1.?快速:消息能快速发至目的链;
2.?有序:消息能按序到达目的链;
3.?可验证:能验证到达的消息确实是发送链发送的、能验证该消息在接收链已经被处理;
4.?无遗漏:接受链公平地接收每条消息,发送链不会无限期等待其消息被接收链接收和处理;
孙宇晨钱包地址向Poloniex交易所转入6500枚ETH:12月13日消息,OKLink数据显示,被标记为孙宇晨的地址(0x176F3DAb24a159341c0509bB36B833E7fdd0a132)10小时前向Poloniex交易所转入6500枚ETH。目前该地址剩余233,780.57枚ETH,价值2.96亿美元。[2022/12/13 21:40:59]
XCMP的一些特点
1.跨链消息是跨平行链之间的消息,消息原文不上中继链。但是目前XCMP还没有完全实现,现在Polkadot用的是HorizontalRelay-routedMessagePassing(HRMP),HRMP将所有的消息存在中继链,未来会用XCMP取代HRMP。
2.某条平行链的收集人构造新区块时会把以自己为目的地、还未被处理的跨链消息都处理下。
非托管加密钱包WireX在Polygon区块链上线:金色财经报道,据Polygon官方网站消息,非托管加密钱包WireX已经在Polygon区块链正式上线,其生态系统中的450万用户将获得由Polygon提供的低费用、高速且安全的交易服务。Wirex 是领先的支付平台和非托管加密货币钱包,旗下客户覆盖全球130 个国家/地区,WireX加密借记卡还能在8100 万个终端直接消费加密货币。[2022/2/24 10:11:53]
3.验证人需要对收集人出的块进行跨链消息的检验看看跨链消息是否真的被处理过了。因此消息的一些元数据还是会上中继链的。
4.任意两条平行链之间传递消息必须开一个通道,通道是单向的,所以双向通信必须开2个。开一个通道需要抵押DOT,通道关闭后会退回DOT。
XCMP的一个简例
NFT众筹平台Gamestarter将集成Polygon:面向游戏开发者的NFT众筹平台和市场Gamestarter宣布将在Polygon上发布,预计将大幅降低NFT铸造和交易费用。Gamestarter将作为平台成为Polygon gaming studio的一部分,并相信这将有助于加快区块链技术在游戏中的应用。Gamestarter平台上线的游戏项目也将集成至Polygon,因为Gamestarter将教育独立游戏开发人员在其即将推出的项目中使用Polygon链。[2021/9/1 22:52:22]
链上衍生品协议Opium上线Polygon网络,并正在开发2.0版:4月27日消息,链上衍生品协议Opium部署至以太坊扩容方案Polygon(原MaticNetwork),以降低交易费,并推出到期日短的高杠杆衍生产品Turbo(涡轮),首个产品为TurboETH。Turbo目前基于Opium看涨期权,之后将引入永续Turbo。另外,Opium正在开发2.0版本,可供任何人一键创建金融基元(FinancialPrimitives)甚至金融市场,此外,Opium2.0将与不同的订单簿等兼容。[2021/4/27 21:03:46]
Polkadot的官网举了一个简单的例子:假设平行链A上部署的一个合约要发一条跨链调用的消息给平行链B,从而调用位于链B上的合约完成资产转移,其整体流程如下:
1.调用者在链A上调用部署在链A上的智能合约,从而初始化一条以链B为目的地的跨链消息M;
动态 | Polymath将Polymesh区块链移至Substrate:金色财经报道,Polymath已将其Polymesh区块链从以太坊移出,并转移到Substrate上。Polymath的ST20证券型代币(基于以太坊的ERC-1400标准构建)和本地POLY代币(ERC-20)将进入新的Substrate链。 POLY代币的桥梁将至少维持一年。据悉,Substrate是以太坊联合创始人Gavin Wood的Parity Technologies开发的平台。[2019/11/21]
2.链A的收集人节点会将这条消息M连同其目的地、时间戳放到A的出口队列中;
3.链B的收集人在正常情况下会轮询其他所有的平行链的收集者节点以查看是否有自己的消息。如果在新一轮询问中发现有以自己为目的地的消息,那么其会将这条消息放到自己的入口队列中,以待在产生下一个区块的时候处理该消息;
4.另外,链A的验证人也会通过读取链A的出口队列从而知道这条消息;链B的验证人也是。验证人也需要知道这些消息,因为之后它们都会对这条消息进行验证;
5.当链B的收集人节点开始构建一个新区块的时候,它会处理当前入口队列中所有的消息;在处理过程中,消息M会执行链B中相应的智能合约以此完成预期的资产转移;
6.然后收集人将这个区块提交给验证人,验证人会验证消息M是否真的被处理了;如果这条消息被验证确实处理了,并且这个区块没有其他不合法的地方,验证者就会把该块确认进中继链中。
这个例子比较简陋,只是一次对XCMP的管中窥豹,而且还留下了一些坑,如:链B是如何知道链A给自己发了消息的?跨链消息真的是链B自己去拿的吗?这些问题在接下去的内容中会澄清。
总体而言,XCMP主要分为2部分:XCMP消息的分发、XCMP消息的存取。
XCMP消息的分发
XCMP消息的分发其实也是属于Polkadot网络的一部分,XCMP不仅要实现接收链获取发送链发送的跨链消息的,而且要实现高效获取,尽量降低网络的整体通信开销。
虽然XCMP已经设计得尽可能减少中继链的负担,但作为跨链消息双方的唯一信任中介,中继链仍然是不可或缺的。中继链主要负责与跨链消息元数据的相关工作。
当发送链发出跨链消息后,会将消息包含到自己新出的块里,经过验证人验证后,平行链的区块头会上中继链,于是中继链就能够知道发送链对接收链发送了消息,并将此更新到自己的状态中。然后接收链通过向中继链询问相关消息的元数据,就能知道自己是否有待接收的跨链消息。
假如接收链通过中继链知道了发送链有一条发给自己的消息,那么消息具体如何传递过来,就要看XCMP消息的路由方式。
XCMP消息的路由方式大概有这么几种:
1.当发送链有一个全节点也属于接收链的域的一部分时,发送链用gossip发送消息就能使得接收链收到消息。
2.当中继链有一个全节点既位于发送链的域中也位于接收链的域中,则发送链用gossip发送消息也能使得接收链最终收到。
3.如果以上条件都不满足,则接收链的验证人会发现没有收到跨链消息。因此接收链Validator会主动找发送链Validator要这个消息;然后验证人节点需要在本链的网络中gossip这个消息,使得其他节点都获得这条消息。
所以说消息传递既有可能是发送链直接发过来,也可能是接收链自己去拿。
「概述」中的简例是接收链自己去拿,而且是收集人找收集人拿,不属于以上3种情况之一。为什么会如此呢?
因为「XCMP消息的分发」这部分内容其实还没完全设计好,而且是变动比较多的部分。
未完待续……
更多精彩敬请期待《Polkadot?XCMP》
课后小习题
一共准备了5个小题目
》中)
1.以下内容中,不是PolkadotXCMP设计的目标的是?
快速
消除跨链消息的「饥饿」现象
高效
可验证
2.根据本文内容,目前在PolkadotXCMP不可能发生的消息路由方式的是?
发送链将跨链消息发送给一个自己的全节点,该全节点转发至接收链
接收链的收集人去找发送链的钓鱼人拿跨链消息,然后在本链的网络中gossip这个消息
发送链将跨链消息发送给一个中继链的全节点,该中继链全节点转发至接收链
接收链的验证人主动去找发送链的验证人拿跨链消息,然后在本链的网络中gossip这个消息
作者简介
楼嵩
来自致力于「构建区块链互联网络,打通价值孤岛」的BitXHub团队
研究方向:Web3+
在以太坊已经成功运行这么多年的基础上,重置以太坊这个词听起来是骇人听闻的。对于一旦开始就需要一直继续下去的加密货币网络。重置是一个从技术到经济都要重视的过程.
1900/1/1 0:00:0012月28日晚间,“我与无限——玲听2021区块链跨年演讲”在杭州大剧院重磅开启。纯白矩阵创始人吴啸受邀出席并发表《区块链与定义规则的创新》主题演讲.
1900/1/1 0:00:00?加密资产「巨鲸」灰度的一举一动都引人关注,在它即将上新LINK、XTZ、MANA、FIL、LPT以及BAT信托产品的消息传出后,这6种资产迎来一波上涨.
1900/1/1 0:00:0012月25日,封面新闻记者获悉,成都区块链公司乐链科技于12月24日宣布完成1200万元天使轮融资,由香投集团领投。作为成都新经济领域的“硬核科技”,区块链产业正成为自主创新主要突破口.
1900/1/1 0:00:00本文为万向区块链行业研究文章之一,作者为万向区块链首席经济学家办公室郝凯。摘要本文研究公链和联盟链之间进行连通的进展.
1900/1/1 0:00:00来源:证券日报网?记者侯捷宁1月19日,中国证券业协会发布消息称,为推进科技监管能力建设,促进证券业数字化转型,形成共建共治共享的行业数字生态,提升证券业服务效率和质量.
1900/1/1 0:00:00