# 共識算法

> **最後更新：2026 年 1 月**

## 共識機制是區塊鏈的「靈魂」——它決定了誰有權記帳、如何確保大家同意帳本內容。沒有共識機制，區塊鏈只是一堆電腦各說各話的混亂。

想像 100 個人要一起記一本帳。

每個人都可以寫，但只有一個版本能成為「官方版本」。

誰說了算？怎麼決定？如果有人說謊怎麼辦？

這就是**共識機制**要解決的問題。

### 為什麼需要共識機制？

在傳統世界，我們靠「中心化機構」達成共識：

* 銀行說你有多少錢，你就有多少
* 政府說這塊地是誰的，就是誰的
* 法院說誰對誰錯，就誰對誰錯

**問題是**：你必須信任這些機構。

區塊鏈想要做的是：**不需要信任任何單一機構，也能達成共識**。

但這帶來了一個經典的電腦科學難題——

### 拜占庭將軍問題

想像幾個將軍要一起進攻一座城市。

他們分散在城市周圍，只能靠信使溝通。

問題是：

1. 有些將軍可能是叛徒，會故意發假訊息
2. 信使可能被攔截或被收買
3. 但他們必須達成一致——全部進攻或全部撤退

**如何在有叛徒的情況下達成共識？**

這個問題叫做「拜占庭將軍問題」，是分散式系統的核心挑戰。

區塊鏈的共識機制，就是對這個問題的各種解答。

### 主流共識機制總覽

| 機制            | 代表區塊鏈  | 核心概念     | 能源消耗 |
| ------------- | ------ | -------- | ---- |
| 工作量證明 (PoW)   | 比特幣    | 誰算得快，誰記帳 | 高    |
| 權益證明 (PoS)    | 以太坊    | 誰押得多，誰記帳 | 低    |
| 委託權益證明 (DPoS) | EOS    | 投票選代表記帳  | 低    |
| 權威證明 (PoA)    | 部分私有鏈  | 指定的節點記帳  | 極低   |
| 歷史證明 (PoH)    | Solana | 用時間戳排序   | 中    |

### 工作量證明（PoW）

**核心概念**：解一道很難的數學題，最先解出來的人可以記帳。

```
挖礦過程：
1. 收集待處理的交易
2. 嘗試找一個特殊的數字（nonce）
3. 讓「區塊數據 + nonce」的雜湊值符合條件
4. 這需要大量計算（「挖礦」）
5. 找到後，廣播給全網驗證
6. 驗證通過，獲得區塊獎勵
```

**優點**：

* 最久經考驗的機制（比特幣從 2009 年運作至今）
* 安全性極高（要攻擊需要 51% 算力）
* 完全去中心化

**缺點**：

* 耗電量巨大（比特幣年耗電量約等於一個小國家）
* 速度慢（比特幣每秒約 7 筆交易）
* 礦池集中化問題

{% hint style="info" %}
比特幣的 PoW 被批評為「浪費能源」，但支持者認為這個「浪費」是有意義的——它創造了「不可偽造的成本」，讓攻擊網路變得極其昂貴。
{% endhint %}

### 權益證明（PoS）

**核心概念**：你質押越多幣，被選中記帳的機率越高。

```
驗證過程：
1. 質押代幣成為驗證者
2. 系統隨機選擇驗證者（質押越多機率越高）
3. 被選中的驗證者提議新區塊
4. 其他驗證者投票確認
5. 誠實驗證者獲得獎勵
6. 作惡者的質押被「沒收」（slashing）
```

**優點**：

* 能源效率高（比 PoW 低 99%+）
* 更快的交易速度
* 經濟懲罰機制防止作惡

**缺點**：

* 「富者越富」問題
* 質押門檻可能排斥小用戶
* 長程攻擊等新型威脅

{% hint style="warning" %}
以太坊在 2022 年從 PoW 轉向 PoS（The Merge），這是史上最大規模的共識機制轉換。過程順利完成，證明了 PoS 在大型公鏈上的可行性。
{% endhint %}

### 委託權益證明（DPoS）

**核心概念**：代幣持有者投票選出「代表」來記帳。

就像民主選舉——你不直接參與決策，但你選出代表幫你做決定。

