> For the complete documentation index, see [llms.txt](https://www.0x1.academy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.0x1.academy/qu-kuai-lian-ru-he-da-cheng-gong-shi/wa/bo/zui-yuan.md).

# 最長鏈原則

### 最長鏈原則（Longest Chain Rule）是區塊鏈用來決定哪條鏈是「正確」版本的規則。當出現多條競爭的鏈時，節點會選擇累積最多工作量的那條。這就像選舉——誰獲得最多「票」（工作量），誰就是合法政府。

***

## 為什麼需要這個原則？

在去中心化網路中，可能會同時出現多個版本的區塊鏈：

```
           區塊 100
              ↓
        ┌─────┴─────┐
        ↓           ↓
    區塊 101A    區塊 101B
        ↓           ↓
    區塊 102A    區塊 102B
        ↓
    區塊 103A

    哪條是「正確」的？
```

答案：選擇最長的那條（上例中是 A 鏈）。

{% hint style="info" %}
**「最長」的真正含義**

嚴格來說，比特幣選擇的不是「區塊數最多」的鏈，而是「累積工作量最大」的鏈。在正常情況下，兩者是一樣的。但如果難度不同，累積工作量才是真正的判斷標準。
{% endhint %}

***

## 最長鏈原則如何運作

### 1. 正常情況

所有礦工都在同一條鏈上延伸，沒有爭議。

### 2. 臨時分叉

兩個礦工幾乎同時挖到區塊：

```
時間 T：
礦工 A 挖到區塊 → 廣播給周圍節點
礦工 B 挖到區塊 → 廣播給周圍節點

時間 T+1：
部分網路認 A 的區塊
部分網路認 B 的區塊

時間 T+10分鐘：
有人在 A 的區塊上挖到新區塊
A 鏈變成最長鏈
所有節點切換到 A 鏈
B 的區塊被拋棄（成為孤塊）
```

### 3. 自動收斂

最長鏈原則確保網路最終會收斂到同一條鏈：

| 步驟     | 說明        |
| ------ | --------- |
| 分叉發生   | 網路出現兩條競爭鏈 |
| 繼續挖礦   | 礦工各選一條鏈繼續 |
| 其中一條變長 | 獲得更多算力支持  |
| 全網切換   | 節點切換到最長鏈  |
| 分叉結束   | 網路重新統一    |

***

## 為什麼這個原則有效？

### 1. 經濟激勵

礦工會選擇最長鏈，因為：

* 在最長鏈上挖礦才有獎勵
* 在短鏈上的工作會被浪費
* 理性礦工自然聚集到最長鏈

### 2. 算力決定一切

最長鏈 = 最多算力支持的鏈 = 最安全的鏈

{% hint style="success" %}
**中本聰的設計**

最長鏈原則是中本聰解決「拜占庭將軍問題」的關鍵。它讓分散的節點在沒有中央協調者的情況下，自動達成共識。
{% endhint %}

***

## 交易確認與最長鏈

這就是為什麼交易需要多次「確認」：

| 確認數  | 含義              |
| ---- | --------------- |
| 0 確認 | 交易還在交易池，可能被取消   |
| 1 確認 | 交易被打包進區塊，但可能被孤塊 |
| 3 確認 | 較安全，小額交易通常夠用    |
| 6 確認 | 比特幣的標準安全門檻      |
| 更多   | 大額交易建議等待更多確認    |

{% hint style="warning" %}
**雙花攻擊的原理**

攻擊者在一條鏈上花錢，同時在另一條「私密鏈」上不花這筆錢。如果私密鏈變得更長，就能取代原本的鏈，撤銷已完成的交易。這就是為什麼等待多次確認很重要。
{% endhint %}

***

## 最長鏈 vs 最重鏈

| 概念   | 使用者         | 說明         |
| ---- | ----------- | ---------- |
| 最長鏈  | 比特幣（簡化說法）   | 區塊數最多      |
| 最重鏈  | 比特幣（精確說法）   | 累積工作量最大    |
| 最重子樹 | 以太坊（PoW 時期） | GHOST 協議變體 |

以太坊（在 PoW 時期）使用 GHOST 協議，考慮的不只是最長鏈，還包括「叔塊」的貢獻。

***

## 孤塊的命運

當某條鏈被拋棄時：

* 該鏈上的區塊成為「孤塊」
* 孤塊中的交易回到交易池（如果還沒在主鏈上）
* 挖到孤塊的礦工失去區塊獎勵

這是礦工的風險之一——你的工作可能白費。

***

## 延伸閱讀

* [廣播](/qu-kuai-lian-ru-he-da-cheng-gong-shi/wa/bo.md) — 區塊如何傳播
* [驗證](/qu-kuai-lian-ru-he-da-cheng-gong-shi/wa/undefined.md) — 節點如何驗證區塊
* [51% 攻擊](/ren-shi-feng-xian-bao-hu-zi-chan/51-attack.md) — 算力攻擊
* [分叉](https://github.com/dAAAb/Blockpedia/blob/master/blockchain-intro/fork.md) — 區塊鏈分裂
* [共識機制](/qu-kuai-lian-ru-he-da-cheng-gong-shi/consensus.md) — 最長鏈原則所屬的框架

***

#### 參考資料

* [Bitcoin Whitepaper](https://bitcoin.org/bitcoin.pdf)
* [Longest Chain - Bitcoin Stack Exchange](https://bitcoin.stackexchange.com/questions/5540/what-does-the-term-longest-chain-mean)
