LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > DC跨链方案是如何做到高效与稳定兼顾的?

DC跨链方案是如何做到高效与稳定兼顾的?

2021-03-09 DC中文社区 来源:区块链网络

DC?的跨链消息传递(Cross-chain Message Passing,XCMP)方案是 DC?协议的一个子集,它主要用来定义除共享中继链安全之外,在没其他信任假设的情况下,消息如何得以在平行链之间传递。主要内容包括:消息队列机制,消息可用性,消息输入和输出等。

XCMP是平行链之间的信息传递流程,需要两条平行链达成合作意愿,并押定一定DOT在中继链上才能进行。整个过程需要两条链的收集人、验证者共同参与。传递信息时,传送链的状态也会保存在中继链上,以备链出问题需要回滚恢复状态。

一、传递到位

SPREE模块&Cumulus模块,两者本质上都是Wasm Blob。DC的跨链信息解读转换是通过Wasm来完成的。

通俗地说,信息传递到位需要双方直接沟通,避免第三方带来的遗漏或者没传达。SPREE在这个过程中实现了信息的点对点通信传达,Cumulus则实现了信息的转换。

1、SPREE

XCMP流程保证了信息从A传到B,但不确保信息会在B链上被准确解读和执行。SPREE提供了这个保证。

所以,XCMP是通过中继链的共享安全实现了无信任的消息传递,而SPREE是实现了消息在链之间的无信任执行。怎么做到的呢?

① SPREE是独立的,一个链的SPREE可以向其他链的SPREE发送消息,且它的执行和状态,不受平行链其余部分逻辑的影响。这确保了消息的准确到达。

② SPREE模块会上传到中继链,平行链加入共享该模块就会被强制执行该模块的逻辑。这确保了只知道SPREE模块的代码就能完成信息的解读和执行。

2、Cumulus

Cumulus是一个数据库,相当于是一个转换器,会把各链不同的Runtime逻辑转换为中继链验证者可以验证的函数。

二、传递有序

沟通的时候表达有一定的逻辑,会让听者更容易理解沟通的内容。

链A会接收其它很多条链B\C\D等发送过来的信息,DC为了避免这些信息被不公平处理(被挑着优先处理或不处理),DC设定了两个规则:

1、所有信息有次序的排入接收链的输入队列

来自不同发送链的信息,会根据系统预先设定好的规则被有序的识别处理。即:多个接收通道的信息,会融合到一个单独的输入序列里,一起传递给接收链。融合的规则是系统提前设置好的,接收链只需要按序处理这个输入序列的信息就行。

2、接收链每次必须至少验证一个块里的一条新信息

强制按顺序处理 + 每次至少处理一个信息 = 所有消都会被处理。如此就保证了发送链的信息一定会被接收方处理,不会有信息因为无穷的延迟而留下不被处理。

相比之下,虽然 Cosmos 也允许选择有序发送,但由于缺乏用于此目的的通用激励模型,可能无法保证消息一定会到达。

Polkadot的共享安全性确保了平行链上传递过来消息的正确性和真实性。但当某条平行链出现问题时要怎么确保恢复到之前的数据,确保后面的交易不会因为链出问题而发生问题呢?

验证历史一致性

①平行链的运行本身会成为中继链历史状态的一部分,因为跨链信息传递过程中,平行链状态会以元数据形式存储在中继链上。

②中继链上的一个分叉可能会改变整个DC网络历史,以及连接到DC网络的平行链的历史。

③因此,对于会引用中继链中特定历史状态的平行链来说(即对引用存储在中继链上的这些交易信息的平行链来说),中继链上信息的稳定和准确就特别重要。

④所以,DC希望对这些在特定历史状态中交互的信息采取措施,保证它们的稳定准确,以确保所有平行链的安全稳定。

DC中继链就相当于记录系统。跨链信息就是这些备份的信息。整个中继链的稳定安全就是这些信息的稳定安全,也是这些交易商交易的安全保障。DC通过NPOS机制+插槽拍卖+混合共识GRANDPA & BABE来保证网络的安全稳定。

网络的稳定安全,就是信息传递的稳定安全,就是网络信息存储的稳定安全。这意味着必须使用中继链对消息进行验证,因为消息传递和记录是发生在中继链上的。

为了保证中继链的传递高效传递和可伸缩性,DC使处理这些信息所需的算力和数据存储在中继链上尽可能的轻。这就包括了最小化中继链上数据的存储,以及特别的,需要不变的或者近乎不会变的信息大小。

所以,一方面限制了通道数量,另一方面限制了XCMP每次传递的信息的大小。如此,当有100个平行链在一个单独的中继链块上发送信息到10000个目的链的时候,才不会因为不堪重负而出现问题。

—-

编译者/作者:DC中文社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...