一文帶你瞭解區塊鏈中15種共識演算法

YanAemons發表於2023-04-29

所有主要的區塊鏈共識演算法解釋

區塊鏈技術席捲全球,提供了一種去中心化且安全的資訊儲存和傳輸方式。它還徹底改變了交易的執行方式,隨之而來的是廣泛的共識演算法。在這裡,共識演算法在確保區塊鏈網路的完整性方面發揮著關鍵作用。在本文中,我們將探討所有主要型別的區塊鏈共識演算法、它們的含義、優點、缺點,以及為什麼它們在區塊鏈技術中必不可少。

區塊鏈共識演算法

共識演算法是一組規則或協議,使區塊鏈網路中的節點能夠就網路的共享狀態達成一致。它們用於確保網路中的所有節點就交易的有效性以及將它們新增到區塊鏈的順序達成共識。

共識演算法負責透過確保沒有單個節點或節點組可以操縱網路來維護區塊鏈的完整性。

出於多種原因,共識演算法在區塊鏈技術中至關重要。

  1. 它們透過防止惡意行為者控制網路、確保有效交易和順暢的網路執行來提供安全性。
  2. 它們透過確保所有節點就交易有效性達成共識來幫助實現去中心化,從而防止中心化。
  3. 共識演算法透過使所有交易在區塊鏈上可見來提高透明度,從而便於跟蹤和防止欺詐活動。
  4. 它們透過允許節點快速就交易有效性達成一致並及時向區塊鏈新增新塊來提高效率'

區塊鏈中共識演算法的型別

讓我們一一瞭解區塊鏈中所有主要的共識演算法。

1. 工作量證明(PoW)

工作量證明是許多區塊鏈網路中使用的一種共識演算法,用於驗證交易並將新區塊新增到鏈中。PoW 最初由比特幣的創造者中本聰引入,作為保護網路和防止雙重支出的一種方式。

PoW 演算法要求礦工解決稱為雜湊的複雜數學問題,以驗證交易並向鏈中新增新區塊。PoW 演算法中使用的雜湊函式被設計成在計算上難以解決,這意味著它需要大量的計算能力來解決問題並向鏈中新增一個塊。礦工相互競爭以解決問題,第一個解決問題的人將獲得新鑄造的加密貨幣作為獎勵。

該演算法的安全性來自於難以解決雜湊問題,這意味著攻擊者試圖接管網路的代價是昂貴的。攻擊者需要控制網路計算能力的很大一部分,即雜湊率,才能發起攻擊。這被稱為 51% 攻擊,並且很難實現,因為它需要大量資源

對 PoW 演算法的批評之一是它是能源密集型的,因為礦工需要使用大量的計算能力來解決雜湊問題。這導致人們擔心使用 PoW 的區塊鏈網路對環境的影響。然而,一些人認為,能源消耗對於保護網路和防止攻擊是必要的。

2.權益證明(PoS)

股權證明是區塊鏈網路中用於驗證交易並向鏈中新增新區塊的共識演算法。與需要礦工解決複雜數學問題的工作證明 (PoW) 不同,PoS 依賴持有一定數量加密貨幣的驗證者來驗證交易並向鏈中新增新塊。

在 PoS 網路中,選擇驗證器根據他們持有的加密貨幣數量(稱為他們的股份)將新塊新增到鏈中。股權越大,被選中向鏈中新增區塊的機會就越大。驗證者被激勵誠實地行事,因為如果他們驗證欺詐交易或試圖攻擊網路,他們就有失去股份的風險。

PoS 與 PoW

PoS 相對於 PoW 的好處之一是它的能源密集度較低。PoW 需要礦工使用大量的計算能力來解決複雜的數學問題,而 PoS 只需要驗證者持有加密貨幣。這使得 PoS 更加環保且運營成本更低。

權益證明的好處

PoS 的另一個好處是它促進了去中心化。在 PoW 網路中,擁有最大算力的礦工對網路有更多的控制權,這會導致中心化。

在 PoS 網路中,擁有最大股份的驗證者擁有更多控制權,但單個驗證者或驗證者組很難獲得對網路的控制權,因為他們需要控制大量的加密貨幣。

PoS 的缺點

