---
title: "權益證明與工作量證明"
description: "以太坊基於權益證明與工作量證明的共識機制比較"
lang: zh-tw
---

當 [以太坊](/) 推出時，權益證明 (PoS) 仍需要大量的研究與開發，才能被信任用於保護以太坊。工作量證明 (PoW) 是一個較簡單的機制，且已經被比特幣證明可行，這意味著核心開發人員可以立即實作它以啟動以太坊。後來又花了八年的時間，才將權益證明開發到可以實作的程度。

本頁面解釋了以太坊從工作量證明轉換為權益證明的基本原理以及其中涉及的權衡。

## 安全性 {#security}

以太坊研究人員認為權益證明比工作量證明更安全。然而，它最近才在真實的以太坊主網上實作，且不如工作量證明那樣經過時間的考驗。以下章節將討論權益證明的安全模型與工作量證明相比的優缺點。

### 攻擊成本 {#cost-to-attack}

在權益證明中，驗證者被要求在智能合約中託管（「質押」）至少 32 個 ETH。以太坊可以銷毀已質押的以太幣，以懲罰行為不當的驗證者。為了達成共識，至少 66% 的總質押以太幣必須投票支持特定的一組區塊。獲得 >=66% 質押投票的區塊將「已定案」，這意味著它們無法被移除或重組。

攻擊網路可能意味著阻止鏈達成最終性，或確保規範鏈中區塊的某種組織方式能以某種方式使攻擊者受益。這要求攻擊者透過累積大量以太幣並直接用其投票，或者欺騙誠實的驗證者以特定方式投票，來改變誠實共識的路徑。撇開欺騙誠實驗證者的複雜且低機率攻擊不談，攻擊以太坊的成本就是攻擊者為了影響共識以對其有利而必須累積的質押成本。

最低的攻擊成本是 >33% 的總質押量。持有 >33% 總質押量的攻擊者只需離線即可導致最終性延遲。這對網路來說是一個相對較小的問題，因為有一種稱為「不活躍漏損」的機制，會從離線驗證者那裡漏損質押，直到線上多數代表 66% 的質押量並能再次使鏈已定案。理論上，攻擊者也有可能以略高於 33% 的總質押量造成雙重最終性，方法是在被要求成為區塊生產者時建立兩個區塊而不是一個，然後用他們所有的驗證者進行雙重投票。每個分叉只需要 50% 的剩餘誠實驗證者首先看到每個區塊，因此如果他們設法將訊息的時間安排得恰到好處，他們可能就能使兩個分叉都已定案。這成功的可能性很低，但如果攻擊者能夠造成雙重最終性，以太坊社群將不得不決定跟隨其中一個分叉，在這種情況下，攻擊者的驗證者必然會在另一個分叉上被罰沒。

擁有 >33% 的總質押量，攻擊者有機會對以太坊網路產生輕微（最終性延遲）或更嚴重（雙重最終性）的影響。由於網路上質押了超過 14,000,000 個 ETH，且代表性價格為 1000 美元/ETH，發動這些攻擊的最低成本為 `1000 x 14,000,000 x 0.33 = $4,620,000,000`。攻擊者將透過罰沒失去這筆錢並被逐出網路。為了再次攻擊，他們必須（再次）累積 >33% 的質押並（再次）將其銷毀。每次嘗試攻擊網路將花費 >46 億美元（以 1000 美元/ETH 和 1400 萬 ETH 質押計算）。攻擊者在被罰沒時也會被逐出網路，並且他們必須加入啟用佇列才能重新加入。這意味著重複攻擊的頻率不僅受限於攻擊者累積 >33% 總質押量的速度，還受限於將其所有驗證者載入網路所需的時間。每次攻擊者發動攻擊，他們都會變得更窮，而社群的其餘部分則會因為隨之而來的供應衝擊而變得更富有。

其他攻擊，例如 51% 攻擊或以 66% 的總質押量進行最終性還原，需要多得多的 ETH，對攻擊者來說成本也高得多。

