波卡链Substrate (6)Babe协议一“基本概念”
1. 盲分配Babe协议(Blind Assignment for Blockchain Extension protocol )
一种基于槽的算法。
- 将时间分解为多个纪元,每个纪元都被划分为多个槽slot。
- 在一个纪元开始时,所有验证者都参与抽签以确定他们在哪个slot。
- 每个槽会出一个块:BABE 将选择一个(或多个)验证者在每个插槽中创建一个块
eg. Polkadot 中,每个槽的长度为 6 秒(目标区块时间)
1.1 party
每个验证器都有自己的一对公共和秘密块签名密钥。
。多个validator组成一个party
。每一个party在其本地保存一个本地链{C1,C2,…,Cl}
。 所有的party的多个链都有一些共同的块,至少是创世块,直到某个高度
。每个party本地都有一个本地缓存区buffer存储要添加到区块的交易(进入缓冲区之前交易已经得到验证)
波卡链Substrate (6)Babe协议一“基本概念”相关推荐
- 波卡链Substrate (7)Grandpa + Babe
1. BABE 必须建立在 GRANDPA 最终确定的链上. BABE 中最好的链就是由主节点创建的区块最多的链 Grandpa 多个块一次性进行确认 eg. 标有"1"的块是主要 ...
- 波卡链Substrate (7)Babe协议五“Epoch纪元更新”
1. 新的纪元更新时,validors需要更新新的纪元随机值,新纪元的当前有效validators 一个新的validator加入链后,至少要过2个纪元才能参与出块.eg. 第i个纪元的时候就确定了第 ...
- 波卡链Substrate (7)Babe协议四“出块签名和验证”
1. 步骤 step1. slot leader更新本地链C使用新块,并发送新块B发送给其他节点 step2. 签名 slk:当前槽 H(l-1):sLk前一个区块的哈希 d:VRF输出 pi:val ...
- 波卡链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 (6)Babe协议二“分配slot机制”
1. 问题:哪个槽分配给哪些Validators? 2. 解答:分配插槽机制 主要插槽领导者是随机分配的. 由于有多个validators,需要轮流分配插槽.(循环模式下,攻击者预先知道下一个人是谁, ...
- 波卡链Substrate (7)Grandpa协议一“概念说明”
1. Grandpa协议 祖先递归继承共同前缀协议(GHOST-based Recursive Ancestor Deriving Prefix Agreement) 区块选择协议:配合出块协议 对链 ...
- 波卡链Substrate (7)Grandpa协议四“责任安全机制”
1. Account Safety 当网络出现分叉的 commit 信息时,Polkadot节点马上采取 Account Safety 的机制. 是一种"弱主观性"安全模式:通过惩 ...
- 波卡链Substrate (7)Grandpa协议三“2阶段同步”
1. 预投票pre-vote+预执行pre-commit step0. 假设当前是第r轮,一个voter 在(r-1)轮完成后,并且收集完之前所有轮投票的情况下可以进行第r轮投票 step1. 如果v ...
最新文章
- 《bbs.yingjiesheng.com,超全的求职笔经面经论坛》
- 第一章 OSI参考模型
- DVWA手记——取消登录
- Linux下自动检测USB热插拔
- cx_oracle写日志信息_看日志痛苦——可能是你方法不对
- 关于模板引擎handlebars.js基本用法
- Android代码导出数据库,导入/导出到android sqlite数据库
- hadoop-0.21.0-eclipse-plugin无法在eclipse中运行解决方案
- 如何在 Active Directory 中还原已删除的用户帐户及其组成员身份
- MongoDB健壮集群——用副本集做分片
- CallStack获取函数堆栈
- 修改element插件样式---select样式
- 各种加密模式在TLS协议中的运用 2 (AEAD:CCM模式)
- my soft_macsoft
- 新西兰皇后镇-我眼中的西施
- JDK源码解析---Short
- CCIE一年后的心语
- sql server 简单应用
- DNS解析出现错误故障解决
- 失无所失的伤感空间日志分享:我会一直这样爱着你,心甘情愿
热门文章
- go标准命令详解0.2 go install
- Vector找最大值 最小值
- 青少年蓝桥杯_2020_steam考试_中级组_第一题
- list排序方法python_python list 排序的两种方法及实例讲解
- #中regex的命名空间_Python命名空间实例解析
- 怎么看java中ide_如何在eclipse IDE中查看Java的字节码?
- ord()和chr()是一对功能相反的函数_一对平行无限长直载流导线产生的磁场
- java reactor nio_java reactor与NIO
- 国内“重量级”单体数据中心开始运营 火了这个县
- java if赋值语句_Java基础第3天+运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符)、Scanner键盘录入、if语句...