PoS 的一個潛在缺點是它可能導致富者愈富的局面,即擁有最大權益的驗證者繼續賺取更多的加密貨幣,從而使較小的驗證者更難以參與網路。

然而,一些 PoS 網路已經實現瞭解決這個問題的機制,例如隨機選擇驗證者或限制單個驗證者可以持有的加密貨幣數量。

3.委託權益證明(DPoS)

委託權益證明是一些區塊鏈網路中使用的共識演算法,用於驗證交易並將新區塊新增到鏈中。DPoS 是權益證明 (PoS) 的一種變體,它依賴於一小群驗證者(稱為委託人或見證人)來驗證交易並向鏈中新增新區塊。

在 DPoS 網路中,代幣持有者投票選出在驗證過程中代表他們的代表。代表負責驗證交易並將新區塊新增到鏈中。代表們被激勵誠實地行事,因為如果他們驗證欺詐交易或試圖攻擊網路,他們將面臨失去職位和獎勵的風險。

file

DPoS 與 PoS

DPoS 相對於 PoS 的好處之一是它更高效。PoS 要求所有驗證者都參與驗證過程,如果某些驗證者不線上或沒有積極參與,這可能會導致效率低下。In DPoS, only the elected delegates participate in the validation process, which makes it faster and more efficient.

DPoS 的好處

DPoS 的另一個好處是它促進去中心化,同時仍然提供快速的交易處理時間。在 PoS 網路中,擁有最大股份的驗證者對網路擁有更多控制權,這可能導致中心化。

在 DPoS 網路中,代幣持有者對誰將成為代表有發言權,這可能會導致網路更加去中心化。

DPoS 的缺點

DPoS 的一個潛在缺點是它可能導致權力集中在一小部分代表手中。如果一小群代表控制了大量的投票權,他們可能會合謀操縱網路。

然而,一些 DPoS 網路已經實現瞭解決這個問題的機制,例如限制任何一個實體可以控制的代表數量。

4. 租賃權益證明(LPoS)

租賃權益證明是一些區塊鏈網路中使用的共識演算法,用於驗證交易並向鏈中新增新區塊。LPoS 是權益證明 (PoS) 的一種變體,它允許較小的代幣持有者透過將其代幣出租給較大的驗證者來參與驗證過程。

在 LPoS 網路中,代幣持有者將他們的代幣出租給驗證者,驗證者使用這些代幣來增加他們的股份並提高他們被選中來驗證交易和向鏈中新增新區塊的機會。代幣持有者保留其代幣的所有權,並根據他們租賃的代幣數量按比例獲得驗證者獲得的獎勵份額。

file

LPoS 的好處

LPoS 的好處之一是它允許較小的代幣持有者參與驗證過程並獲得獎勵,而無需持有大量代幣。這促進了權力下放,並允許網路中的參與者群體更加多樣化。

LPoS 的另一個好處是它可以潛在地提高網路的安全性。透過允許更多代幣持有者參與驗證過程,LPoS 可以使單個驗證者或驗證者組更難以獲得網路控制權和操縱交易。

LPoS 的缺點

LPoS 的一個潛在缺點是它可能比其他共識演算法更復雜。代幣持有者必須瞭解將代幣出租給驗證者的風險和回報,驗證者必須以負責任的方式管理他們租用的代幣。

5.權威證明(PoA)

權威證明是一些區塊鏈網路中使用的共識演算法,用於驗證交易並向鏈中新增新塊。與工作量證明 (PoW) 和權益證明 (PoS) 等其他共識演算法不同,PoA 依賴於一組受信任的驗證器,而不是分散的節點網路。

在 PoA 網路中,一組驗證器被指定為權威並負責驗證交易並向鏈中新增新塊。驗證者通常是根據他們的聲譽和專業知識來選擇的,並且他們被激勵誠實地行事,因為他們的聲譽是線上的。

file

PoA 的好處

PoA 的好處之一是它比其他共識演算法更高效。PoW 需要大量的計算能力來驗證交易,這可能既昂貴又耗時。PoS 需要大量的股份才能參與驗證過程,這可能導致中心化。另一方面,PoA 依賴於一小群受信任的驗證者,這使得它更快、更高效。

PoA 的另一個好處是它可以更適合私有或企業區塊鏈網路。在這些網路中,擁有一個去中心化的節點網路來驗證交易可能是不可行或不可取的。PoA 允許採用更加受控和集中的驗證方法,這在這些情況下可能更合適。

