如果我們想要實現95%的容錯,那么為了達到2?40(大約1萬億分之一)的失敗率,我們需要有足夠的隨機抽樣節點,同時有2?40的概率導致這些節點都是攻擊者,這需要 log(2?40)÷log(0.95) ≈ 540個節點。
這意味著如果我們想要在 δ 網絡延遲中存活的話,則每個參與者的擴展周期將需要是2 *δ,因此整個算法需要花費1080 *δ時間來運行。鑒于網絡延遲假設本身必須非常保守,這是非常不理想的。
我們可以改進這個算法,在 n 輪運行中得到1?O(1)/n的容錯。假設我們選擇了一大組節點(接近無限大),并將它們全部安排到n的子集中,其中每個子集并行運行共識。
如果攻擊者控制了≤1?ln(2)/n的份額,那么其完全控制任意給定集合的概率<1/2。每個用戶可以接受共識的輸出作為各個共識過程的模態(即最頻繁的)結果。
因此,攻擊者需要破壞超過一半的集合,而當集合的數量接近無窮大時,這種可能性接近于零。
更具體地說,假設有700個集合并行運行,我們的目標是實現1?1/n的容錯。那么攻擊者有1/e 的可能會完全控制任一給定的集合。
攻擊者控制多數集合的概率是約為2?40.36。如果我們將容錯放寬到1?2/n,那么攻擊者完全控制任意給定集合的概率只有1/e2,這時我們只需要68個集合就足夠了。同理,實現1?3/n容錯只需要32個集合就足夠了。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。