波卡链Substrate (7)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存储要添加到区块的交易(进入缓冲区之前交易已经得到验证
波卡链Substrate (7)Babe协议四“出块签名和验证”相关推荐
- 波卡链Substrate (6)Babe协议一“基本概念”
1. 盲分配Babe协议(Blind Assignment for Blockchain Extension protocol ) 一种基于槽的算法. 将时间分解为多个纪元,每个纪元都被划分为多个槽s ...
- 波卡链Substrate (7)Babe协议五“Epoch纪元更新”
1. 新的纪元更新时,validors需要更新新的纪元随机值,新纪元的当前有效validators 一个新的validator加入链后,至少要过2个纪元才能参与出块.eg. 第i个纪元的时候就确定了第 ...
- 波卡链Substrate (7)Babe协议六“Secondary slot leader”
1. 问题 由于槽是随机分配,一个插槽可能是空的,有的却有多个.或者说刚才的n个Validators的output都小于阈值.谁来出块? 2. 解决方法 每个插槽可以有一个主要Primary lead ...
- 波卡链Substrate (6)Babe协议三“slot leader”
1. 问题:一个槽有多个Validators,谁来出块? 2. 解决:每个Validator使用VRF(Verifiable Random Function)函数生成一个伪随机值,如果低于阈值,它就成 ...
- 波卡链Substrate (7)Grandpa协议一“概念说明”
1. Grandpa协议 祖先递归继承共同前缀协议(GHOST-based Recursive Ancestor Deriving Prefix Agreement) 区块选择协议:配合出块协议 对链 ...
- 波卡链Substrate (7)Grandpa + Babe
1. BABE 必须建立在 GRANDPA 最终确定的链上. BABE 中最好的链就是由主节点创建的区块最多的链 Grandpa 多个块一次性进行确认 eg. 标有"1"的块是主要 ...
- 波卡链Substrate (4)托盘Pallets
1. 定义 封装了特定于域的逻辑,包含 storage items一组存储项, events事件, errors错误, dispatchable functions可调度功能. . 一组模块和支持库 ...
- 波卡链Substrate (7)Grandpa协议四“责任安全机制”
1. Account Safety 当网络出现分叉的 commit 信息时,Polkadot节点马上采取 Account Safety 的机制. 是一种"弱主观性"安全模式:通过惩 ...
- 波卡链Substrate (6)Babe协议二“分配slot机制”
1. 问题:哪个槽分配给哪些Validators? 2. 解答:分配插槽机制 主要插槽领导者是随机分配的. 由于有多个validators,需要轮流分配插槽.(循环模式下,攻击者预先知道下一个人是谁, ...
最新文章
- 李嘉骐:03 PyTorch模块与基础实战
- Windows 7 shortcut icons missing (快捷方式图标丢失)
- 百度翻译接口测试(2)
- 5- vue django restful framework 打造生鲜超市 -完成商品列表页(上)
- 数据库-优化-数据库可以从哪几方面进行优化
- 不可小视的贝叶斯(三)
- 单片机c语言二进制转10进制,51单片机用C语言怎么样把八位二进制转换成十进制...
- 【编程题目】12 个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,...
- python棋盘覆盖_java实现的棋盘覆盖
- 【java学习之路】(java SE篇)012.网络编程
- TensorFlow总结(2020版)
- 阿里面试失败后,一气之下我图解了Java中18把锁
- 梦幻家园前37关(iPad)
- 高中计算机会考vb试题,高中信息技术考试vb程序题及答案
- 湖北自考 计算机网络,2021年湖北自考计算机网络基础课程考试大纲
- excel添加水印及设置打印参数poi
- 三角形周长最短问题_什么样的三角形周长最短
- 如何制作一款灵活的工单管理系统【推荐】
- 利用手机访问电脑上开发的html页面
- ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件
热门文章
- Java 相对路径和绝对路径的简单介绍
- android批量删除图片,Android RecyclerView单点、批量数据元素项目item的增加、删除和移动...
- do while循环语句_流程控制之循环语句【while循环语句】
- python 底层原理_Python 探针实现原理
- 储能系统进入数据中心是大势所趋
- IT运维服务管理中知识
- mybatis plugins_[MyBatis] SpringBoot 整合Mybatis
- ML:MLOps系列讲解之《MLOps Stack Canvas堆栈画布之MLOps Stack CanvasCRISP-ML(Q)》解读
- Python:利用原生函数count或正则表达式compile、findall、finditer实现匹配统计(包括模糊匹配的贪婪匹配、懒惰匹配)
- 成功解决ModuleNotFoundError: No module named 'utils'