解读XCMP协议帮助波卡的消息和资产跨链实现过程_EOS:区块链技术发展现状和趋势

今天看了一个波卡的平行链是如何通过XCMP来进行跨链消息传递的视频,来理一理波卡的跨链过程。

首先我们需要弄清楚波卡的大体结构。

1.波卡整个体系可以理解为由很多不同的区块链组成的一个区块链网络,这些区块链可以分成三种不同的类型。分别是中继链,平行链以及转接桥平行链。

这些叫法很复杂,我们可以用其他区块链的常用叫法来比喻。

中继链:就是波卡的主链,相当于以太坊的第一层网络主链,或者Nervos的底层CKB这样的意思;

动态 | 江卓尔解读甘孜藏族自治州通知:冬天枯水期发电少,挖矿的就不要用了:金色财经报道,就甘孜藏族自治州发布《我州积极做好迎峰度冬保电工作》通知一事,江卓尔发微博称,看标题,翻译一下:虽然我们四川甘孜州,夏天丰水期弃水弃电很多,欢迎你们挖矿来用,增加我们收入,但是现在冬天枯水期了,发电少,你们挖矿的就不要用了,各电站要把大部分电卖给电网,不要自己矿场用光光,不然我们电就不够用了,还要从外面买电。[2019/12/26]

平行链:是基于波卡的底层区块链框架搭建出来的链,也就是在Substrate框架上开发出来的区块链。他们是同构链,因为都是从Substrate这个底层框架上搭起来的,拥有相同的底层设计。

转接桥平行链:他们不是基于波卡的Substrate框架开发的区块链,而是独立于波卡设计的其他外部链,比如以太坊,比特币,Cosmos,EOS等等,与Substrate框架上面搭建的区块链相比,他们具有不同的底层架构,因此他们是异构链。

声音 | 孙宇晨:陪我APP配合监管机构进行内容整改 不必过度解读:孙宇晨刚刚发微博表示,“陪我APP第一时间配合监管机构进行净网行动,对平台部分由用户自发产生的负能量内容进行整改,一切正常运营,新的实体成立,老的实体解散而已,不影响正常业务进行,完全是基于商业考虑。我们旗下公司繁多,基于商业考虑进行公司新设与注销是正常经营行为,不必过度解读。”[2019/7/24]

这些链要跟波卡主链,其他平行链,或者其他异构链进行沟通交流,波卡会给他们之间先架起一座桥,叫做转接桥,用来在他们之间传递信息。因此这些外部异构链在波卡的术语中叫做转接桥平行链。

2.波卡的网络中主要有如下几种角色在维持网络的运行。

声音 | 最高人民法院工作报告解读:探索司法区块链等互联网模式:据新华网消息,12日,最高人民法院办公厅副主任陈志远接受专访,解读最高人民法院工作报告中网民高度关注的热点内容。陈志远介绍,杭州互联网法院通过全流程在线审理平台,实现案件全流程在线办理,让当事人打官司“一次都不用跑”;采用司法区块链等技术,让存证取证更方便,让电子证据更可靠。[2019/3/12]

收集人:他们负责收集平行链上新的消息和交易;并把来自平行链的候选区块发送给中继链的验证人。

验证人:他们负责验证平行链上提交的区块;打包区块,并在中继链上生成区块。类似于比特币网络中的记账矿工。

钓鱼人:网络监督者,负责监督和举报作恶的节点。

分析 | 2100ETH交易手续费事件不宜过分解读:据猎豹区块链安全中心舆情数据监控显示,2100ETH交易手续费事件引起了超过20余家主流媒体关注报道。猎豹区块链安全中心研究员对2月19日以太坊上的交易全面分析后发现,剔除这5笔异常交易后,平均交易手续费(总交易手续费/交易笔数)为0.000906ETH,约为0.13美元,与最近7日的数据相比没有明显异常。[2019/2/20]

