Algorand算法實現(一)

Algorand算法實現(一)

 

判斷節點是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),即首先用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*的運行時間影響不大。

發佈了74 篇原創文章 · 獲贊 127 · 訪問量 91萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章