Algorand算法實現(一)
阿新 • • 發佈:2018-09-19
span agreement 科學 anti 文章 技術 給定 節點 雲上
leader對於Br-1的簽名,再對簽名和r-1計算哈希
本節引用的圖均來自這篇文章。他們的測試在亞馬遜雲上進行,使用了1000臺EC2虛擬機,發現:
判斷節點是potential leader的條件:
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值
判斷方法:對於i,如果 H(Sig(r, s, Br-1))< p,則i為verifier
Br的計算
如果leader_r存在而且在給定的時間內發布了對應的credential:
Br = H(Sigleader_r(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”.
第一,Algorand能在1分鐘內確認交易,而且確認交易的時間隨著用戶數量的增加,變化不大。
第二,將用戶數固定在5萬,測試不同區塊大小對通量(throughput,可以用產生一個區塊的平均耗時來衡量)的影響。可以看出,區塊越大,構建區塊的耗時越長,但對拜占庭協議BA*的運行時間影響不大。
Algorand算法實現(一)