PoA的缺點

PoA 的一個潛在缺點是它不如其他共識演算法安全。由於 PoA 依賴於一小群驗證者,如果一個或多個驗證者受到損害或惡意行為,網路更容易受到攻擊。然而,一些 PoA 網路已經實現瞭解決這個問題的機制,例如要求多個驗證者在交易上簽字。

6.拜占庭容錯(BFT)

拜占庭容錯是電腦科學中的一個概念,指的是即使系統的某些元件出現故障或出現惡意行為,系統仍能正確執行並達成共識的能力。在區塊鏈技術背景下,拜占庭容錯是一種共識演算法,即使在面臨惡意攻擊或系統故障的情況下,也能使分散式網路中的節點就交易的有效性達成一致,並保持區塊鏈的完整性。

BFT 旨在防止“拜占庭將軍問題”,這是一種理論場景,在這種情況下,一群將軍必須協調對一座城市的攻擊,但有些將軍是叛徒,可能會向其他人傳送虛假資訊。在區塊鏈網路中,拜占庭將軍問題可以表現為網路上的節點惡意行為或無法正確通訊。

file

BFT 透過要求一定比例的節點在將交易新增到區塊鏈之前就交易的有效性達成一致來解決這個問題。在傳統的 BFT 演算法中,該百分比設定為節點總數的三分之二。如果三分之二的節點同意交易的有效性,那麼它就會被新增到區塊鏈中。如果少於三分之二的節點同意,則交易被拒絕。

BFT 與 PoW 和 PoS

BFT 與其他共識演算法(例如工作量證明或股權證明)不同,因為它不需要大量的計算能力或股權來參與驗證過程。相反,它依賴於一小部分節點就交易的有效性達成一致,這使得它比其他共識演算法更高效、更快速。

BFT 的缺點

BFT 的一個潛在缺點是它需要對網路參與者更高階別的信任。如果很大比例的節點表現出惡意或無法正確通訊,則網路可能無法達成共識並維持區塊鏈的完整性。但是,BFT 通常用於參與者已知且受信任的私人或企業區塊鏈網路。

7.實用拜占庭容錯(PBFT)

這是一種共識演算法,它擴充套件了拜占庭容錯 (BFT) 演算法,以在分散式系統中提供高階別的容錯能力。PBFT 通常用於企業區塊鏈網路和其他需要高度共識的分散式系統。

PBFT 的工作原理是將共識過程分解為一系列對每筆交易重複的步驟。每個步驟涉及網路中的不同節點,每個節點負責在將交易傳遞給下一個節點之前驗證交易的有效性。

PBFT 演算法需要一定數量的節點對一筆交易的有效性達成共識,然後才能將其新增到區塊鏈中。

在 PBFT 中,這個數字由公式確定;f = (n-1)/3,其中 f 是系統可以容忍的最大故障節點數,n 是網路中的節點總數。

PBFT 被設計為具有容錯性,這意味著即使網路中的某些節點出現故障或惡意行為,它也可以繼續正常執行。該演算法透過允許節點相互通訊並就交易的有效性達成共識來實現這一點。如果一個節點出現故障或惡意行為,其他節點可以檢測到問題並將該節點排除在共識過程之外。

PBFT 的好處

PBFT 的好處之一是它可以實現高吞吐量和低延遲,即使在具有大量節點的網路中也是如此。PBFT 還以其高階別的安全性而聞名,因為它可以在不損害區塊鏈完整性的情況下容忍多達 f 個故障節點。

PBFT 的缺點

然而,PBFT 確實有一些侷限性。它需要一定數量的節點才能達成共識,這意味著它可能不適合小型網路。PBFT 還需要比其他一些共識演算法更高水平的計算能力,這可能會降低其能效。

8.委託拜占庭容錯(dBFT)

現在,這種共識演算法結合了拜占庭容錯(BFT)和委託權益證明(DPoS)演算法的優點。dBFT 通常用於需要高水平共識和吞吐量的區塊鏈網路。

與 BFT 和 PBFT 一樣,dBFT 被設計為具有容錯性,這意味著即使網路中的某些節點發生故障或惡意行為,它也可以繼續正常執行。在 dBFT 中,共識是透過投票過程達成的,網路中的每個節點都可以對交易的有效性進行投票。

