Skip to content

Latest commit

 

History

History
11 lines (11 loc) · 3.12 KB

Block_Production.md

File metadata and controls

11 lines (11 loc) · 3.12 KB

4.4 平行链

  在这一节中,我们将了解平行链区块的生成,它们的可用性和有效性方案,以及他们的信息传递方案。

4.4.1 区块生成

  我们将讨论通用平行链的区块生成过程。在本节的最后,我们将讨论其备选方案。
  概括地说,收集人产生一个平行链区块,将其发送给平行链验证人,验证人对区块头进行有效签名,有足够签名的区块头将被放在中继链上。在这一点上,平行链区块和它的头出现在中继链上的块是一样的。根据BABE(见第4.3.1节),这个中继链区块在最佳链中,那么平行链区块也在最佳链中,当这个中继链区块被最终确定时,平行链区块也在最佳链中。
  因为平行链验证人经常切换到不同的平行链,它们是平行链的无状态客户端。因此,我们区分了平行链区块B和有效性证明(PoV)区块BPoV,前者通常能够让平行链完整节点如收集人更新平行链状态,后者则使不具备平行链状态的验证人能够验证。
  任何验证人都应该能够在给定中继链状态的情况下,使用平行链的状态转换验证功能(STVF)来验证BPoV,其WASM代码以类似中继链runtime的方式存储于中继链上。STVF将PoV区块作为输入,包含从该平行链最新的区块头和中继链状态中的少量数据。
  STVF输出该区块的有效性,该区块头和它所发出的信息。PoV区块包含任何出站信息和平行链区块B。平行链验证人应该将该平行链区块向平行链网络进行广播,正如收集人自己所做的工作。
  PoV区块会以平行链区块形式存在,它的出站信息、区块头和轻节点客户端见证人。这些见证人节点能够运行默克尔根证明,即给出了输入和输出状态的所有元素,这些元素能被输入和输出状态根的状态转换函数所使用或修改。
  为建立无审查网络,一条平行链可能采用PoW或PoS机制来选择收集人,而如何选择收集人机制则有平行链自行决定。这一点可以在STVF中自行实现,而无需成为Polkadot协议的一部分。例如对PoW,STVF将检查区块哈希值是否足够小。然而,为了提高TPS,确保大多数中继区块中可以包含一个平行链区块是很有用的。对于PoW来说,可能需要允许多个收集人产生一个区块。因此,我们需要一个有效解决的方法,让平行链验证人在验证同一个平行链区块之前先进行协调。这可能是异构多链框架愿景中的金票计划。当然,对于PoS来说,这可能没有必要。
  另外,对于某些平行链来说,平行链区块B可能不足以让收集人更新其状态。这可能发生在使用简洁的零知识证明来更新其链上状态,或者甚至发生在只提供权威机构签名的许可链上的有效性。这样的链可能有其他概念,即实际需要更新其状态的平行链区块,必须有自己的方案来保证这些数据的可用性。