判断节点是potential leader的条件:ios
H(Sig(r, 1, Br-1)) <= 1 / size(PKr-k)算法
size(PKr-k)为第r-k轮中网络中参与区块共识的公钥个数(也就是钱包的数目)网络
verifier的选择测试
定义回看参数k,几率p人工智能
输入参数:(r, s, Br-1): 其中r为第r轮,s为第s步,Br-1为上一轮的Q值spa
判断方法:对于i,若是 H(Sig(r, s, Br-1))< p,则i为verifierblog
Br的计算ip
若是leader_r存在并且在给定的时间内发布了对应的credential:ci
Br = H(Sigleader_r(Br-1), r-1),即首先用leader对于Br-1的签名,再对签名和r-1计算哈希虚拟机
不然: Br = H(Br-1, r-1),即对Br-1和r-1计算哈希
Gossip通信协议
共识算法BA*(轮循批量共识)
参数种子生成算法(VRF)
Algorand的测试状况
MIT计算机科学和人工智能实验室对Algorand进行了模拟测试[Gilad, Yossi, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich, 2017, “Algorand: Scaling Byzantine Agreements for Cryptocurrencies”. 本节引用的图均来自这篇文章。他们的测试在亚马逊云上进行,使用了1000台EC2虚拟机,发现:
第一,Algorand能在1分钟内确认交易,并且确认交易的时间随着用户数量的增长,变化不大。
第二,将用户数固定在5万,测试不一样区块大小对通量(throughput,能够用产生一个区块的平均耗时来衡量)的影响。能够看出,区块越大,构建区块的耗时越长,但对拜占庭协议BA*的运行时间影响不大。