**代表區塊鏈**：EOS、TRON、Steem

**優點**：

* 速度極快（EOS 曾宣稱可達數千 TPS）
* 能源效率高
* 有治理機制

**缺點**：

* 更加中心化（通常只有 21-101 個驗證節點）
* 投票率低
* 可能被大戶操控

### 比較各種共識機制

| 特性     | PoW    | PoS    | DPoS   |
| ------ | ------ | ------ | ------ |
| 去中心化程度 | 高      | 中      | 低      |
| 交易速度   | 慢      | 中      | 快      |
| 能源消耗   | 高      | 低      | 低      |
| 安全性    | 極高     | 高      | 中      |
| 進入門檻   | 需要礦機   | 需要質押   | 只需持幣投票 |
| 攻擊成本   | 51% 算力 | 51% 質押 | 賄賂代表   |

### 不可能三角

區塊鏈領域有個著名的「不可能三角」：

```
        去中心化
        /        \
       /          \
      /            \
   安全性 ———————— 可擴展性
```

**你很難同時擁有全部三者。**

* **比特幣**：選擇去中心化 + 安全性，犧牲可擴展性
* **Solana**：選擇安全性 + 可擴展性，部分犧牲去中心化
* **Layer 2**：嘗試在不犧牲主鏈安全性的前提下提升可擴展性

不同的共識機制，就是在這個三角形中做不同的取捨。

### 最終性（Finality）

一筆交易什麼時候才算「真正完成」？

| 區塊鏈     | 共識機制      | 最終性            |
| ------- | --------- | -------------- |
| 比特幣     | PoW       | 機率性（6 確認後幾乎確定） |
| 以太坊     | PoS       | 約 12 分鐘後確定     |
| Solana  | PoH + PoS | 約 400 毫秒       |
| 傳統 PBFT | BFT       | 立即確定           |

**機率性最終性**：理論上永遠可以被逆轉，但機率隨確認數增加而趨近於零。

**確定性最終性**：一旦確認就絕對不會改變。

### 共識機制的演進

```
第一代：PoW
├── 比特幣（2009）
├── 萊特幣、狗狗幣等
└── 問題：能源消耗、速度慢

第二代：PoS / DPoS
├── 以太坊 2.0（2022）
├── EOS、Cardano、Polkadot
└── 問題：中心化風險、複雜性

第三代：混合機制
├── Solana（PoH + PoS）
├── Avalanche（雪崩共識）
└── 各種創新組合
```

### 選擇區塊鏈時的考量

| 需求      | 適合的共識機制    |
| ------- | ---------- |
| 最高安全性   | PoW（比特幣）   |
| 平衡安全與效率 | PoS（以太坊）   |
| 高速交易    | DPoS 或混合機制 |
| 企業私有鏈   | PoA        |
| 實驗性項目   | 視需求選擇      |

### 共識機制的未來

這個領域仍在快速發展：

* **分片技術**：讓多組驗證者同時處理不同交易
* **零知識證明**：用數學證明取代部分共識過程
* **模組化區塊鏈**：把共識、執行、數據可用性分開
* **跨鏈共識**：讓不同區塊鏈能安全互通

{% hint style="success" %}
共識機制是區塊鏈最核心的創新。中本聰用 PoW 第一次解決了「不需要信任中介也能達成共識」的問題。之後的各種機制——PoS、DPoS、PoH——都在嘗試在保持這個核心優勢的同時，解決效率和環境問題。沒有「完美」的共識機制，只有適合不同需求的選擇。
{% endhint %}

***

#### 相關條目

* [工作量證明](https://github.com/dAAAb/Blockpedia/blob/master/gong/gong-zuo-liang-ming.md)
* [權益證明](https://github.com/dAAAb/Blockpedia/blob/master/gong/yi-ming.md)
* [51% 攻擊](/ren-shi-feng-xian-bao-hu-zi-chan/51-attack.md)
* [拜占庭容錯](https://github.com/dAAAb/Blockpedia/blob/master/gong/gong-yan-suan-fa/bai-zhan-ting.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.0x1.academy/qu-kuai-lian-ru-he-da-cheng-gong-shi/consensus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
