top of page

區塊鏈小知識:拜占庭容錯與共識算法

區塊鏈的架構與無需中間人的信任機制

區塊鏈的核心架構是去中心化的節點網絡,經濟體系的機制是建立在無需中間人的信任機制-分散式帳本之上,透過分散式的節點來驗證與同步交易資料。

那大家有沒有想過一個問題,當有錯誤的交易資料、故障或是惡意的資料(駭客攻擊)出現的話,區塊鏈的機制是如何解決此問題呢?這個問題的概念就涉及到拜占庭將軍問題(Byzantine Generals Problem)。


關於拜占庭將軍問題

拜占庭將軍問題是一種邏輯上的困境,是由美國計算機科學家萊斯利·蘭波特(Leslie Lamport)在1982年提出的,核心概念是說有多位將軍要一同進攻一座城市,假設只有2種作戰策略的情況:

(1)必須全部的將軍決定都一起進攻或一起撤退,才能達成勝利或是安全撤退。

(2)如果有部分將軍決定進攻、部分將軍決定撤退,那就會導致災難性的結果。

拜占庭將軍問題
拜占庭將軍問題


每個將軍只能透過信使傳達決策給另一個將軍,這過程有可能信使發生問題,或是某位將軍是叛徒等狀況。


這個邏輯上的困境,如果發生在現實生活中,當系統決策延遲、故障或發生錯誤時,就有可能導致可怕的結果,像是飛機航空系統的運作、太空船的系統運作,如果因為故障、資料錯誤造成決策延遲或系統故障而無法運行,那都是一場災難!


最著名的拜占庭容錯系統就是馬斯克(Elon Reeve Musk)的SpaceX太空船公司的火星計劃,該公司主要負責太空運輸與航太製造。


而在分散式對等網絡(P2P)中需要按照共同一致策略協同運作的成員電腦即為問題中的將軍,而各成員電腦賴以進行通訊的網路鏈路即為信使。


拜占庭將軍問題描述的就是某些成員電腦或網路鏈路出現錯誤、甚至被蓄意破壞者控制的情況。

比特幣的節點網絡系統就是屬於點對點(P2P)的架構,更多細節請點擊拜占庭將軍問題維基百科


拜占庭將軍問題與拜占庭容錯

解決拜占庭將軍問題的方式就是拜占庭容錯(BFT),就是一種少數要服從多數的機制,在此拜占庭將軍問題下依然能讓系統正確的運行,在區塊鏈的世界中就產生了共識算法來解決此問題。


在區塊鏈的世界中,拜占庭容錯採用共識算法來解決

關於區塊鏈的共識算法目前主要有以下4種:

  • PoW工作量證明:擁有越多算力的人的決定。

應用:比特幣、以太坊,運行算力的人為礦工,驗證資料的流程稱作挖礦。

  • PoS權益證明:最有錢的人決定。

應用:以太坊2.0、Cardano艾達幣(ADA)、Algorand(ALGO)等。

  • PoA權威證明:老大做決定,且一開始就決定誰是老大。

應用:如一些測試鏈,不想花費太多時間資源做驗證,僅需要快速的測試智能合約的部署、交易及其他功能等等。

  • DPoS代理權益證明:由投票選出的代理人做決定,做的不好下一次就會被換掉!

應用:EOS、Solana等公鏈。


以上為關於拜占庭將軍問題、拜占庭容錯與共識算法的小知識,有讓你更了解區塊鏈了嗎?


以上文章內容非投資建議,如果內容對你有幫助,歡迎大家支持、分享與追蹤貝瑞大叔的頻道。

歡迎對加密貨幣領域有興趣的加入貝瑞大叔Line群一起交流喔! 密碼:psyberry



Commentaires


bottom of page