---
title: "工作量證明 (PoW)"
description: "工作量證明共識協定及其在以太坊中作用的解釋。"
lang: zh-tw
---

[以太坊](/)網路最初使用的共識機制包含**[工作量證明 (PoW)](/developers/docs/consensus-mechanisms/pow)**。這允許以太坊網路的節點對記錄在以太坊區塊鏈上的所有資訊狀態達成共識，並防止某些類型的經濟攻擊。然而，以太坊在 2022 年關閉了工作量證明，並開始改用[權益證明 (PoS)](/developers/docs/consensus-mechanisms/pos)。

<Alert variant="update">
<AlertEmoji text=":wave:"/>
<AlertContent>
<AlertDescription>
    工作量證明現已棄用。以太坊不再使用工作量證明作為其共識機制的一部分。相反地，它使用權益證明。閱讀更多關於[權益證明](/developers/docs/consensus-mechanisms/pos/)和[質押](/staking/)的資訊。
</AlertDescription>
</AlertContent>
</Alert>

## 先決條件 {#prerequisites}

為了更佳理解本頁面，我們建議您先閱讀[交易](/developers/docs/transactions/)、[區塊](/developers/docs/blocks/)和[共識機制](/developers/docs/consensus-mechanisms/)。

## 什麼是工作量證明 (PoW)？ {#what-is-pow}

中本聰共識 (Nakamoto consensus) 利用工作量證明，是曾經允許去中心化的以太坊網路對帳戶餘額和交易順序等事項達成共識（即所有節點同意）的機制。這防止了使用者「雙重支付」他們的代幣，並確保以太坊鏈極難被攻擊或操縱。這些安全屬性現在改由權益證明提供，使用稱為 [Gasper](/developers/docs/consensus-mechanisms/pos/gasper/) 的共識機制。

## 工作量證明與挖礦 {#pow-and-mining}

工作量證明是底層演算法，為礦工在工作量證明區塊鏈上所做的工作設定難度和規則。挖礦就是「工作」本身。它是將有效區塊新增至鏈上的行為。這很重要，因為鏈的長度有助於網路遵循區塊鏈的正確分叉。完成的「工作」越多，鏈就越長，區塊編號越高，網路對當前狀態的確定性就越高。

[更多關於挖礦的資訊](/developers/docs/consensus-mechanisms/pow/mining/)

## 以太坊的工作量證明是如何運作的？ {#how-it-works}

以太坊交易被處理成區塊。在現已棄用的工作量證明以太坊中，每個區塊包含：

- 區塊難度 – 例如：3,324,092,183,262,715
- mixHash – 例如：`0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29`
- 隨機數 (nonce) – 例如：`0xd3ee432b4fb3d26b`

這些區塊資料與工作量證明直接相關。

### 工作量證明中的工作 {#the-work}

工作量證明協定 Ethash 要求礦工經歷激烈的反覆試驗競賽，以找到區塊的隨機數。只有具有有效隨機數的區塊才能被新增至鏈中。

在競相建立區塊時，礦工會反覆將一個資料集（只能透過下載並執行完整鏈來獲得，正如礦工所做的那樣）輸入數學函數中。該資料集用於產生一個低於由區塊難度決定的目標值的 mixHash。做到這一點的最佳方法是透過反覆試驗。

難度決定了雜湊的目標值。目標值越低，有效雜湊的集合就越小。一旦產生，其他礦工和用戶端就非常容易驗證。即使只有一筆交易發生改變，雜湊也會完全不同，從而發出詐欺訊號。

雜湊運算使詐欺很容易被發現。但工作量證明作為一個過程，也是對攻擊鏈的一大威懾。

### 工作量證明與安全性 {#security}

礦工受到激勵在以太坊主鏈上進行這項工作。少數礦工幾乎沒有動機去啟動他們自己的鏈——這會破壞系統。區塊鏈依賴於擁有單一狀態作為真實來源。

工作量證明的目標是延長鏈。最長的鏈最被相信是有效的，因為它完成了最多的運算工作來產生。在以太坊的 PoW 系統中，幾乎不可能建立抹除交易、建立假交易或維護第二條鏈的新區塊。這是因為惡意礦工需要始終比其他所有人更快地解出區塊隨機數。

