# 女巫攻擊

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

## 女巫攻擊（Sybil Attack）是指一個人偽裝成很多人，試圖操控去中心化網路。就像一個人在網路上開了 100 個分身帳號，假裝是 100 個不同的人投票。

想像一個小鎮要投票決定蓋公園還是停車場。

有個人想要蓋停車場，但他只有一票。

於是他戴上假髮、換衣服、化妝，假裝自己是 50 個不同的人，投了 50 票。

這就是女巫攻擊。

### 名字從哪來？

「女巫」（Sybil）這個名字來自 1976 年的美國電視電影《乘乙》（Sybil）。

片中女主角有 16 種不同的人格——同一個人，卻表現得像 16 個不同的人。

2002 年，微軟研究員 John Douceur 在論文中首次用這個名字來描述這種攻擊。

他要傳達的概念很簡單：**在去中心化網路中，你怎麼知道對面是一個人還是一百個人？**

### 為什麼這是問題？

去中心化系統的核心假設是：有很多**獨立的**參與者共同維護網路。

比特幣假設大多數節點是誠實的。

以太坊假設大多數驗證者會正確投票。

DAO 假設大多數代幣持有者會理性治理。

**但如果一個人可以假裝成很多人呢？**

他就能：

| 攻擊目標   | 方式        | 影響       |
| ------ | --------- | -------- |
| 投票系統   | 創建大量假帳號投票 | 操控治理決策   |
| 空投機制   | 用大量錢包領取獎勵 | 稀釋真實用戶權益 |
| 聲譽系統   | 給自己刷好評    | 欺騙其他用戶   |
| P2P 網路 | 包圍誠實節點    | 切斷資訊傳遞   |

### 區塊鏈如何防範？

區塊鏈用一個巧妙的方法：**讓偽裝成本很高**。

#### 1. 工作量證明（PoW）

比特幣說：「你想要投票權？先證明你有算力。」

偽裝成 100 個礦工？你需要 100 倍的電費和設備。

**偽裝的成本等於實際擁有的成本。**

#### 2. 權益證明（PoS）

以太坊說：「你想要驗證權？先質押 32 ETH。」

偽裝成 100 個驗證者？你需要 3200 ETH（數百萬美元）。

**你的「分身」有多少取決於你質押多少。**

#### 3. 身分驗證（KYC）

中心化交易所說：「你想開帳戶？先提交身分證。」

這完全阻止了女巫攻擊，但也犧牲了隱私和去中心化。

**這是一種權衡。**

### 空投中的女巫攻擊

近年最常見的女巫攻擊發生在**空投獵人**（Airdrop Farmers）身上。

**標準流程：**

```
1. 新項目宣布：未來會空投給早期用戶
2. 女巫攻擊者創建 100 個錢包
3. 用腳本讓這 100 個錢包都「使用」協議
4. 空投時，一個人領 100 份
5. 真正的用戶權益被稀釋
```

**項目如何反擊？**

| 方法       | 說明                     |
| -------- | ---------------------- |
| 鏈上行為分析   | 檢測相似的交易模式              |
| Gas 來源追蹤 | 100 個錢包的 ETH 都來自同一個地址？ |
| 時間戳分析    | 所有錢包同時進行相似操作？          |
| 機器學習     | 用 AI 識別異常行為模式          |
| 社交圖譜     | 檢查錢包之間的關聯              |

**LayerZero 的做法**：在空投前設置「自首期」，讓女巫攻擊者可以坦白換取部分獎勵，否則被抓到就一毛沒有。

結果：大量可疑錢包主動自首。

### 經典案例：Eclipse Attack

女巫攻擊的進階版是「日蝕攻擊」（Eclipse Attack）。

攻擊者創建大量假節點，「包圍」一個誠實節點，切斷它與外界的連接。

```
正常情況：
  誠實節點 ←→ 其他誠實節點

被日蝕攻擊後：
  誠實節點 ←→ [攻擊者的假節點] ←X→ 其他誠實節點
```

被「日蝕」的節點：

* 收到的區塊都來自攻擊者
* 可能接受無效的交易
* 看不到真正的最長鏈

這是為什麼比特幣節點會主動連接多個**不同來源**的節點。

### 治理中的女巫攻擊

去中心化治理（DAO）特別容易受到女巫攻擊。

**問題**：如果一個代幣持有者可以把代幣分散到 100 個錢包，在某些投票機制下可能獲得更大影響力。

**解決方案**：

1. **二次方投票**（Quadratic Voting）：投票成本是票數的平方。投 4 票要花 16 個代幣，投 100 票要花 10000 個代幣。分散沒有好處。
2. **靈魂綁定代幣**（Soulbound Token）：不可轉讓的身分代幣，證明你是「獨立的一個人」。
3. **社交驗證**：Gitcoin Passport 之類的系統，用多種方式驗證你是真人。

### 為什麼完全解決很難？

女巫攻擊觸及了一個哲學問題：

**在數位世界，身分的意義是什麼？**

你怎麼證明你是「你」而不是「很多人假裝的一個人」或「一個人假裝的很多人」？

目前的解決方案都有權衡：

| 方法      | 優點     | 缺點       |
| ------- | ------ | -------- |
| PoW/PoS | 完全去中心化 | 用錢買影響力   |
| KYC     | 完全阻止女巫 | 犧牲隱私、中心化 |
| 社交圖譜    | 較平衡    | 仍可被攻擊    |
| 生物辨識    | 強身分證明  | 嚴重隱私問題   |

也許未來會有更好的解決方案——某種既保護隱私又能證明「獨特性」的機制。

這是 Web3 身分領域正在研究的前沿問題。

{% hint style="info" %}
女巫攻擊提醒我們：去中心化系統的安全不只在於技術，也在於經濟激勵設計。當偽裝成本低於獲利時，一定會有人嘗試攻擊。好的協議設計會讓「誠實參與」比「攻擊」更划算。
{% endhint %}

***

#### 相關條目

* [51% 攻擊](/ren-shi-feng-xian-bao-hu-zi-chan/51-attack.md)
* [工作量證明](https://github.com/dAAAb/Blockpedia/blob/master/gong/gong-zuo-liang-ming.md)
* [權益證明](https://github.com/dAAAb/Blockpedia/blob/master/gong/yi-ming.md)
* [DAO](/qu-zhong-xin-hua-zu-zhi/dao.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/ren-shi-feng-xian-bao-hu-zi-chan/sybil-attack.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.
