波卡链Substrate (7)Babe协议四“出块签名和验证”

1. 步骤

step1. slot leader更新本地链C使用新块,并发送新块B发送给其他节点

step2. 签名
图片[1] - 波卡链Substrate (7)Babe协议四“出块签名和验证” - MaxSSL

slk:当前槽
H(l-1):sLk前一个区块的哈希
d:VRF输出
pi:validator Pi的私钥
C: 当前出块
tx:交易
sKjs:节点私钥

step3. 其他节点验证

  • 块的签名:使用节点公钥验证签名
    图片[2] - 波卡链Substrate (7)Babe协议四“出块签名和验证” - MaxSSL

  • 如果验证器是slot leader.借助节点的vrf函数公钥、证明算法验证
    图片[3] - 波卡链Substrate (7)Babe协议四“出块签名和验证” - MaxSSL

  • 最新链C’是否包含块B的上一个区块H

  • 块B里面的交易验证

2. Party

  • 多个validator组成一个party
  • 每一个party在其本地保存一个本地链{C1,C2,…,Cl}
  • 所有的party的链都有一些共同的块,至少是创世块,直到某个高度
  • 每个party本地都有一个本地缓存区buffer存储要添加到区块的交易(进入缓冲区之前交易已经得到验证
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享