---
title: "共識機制"
description: "解釋分散式系統中的共識協定及其在以太坊中扮演的角色。"
lang: zh-tw
authors: ["派翠克·柯林斯"]
---

「共識機制」一詞在口語中常被用來指「權益證明 (PoS)」、「工作量證明 (PoW)」或「權威證明 (PoA)」協定。然而，這些只是共識機制中用來防禦[女巫攻擊](/glossary/#sybil-attack)的元件。共識機制是完整的概念、協定與獎勵機制的集合，能讓一組分散式節點對區塊鏈的狀態達成共識。

## 先決條件 {#prerequisites}

為了更了解本頁面，我們建議你先閱讀我們的[以太坊簡介](/developers/docs/intro-to-ethereum/)。

## 什麼是共識？ {#what-is-consensus}

共識是指達成普遍的協議。想像一群人要去看電影，如果對提議的電影選擇沒有異議，就達成了共識。如果有異議，這群人必須有方法來決定要看哪部電影。在極端情況下，這群人最終會分道揚鑣。

至於[以太坊](/)區塊鏈，這個過程是正式化的，達成共識意味著網路上至少有 66% 的節點對網路的全域狀態達成一致。

## 什麼是共識機制？ {#what-is-a-consensus-mechanism}

共識機制一詞是指完整的協定、獎勵機制與概念的集合，能讓網路中的節點對區塊鏈的狀態達成共識。

以太坊使用基於權益證明的共識機制，其加密經濟安全性來自於對質押者鎖定資金實施的一套獎勵與懲罰機制。這種獎勵結構鼓勵個別質押者誠實地營運驗證者，懲罰不誠實的行為，並創造出極高的網路攻擊成本。

此外，還有一個協定負責管理如何選擇誠實的驗證者來提案或驗證區塊、處理交易，並對他們所認為的鏈頭進行投票。在多個區塊處於鏈頭附近相同位置的罕見情況下，會有一個分叉選擇機制來選擇構成「最重」鏈的區塊，其衡量標準是投票給這些區塊的驗證者數量，並以他們質押的以太幣餘額作為權重。

有些對共識很重要的概念並未在程式碼中明確定義，例如潛在的帶外 (out-of-band) 社交協調所提供的額外安全性，作為抵禦網路攻擊的最後一道防線。

這些元件共同構成了共識機制。

## 共識機制的類型 {#types-of-consensus-mechanisms}

### 基於工作量證明 {#proof-of-work}

就像比特幣一樣，以太坊曾經使用基於**工作量證明 (PoW)** 的共識協定。

#### 區塊建立 {#pow-block-creation}

礦工競爭建立填滿已處理交易的新區塊。獲勝者會與網路的其餘部分分享新區塊，並賺取一些新鑄造的 ETH。這場競賽由最快解出數學難題的電腦獲勝。這會在當前區塊與前一個區塊之間產生密碼學連結。解開這個難題就是「工作量證明」中的工作。然後，規範鏈由分叉選擇規則決定，該規則會選擇投入最多工作量來挖礦的區塊集合。

#### 安全性 {#pow-security}

網路之所以能保持安全，是因為你需要網路 51% 的運算能力才能欺騙該鏈。這需要對設備和能源進行龐大的投資；你花費的成本很可能會超過你的收益。

更多關於[工作量證明](/developers/docs/consensus-mechanisms/pow/)的資訊

### 基於權益證明 {#proof-of-stake}

以太坊現在使用基於**權益證明 (PoS)** 的共識協定。

#### 區塊建立 {#pos-block-creation}

驗證者建立區塊。在每個時槽中會隨機選擇一名驗證者作為區塊提案者。他們的共識客戶端會向配對的執行客戶端請求一組交易作為「執行負載」。他們將其包裝在共識資料中形成一個區塊，然後發送給以太坊網路上的其他節點。這種區塊生產會獲得 ETH 獎勵。在單一時槽存在多個可能區塊，或節點在不同時間得知區塊的罕見情況下，分叉選擇演算法會挑選形成具有最大證明權重之鏈的區塊（權重是進行證明的驗證者數量，並依其 ETH 餘額進行縮放）。

#### 安全性 {#pos-security}

權益證明系統在加密經濟上是安全的，因為試圖控制鏈的攻擊者必須銷毀大量的 ETH。獎勵系統鼓勵個別質押者誠實行事，而懲罰機制則遏阻質押者進行惡意行為。

更多關於[權益證明](/developers/docs/consensus-mechanisms/pos/)的資訊

### 視覺指南 {#types-of-consensus-video}

觀看更多關於以太坊上使用的不同類型共識機制的資訊：

<VideoWatch slug="understanding-consensus-mechanisms" />

### 女巫攻擊防禦與鏈選擇 {#sybil-chain}

單靠工作量證明和權益證明並不是共識協定，但為了簡單起見，它們常被這樣稱呼。它們實際上是女巫攻擊防禦機制和區塊作者選擇器；它們是一種決定誰是最新區塊作者的方法。另一個重要的元件是鏈選擇（又稱分叉選擇）演算法，它能讓節點在相同位置存在多個區塊的情況下，在鏈頭挑選出單一正確的區塊。

<strong>女巫攻擊防禦</strong>衡量一個協定抵禦女巫攻擊的能力。對這類攻擊的防禦對於去中心化的區塊鏈至關重要，並能讓礦工和驗證者根據投入的資源獲得平等的獎勵。工作量證明和權益證明透過讓使用者消耗大量能源或提供大量抵押品來防禦這種攻擊。這些保護措施是對女巫攻擊的經濟威懾。

<strong>鏈選擇規則</strong>用來決定哪條鏈是「正確」的鏈。比特幣使用「最長鏈」規則，這意味著無論哪條區塊鏈最長，其餘節點都會接受它為有效並以此為基礎運作。對於工作量證明鏈，最長鏈是由該鏈的總累積工作量證明難度決定的。以太坊過去也使用最長鏈規則；然而，現在以太坊在權益證明上運行，它採用了更新的分叉選擇演算法來衡量鏈的「權重」。權重是驗證者投票的累積總和，並以驗證者質押的以太幣餘額作為權重。

以太坊使用名為 [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) 的共識機制，它結合了 [Casper 友善最終性小工具 (Casper FFG) 權益證明](https://arxiv.org/abs/1710.09437)與 [GHOST 分叉選擇規則](https://arxiv.org/abs/2003.03052)。

## 延伸閱讀 {#further-reading}

- [什麼是區塊鏈共識演算法？](https://academy.binance.com/en/articles/what-is-a-blockchain-consensus-algorithm)
- [什麼是中本聰共識？完整新手指南](https://blockonomi.com/nakamoto-consensus/)
- [Casper 是如何運作的？](https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d)
- [論工作量證明區塊鏈的安全性與效能](https://eprint.iacr.org/2016/555.pdf)
- [拜占庭故障](https://en.wikipedia.org/wiki/Byzantine_fault)

_知道有什麼社群資源對你有幫助嗎？編輯此頁面並加入它！_

## 相關主題 {#related-topics}

- [工作量證明](/developers/docs/consensus-mechanisms/pow/)
- [挖礦](/developers/docs/consensus-mechanisms/pow/mining/)
- [權益證明](/developers/docs/consensus-mechanisms/pos/)
- [權威證明](/developers/docs/consensus-mechanisms/poa/)