今天繼續昨天的主題-拜占庭容錯協議(Byzantine Fault Tolerance, BFT),但這個協議還只是個概念,並且效率過低,於是在1999年 Miguel Castro、Barbara Liskov提出實用拜占庭容錯(Practical Byzantine Fault Tolerance, PBFT),它提供了一個有效實用的方法改善BFT的缺點,而且PBFT算法採用密碼學的相關技術,以確保訊息的傳遞過程中,無法被篡改和破壞。
下面我們來說明這個協議是怎麼進行的,整體的基本流程為:
主節點廣播過程包括三個階段的處理:預準備(Pre-Prepare)、準備(Prepare)和提交(Commit),預準備和準備階段確保在同一個視圖內請求發送的順序正確;準備和提交階段則確保在不同視圖之間的確認請求是保序的,具體實現上還包括視圖切換、checkpoint等機制。
參考資料:https://poweichen.gitbook.io/blockchain-guide-zh/distribute_system/bft