file

然而,與 BFT 和 PBFT 不同,dBFT 使用委託模型,其中網路參與者將他們的投票權委託給較少數量的可信節點,稱為驗證器。驗證者負責驗證交易並就交易的有效性達成共識。

dBFT 基於迴圈系統,驗證者輪流驗證交易。驗證者是根據他們在網路中的聲譽和權益來選擇的。驗證者被激勵誠實行事,因為任何惡意行為都可能導致聲譽和權益的損失。

dBFT 的好處

dBFT 的好處之一是它可以實現高吞吐量和低延遲,因為只需要少量的驗證者就可以達成共識。dBFT 還降低了集中化的風險,因為驗證者是根據他們的聲譽和權益而不是他們的計算能力來選擇的。

dBFT 的缺點

然而,dBFT 確實有一些限制。它需要對所選驗證器的高度信任,如果大量驗證器由單個實體控制,這可能會導致潛在的漏洞。dBFT 也不適合所有型別的區塊鏈網路,因為對於某些用例可能沒有必要達成如此高水平的共識。

9.有向無環圖(DAG)

這是一種常用於分散式賬本技術和區塊鏈系統的資料結構。與傳統的區塊鏈架構以線性的、按時間順序排列的塊順序組織資料不同,DAG 允許以更靈活、更高效的方式來儲存和驗證資料。

DAG 是由頂點和邊組成的圖,其中每個頂點代表一個交易,每條邊代表交易之間的關係。在 DAG 中,交易不像傳統區塊鏈那樣以線性鏈組織,而是以更復雜的結構組織,其中每個交易都連結到多個其他交易。

file

DAG 的好處

基於 DAG 的系統的好處之一是它們可以實現高可擴充套件性和交易吞吐量。事務可以併發處理,只要它們之間沒有衝突。這意味著可以同時驗證多筆交易,從而提高系統的整體效率。

DAG 的另一個優勢是它們能夠處理網路中的分叉。在傳統的區塊鏈中,當同時建立兩個區塊時,只有其中一個可以被接受到鏈中。這可能會導致之前被認為有效的區塊突然被拒絕,從而導致鏈中出現分叉。

在基於 DAG 的系統中,分叉是自動解決的,因為交易是根據它們與圖中其他交易的關係進行驗證的。

例子

基於 DAG 的系統的一個例子是IOTA,這是一種為物聯網 (IoT) 裝置設計的分散式賬本技術。在 IOTA 中,交易被表示為 DAG 中的節點,每個交易都必須確認之前的兩個交易才能被驗證。這建立了一個更高效和可擴充套件的系統,因為可以同時處理多個事務。

DAG 的缺點

然而,基於 DAG 的系統也有一些侷限性。使用 DAG 的挑戰之一是需要一種複雜的共識機制來確定圖中交易的順序。此外,DAG 可能並不適合所有型別的區塊鏈應用程式,因為它們可能需要比傳統區塊鏈系統更復雜的架構。

10.容量證明(PoC)

容量證明是一些區塊鏈網路中使用的共識機制,用於驗證交易並維護區塊鏈的完整性。PoC 類似於工作證明 (PoW),因為它要求參與者解決計算難題以向區塊鏈新增新塊,但它的不同之處在於它如何利用計算機儲存而不是計算能力。

在 PoC 系統中,參與者分配他們計算機硬碟空間的一部分作為繪圖,這本質上是預先計算的資料段,可用於生成計算難題的解決方案。當需要將新區塊新增到區塊鏈時,會搜尋參與者的地塊以找到解決難題的方法。第一個找到有效解決方案的參與者可以將新塊新增到區塊鏈並獲得加密貨幣形式的獎勵。

file

制。由於參與者不需要不斷地執行復雜的計算,因此 PoC 需要的電力更少,對環境的影響也更小。

PoC 的缺點

然而,PoC 的一個缺點是它可能容易受到某些型別的攻擊,例如預計算和 Sybil 攻擊。在預計算攻擊中,攻擊者可以預計算大量圖,然後使用它們快速解決計算難題並將新塊新增到區塊鏈中,從而使他們相對於其他參與者具有不公平的優勢。

在 Sybil 攻擊中,攻擊者可以建立多個身份以增加他們找到謎題解決方案的機會。

