iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
0
Blockchain

Go to Blockchain: 從區塊鏈基礎到用 Go 實作區塊鏈系列 第 24

Go to Blockchain: Day24 其他共識機制-PBFT

  • 分享至 

  • xImage
  •  

PBFT

  • 實用拜占庭式容錯,Practical Byzantine Fault Tolerance
  • 只要系統中惡意節點不超過1/3 ,可信節點就可以產生共識
    • N ≥ 3F + 1 ( N為節點數,F為惡意節點數 )
  • PBFT 對於每一個收到資訊的節點,都會廣播給其他人,而如此不段交互驗證就可以識別出有問題的節點

PBFT 的運作

img

  • 我們使用待暫停問題的故事背景來解釋它的運作

  • C代表元帥、0代表司令、1代表1號將軍、2代表2號將軍、3代表3號將軍

    • 對比實際情況:C 是 Client、0是 leader 節點
  • 勝利條件:2/3 的軍隊發起攻擊

    1. request : 首先元帥節點法出進攻訊息
    2. preprepare : 司令 0 收到消息後傳遞給其他人
    3. prepare :
      • 將軍 1 收到 司令 0 和將軍 2 的準備消息,但沒有收到將軍 3 的消息,因此將 3 號忽略,進行進攻,並發送進攻給其他人 ( 0, 2, 3 )
      • 將軍 2 收到 司令 0 和將軍 1 的準備消息,但沒有收到將軍 3 的消息,因此將 3 號忽略,進行進攻,並發送進攻給其他人 ( 0, 1, 3 )
      • 將軍 3 收到 司令 0 、將軍 1 、將軍 2 的準備消息,但因為他害怕這次戰鬥,因此不敢發送進攻消息給別人
    4. commit : 1, 2 號將軍發起進攻,因此禁攻節點 > 2/3 ,代表進攻成功

優缺點

  • 優點
    1. 具有容錯性
    2. 效率佳
  • 缺點
    1. 封閉性:
      • 系統中的每一節點必須建立 P2P 傳輸,因此加入新節點會變得很複雜
    2. 高開銷:
      • 由於必須每兩個節點都必須 P2P 傳輸的關係,資源消耗會很大

上一篇
Go to Blockchain: Day23 其他共識機制-DPOS
下一篇
Go to Blockchain: Day25 加密貨幣的錢包
系列文
Go to Blockchain: 從區塊鏈基礎到用 Go 實作區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言