Quorum
IBFT(伊斯坦布爾 BFT)和 PBFT 有什麼區別?
我最近了解了 IBFT 和 Quorum,並開始研究他們的共識協議。IBFT和PBFT有什麼區別?它們是否非常相似?當考慮到 Quorum IBFT 在其他解決方案(如 Hyperledger)中的 PBFT 方面做得更多時?或者無論是 Quorum 還是 Hyperledger,它們是否完全不同?任何答案將不勝感激。
IBFT 共識受到 Castro-Liskov 99 PBFT論文的啟發。與 PBFT 一樣,在 IBFT 中,一個塊通過經過準備、準備和送出階段來確認*,並且與PBFT**一樣*,驗證者通過一系列輪次移動。如果在給定的 ROUND 中沒有送出一個塊,驗證者將移動到下一個 ROUND 並嘗試在該 ROUND 中送出一個塊。
Hyperledger PBFT 和 Quorum IBFT 都是基於 Castro-Liskov 的 PBFT 論文。我還沒有完成 Hyperledger PBFT 的實現,但我相信它會類似於 Quorum IBFT。
我還根據這篇論文找到了一些答案。據其介紹,
- 在 IBFT 中,沒有客戶端向網路送出請求,相反,所有驗證者都可以依次向驗證者網路提出一個塊。
- IBFT 允許兩種類型的節點:參與共識協議的驗證者和驗證區塊但不參與共識協議的標準節點。
- PBFT 中的驗證器集是靜態的,而 IBFT 具有動態驗證器集,可以將驗證器添加到集合中或從中刪除(我們可以隨時將驗證器添加到 Quorum 鏈,我對其進行了測試)。
- IBFT 規定了 PBFT 的所謂 View-Change 消息的簡化版本,不包括 PBFT 協議中包含的所謂 New-View 消息。
- 雖然 IBFT 沒有明確使用檢查點,但每個 IBFT 塊都可以被視為 PBFT 檢查點的 IBFT 等效項。