跟着 Rococo V1 正式上线,波卡(Polkadot)插槽拍卖渐进,这一重大事件的即将到来,聚积了泰半个区块链行业的眼光,波卡险些提前锁定了 2021 年的大热门。个中,除了整装待发的各大平行链项目,其他波卡生态项目也迎来了成长的黄金时期,备受存眷。
Zenlink 作为基于波卡的跨链 DEX 网络,通过构建一个通用的 DEX 协议供波卡网络中所有的平行链接入且实现活动性共享,最终将打造成为底层跨链 DEX 基本设施,也是将来波卡 DeFi 生态中不行或缺的一部门。在 Parity 官方于 2020 年 12 月 10 日颁发在 Parity 博客的文章《波卡生态 DeFi 项目一览》中,也将 Zenlink 界说为协议层DeFi 项目。
那么在详细实现方法上,Zenlink 是如何做的呢?本文将带各人解构 Zenlink 跨链 DEX 的底层实现逻辑,至于为什么说 Zenlink 是“漫衍式”跨链 DEX 也将在下文给出谜底。
波卡网络的焦点组件——XCMP 协议
探讨 Zenlink DEX 协议之前,不得不先给各人科普一下什么是 XCMP 协议。阅读以下内容,需要对波卡网络架构有基本相识,可查察 Zenlink 此前宣布的文章《从 AC 的 DeFi 生态国界扩张看 DEX 的进击之路》中第三部门对付波卡网络的简朴先容。
Polkadot XCMP(Cross-chain Message Passing)是 Polkadot 上的链间动静传输协议,并在很洪流平上依赖于波卡奇特的中继链(Relaychain)体系布局和设计,主要用于平行链(Parachain)间通报动静,通报进程中需要发送链和吸收链的收集者、验证者一起参加。
今朝 XCMP 的更多细节还在完善中,在完成之前城市利用 HRMP 来通报信息,其成果和交互界面与 XCMP 相差无几,只是 HRMP 会把信息都存储在中继链上,所以对付整个网络资源越发依赖,但前期网络中信息量相对较少,中继链可以包袱这些存储。
XCMP 操作基于 Merkle 树的简朴行列机制确保跨链生意业务的保真度(Fidelity),中继链上的验证人认真把平行链出口行列中的生意业务转移到方针链的进口行列中,可是中继链并不会完全存储这个跨链生意业务(可能说跨链动静)的原文,而只会存储一些少量的动静元数据。如此不只节省了中继链的存储空间,并且也可觉得平行链呈现问题时需要回滚规复状态做筹备,这也是平行链与中继链共享安详的浮现之一。
关于其运行逻辑,我们可以团结上图举办说明。假设此刻一个用户想要用陈设在平行链 A 上的一个智能合约,发一条跨链挪用的动静给平行链 B,从而挪用位于平行链 B 上的合约完成资产转移,其整体流程如下:
第一步,(如图中 1)用户在平行链 A 上挪用陈设在链 A 上的智能合约,从而初始化一条以链 B 为目标地的跨链动静 M;
第二步,(如图中 2)平行链 A 的收集人(Collator)节点会将这条动静 M 连同其目标地(destination)、时间戳(timestamp)一起放到链 A 的出口动静行列中;
第三步,(如图中 3.1 和 3.2)平行链 B 的收集人在正常环境下会轮询(routinely ?ping)其他所有的平行链的收集者节点以查察是否有以链 B 为目标地的动静。假如在新一轮询问中发明有以本身为目标地的动静,那么该收集人会将这条动静(好比这里的动静 M)放到本身的进口行列中,期待在发生下一个区块的时候处理惩罚该动静;
第四步,(如图中 4)平行链 A 的验证人(Validator)会通过读取链 A 的出口行列从而知道这条动静;同理,链 B 的验证人通过读取链 B 的进口行列也会知道这条动静。验证人也需要知道这些动静,因为之后(见第六步)它们城市对这条动静举办验证(好比这里的动静 M);
第五步,(如图中 5)当平行链 B 的收集人节点开始构建(build)一个新区块的时候,它会处理惩罚当前进口行列中所有的动静(包罗动静 M);在处理惩罚进程中,动静 M 会执行链 B 中相应的智能合约以此完成预期的跨链资产转移;
第六步,(如图中 6)最后,收集人将这个区块提交给验证人,验证人会验证动静 M(以及其他动静)是否真的被处理惩罚了;假如这条动静被验证确实处理惩罚了,而且这个区块没有其他不存在其他问题,验证者就会把该块确认(include)进中继链中。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。