YOUChain Research
YOUChain 研究团队,成员毕业于国内外顶级名校,有长期的工业界经验。我们持续跟踪的区块链学界和业界的前沿发展,致力于深入区块链本质,推动学术和技术发展。团队诚邀加密、算法、区块链、工程人才加入!
本文来自 yipast@YOUChainResearch
一、背景知识
一提到Algorand就想到了VRF抽签。关于VRF,已有专门的文章进行了详细的分析 传送门,本文专注于Algorand早期版本的共识算法设计原理。
Algorand在2017年发布的协议是基于拜占庭共识(BA),命名为 BA∗BA^*BA∗ 协议,主要包含两阶段:
-
第一阶段:分级共识协议 GC
GCGC 。 -
第二阶段:二元拜占庭协议 BBA* 。
首先,我们来了解下这两个阶段详细的背景知识。
1.1 分级共识协议 GC
结合 graded broadcast 与 crusader agreement,分级共识协议概念的定义如下。

gradecast 就是一个 (n,t)(n,t)(n,t) 分级的共识协议,包含了3-Step。而Algorand共识算法中第一阶段的GC包含了 gradecast 的最后两步。具体的内容如下。

Step 1:每个节点 iii 给所有节点发送 vi′v_i^{'}vi′
Step 2:当且仅当 #i2(x)⩾2t+1\#_i^2(x) \geqslant 2t+1#i2(x)⩾2t+1 时,每个节点 iii 给所有节点发送字符串 xxx
输出决定条件:

1.2 二元拜占庭协议 BBA∗BBA^*BBA∗
二元拜占庭协议BBA∗BBA^*BBA∗借鉴了Feldman、Micali提出的二元BA协议。
前提:诚实节点超过 2/3,即总节点数 n≥3t+1
n \geq 3t+1n≥3t+1,其中 ttt 代表恶意节点的最大可能数量。不管恶意节点如何操作,每次主循环的执行都有 1/3 的概率把节点带入协议中。
该协议有一个设置的要求:需要一个共同的随机字符串 rrr,不依赖节点的key (Algorand中是 QrQ^rQr)。
协议实际上是一个3步循环:节点间不停的交换布尔值。
节点可以在任意时间退出该循环。如果节点 i
ii 在退出前,在某步骤广播了一个值 bbb,退出后,其它节点就假装从 iii 那收到了 bb

本文深入探讨Algorand早期共识算法,包括分级共识协议GC和二元拜占庭协议BBA*,解析其在区块链系统中的应用和设计原理,以及在Algorand中的核心角色。
最低0.47元/天 解锁文章
666

被折叠的 条评论
为什么被折叠?



