上次的技术分享里面,我们有提到大致的架构,这次我们继续讲解下去。
概念:
让我们先复习一下整个polkadot 的架构,他有分为中继链、平行链跟转接桥。这三个部分分别代表着:
中继链:进行各个平行链上交易资讯的传递任务
平行链:应用端有着自己的链,做着不同的功能
转接桥: 连接不同的公链,让使用者可以在不同的公链上进行资产交换
Recap:
我们知道collator 会同时运行一个parachain 的node 跟一个relay chain 的node,然后parachain 的node 会将链上的交易资讯传到relay chain上进行后面的验证跟上链,接下来我们就会仔细地讲解这中间发生了什么事情。
前面有提过overseer 这个套件,这边再详细的解释一下这个套件的功用,他的目的就是为了完成整个平行链上链的沟通工作,所以他并不会去进行验证的动作,主要是呼叫在substrate 等套件里面的功能来进行广播跟验证还有最后出块的动作,所以我在podcast 形容他像是机场里面的塔台,是个指挥中心。
架构:
这次我们主要会讲到四个不同的子系统,这三个子系统都是透过overseer 来进行沟通,甚至对其他node 进行沟通。这四个子系统分别为
CollationGenerationSubsystem
CollatorProtocolSubsystem
CandidateSelectionSubsystem
NetworkBridgeSubsystem
CollationGenerationSubsystem
当ActiveLeavesUpdate 时,此时collation genreation subsystem 会开始执行,他会发出DistributeCollator 这个讯息给在同一个节点上的CollatorProtocol subsystem,这会伴随着PoV 跟Receipt 。
CollatorProtocolSubsystem
这个系统主要是用来在validator 跟collator 传递交易讯息的地方,整个CollatorProtocolSubsystem 分为两个部分,一个部分是collator side,另一个部分是validator side,如果你是collator 节点,你就是运行collator side的部分,反之,如果你是验证节点,你运行的就是validator side 的部分。
当collator 节点上的collator side 收到
CollatorProtocolMessage::DistributeCollation
这个讯号时,他会先对整个relay chain 的nodes 搜寻可用的验证节点(Validators),当有连线到特定的validator 时,会在handle_validator_connected 这个函式里面做处理,接下来发送
CollatorProtocolMessage::AdvertiseCollation
去跟validator节点的validator side 做沟通。
这边要特别注意的是,他在发出去前,在外面要包裹一层包装,即为NetworkBridge,这边是因为这些讯息是透过NetworkBridge 发出去给runtime 里面的network 出去的,所以要透过NetworkBridge 这一层。顺带一提,这两个subsystem 的沟通是经过overseer 的route_message 进行转发。
当validator 收到advertisecollation 时,他会发出讯号通知Candidate Selection 这个subsystem,这个子系统会先发出对collation的请求
CandidateSelectionMessage::Collation
CandidateSelectionSubsystem
当CandidateSelection 这个subsystem 收到collation 时,他会发出
CollatorProtocolMessage::FetchCollation
来要求collation 的资讯来进行candidate 选择的过程,当validator收到这个请求时,他会使用NetworkBridge 藉由network 传送给连线的collator ,此时collator 就会回应collation 给CandidateSelection这个subsystem.
然后接下来会通知Candidate Validation这个模组进行验证,当验证过了就可以进行pov 跟receipt 的阶段了
结论:
为了避免大家看得太辛苦,这篇文章就先讲到这边,其实整个机制才过了三分之一,接下来会有各个节点backing 跟投票的阶段,最后还有babe 跟grandpa的参与,请各位期待,我们下次见。
本文链接地址:https://www.wwsww.cn/DOT/7991.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。