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

閱讀時間約 3 分鐘

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

區塊鏈的核心架構是去中心化的節點網絡,經濟體系的機制是建立在無需中間人的信任機制-分散式帳本之上,透過分散式的節點來驗證與同步交易資料。
那大家有沒有想過一個問題,當有錯誤的交易資料、故障或是惡意的資料(駭客攻擊)出現的話,區塊鏈的機制是如何解決此問題呢?這個問題的概念就涉及到拜占庭將軍問題(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
歡迎追蹤更多貝瑞大叔的資訊
為什麼會看到廣告
貝瑞大叔將自己一路上關於區塊鏈與加密貨幣的學習心得與知識點,逐一整理成簡單易懂的文章說明。 初心是希望整理相關的學習資訊與有興趣的朋友分享,內容有些是實際操作的心得、有些是花了錢去上課的所得,更有些事慘賠的韭菜經驗,希望能讓大家對於加密貨幣與區塊鏈技術有更深層的認識,不管你已經是幣圈的老韭菜或是新手小白都歡迎交流。
留言0
查看全部
發表第一個留言支持創作者!