PBFT 算法原理简介
生活随笔
收集整理的這篇文章主要介紹了
PBFT 算法原理简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是 PBFT?
Practical Byzantine Fault Tolerance ,實用拜占庭容錯。
什么是 BFT?
Byzantine Fault Tolerance ,拜占庭將軍問題。
拜占庭將軍的問題是什么?
簡單地說,是一種少數服從多數的問題。拜占庭羅馬帝國的每塊封地都駐扎一支由將軍統領的軍隊,將軍與將軍之間只能靠信差傳遞消息。在戰爭時期,拜占庭軍隊只有占據人數優勢情況下,才能奪取目標的勝利。但在軍隊內有可能存有叛徒,當敵軍與之聯合起來大于忠誠將軍數量時,進攻就會失敗。
pBFT 算法的提出主要是為了解決拜占庭將軍問題。
要解決這個問題的前提是通信必須是可靠的,如果通信不可靠則問題無解。而拜占庭將軍問題中通過通信不可靠而試圖達成一致的結果幾乎不可能或者非常困難。所以要在通信可靠的前提下來解決此問題。也就是在系統上有一些惡意組件不斷發送錯誤信息的情況下讓系統依舊正常運行的能力。
PBFT 原理
在系統中有一個節點會被當做主節點,而其他節點都是子節點。系統內的所有節點都會相互通信,最終目標是大家能以少數服從多數的原則達成數據的共識。
pbft 算法的基本流程主要有以下四步:
為什么收到 f+1 個節點的相同消息后就代表共識已經正確完成?從上一小節的推導里可知,無論是最好的情況還是最壞的情況,如果客戶端收到 f+1 個節點的相
總結
以上是生活随笔為你收集整理的PBFT 算法原理简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构与算法】双链表V2.0的Jav
- 下一篇: 【软件质量】软件可维护性