什麼是拜占庭容錯? [BFT]


拜占庭容錯(pBFT) 是計算機系統的一種屬性,即使某些組件出現故障,它仍能達成共識。

拜占庭將軍問題是一個著名的抽象概念,用於展示計算機科學中最重要的問題之一。特別是對於分佈式系統,這正是加密的本質。

Parce 以一群將軍在城郊紮營,只通過信使相互交易所的例子。

在某個時候,他們必須共同決定進攻還是停止圍攻這座城市。然而,其中一些將軍是叛徒,可能會反對就該決定達成共識。

這個問題提出了一個想法,即忠誠的將領是否有可能決定一個共同的計劃,而不管他們是否知道姦將是誰。

拜占庭將軍問題示例

進一步分析告訴我們,一個算法可以解決這個問題,但前提是三分之二以上的將軍是忠誠的。

與比特幣一樣,去中心化系統基本上是分佈式系統。該網絡由單獨運行的節點組成,以在將交易添加到區塊鏈的過程中進行競爭。

這些節點在地理上是分開的,並且彼此獨立或獨立於中央機構,因此無法知道哪些節點正在傳遞有關區塊和交易的真實或不真實信息。無論他們是出於惡意還是出於偶然。

最後,拜占庭容錯是這些系統的一個屬性,可以克服這個問題並始終如一地達成共識,即使某些節點不同意其他節點也是如此。

由於實用拜占庭容錯,這個問題已經得到解決,它只有在超過2/3 的節點仍然忠於系統的情況下才有效。

由於工作量證明(Proof of Work)等共識算法,加密貨幣已經在不同程度上解決了這個問題,比特幣就是這種情況,或者權益證明(Proof of Stake),以太坊未來也會如此。

BFT 與區塊鏈有什麼關係?

區塊鏈技術允許加密貨幣工作、驗證、處理和記錄你的交易。

對於網絡認為有效的交易,一組節點就其有效性達成一致是必要的。

每個區塊鏈都使用一種共識算法,這是節點必須遵循的一組規則,才能成為網絡的一部分,並就哪些交易被認為是有效的達成共識。

這些機制允許區塊鏈實現拜占庭容錯。由於加密貨幣畢竟是分佈式系統,面臨著我們之前提到的將軍們的問題。

即使有節點無法正常工作或為網絡的其餘部分提供虛假信息,區塊鏈也必須能夠繼續運行。

比特幣是第一個解決工作證明(PoW)問題的人。一種算法,要求礦工使用專門的計算設備解決加密貨幣問題。

第一個正確解決它的人將贏得添加帶有交易的新區塊的權利,從而獲得獎勵(比特幣挖礦是如何工作的?)。否則,節點將浪費其時間和資源。

加密貨幣世界中另一個流行的選擇是權益證明(PoS),其中涉及驗證者對你的加密進行質押,這意味著他們將你的加密鎖定在你的錢包中,以便有權驗證交易。

然後協議選擇一個節點,該節點可以將塊添加到鏈中,從而以佣金和創建新硬幣的形式為幸運者生成獎勵。但是,如果你對網絡做壞事,失去部分質押的加密,也會受到懲罰。

這樣,兩種共識機制在一定程度上都具有拜占庭容錯能力,即使在某些節點出現問題的情況下,它們也能繼續發揮作用。

什麼是實用的拜占庭容錯?

pBFT 或Practical Byzantine Fault Tolerance 是一個具有兩種類型節點的系統:主要節點和次要節點。

這兩類節點協同工作以達成共識,使該系統成為解決拜占庭將軍問題的方法之一。

一般來說,pBFT 的工作原理如下:

客戶端向主節點發出請求。主節點將請求發送到輔助節點。節點處理請求,提供服務,並響應客戶端。客戶端一直等待,直到收到來自m+1 個節點的相同響應,其中m 是系統允許的故障或惡意節點的最大數量。

在Practical Byzantine Fault Tolerance 中,可能發生故障或惡意的最大節點數不能超過或等於總節點數的1/3。

pBFT 的優缺點

當然,沒有一個系統是完美的,雖然我們可以找到解決拜占庭將軍問題的系統的一些優點,就像pBFT 的情況一樣,但也有一些缺點。

優點

pBFT 有一些重要的好處:

它不需要大量的計算能力或能源使用,因為沒有礦工為每個交易塊解決複雜的問題。這可能比工作量證明更環保。交易不需要多次確認。如果節點就交易塊達成一致,那麼它們會立即得到確認。因為所有節點一起工作,他們可以分享獎勵。因此,在PoW 和PoS 系統中不會發生獎勵不對稱。

缺點

但正如我們所說,沒有完美的解決方案,pBFT 存在一些問題:

它容易受到Sybil(以患有多重人格障礙的女性的名字命名)的攻擊,這種攻擊發生在攻擊者控制大部分節點時。它需要在流程的每個步驟中的節點之間進行通信。這需要時間,這會帶來可擴展性問題。

資訊來源:由0x資訊編譯自CRIPTOTARIO。版權歸作者Criptotario所有,未經許可,不得轉載

Total
0
Shares
Related Posts