# 軟分岔

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

## 軟分叉（Soft Fork）是區塊鏈的「溫和升級」——新版本向後相容，舊節點不升級也能繼續運作。就像把速限從 100 降到 80，開 80 以下的車，不管新舊規則都合法。

想像一個圖書館有規定：借書最多 10 本。

現在改成最多 5 本。

已經借了 5 本以下的人？完全沒影響。

這就是軟分叉——**規則變嚴了，但舊的做法在新規則下仍然合法**。

### 硬分叉 vs 軟分叉

用「區塊大小」來理解：

**硬分叉**（放寬規則）：

```
舊規則：區塊 ≤ 1MB
新規則：區塊 ≤ 8MB

新節點產生 5MB 區塊 → 舊節點拒絕（太大了！）
結果：不相容，可能分裂
```

**軟分叉**（收緊規則）：

```
舊規則：區塊 ≤ 1MB
新規則：區塊 ≤ 0.5MB

新節點產生 0.4MB 區塊 → 舊節點接受（沒超過 1MB）
結果：相容，平滑過渡
```

| 特性   | 軟分叉       | 硬分叉      |
| ---- | --------- | -------- |
| 向後相容 | ✅ 是       | ❌ 否      |
| 規則方向 | 變嚴        | 變鬆或重大改變  |
| 升級要求 | 多數礦工即可    | 所有節點     |
| 分裂風險 | 低         | 高        |
| 典型用途 | 新增功能、修復漏洞 | 擴容、改共識機制 |

### 為什麼軟分叉更「安全」？

**舊節點不知道升級發生了什麼，但它們仍然認為新區塊是有效的。**

這有幾個好處：

1. **不強制升級**：舊節點可以繼續運作（雖然功能較少）
2. **不會分裂**：不會產生新幣
3. **漸進式採用**：社群有時間慢慢升級

但也有缺點：

* 功能受限——只能「收緊」規則
* 舊節點可能錯過新功能
* 如果礦工支持度不足，可能造成混亂

### 歷史上的軟分叉

#### SegWit（隔離見證）

2017 年，比特幣最重要的軟分叉。

**問題**：區塊太小（1MB），交易費用飆升。

**解決方案**：把「簽名數據」（見證）從交易中分離出來，有效增加區塊容量。

```
傳統交易結構：
┌─────────────────────────────────┐
│ 交易數據 + 簽名數據（見證）     │ ← 全部佔用區塊空間
└─────────────────────────────────┘

SegWit 交易結構：
┌─────────────────┬───────────────┐
│ 交易數據        │ 見證（分離）  │ ← 見證有折扣
└─────────────────┴───────────────┘
```

**為什麼是軟分叉？**

舊節點看 SegWit 交易時，會把見證部分當作「任何人都能花」的腳本。

技術上合法，只是舊節點不知道新功能的存在。

**SegWit 的影響：**

| 效果      | 說明               |
| ------- | ---------------- |
| 容量增加    | 有效區塊大小提升到約 2-4MB |
| 手續費降低   | 交易成本下降           |
| 啟用閃電網路  | 為 Layer 2 鋪路     |
| 修復交易延展性 | 解決了一個長期漏洞        |

{% hint style="info" %}
SegWit 是比特幣歷史上爭議最大的升級之一。支持者認為它是優雅的解決方案，反對者認為它是「hack」，直接擴大區塊才是正途。這個分歧最終導致比特幣現金的分裂。
{% endhint %}

#### Taproot

2021 年，比特幣另一次重大軟分叉。

**目的**：

1. 增強隱私——複雜交易看起來和普通交易一樣
2. 提升效率——簡化多重簽名驗證
3. 智能合約能力——更靈活的腳本功能

Taproot 是比特幣自 SegWit 以來最重要的升級。

### 軟分叉的啟動方式

軟分叉不是「按個按鈕」就能啟動，需要礦工的支持。

#### BIP 9：信號機制

礦工在挖出的區塊中「投票」支持或反對。

```
啟動條件：
- 在一個「難度調整週期」（約 2 週）內
- 超過 95% 的區塊表示支持
- 升級就會啟動
```

#### BIP 8：使用者啟動

如果礦工不配合，用戶可以自己啟動。

這是一種「最後手段」——如果礦工持續反對，用戶可以選擇無視他們挖的區塊。

{% hint style="warning" %}
使用者啟動軟分叉（UASF）是核武器級別的手段。2017 年 SegWit 爭議期間，社群曾威脅使用 UASF，這被認為是推動礦工最終支持 SegWit 的關鍵因素之一。
{% endhint %}

### 軟分叉的風險

雖然軟分叉比硬分叉「溫和」，但仍有風險：

#### 1. 51% 攻擊窗口

如果只有 51% 的礦工升級：

* 新規則的區塊會被舊礦工視為有效
* 但舊規則的區塊會被新礦工拒絕

這可能導致暫時的鏈分裂和確認延遲。

#### 2. SPV 錢包風險

輕量級錢包（SPV）不驗證所有規則，可能被騙接受無效交易。

#### 3. 功能限制

軟分叉只能「收緊」規則，有些改變（如增加區塊大小）必須用硬分叉。

### 以太坊用軟分叉嗎？

以太坊主要使用硬分叉進行升級。

**為什麼？**

1. 以太坊升級通常涉及 EVM 改變，很難「向後相容」
2. 社群高度一致，硬分叉風險較低
3. 以太坊的開發節奏更快，需要更靈活的升級方式

比特幣社群則傾向軟分叉，因為：

1. 保守穩定是優先
2. 強調「不強制升級」的精神
3. 礦工和用戶可以自己選擇

### 軟分叉 vs 硬分叉：哪個更好？

**沒有絕對的答案。**

| 場景             | 建議方式         |
| -------------- | ------------ |
| 增加新功能（不改變核心規則） | 軟分叉          |
| 修復安全漏洞         | 軟分叉（快速部署）    |
| 擴大區塊/改共識       | 硬分叉          |
| 社群高度共識         | 都可以          |
| 社群意見分裂         | 硬分叉（讓兩派各走各的） |

{% hint style="success" %}
軟分叉是區塊鏈「保守升級」的藝術。它讓網路能在不強制所有人升級的情況下演進，保持了去中心化系統的彈性。SegWit 和 Taproot 證明了：即使在嚴格的向後相容限制下，仍能實現重要的技術突破。
{% endhint %}

***

#### 相關條目

* [硬分叉](/gei-kai-fa-zhe-de-zhi-nan/fork/hard-fork.md)
* [SegWit](https://github.com/dAAAb/Blockpedia/blob/master/blockchain-dev/segwit.md)
* [Taproot](/gei-kai-fa-zhe-de-zhi-nan/taproot.md)
* [閃電網路](https://github.com/dAAAb/Blockpedia/blob/master/layer2/lightning-network.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/gei-kai-fa-zhe-de-zhi-nan/fork/soft-fork.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.
