Skip to content

区块验证 ​

简介 ​

Xode 平行链作为 Polkadot 平行链 3417 运行(此前作为 Kusama 平行链 3344 运行),基于 Substrate Parachain Template 构建。本文档概述了为确保交易完整性、共识安全性和链的最终性而采用的安全机制和区块验证流程。

区块验证 ​

交易验证 ​

每笔交易在被打包进区块之前都要经过多个验证步骤:

  • 签名验证:确保交易由有效账户使用 Schnorrkel(Sr25519)或 Ed25519 密码学方案进行签名。
  • Nonce 检查:通过确保交易 nonce 按顺序递增来防止重放攻击。
  • 余额验证:确保发送方拥有足够的余额来执行交易(包括手续费)。
  • 权重计算:为交易分配权重,以避免超出区块限制。

区块生产 ​

  • 区块通过 AURA(Authority Round)机制生产:
  • 验证人驱动的区块生产:验证人以轮询方式轮流生产区块。
  • 基于槽位的出块者选择:验证人被分配槽位来生产区块,出块者依据 AURA 协议选出。
  • 分叉选择规则:使用基于 GHOST 的规则选择最长的有效链。

收集人节点验证 ​

  • 收集人:通过收集交易和执行外部交易(extrinsic)来准备区块。
  • 状态转换验证:通过执行运行时逻辑,确保区块的结果状态有效。
  • 执行证明生成:收集人提交状态证明,供验证人进行验证。

平行链与中继链通信 ​

  • 收集人向验证人提交区块:区块被发送至中继链验证人进行交叉验证。
  • 候选验证:Polkadot 中继链验证人使用 PVF(平行链验证函数)验证平行链区块。
  • 共识达成:区块在通过 GRANDPA 达成一致后被最终确认。

更多信息 ​

https://wiki.polkadot.network/docs/learn-parachains-protocol