弄清楚了波卡网络的整体结构,接下来要来说一下波卡实现跨链的一个协议,叫做XCMP。

它的基本原理是由XCMP向两个不同的链搭建一座沟通的桥来传递消息,在消息被另一方接收到,并执行了相关操作之后,由中继链帮助验证执行的结果,同时对验证结果的提供共识的安全保障。

跨链传递消息的具体过程如下:

假设你准备从以太坊上发动一条消息到EOS的一个地址上。

尹振涛解读数字货币政策:对数字货币的监管还可以更严厉:中国社会科学院金融研究所法与金融研究室副主任尹振涛认为:对数字货币的定位不明确,各国对数字货币的监管都在同一起跑线上;各国的监管差异体现了背后的经济博弈;从效果上看,当前国内监管做的还不够,在某些领域,我们还可以更严一点;禁止ICO不应是阻碍区块链发展的借口;数字货币交易被禁止,风险仍留在国内;未来各国的监管会渐趋一致。[2018/3/22]

在你向B发送消息之前,实际是任何两个异构的平行链之间发送消息之前,XCMP都需要在你们之间开启一条单向通道,建一座临时的转接桥。用来在你和B之间传递消息。

1.有了这个桥,你就可以从以太坊地址通过它将你想要向B传递的消息发布出来。

2.这时候,在以太坊上面服务的收集人就会把这条消息向中继链上的所有节点进行广播,相当于向全网络公开宣布以太坊上有这样一条消息发给了B。

在每一条跨链消息中,都会包含一个目的地和时间戳,用来辨认每条消息的唯一性。

3.你发的这条消息也会带着这些信息,被中继链上的节点在网络中点对点地传播。最终,会被EOS上的收集者看到,因为他们的工作就是随时都在监听网络中有没有新消息,他们就是一群到处探听消息的八卦婆。

而这些收集人既是中继链上的全节点,也是平行链上的全节点。所以他们之间时刻都处于相互联系的状态之中。

4.平行链B,也就是EOS上的收集人收集到来自你从以太坊链上发来的新信息之后,会对这条消息进行初步的检验,没有问题之后会加上自己的签名,打包进一个新提议的区块之中,这个区块被称为候选区块。

5.然后把这个候选区块发送到中继链上,提交给中继链上的验证人,让他们去做验证。

5.区块提议包含了想要放到中继链上去的新消息和交易,一旦EOS上的收集人创建了一个新提议的去留,并提交给了中继链上的验证人,验证人就会验证该区块。

6.如果中继链上验证人认为区块没有问题,会,那么验证人就会把EOS收集人提交的这个区块提议通过算法生成一个哈希值,并把它打包成区块,发给其他验证人进行验证。

7.中继链上超过一半的验证人确认之后,这个新区块就会被加入到中继链的区块链上去。

这样平行链A的消息就传递到平行链B上去了。

如果你从A发往B的是一笔资产,波卡的处理流程为

1.你从A链发起一笔10ETH的转账,转给B在以太坊链上的地址;

2.以太坊上的收集人收到这条消息,验证交易没有问题,会把相关交易和信息打包成区块放在以太坊链上的输出队列中,等待中继链上的验证者来传递;

3.中继链上的验证者会将这条信息传递到B,并放到B的输入队列;

4.EOS链上的收集人收集到这条信息并验证没有问题之后,会怎么做呢?

如果你在A链上的转账要求是跨链到EOS上,那么EOS链上的收集人会帮你在EOS链上铸造与10个ETH相同价值的10个OETH,并发到你在EOS链上的地址。如果你的要求是兑换,那么EOS链上的收集人会帮你把10个ETH对应的EOS数量发到你灾难EOS上的地址。

当然这里面的转账实际操作都是智能合约,而非真实的人在操作。

从这个过程,我们能看出波卡的资产跨链,实质是把一个链上的资产转换成了另一个链上的资产。

这应该是目前绝大部分跨链方案都采用的方法。

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

水星链

[0:15ms0-0:505ms