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协议一“基本概念”相关推荐

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

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

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

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

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

    1. 步骤 step1. slot leader更新本地链C使用新块,并发送新块B发送给其他节点 step2. 签名 slk:当前槽 H(l-1):sLk前一个区块的哈希 d:VRF输出 pi:val ...

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

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

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

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

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

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

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

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

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

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

  9. 波卡链Substrate (7)Grandpa协议三“2阶段同步”

    1. 预投票pre-vote+预执行pre-commit step0. 假设当前是第r轮,一个voter 在(r-1)轮完成后,并且收集完之前所有轮投票的情况下可以进行第r轮投票 step1. 如果v ...

最新文章

  1. 《bbs.yingjiesheng.com,超全的求职笔经面经论坛》
  2. 第一章 OSI参考模型
  3. DVWA手记——取消登录
  4. Linux下自动检测USB热插拔
  5. cx_oracle写日志信息_看日志痛苦——可能是你方法不对
  6. 关于模板引擎handlebars.js基本用法
  7. Android代码导出数据库,导入/导出到android sqlite数据库
  8. hadoop-0.21.0-eclipse-plugin无法在eclipse中运行解决方案
  9. 如何在 Active Directory 中还原已删除的用户帐户及其组成员身份
  10. MongoDB健壮集群——用副本集做分片
  11. CallStack获取函数堆栈
  12. 修改element插件样式---select样式
  13. 各种加密模式在TLS协议中的运用 2 (AEAD:CCM模式)
  14. my soft_macsoft
  15. 新西兰皇后镇-我眼中的西施
  16. JDK源码解析---Short
  17. CCIE一年后的心语
  18. sql server 简单应用
  19. DNS解析出现错误故障解决
  20. 失无所失的伤感空间日志分享:我会一直这样爱着你,心甘情愿

热门文章

  1. go标准命令详解0.2 go install
  2. Vector找最大值 最小值
  3. 青少年蓝桥杯_2020_steam考试_中级组_第一题
  4. list排序方法python_python list 排序的两种方法及实例讲解
  5. #中regex的命名空间_Python命名空间实例解析
  6. 怎么看java中ide_如何在eclipse IDE中查看Java的字节码?
  7. ord()和chr()是一对功能相反的函数_一对平行无限长直载流导线产生的磁场
  8. java reactor nio_java reactor与NIO
  9. 国内“重量级”单体数据中心开始运营 火了这个县
  10. java if赋值语句_Java基础第3天+运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符)、Scanner键盘录入、if语句...