什麼是區塊鏈中的共識演算法?
區塊鏈 是過去二十年來最重要的技術創新之一。區塊鏈網路是一種分散式數據帳本,它具有不可篡改、只能追加以及受密碼學機制保護的特性。區塊鏈使網路參與者能夠儲存和更新記錄,而無需依賴中心化機構,同時保持數據的完整性和抗篡改能力。
為了實現這些特性,網路必須持續對單一且有效的交易帳本版本達成協議。這種共同協議被稱為共識,維持共識對於任何區塊鏈系統的可靠性和安全性都是至關重要的。
在本文中,我們將討論什麼是共識演算法、它如何在更廣泛的區塊鏈流程中發揮作用、去中心化網路如何達成共識,以及目前業界實施了哪些熱門的共識演算法。
重點摘要:
共識演算法對區塊鏈網路至關重要。它們確保所有節點對單一、不可篡改的帳本狀態達成一致,解決衝突並防止諸如雙重支付等問題,從而在去中心化系統中維護信任與完整性。
共識演算法是一種機制,旨在確保區塊鏈網路中的所有節點都對分散式帳本的狀態達成協議。
最常用的共識演算法包括工作量證明(PoW)、權益證明(PoS)、委託權益證明(DPoS)、實用拜占庭容錯(PBFT)和權威證明(PoA)。
什麼是共識演算法?
區塊鏈網路是一個去中心化系統,其中多個節點共同維護一份共享的交易帳本。每個節點都是一台電腦(連接到網路),它持有至少部分的帳本副本,並參與驗證和轉發交易數據。交易會被分組打包成區塊,而每個新區塊都會引用前一個區塊,從而形成一條按時間順序排列的鏈。一旦加入區塊鏈,區塊內的資料若不影響後續所有區塊便無法更改,這使得帳本具有防篡改和不可變更的特性。
為了讓這個系統可靠地運作,所有參與節點必須對帳本的當前狀態達成共識。由於節點是獨立運作的,且接收資料的時間可能不同,因此它們需要一種機制來解決衝突,並確保每個誠實節點都能看到並接受同一版本的帳本。這正是共識演算法變得至關重要的地方。
共識演算法是用來在節點之間達成協議的過程,決定哪些交易是有效的,以及哪一個區塊應該接著被添加到帳本中。它的作用是確保即便在有延遲、故障或惡意行為者的情況下,所有誠實的參與者仍能對單一、權威版本的區塊鏈達成一致。如果沒有有效的共識機制,網路的不同部分可能會對交易順序或內容產生分歧,導致諸如雙重支付(雙花)、資料不一致以及對系統完整性失去信任等問題。
共識過程不僅僅是少數服從多數,它必須考慮到不誠實或故障節點的可能性——這意味著系統必須能夠強健地抵禦操縱,並抵抗對區塊鏈的修改和版本衝突。共識演算法的設計直接影響著區塊鏈的安全性、效能以及去中心化程度。它是區塊鏈架構中最基本的組件之一,也是確保網路作為可靠且統一的系統運作的先決條件。
共識演算法如何運作
區塊鏈共識演算法依賴兩個相互關聯的流程,以確保所有參與者對分散式網路的單一版本達成一致。第一個流程涉及收集交易的方式,以及一個或多個節點如何獲得提議包含這些交易的新區塊的權利;第二個流程則涉及提議的區塊如何在網路中共享,並在被永久添加到帳本之前由其他節點進行驗證。
在區塊鏈上,使用者會持續透過向網路發送交易來發起交易。這些交易會廣播到所有節點,並被收集並暫時儲存在未確認交易池(Mempool)中。網路不會立即將每筆交易添加到帳本中,而是將一批交易分組到一個區塊中。每個區塊包含一組交易集合,以及諸如前一個區塊的參考、時間戳記和其他特定於協定的資料等元資料。這種結構形成了一條連續的鏈,因為每個新區塊都引用其前一個區塊,從而確保了時間順序並防止篡改。
然而,節點無法隨意將區塊添加到區塊鏈中。網路必須決定哪個或哪些節點有權提議下一個區塊。這個指派過程代表了共識演算法中的第一個關鍵流程,且在不同的區塊鏈中會有所差異。某些系統依賴競爭過程,即節點競相解決密碼學難題,或展示某種形式的權益 (stake) 或權威,以贏得提議下一個區塊的權利。其他系統則使用選舉或輪替機制。無論採用哪種方法,選擇過程的設計目的都是為了控制區塊提議,以盡量減少衝突區塊,並讓網路能有序地進行。
贏得將下一個區塊添加到帳本權利的節點(或多個節點),會將提議的區塊廣播給其他節點進行審查。將經過初步驗證的區塊傳播到整個網路以進行最終確認,這是共識演算法的第二個關鍵階段。
後續步驟
收到提議的區塊後,網路中的節點隨即開始進行驗證程序。此程序包含多項檢查,以確保該區塊遵守區塊鏈協議的規則。節點首先會驗證提議的區塊是否正確引用了鏈上的前一個區塊,以維護帳本的順序完整性。接著,它們會驗證區塊中包含的每一筆交易,確認數位簽章是否有效,以及交易輸入是否未曾在之前的區塊或交易中被花費過。這能防止雙重花費並維持帳本的一致性。
驗證工作還包括檢查所有交易是否符合協議規則,例如交易大小限制、格式和手續費要求。節點會檢查提議區塊的元數據(metadata),包括時間戳記,以確保區塊不是在允許的時間範圍之外形成的。此外,節點還會驗證任何證明提議者有資格或權限提交區塊的密碼學證明或簽章(由所使用的共識機制決定)。
如果任何驗證步驟失敗,節點將會拒絕該提議的區塊。拒絕意味著該區塊不會被加入區塊鏈,並且會被所有誠實節點丟棄。這種拒絕機制能保護網路免受無效數據和潛在攻擊的侵害。當提出有效下一個區塊的過程重複進行時,網路會繼續依賴上一個已接受的區塊。
如果被提議的區塊通過了所有驗證檢查,就會達成共識。所有誠實節點都會接受該區塊,並將其永久加入它們本地的區塊鏈副本中。這種集體協議確保了區塊鏈在所有節點之間保持單一且一致的紀錄。一旦區塊被加入,節點就會繼續收集新的交易,並準備下一個區塊提議週期。
這種兩步驟的方法 —— 即由負責的節點形成提議區塊,再由更廣泛的網路對區塊進行驗證 —— 代表了區塊鏈共識的整個過程。雖然不同共識演算法在選擇和驗證的具體機制上有所差異,但這個總體框架確保了網路能在沒有中心化控制的情況下可靠地運作。它能防範錯誤、惡意行為以及可能破壞區塊鏈系統信任的不一致性。
模組化轉變
近年來,模組化區塊鏈的設計越來越受歡迎。與傳統的單體區塊鏈不同,模組化區塊鏈將其主要運作層拆分為不同的組件。通常,共識層會在與結算層和資料可用性(DA)層不同的環境中進行處理。這種模組化有助於實現更高效、更快速及/或成本更低的整體功能。
透過使用歷史證明(PoH),共識系統的可擴展性也得到了提升。PoH 是一種密碼學方法,它建立可驗證且帶有時間戳記的事件記錄,用以證明交易的確切順序,而無需節點之間互相通訊。
透過使用零知識(ZK)技術,安全性和隱私功能近期也獲得了改善。ZK 共識增強功能利用一種驗證協議,該協議使用數學證明來驗證一批交易是否正確,而無需洩露底層資料或要求節點重新處理它。
區塊鏈共識演算法的類型
如上所述,每種共識演算法都執行兩項關鍵功能:首先,選擇負責提議下一個區塊的節點或節點群組;其次,在更廣泛的網路中驗證被提議的區塊。
此流程的第二部分(全網驗證)在大多數區塊鏈中通常相當類似,涉及各種檢查,例如驗證交易簽名、確保區塊連結正確以及檢查雙重支付(double-spending)。然而,根據所使用的共識演算法不同,第一部分的差異可能會非常巨大。這些差異對網路去中心化、能源使用、效能以及受攻擊的脆弱性都有重大影響。
此外,一些平台已實施對共識演算法的增強措施,例如歷史證明(PoH)和零知識證明(ZK proofs),以實現更優越的可擴展性或安全性。例如,Solana (SOL) 在其核心權益證明(PoS)共識協議中採用了 PoH 處理機制,這種設計使該區塊鏈能夠實現業界最高的吞吐量之一。
以下是現今區塊鏈網路中最常使用的五種共識演算法。雖然目前還有許多其他正在使用的共識演算法,但這五種演算法已被區塊鏈產業中絕大多數的主流網路所採用。
工作量證明 (PoW)
工作量證明 (PoW) 是最受歡迎的兩種共識演算法之一,它是隨著比特幣 (BTC) 的推出而引入的,比特幣是 2009 年推出的第一個可行的區塊鏈。在 PoW 共識演算法中,礦工(專用節點)會相互競爭以解開一道複雜的數學難題。解開這道難題需要龐大的運算能力,這就是為什麼它被稱為「工作量」。第一個解開難題的礦工有權提出下一個區塊並獲得獎勵,獎勵通常以新代幣和交易費的形式發放。
PoW 被廣泛認為是高度安全的,因為攻擊者需要控制網路的大部分運算能力才能篡改區塊鏈。到了 2026 年初,比特幣的總算力支出,也就是所謂的 哈希率(Hashrate),已達到歷史新高,平均達到 每秒超過 1 Zetahash (1 ZH/s)。這顯著增加了對網路發動攻擊的經濟成本。
然而,這種安全性的代價是 PoW 過程中涉及的高能源消耗,這與全球日益重視的可持續性標準相衝突——這也是許多新區塊鏈項目不再採用 PoW 的主要原因。除了比特幣之外,PoW 也被 萊特幣 (LTC) 和 狗狗幣 (DOGE) 等項目使用。
權益證明 (PoS)
權益證明 (PoS) 是除 PoW 之外另一種廣泛使用的共識機制。PoS 不使用運算能力來競爭區塊提案權,而是根據驗證者在網路上「質押」或鎖定的代幣數量來選擇區塊驗證者。質押的代幣越多,被選中提議下一個區塊的機會就越高。
與 PoW 不同,PoS 的能源效率高得多,且通常能實現更快的交易處理速度。隨著 Cardano (ADA) 和 Polkadot (DOT) 等鏈的推出,PoS 得到了廣泛普及,並且在 Ethereum (ETH) 於 2022 年從 PoW 過渡到 PoS 後,獲得了進一步的關注。每個網路通常都有其自己的 PoS 變體,在選擇標準上會有一些微小的調整。
儘管與 PoW 相比,PoS 具有更高的能源效率和更好的效能,但它也有自身的漏洞:這種共識演算法可能會導致網路被少數持有大量代幣質押的驗證節點篡奪。這個問題在像 Ethereum 這樣高度去中心化的鏈上可能不那麼明顯,但當去中心化程度(以網路上活躍驗證者的數量來衡量)有限時,這可能成為一個真正的風險。
近年來,諸如 EigenLayer (EIGEN) 等再質押 (restaking) 協議已成為 PoS 生態系中的一項重大創新。再質押允許鎖定在一條鏈上(通常是像 Ethereum 這樣資源豐富的大型網路)的質押資產,同時被重複使用來保護其他網路或區塊鏈服務(例如跨鏈橋和預言機)的共識機制。
委託權益證明 (DPoS)
委託權益證明 (DPoS) 是標準權益證明 (PoS) 的一種更民主、具代表性的變體。在 DPoS 機制中,包括一般用戶在內的代幣持有者,將他們的權益委託給一組受信任的驗證節點。能夠吸引更多權益委託的驗證者,將有更高的機會獲得提出下一個區塊的權利。從本質上講,這群較小的驗證節點代表更廣泛的社群輪流提出和驗證交易區塊。
這種模式允許更快的共識和更高的可擴展性,因為在任何特定時間參與提出區塊的節點較少。它還促進了用戶參與,因為即使是小額代幣持有者也可以透過委託來影響共識結果。然而,批評者認為這可能會降低去中心化程度,因為它將權力集中在少數代表手中。使用 DPoS 的網路範例包括 EOS (EOS) 和 TRON (TRX)。
實用拜占庭容錯 (PBFT)
實用拜占庭容錯 (PBFT) 最初是在 1990 年代為分散式運算系統開發的,後來被應用於區塊鏈技術。它是為了在已知驗證者數量有限的去中心化電腦網路(通常是私有區塊鏈)中高效運作而設計的。在 PBFT 中,節點透過一系列的回合達成共識,包括提出區塊、對其進行投票並達成最終協議,只要有 ⅔ 的節點同意即可。
PBFT 提供快速的交易確定性和高吞吐量,使其對企業應用案例極具吸引力。然而,它無法很好地擴展到數千個節點,這限制了它在開放、去中心化網路中的使用。受 PBFT 啟發的模型被用於 Hyperledger Fabric 和 Tendermint 等區塊鏈,後者驅動了 Cosmos (ATOM) 生態系。
權威證明 (PoA)
權威證明 (PoA) 是一種共識演算法,其中的區塊提議者是經過預先核准且身分已確認的實體,通常是具有良好聲譽的公司或個人。驗證者不是透過運算能力或質押代幣來競爭,而是根據他們的身分和可信度被選出的。
PoA 通常用於許可制區塊鏈,這類區塊鏈認為速度、效率和基於身分的信任比去中心化更重要。它能夠實現快速的交易確定性和高交易吞吐量,但經常因過於中心化而受到批評。像 唯鏈 (VeChain/VET) 這樣的網路以及許多企業級許可鏈都實施了 PoA 共識機制。
區塊鏈三難困境
自誕生以來,區塊鏈產業一直受到所謂的 區塊鏈不可能三角(Blockchain Trilemma) 的困擾。這個術語指的是,在去中心化、安全性和可擴展性這三個關鍵指標中,區塊鏈通常只能改善其中一個或兩個,而且往往是以犧牲第三個為代價。目前還沒有任何傳統的共識演算法能夠同時改善這三者。
這促使區塊鏈領域進行了大量的研究與創新,旨在開發出能盡可能有效解決這個不可能三角中三個組成部分的解決方案。為了應對這個不可能三角,各種可持續的替代方案、利基技術和共識增強方案已被陸續引進。
可持續的替代方案和利基方法
空間證明(Proof of Space, PoSpace)和時空證明(Proof of Spacetime, PoSt)被設計為「綠色」且平等的替代方案,用來取代資源消耗巨大的工作量證明(PoW)。
在 PoSpace 中,網路驗證者證明他們已分配了一定數量的閒置硬碟容量——而不是原始的運算能力——給網路來處理交易。雖然 PoSpace 需要大量的儲存容量,但它的運算消耗很低——至少與 PoW 相比是如此。
PoSt 則更進一步,要求提供證據證明有意成為驗證者的人所分配的空間,在一段連續的時間內一直致力於該任務且未被更動。這種方法旨在促進高度去中心化,因為硬碟比專用的挖礦晶片更容易取得且分佈更廣。
已有兩個創新網路積極實施基於空間證明(PoSpace)和時空證明(PoST)的解決方案。Chia (XCH) 率先採用了這種方法,以便在降低能源成本的同時,呈指數級增加其去中心化程度。同時,Filecoin (FIL) 利用它來保護一個具功能性的去中心化儲存市場。然而,儘管這些平台在理論上前景看好,但在主流採用的普及度仍然有限。
現代共識機制的強化
如前幾節所述,歷史證明(PoH)和零知識(ZK)證明是近年來推出最熱門的技術之一,旨在解決傳統共識演算法的限制。例如,透過在其主要基於 PoS 的共識模型中實作 PoH,Solana 達到了每秒 65,000 筆交易 (TPS) 的最大吞吐量。儘管過去幾年中出現了具有相似甚至更快 TPS 容量的高度可擴展 Layer 2 網路,但這些平台將部分處理工作轉移到了鏈下環境,在一定程度上犧牲了安全性。如果嚴格檢視 Layer 1 公鏈,Solana 仍然是最具可擴展性的網路,至少在熱門的替代方案中是如此。
雖然 PoH 主要是關於可擴展性的提升,但 ZK 證明在安全性增強方面表現出色,對於 Layer 2 鏈來說尤其如此。我們在上面提到,這些鏈透過將交易處理的某些元素移至鏈下,在一定程度上犧牲了區塊鏈三難困境中的安全性組件。與此同時,Layer 2 鏈一直積極採用 ZK 證明,包括像 ZK-SNARK 和 ZK-STARK 這樣高度安全的模型,以降低安全風險。隨著 Layer 2 鏈統一環境的興起,例如 AggLayer 和 Optimism 的 Superchain,這些 Layer 2 網路進一步強化了它們的安全配置。
選擇正確的共識機制
下表比較了主要的共識演算法及其主要優勢和使用案例。
類別 | 機制 | 主要驅動因素 | 主要優勢 | 典型使用案例 |
基礎型 | 工作量證明 (PoW) | 運算能力 | 無可匹敵的安全性 | 數位黃金(比特幣) |
基礎層 | 權益證明(PoS) | 質押資本 | 能源效率 | 生態系樞紐(以太坊) |
基礎層 | 委託權益證明(DPoS)/ 實用拜占庭容錯(PBFT) | 聲譽 / 投票 | 交易速度 | 企業級 / 遊戲 (TRON) |
基礎架構 | 空間證明 | 儲存容量 | 平等進入門檻 | 永續儲存 (Chia) |
增強功能 | 歷史證明 | 密碼學時間 | 排序速度 | 高頻交易 (Solana) |
增強功能 | ZK 驗證 | 數學證明 | 擴展性與隱私 | ZK Rollups (zkSync) |
結語
共識演算法是區塊鏈網路的骨幹。它們對於確保所有參與者都同意單一、不可篡改的帳本版本至關重要。雖然整個過程涉及選擇區塊提案者和在網路上驗證區塊,但正是提案者選擇的特定方法真正區分了這些演算法。
隨著時間推移,很明顯基礎共識演算法無法完全解決區塊鏈的不可能三角(Trilemma)。為了解決這個問題,近年來引入了對核心共識模型的增強功能——例如歷史證明(PoH)和零知識證明(ZK proofs)。
如今,評估共識演算法的設計已不僅止於比較安全性、速度或去中心化程度。互通性已成為一個日益重要的考量因素。這就是為什麼許多現代區塊鏈平台,特別是在 Layer 2 層級,正致力於透過 AggLayer 和 Optimism Superchain 等創新解決方案,確保能與其他網路進行無縫通訊。
#LearnWithBybit