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

1. 步骤

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

step2. 签名
在这里插入图片描述

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

step3. 其他节点验证

  • 块的签名:使用节点公钥验证签名
    在这里插入图片描述

  • 如果验证器是slot leader.借助节点的vrf函数公钥、证明算法验证
    在这里插入图片描述

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

  • 块B里面的交易验证

2. Party

  • 多个validator组成一个party
  • 每一个party在其本地保存一个本地链{C1,C2,…,Cl}
  • 所有的party的链都有一些共同的块,至少是创世块,直到某个高度
  • 每个party本地都有一个本地缓存区buffer存储要添加到区块的交易(进入缓冲区之前交易已经得到验证

おすすめ

転載: blog.csdn.net/thefist11cc/article/details/122531212