為了持續建立惡意但有效的區塊，惡意礦工需要超過 51% 的網路挖礦算力才能擊敗其他所有人。這種數量的「工作」需要大量昂貴的運算能力，而所消耗的能源甚至可能超過在攻擊中獲得的收益。

### 工作量證明經濟學 {#economics}

工作量證明還負責向系統發行新貨幣，並激勵礦工進行工作。

自從[君士坦丁堡升級](/ethereum-forks/#constantinople)以來，成功建立區塊的礦工會獲得 2 個新鑄造的 ETH 和部分交易手續費作為獎勵。叔塊 (Ommer blocks) 也會補償 1.75 ETH。叔塊是礦工幾乎在另一個礦工建立規範區塊的同時建立的有效區塊，最終由哪條鏈首先被建構在其上來決定。叔塊通常是由於網路延遲而發生的。

## 最終性 {#finality}

當一筆交易成為無法更改的區塊的一部分時，它在以太坊上就具有「最終性」。

因為礦工以去中心化的方式工作，所以可能同時挖出兩個有效區塊。這會建立一個暫時的分叉。最終，在後續區塊被挖出並新增至其中使其變得更長之後，這些鏈中的一條成為了被接受的鏈。

讓事情變得更複雜的是，在暫時分叉上被拒絕的交易可能沒有被包含在被接受的鏈中。這意味著它可能會被還原。因此，最終性是指在認為交易不可逆轉之前您應該等待的時間。在以前的工作量證明以太坊下，在特定區塊 `N` 之上挖出的區塊越多，對 `N` 中的交易成功且不會被還原的信心就越高。現在，透過權益證明，最終化是區塊的明確屬性，而不是機率屬性。

## 工作量證明能源使用 {#energy}

對工作量證明的一個主要批評是保持網路安全所需的能源輸出量。為了維持安全性和去中心化，工作量證明上的以太坊消耗了大量能源。在切換到權益證明之前不久，以太坊礦工總共消耗了約 70 TWh/年（大約與捷克共和國相同 - 根據 [digiconomist](https://digiconomist.net/) 在 2022 年 7 月 18 日的資料）。

## 優缺點 {#pros-and-cons}

| 優點                                                                                                                                                                                                                         | 缺點                                                                                                                                         |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| 工作量證明是中立的。您不需要 ETH 即可開始，區塊獎勵允許您從 0 ETH 變成正餘額。使用[權益證明](/developers/docs/consensus-mechanisms/pos/)，您需要有 ETH 才能開始。 | 工作量證明消耗大量能源，對環境不利。                                                                      |
| 工作量證明是一種經過反覆測試的共識機制，多年來一直保持比特幣和以太坊的安全和去中心化。                                                                                          | 如果您想挖礦，您需要非常專業的設備，這是一筆很大的初期投資。                                                |
| 與權益證明相比，它相對容易實作。                                                                                                                                                                | 由於所需的運算量不斷增加，礦池可能會主導挖礦遊戲，從而導致中心化和安全風險。 |

## 與權益證明比較 {#compared-to-pos}

從高層次來看，權益證明與工作量證明具有相同的最終目標：幫助去中心化網路安全地達成共識。但它在過程和人員方面有一些差異：

- 權益證明將運算能力的重要性替換為質押的 ETH。
- 權益證明用驗證者取代了礦工。驗證者質押他們的 ETH 以啟動建立新區塊的能力。
- 驗證者不競爭建立區塊，而是由演算法隨機選擇。
- 最終性更清晰：在某些檢查點，如果 2/3 的驗證者同意區塊的狀態，則認為它是最終的。驗證者必須為此押上他們的全部質押，因此如果他們試圖在未來串通，他們將失去全部質押。

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

## 比較喜歡視覺學習？ {#visual-learner}

<VideoWatch slug="proof-of-work-explained" />

## 進一步閱讀 {#further-reading}

- [多數攻擊](https://en.bitcoin.it/wiki/Majority_attack)
- [關於結算最終性](https://blog.ethereum.org/2016/05/09/on-settlement-finality)

### 影片 {#videos}

- [工作量證明協定的技術解釋](https://youtu.be/9V1bipPkCTU)

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

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