区块链芝士 | 波卡如何实现跨链?
波卡中的跨链通信主要通过XCMP协议实现。XCMP协议之于波卡就像tcpip协议之于互联网,TCP IP可以将互联网中分散的节点连接在一起,跨物理空间进行通信。XCMP可以将插入波卡中继链上不同的链链接在一起,进行跨链通讯与资金流通。
试想如果每两条需要跨链通信的平行链,都需要两两建立通信通道,那么随着平行链数目的增加,通道数量会成指数级增长,并且每个通道还需要自行建立无限极致。波卡采用的方式是由中继链作为集中的处理点来处理所有的跨链通信网络的安全和共识,也由中继链来维护。
假设平行链a要向平行链b发送一笔交易,那么平行链a会将区块链的交易放到自己的输出队列,平行链a的收集人在收集交易时会同时拿到这笔跨链交易,并提交给平行链a的一组验证人。
若平行链a的这一组验证人验证成功后,会将本次平行链a的区块头信息以及其输出队列内的信息提交到中继链上,中继链会运行共识算法进行区块的确认以及跨链交易路由,并且中继链上的验证人会将平行链a的相应交易,从平行链a的消息输出队列中移动到平行链b的消息,输入队列中,平行链B会执行该区块将输入队列中的相应交易执行,并修改自身的账本。