波卡平行链系统架构

在这里插入图片描述
Crust 提供了 Web3 生态系统的去中心化存储网络,支持包括 IPFS 在内的多种存储层协议,并对应用层提供接口。Crust 的技术栈还能够支持去中心化计算层。Crust 旨在构建一个重视数据隐私和所有权的分布式云生态系统。

本文作者为 Jenner @ Patract Labs 。
这篇文章基于Polkadot的6be14014提交(2020/12),目的是介绍Polkadot在平行链角度上的系统架构。
角色

在这里插入图片描述

架构图

Relay chain:中继链,负责平台安全性。
Parachain:平行链,拥有自己独立的状态与业务逻辑,共享中继链提供的安全性。
节点

validator:验证人,负责中继链的出块,同时验证来自收集者的证明,与其他验证人进行共识投票。中继链全节点,需要抵押DOT。
collator:收集者,为验证人收集平行链的交易和状态转移证明(collation)。平行链全节点,同时内嵌中继链全节点服务,不一定需要抵押DOT,可以由平行链自行激励。注意,平行线程的 collator 需要持有DOT,以便参与出块资格的拍卖。
fishermen:渔民,监控验证人和收集者,检查无效的候选收据。collator 或者 validator 都可以作为 fishermen,需要抵押DOT。

平行链节点结构

平行链节点主要有以下两点变动。
共识

collator 在平行链上的角色类似于以往的独立链上的 validator。但是 collator 只提供候选区块,然后交由中继链上的 validator 进行共识。所以,平行链不再需要自己的共识机制。当然,可以保留对 collator 的选择机制。
双服务

平行链节点与以往单链节点的不同在于:需要启动一个中继链全节点服务。内嵌的中继链全节点服务中,包含了 overseer (关于 overseer 在“中继链节点结构”部分介绍)与子系统服务,并且将 overseer_handle 共享给 collator,在collator_protocol上注册为 collator_side。因此,collator 能与 validator 通过 overseer 进行消息交互,例如传递候选区块相关消息。另外,平行链全节点还需要通过内嵌的中继链节点来“跟随”中继链的出块。所谓“跟随”,指的是平行链全节点的最佳区块为中继链上最佳区块包含的相应平行链区块,终结区块亦如此。

中继链节点结构

在这里插入图片描述
relay_chain

中继链上除了必须的基础组件外,比较重要的就是overseer与子系统。
overseer

在这里插入图片描述

overseer
Overseer 主要有以下功能:
启动和关闭一系列子系统
作为子系统之间的消息总线
监听外部事件,触发子系统相应任务

消息协议

overseer 向子系统发送两种类型的消息:Communication, Signal。

Communication:子系统之间交互的消息被封装Communication类型中,根据被封装的消息类型传递到指定的子系统。例如子系统A向子系统B发送一个消息M:1. A向overseer发送AllMessages::B{M};2. overseer收到后,向B发送FromOverseer::Communication{M}。

Signal:系统消息,例如块导入、块终结、关闭子系统,被封装在Signal中。系统消息会被广播到所有子系统。

子系统

目前设计上共有18个子系统,其中3个未完全实现。
Collator相关

collation_generation_subsystem:collator在块更新时生成collation
collator_protocol_subsystem:collation的请求与回应,根据validator/collator的角色执行对应的任务
候选区块共识

candidate_selection_subsystem:触发对collation的请求,收到collation后请求投票
candidate_backing_subsystem:对collation投票,签署statement
statement_distribution_subsystem:广播statement
pov_distribution_subsystem:广播PoV
apporoval_subsystems(TODO):在finalize前对候选区块的再次检查

可用性相关

availability_distribution_subsystem
bitfield_signing_subsystem
bitfield_distribution_subsystem
availability_recovery(TODO)

工具类子系统

candidate_validation_subsystem:验证候选区块
provisioner_subsystem:提供平行链相关的出块打包数据
runtime_api_subsystem:调用runtime api
availability_store_subsystem:存储可用性数据
network_bridge_subsystem:与collation相关数据在节点间传递的网桥协议
chain_api_subsystem
misbehavior_arbitration(TODO)