為了減輕這些風險,一些 PoC 系統採用了額外的安全措施,例如要求參與者透過執行質詢-響應協議來證明他們不是 Sybil 攻擊者。

11. 燃燒證明 (PoB)

現在,這是一些區塊鏈網路中使用的共識機制,用於驗證交易並向區塊鏈新增新區塊。PoB 不像其他共識機制那樣使用計算能力或儲存空間,而是要求參與者銷燬或銷燬加密貨幣令牌以證明他們對網路的承諾。

要參與 PoB 系統,使用者必須將一定數量的加密貨幣傳送到一個地址,該地址將被永久銷燬。這種銷燬加密貨幣的行為被稱為銷燬。一旦加密貨幣被銷燬,使用者就有權向區塊鏈新增新區塊並因此獲得獎勵。

file

PoB 背後的想法是,透過燃燒加密貨幣,使用者正在做出經濟上的犧牲並表明他們對網路的承諾。這降低了惡意行為者試圖攻擊網路的可能性,因為他們必須燃燒大量的加密貨幣才能這樣做。

PoB 的好處

PoB 的一個潛在好處是它可以幫助減少加密貨幣生態系統中的通貨膨脹。由於代幣被銷燬而不是被創造,代幣的整體供應量減少,這有助於穩定加密貨幣的價值。

PoB的缺點

然而,PoB 也有一些缺點。一是很難確定銷燬代幣的價值,因為它們已被永久銷燬且無法恢復。這會使準確衡量網路中的承諾和投資水平變得困難。此外,燃燒代幣可以被視為浪費和環境不友好。

12. 身份證明 (PoI)

它是一種共識機制,用於驗證網路參與者的身份。它是一種共識機制,旨在促進區塊鏈交易中的信任、安全和真實性。

PoI 的工作原理是要求參與者提供與現實世界身份驗證過程相關聯的數字身份。這可以透過多種方法實現,例如政府頒發的 ID、生物識別資料或其他形式的可驗證身份憑證。身份驗證過程確保每個參與者都是真實的、可識別的個體,這有助於防止網路中的欺詐或惡意活動。

file

一旦參與者的身份得到驗證,他們就有權參與網路併為達成共識做出貢獻。這可以透過不同的機制來實現,具體取決於特定的區塊鏈網路。

例如,一些 PoI 網路可能要求參與者對提議的交易進行投票,而其他網路可能允許參與者自己提議交易。

身份證明的好處

PoI 的主要好處之一是它可以幫助防止 Sybil 攻擊,在這種攻擊中,單個參與者在網路中建立多個身份以獲得控制或操縱系統。透過要求參與者提供可驗證的身份憑證,PoI 確保每個參與者都是網路中唯一的、可識別的實體。

身份證明的缺點

然而,PoI 也有一些缺點。一是很難在匿名和隱私與身份驗證之間取得平衡。一些參與者可能不想透露他們的身份以維護他們的隱私,而其他人可能無法訪問必要的身份驗證工具。

此外,身份驗證過程可能既費時又費錢,這可能會阻止一些參與者加入網路。

13. 活動證明(PoA)

它是一種混合共識機制,結合了工作量證明(PoW)和權益證明(PoS),以實現更安全和高效的區塊鏈網路。PoA 的開發是為了替代傳統的 PoW 和 PoS 機制,這些機制因高能耗和中心化風險而受到批評。

在 PoA 中,區塊鏈網路首先使用 PoW 產生新的區塊,類似於比特幣。然而,與比特幣不同,PoA 並不僅僅依賴 PoW 來達成共識。相反,一旦生成新塊,系統就會根據 PoS 持有量從網路中隨機選擇一組驗證器。然後這些驗證者需要簽署新區塊,提供第二層共識驗證。

file

透過結合 PoW 和 PoS,PoA 旨在實現更加安全和高效的共識機制。PoW 確保塊難以建立並有助於防止惡意攻擊,而 PoS 鼓勵長期網路參與並透過根據參與者持有的股份數量分配獎勵來防止中心化。

活動證明的好處

PoA 的主要好處之一是它比 PoW 消耗更少的能源,因為它不需要礦工不斷地解決複雜的數學問題。此外,PoA 的 PoS 元素有助於防止中心化,因為它鼓勵更多參與者持有網路中的股份並減少大型礦池支配網路的動機。

