小白也能看懂的波卡XCMP协议解读
我们都知道波卡最大的价值是在于成为区块链的区块链,也就是能够将不同链上的资产与业务逻辑(智能合约)打通,让各个区块链摆脱“信息孤岛”,从而实现真正的WEB3.0。
但在技术上这一点是如何实现的呢,那我们就不得不提到波卡上的链间信息传输协议:XCMP协议。
在此之前,我们先复习一下波卡的基本知识:
波卡的架构组成
波卡的架构一共分为三个部分,其分别是:中继链,平行链与转接桥。
中继链也就是波卡的主链,负责网络的安全性、共识以及跨链的互操作性。平行链一般是指基于Substrate框架开发的同构链(和波卡本身的底层一样),转接桥一般是用于帮助一些异构链(例如ETH,EOS,FIL等独立公链)作为接入中继链的媒介。
当然其他的一些组成如平行进程,则属于二级产物,不需要大家深入了解。
除了弄清楚波卡的架构组成之外,我们还需要知道波卡的共识系统有哪些参与者。
波卡共识的参与者们
波卡共识的参与者角色一共有4个,其分别是:提名人,验证人,收集人和钓鱼人。
提名人相当于股东,他们通过投票选出董事会成员(验证人)。验证人负责验证平行链上的区块,并打包区块,是波卡的直接控制人。收集人负责收集链上的新消息和交易,并把这些消息和交易交给验证人,类似于情报收集人员。钓鱼人是作为监督者的角色出现的,负责发现和举报链上的恶意行为。
有了上面这些基本的概念,我们就能够比较容易地理解XCMP协议(波卡上链间信息传输协议)是如何实现的。
XCMP协议的实现
我们看上面这张图,比较清晰地解释了XCMP协议的运作逻辑。
首先,我们会看到两条平行链:平行链A和平行链B。现在一个用户想要用部署在平行链A上的一个智能合约,发一条跨链调用的消息给平行链B,从而调用位于链B上的合约完成资产转移。
第一步,用户在平行链A上调用智能合约,初始化一条跨链消息,这条消息的目的地是平行链B。
第二步,平行链A上的收集人(就是专门收集链上信息的那个角色)会将这条消息放在平行链A的出口消息队列上。
第三步,平行链B的收集人会发现目的地是平行链B的消息,并把消息放在平行链B的入口队列中。
第四步,平行链A和平行链B的验证人都对这条消息进行验证。
第五步,平行链B的收集人在构建新区块的过程中会处理消息,因此会运行消息中的智能合约,于是完成资产转移。
第六步,平行链B的验证人验证了这条消息确实被处理过,而且没有什么问题,于是就把这个区块写到了中继链中。
以上就是XCMP协议的实现过程,尽管有些细节在真实场景下会更复杂一些,但基本的原理就是这样。
在整个过程中完全依靠智能合约与波卡的共识系统,没有任何中心化的参与,因此这是非常安全的。
来源:曹靖彬Web3
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。