Collator

以平行链上的Collator为例,介绍节点如何与子系统协作。

启动

平行链启动时,build_polkadot_full_node启动一个中继链全节点,包含overseer和子系统,并且在 collator_protocol_subsystem 注册为collator_side。如果要以collator的身份启动节点,启动时需要设定–collator,类似于以往独立链设定–validator启动验证人节点。

follow_polkadot:根据中继链的出块来更新平行链
初始化collation_generation_subsystem,在此时注册collator.produce_candidate,用来生成collation。
在 collator_protocol_subsystem 上注册 Collator 所在的para_id。

start_collator:polkadot_full_node.client.execute_with(StartCollator},collator和polkadot_full_node共享一个overseer_handler。

准备候选区块

collation_generation_subsystem 启动后会循环handle_incoming。接受到ActiveLeavesUpdate后handle_new_activations。
propose一个候选区块
build_collation:构建候选区块的Collation
开启wait_to_announce任务,注册成为StatementListener。当收到validator发来的Statement::Seconded就广播当前候选区块
request_full_validation_data_ctx 在中继链上获取辅助验证的数据ValidationData。
task_config.collator -> produce_candidate
collator_signature_payload签名
生成CandidateReceipt(包含erasure_root和CandidateCommitments的hash),发送CollatorProtocolMessage::DistributeCollation给 collator_protocol_subsystem。

通知validator

collator_protocol_subsystem 监听Communication(CollatorProtocolMessage),process_msg处理消息。收到DistributeCollation后,检查para_id,然后distribute_collation向validator广播。
determine_core:计算当前平行链分配到的core
determine_our_validators:计算分配到该平行链的validator集合,包括当前集合和下一次分配的集合
connect_to_validators:同时连接当前validator集合和下一组validator
distribute_collation:检查collation在active-leaves上,collation没有在该relay parent上出现
连接上新的validator后,在collator protocol子系统中handle_validator_connected
发送一个CollatorProtocolMessage::Declare给validator,注册collator
如果validator是属于该平行链的验证人集合,那么advertise_collation,向validator 发送CollatorProtocolMessage::AdvertiseCollation ,通知validator准备发送collation了。
回应请求

收到validator消息CollatorProtocolMessage::RequestCollation
send_collation:回应validtor。回应的message中包含CandidateReceipt和PoV,发送CollatorProtocolMessage::Collation(request_id,receipt,pov)给validator。由于这是节点间通信,overseer的中继只能作用于节点内的子系统之间,所以这个消息是被封装在NetworkBridgeMessage::SendCollationMessage中的,通过 network_bridge_subsystem 向validator转发消息。

出块

当中继链上statement被checked后(状态为seconded),collator在平行链上announce_block,此时为暂时同步。
最佳区块和终结区块跟随中继链的出块。

More

实际上,以上所描述的Collator与子系统的交互也可以说是以Collator角度的平行链出块流程。关于以Validator角度的平行链出块流程将在《平行链节点的出块流程》中介绍。

关于 Crust Network

Crust 提供了 Web3 生态系统的去中心化存储网络,支持包括 IPFS 在内的多种存储层协议,并对应用层提供接口。Crust 的技术栈还能够支持去中心化计算层。Crust 旨在构建一个重视数据隐私和所有权的分布式云生态系统。

激励测试网“方舟计划”现已开启,欢迎各位加入测试体验。Crust Network 先后加入 Substrate Builders Program、Web3.0 Bootcamp,以及获得 Web3 基金会 Grant 。

Crust 相关:
Crust Network 技术白皮书 v1.9.8
Crust Network 经济白皮书 v.0.8
Crust Network 代币指标 & 经济学

官网:https://crust.network/
Twitter:@CrustNetwork
Medium:https://medium.com/@crustnetwork
GitHub:https://github.com/crustio
Telegram:https://t.me/CrustNetwork

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业细分市场,横跨如半导体产业(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值