Polkadot认证机制: 平行链、中继链爱恨情仇

上次的技术分享里面,我们有提到大致的架构,这次我们继续讲解下去。

概念:

让我们先复习一下整个polkadot 的架构,他有分为中继链、平行链跟转接桥。这三个部分分别代表着:

中继链:进行各个平行链上交易资讯的传递任务

平行链:应用端有着自己的链,做着不同的功能

转接桥: 连接不同的公链,让使用者可以在不同的公链上进行资产交换

Recap:

我们知道collat​​or 会同时运行一个parachain 的node 跟一个relay chain 的node,然后parachain 的node 会将链上的交易资讯传到relay chain上进行后面的验证跟上链,接下来我们就会仔细地讲解这中间发生了什么事情。

前面有提过overseer 这个套件,这边再详细的解释一下这个套件的功用,他的目的就是为了完成整个平行链上链的沟通工作,所以他并不会去进行验证的动作,主要是呼叫在substrate 等套件里面的功能来进行广播跟验证还有最后出块的动作,所以我在podcast 形容他像是机场里面的塔台,是个指挥中心。

架构:

这次我们主要会讲到四个不同的子系统,这三个子系统都是透过overseer 来进行沟通,甚至对其他node 进行沟通。这四个子系统分别为

Collat​​ionGenerationSubsystem

Collat​​orProtocolSubsystem

CandidateSelectionSubsystem

NetworkBridgeSubsystem

Collat​​ionGenerationSubsystem

当ActiveLeavesUpdate 时,此时collat​​ion genreation subsystem 会开始执行,他会发出DistributeCollat​​or 这个讯息给在同一个节点上的Collat​​orProtocol subsystem,这会伴随着PoV 跟Receipt 。

Collat​​orProtocolSubsystem

这个系统主要是用来在validator 跟collat​​or 传递交易讯息的地方,整个Collat​​orProtocolSubsystem 分为两个部分,一个部分是collat​​or side,另一个部分是validator side,如果你是collat​​or 节点,你就是运行collat​​or side的部分,反之,如果你是验证节点,你运行的就是validator side 的部分。

当collat​​or 节点上的collat​​or side 收到

Collat​​orProtocolMessage::DistributeCollat​​ion

这个讯号时,他会先对整个relay chain 的nodes 搜寻可用的验证节点(Validators),当有连线到特定的validator 时,会在handle_validator_connected 这个函式里面做处理,接下来发送

Collat​​orProtocolMessage::AdvertiseCollat​​ion

去跟validator节点的validator side 做沟通。

这边要特别注意的是,他在发出去前,在外面要包裹一层包装,即为NetworkBridge,这边是因为这些讯息是透过NetworkBridge 发出去给runtime 里面的network 出去的,所以要透过NetworkBridge 这一层。顺带一提,这两个subsystem 的沟通是经过overseer 的route_message 进行转发。

当validator 收到advertisecollat​​ion 时,他会发出讯号通知Candidate Selection 这个subsystem,这个子系统会先发出对collat​​ion的请求

CandidateSelectionMessage::Collat​​ion

CandidateSelectionSubsystem

当CandidateSelection 这个subsystem 收到collat​​ion 时,他会发出

Collat​​orProtocolMessage::FetchCollat​​ion 

来要求collat​​ion 的资讯来进行candidate 选择的过程,当validator收到这个请求时,他会使用NetworkBridge 藉由network 传送给连线的collat​​or ,此时collat​​or 就会回应collat​​ion 给CandidateSelection这个subsystem.

然后接下来会通知Candidate Validation这个模组进行验证,当验证过了就可以进行pov 跟receipt 的阶段了

结论:

为了避免大家看得太辛苦,这篇文章就先讲到这边,其实整个机制才过了三分之一,接下来会有各个节点backing 跟投票的阶段,最后还有babe 跟grandpa的参与,请各位期待,我们下次见。

本文链接地址:https://www.wwsww.cn/DOT/7991.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。