將此與工作量證明進行比較。在工作量證明的以太坊上發動攻擊的成本，是持續擁有 >50% 總網路算力的成本。這相當於足夠運算能力的硬體和營運成本，以在持續計算工作量證明解決方案時勝過其他礦工。以太坊主要使用 GPU 而不是 ASIC 進行挖礦，這降低了成本（儘管如果以太坊留在工作量證明上，ASIC 挖礦可能會變得更受歡迎）。對手必須購買大量硬體並支付運行硬體的電費才能攻擊工作量證明的以太坊網路，但總成本將低於累積足夠 ETH 以發動攻擊所需的成本。在工作量證明上進行 51% 攻擊的成本比在權益證明上便宜約 [20 倍](https://youtu.be/1m12zgJ42dI?t=1562)。如果攻擊被發現並且鏈進行硬分叉以移除他們的更改，攻擊者可以重複使用相同的硬體來攻擊新的分叉。

### 複雜性 {#complexity}

權益證明比工作量證明複雜得多。這可能是支持工作量證明的一點，因為較難在較簡單的協定中意外引入錯誤或意外影響。然而，經過多年的研究與開發、模擬和測試網實作，這種複雜性已經得到控制。權益證明協定已由五個獨立的團隊（在執行層和共識層上）使用五種程式語言獨立實作，提供了對抗客戶端錯誤的韌性。

為了安全地開發和測試權益證明共識邏輯，信標鏈在以太坊主網實作權益證明之前兩年就已推出。信標鏈充當了權益證明測試的沙盒，因為它是一個實作權益證明共識邏輯的即時區塊鏈，但不涉及真實的以太坊交易——實際上只是對自身達成共識。一旦它在足夠長的時間內保持穩定且無錯誤，信標鏈就會與以太坊主網「合併」。這一切都有助於控制權益證明的複雜性，使得意外後果或客戶端錯誤的風險變得非常低。

### 攻擊面 {#attack-surface}

權益證明比工作量證明更複雜，這意味著有更多潛在的攻擊向量需要處理。連接客戶端的不再是一個點對點網路，而是兩個，每個網路實作一個獨立的協定。在每個時槽中預先選擇一個特定的驗證者來提議區塊，這產生了阻斷服務攻擊的潛在風險，即大量的網路流量會使該特定驗證者離線。

攻擊者還可以透過仔細安排發布區塊或見證的時間，使其被一定比例的誠實網路接收，從而影響他們以特定方式投票。最後，攻擊者可以簡單地累積足夠的 ETH 進行質押並主導共識機制。這些 [攻擊向量都有相關的防禦措施](/developers/docs/consensus-mechanisms/pos/attack-and-defense)，但在工作量證明下，它們並不存在需要防禦的問題。

## 去中心化 {#decentralization}

權益證明比工作量證明更去中心化，因為挖礦硬體的軍備競賽往往會將個人和小型組織排除在外。雖然從技術上講，任何人都可以使用普通的硬體開始挖礦，但與機構挖礦作業相比，他們獲得任何獎勵的可能性微乎其微。在權益證明中，質押的成本和該質押的百分比回報對每個人都是相同的。目前運行一個驗證者的成本為 32 個 ETH。

另一方面，流動性質押衍生品的發明引發了中心化的擔憂，因為少數大型提供商管理著大量質押的 ETH。這是一個問題，需要盡快糾正，但它也比看起來更微妙。中心化的質押提供商不一定對驗證者擁有中心化的控制權——通常這只是一種建立 ETH 中央池的方式，許多獨立的節點營運商可以進行質押，而不需要每個參與者自己擁有 32 個 ETH。

對以太坊來說，最好的選擇是在家用電腦上本地運行驗證者，從而最大化去中心化。這就是為什麼以太坊抵制增加運行節點/驗證者硬體要求的變更。

## 永續性 {#sustainability}

權益證明是一種低碳的方式來保護區塊鏈。在工作量證明下，礦工競爭挖出區塊的權利。當礦工能更快地執行計算時，他們就更容易成功，這激勵了對硬體和能源消耗的投資。這在以太坊轉換為權益證明之前就已經觀察到了。在過渡到權益證明之前不久，以太坊每年的能耗約為 78 太瓦時 (TWh)——相當於一個小國家的能耗。然而，轉換為權益證明將這種能源消耗減少了約 99.98%。權益證明使以太坊成為一個節能、低碳的平台。

[更多關於以太坊能源消耗的資訊](/energy-consumption)

## 發行 {#issuance}

權益證明的以太坊可以透過發行比工作量證明的以太坊少得多的代幣來支付其安全性，因為驗證者不必支付高昂的電費。因此，ETH 可以降低其通貨膨脹，甚至在大量 ETH 被銷毀時變成通貨緊縮。較低的通貨膨脹水準意味著以太坊的安全性比在工作量證明下更便宜。

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


<VideoWatch slug="pow-vs-pos" />

## 延伸閱讀 {#further-reading}

- [Vitalik 的權益證明設計理念](https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51)
- [Vitalik 的權益證明常見問題](https://vitalik.eth.limo/general/2017/12/31/pos_faq.html#what-is-proof-of-stake)
- [關於 PoS 與 PoW 的「簡單解釋」影片](https://www.youtube.com/watch?v=M3EFi_POhps)