POLY:Polkadot 茶溪岸啤(XCMP),干杯!_ITAM

概述

PolkadotXCMP是Polkadot上的链间消息传输协议,主要用于平行链间传递消息。XCMP目前处于开发中,有些内容可能会发生变动,不过其架构已经差不多成型。

根据Polkadot自己的说法,XCMP利用基于Merkle树的简单队列机制确保跨链交易的保真度。中继链上的验证人负责把平行链出口队列中的交易转移到目标链的入口队列中,但是中继链并不会存这个跨链交易的原文,而只会存一些少量的消息元数据。

XCMP的目标

1.?快速:消息能快速发至目的链;

2.?有序:消息能按序到达目的链;

3.?可验证:能验证到达的消息确实是发送链发送的、能验证该消息在接收链已经被处理;

4.?无遗漏:接受链公平地接收每条消息,发送链不会无限期等待其消息被接收链接收和处理;

FalconX:MATIC相对强劲的表现可能源于Polygon针对主网2.0升级的猜测:金色财经报道,据FalconX研究报告,MATIC相对强劲的表现可能源于Polygon针对主网2.0升级的猜测。该公司研究主管 David Lawant 表示,Polygon 升级是目前业界最关心的技术公告,随着升级路线图的更多细节将对市场变得更加明显,我们预计MATIC将继续缩小与其他币种的差距。

根据该项目的路线图,该更新被标记为由零知识技术提供支持的无限可扩展性和统一流动性的愿景。Polygon 2.0预计将分多个阶段,第一个阶段旨在建立所谓的价值层,反映互联网其余部分的运作方式。[2023/7/12 10:50:41]

XCMP的一些特点

1.跨链消息是跨平行链之间的消息,消息原文不上中继链。但是目前XCMP还没有完全实现,现在Polkadot用的是HorizontalRelay-routedMessagePassing(HRMP),HRMP将所有的消息存在中继链,未来会用XCMP取代HRMP。

Polygon Avail测试网完成第一阶段,预计明年发布主网:11月22日消息,Polygon宣布模块化区块链Avail已完成测试网第一阶段,即将步入第二阶段,预计将于明年发布主网。在第二阶段中,Polygon计划添加最多100个额外的外部验证者,以创建一个更强大、更成熟的区块链测试环境。Polygon Avail的工作原理是存储来自任何其他区块链的交易数据,并证明其持有的交易数据可用性。

据此前报道,今年8月,Polygon Avail测试网上线,每秒可处理420笔交易。[2022/11/22 7:57:28]

2.某条平行链的收集人构造新区块时会把以自己为目的地、还未被处理的跨链消息都处理下。

3.验证人需要对收集人出的块进行跨链消息的检验看看跨链消息是否真的被处理过了。因此消息的一些元数据还是会上中继链的。

Polkadex发布每周更新通知:即将推出测试版iOS订单簿APP:金色财经报道,波卡生态去中心化交易平台Polkadex发布每周更新通知,PolkaIDO方面:互操作性的存款整合到前端。提款正在进行中;准备推出新的Testnet;新的投票策略进展。订单簿存款和提款的工作:即将推出测试版iOS订单簿移动应用程序。[2022/3/20 14:06:58]

4.任意两条平行链之间传递消息必须开一个通道,通道是单向的,所以双向通信必须开2个。开一个通道需要抵押DOT,通道关闭后会退回DOT。

XCMP的一个简例

Polkadot的官网举了一个简单的例子:假设平行链A上部署的一个合约要发一条跨链调用的消息给平行链B,从而调用位于链B上的合约完成资产转移,其整体流程如下:

波卡生态DEX协议Polkadex将在Polkastarter上进行IDO,现已开放白名单注册:波卡生态DEX协议Polkadex将于4月16日5:30在Polkastarter上进行IDO,共出售125,000 PDEX代币,每枚2美元,筹款250,000美元。此次IDO分为POLS和公众两个池,POLS需至少持有7天。

Polkadex IDO白名单现已开放,将于4月13日香港时间的凌晨2点半关闭。

据悉,Polkadex是一个去中心化的交易平台(DEX),降低了去中心化交易所费用并将交易速率的吞吐量提升至500,000 TPS(延迟小于20毫秒),其融合了中心化交易所的便利性和速度以及去中心化交易所非托管的安全性。Polkadex已获得以下机构投资:LD Capital、Kenetic Capital、OKEx Capital、NGC、QCP、AU21 Capital、CMS Holdings,、PNYX Capital、Genesis Block Capital、JRR Group、Cluster VC、GBIC、Momentum 6、Outlier Ventures、YBB Foundation和Waterdrip Capital。[2021/4/6 19:51:29]

1.调用者在链A上调用部署在链A上的智能合约,从而初始化一条以链B为目的地的跨链消息M;

Polymath将于6月23日启动测试网Aldebaran:金色财经报道,证券型代币平台Polymath将于6月23日为其新区块链启动第一个测试网络Aldebaran,该区块链旨在为使用证券型代币的金融机构带来新的保障。借助Aldebaran测试网,证券型代币发行方可实施一种称为提名权益证明(NPoS)的相对新型的协议方案。[2020/5/15]

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+

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-10:85ms