活動證明的缺點

然而,PoA 也有一些缺點。一個是它仍然容易受到 51% 攻擊,在這種情況下,一群驗證者串通起來操縱網路。此外,PoA 的實施可能比傳統的 PoW 或 PoS 機制更復雜,因為它需要兩者的結合。

14. 經過時間證明(PoET)

它是英特爾開發的用於許可區塊鏈網路的共識演算法。PoET 旨在成為比特幣等公共區塊鏈中使用的傳統工作量證明 (PoW) 演算法的一種更節能、更安全的替代方案。

在 PoET 中,網路中的每個參與者都被分配了一個隨機等待時間,類似於彩票。參與者競爭成為第一個完成等待時間的人,第一個完成的人被授予建立下一個區塊的權利。這個過程被稱為“領導人選舉”。

file

與參與者競爭解決複雜數學問題的 PoW 不同,PoET 參與者只需等待分配給他們的時間結束。這個等待時間是使用英特爾硬體提供的可信執行環境(TEE)來確定的,這保證了等待時間是隨機的,不受參與者的影響。

PoET 的好處

PoET 的主要好處之一是它比 PoW 消耗的能源少得多,因為它不需要參與者持續執行復雜的計算。這使得它更適合在參與者已知且受信任的許可區塊鏈網路中使用。

PoET 還被設計為高度安全的。由於每個參與者都被分配了一個隨機等待時間,因此單個參與者或一組參與者很難操縱網路。此外,英特爾 TEE 的使用可確保等待時間真正隨機,參與者無法預測或影響。

PoET 的缺點

然而,PoET 的一個潛在缺點是它需要使用英特爾的硬體,這在某些情況下可能會限制其採用。此外,由於 PoET 是為在許可網路中使用而設計的,它可能不適合任何人都可以參與的公共區塊鏈。

15. 重要性證明

這是 NEM 區塊鏈網路中使用的共識演算法。它旨在根據網路中的整體參與和投資水平來確定網路中的哪些節點有權建立新區塊並驗證交易。

在重要性證明中,節點的重要性由兩個因素決定:其原生加密貨幣 ( XEM ) 的餘額及其在網路中的整體參與度。一個節點持有的 XEM 越多,他們進行的交易越多,其重要性得分就越高。然後使用該分數來確定哪些節點有權建立新塊和驗證交易。

重要性證明的好處

重要性證明的好處之一是它旨在鼓勵積極參與網路。持有大量 XEM 但不參與交易的節點的重要性得分低於積極參與網路的節點。這會激勵節點成為網路的積極參與者,這有助於提高區塊鏈的整體安全性和可靠性。

PoI 的另一個好處是它被設計成比其他一些區塊鏈網路中使用的傳統工作量證明 (PoW) 演算法更節能。由於 PoI 不需要節點執行復雜的計算,因此它使用的能量和計算資源更少。

重要性證明的缺點

然而,PoI 的一個潛在缺點是它可能不像其他一些共識演算法那樣安全。由於節點的重要性部分取決於其 XEM 餘額,因此存在大量 XEM 可能集中在少數節點手中的風險,從而使它們對網路產生不成比例的影響。

結論

總之,選擇正確的共識演算法是設計區塊鏈網路時的關鍵決策。每種共識演算法都有自己的優點和缺點,選擇錯誤的演算法會對網路的安全性、去中心化和效能造成嚴重後果。

因此,在選擇共識演算法時,必須評估區塊鏈應用的需求,並考慮可擴充套件性、效率、安全性和去中心化等因素。設計良好的共識演算法可以提供多種好處,例如提高安全性、提高效率、縮短交易時間和增強去中心化。另一方面,不合適的共識演算法會導致交易速度變慢、成本增加和安全性降低。

最終,正確的共識演算法選擇可以決定區塊鏈應用的成功與否,因此明智地選擇至關重要。隨著區塊鏈技術的不斷髮展和新的共識演算法的出現,必須保持最新狀態並瞭解最新資訊,以便為每個獨特的區塊鏈應用程式做出最佳決策。

透過Github 獲取更多區塊鏈學習資料!

https://github.com/Manuel-yang/BlockChainSelfLearning

相關文章