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存储要添加到区块的交易(进入缓冲区之前交易已经得到验证

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

  1. 波卡链Substrate (6)Babe协议一“基本概念”

    1. 盲分配Babe协议(Blind Assignment for Blockchain Extension protocol ) 一种基于槽的算法. 将时间分解为多个纪元,每个纪元都被划分为多个槽s ...

  2. 波卡链Substrate (7)Babe协议五“Epoch纪元更新”

    1. 新的纪元更新时,validors需要更新新的纪元随机值,新纪元的当前有效validators 一个新的validator加入链后,至少要过2个纪元才能参与出块.eg. 第i个纪元的时候就确定了第 ...

  3. 波卡链Substrate (7)Babe协议六“Secondary slot leader”

    1. 问题 由于槽是随机分配,一个插槽可能是空的,有的却有多个.或者说刚才的n个Validators的output都小于阈值.谁来出块? 2. 解决方法 每个插槽可以有一个主要Primary lead ...

  4. 波卡链Substrate (6)Babe协议三“slot leader”

    1. 问题:一个槽有多个Validators,谁来出块? 2. 解决:每个Validator使用VRF(Verifiable Random Function)函数生成一个伪随机值,如果低于阈值,它就成 ...

  5. 波卡链Substrate (7)Grandpa协议一“概念说明”

    1. Grandpa协议 祖先递归继承共同前缀协议(GHOST-based Recursive Ancestor Deriving Prefix Agreement) 区块选择协议:配合出块协议 对链 ...

  6. 波卡链Substrate (7)Grandpa + Babe

    1. BABE 必须建立在 GRANDPA 最终确定的链上. BABE 中最好的链就是由主节点创建的区块最多的链 Grandpa 多个块一次性进行确认 eg. 标有"1"的块是主要 ...

  7. 波卡链Substrate (4)托盘Pallets

    1. 定义 封装了特定于域的逻辑,包含 storage items一组存储项, events事件, errors错误, dispatchable functions可调度功能. . 一组模块和支持库 ...

  8. 波卡链Substrate (7)Grandpa协议四“责任安全机制”

    1. Account Safety 当网络出现分叉的 commit 信息时,Polkadot节点马上采取 Account Safety 的机制. 是一种"弱主观性"安全模式:通过惩 ...

  9. 波卡链Substrate (6)Babe协议二“分配slot机制”

    1. 问题:哪个槽分配给哪些Validators? 2. 解答:分配插槽机制 主要插槽领导者是随机分配的. 由于有多个validators,需要轮流分配插槽.(循环模式下,攻击者预先知道下一个人是谁, ...

最新文章

  1. 李嘉骐:03 PyTorch模块与基础实战
  2. Windows 7 shortcut icons missing (快捷方式图标丢失)
  3. 百度翻译接口测试(2)
  4. 5- vue django restful framework 打造生鲜超市 -完成商品列表页(上)
  5. 数据库-优化-数据库可以从哪几方面进行优化
  6. 不可小视的贝叶斯(三)
  7. 单片机c语言二进制转10进制,51单片机用C语言怎么样把八位二进制转换成十进制...
  8. 【编程题目】12 个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,...
  9. python棋盘覆盖_java实现的棋盘覆盖
  10. 【java学习之路】(java SE篇)012.网络编程
  11. TensorFlow总结(2020版)
  12. 阿里面试失败后,一气之下我图解了Java中18把锁
  13. 梦幻家园前37关(iPad)
  14. 高中计算机会考vb试题,高中信息技术考试vb程序题及答案
  15. 湖北自考 计算机网络,2021年湖北自考计算机网络基础课程考试大纲
  16. excel添加水印及设置打印参数poi
  17. 三角形周长最短问题_什么样的三角形周长最短
  18. 如何制作一款灵活的工单管理系统【推荐】
  19. 利用手机访问电脑上开发的html页面
  20. ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件

热门文章

  1. Java 相对路径和绝对路径的简单介绍
  2. android批量删除图片,Android RecyclerView单点、批量数据元素项目item的增加、删除和移动...
  3. do while循环语句_流程控制之循环语句【while循环语句】
  4. python 底层原理_Python 探针实现原理
  5. 储能系统进入数据中心是大势所趋
  6. IT运维服务管理中知识
  7. mybatis plugins_[MyBatis] SpringBoot 整合Mybatis
  8. ML:MLOps系列讲解之《MLOps Stack Canvas堆栈画布之MLOps Stack CanvasCRISP-ML(Q)》解读
  9. Python:利用原生函数count或正则表达式compile、findall、finditer实现匹配统计(包括模糊匹配的贪婪匹配、懒惰匹配)
  10. 成功解决ModuleNotFoundError: No module named 'utils'