權益證明與工作量證明的比較
最後編輯: @cc03668(opens in a new tab), 2024年1月25日
在以太坊推出時,權益證明還需要許多的研究及開發以確保其可以保護以太坊, 而工作量證明則是一個較簡單且已被比特幣驗證過的機制,這表示核心開發者可以直接實行它並讓以太坊上線。 從那時候到可以實行權益證明,一共又花費了八年的開發時間。
本頁解釋以太坊從工作量證明移過渡到權益證明的源由,及其所牽涉的取捨。
安全性
以太坊研究者認為權益證明相較工作量證明是一個更安全的機制。 然而,它最近才在以太坊的主網上實行,運行時間也少於工作量證明。 在接下來的部分,我們將討論相較於工作量證明,權益證明安全模型的利與弊。
攻擊成本
在權益證明中,驗證者需要在智慧型合約中代管(「質押」)至少 32 個以太幣。 以太坊能夠在驗證者行為不端時,將質押的以太幣銷毀作為懲罰。 為了達成共識,至少 66% 的總質押以太幣需要投票贊成某個特定的區塊集合。 獲得 >= 66% 的質押以太幣投票贊成的區塊會「最終確定」,代表這些區塊無法再被移除或是重組。
攻擊網路可能是阻止鏈的最終確定,或是確保規範鏈內的某種區塊組織以某種方式讓攻擊者受益。 這需要攻擊者透過累積大量以太幣並直接投票,或是欺騙誠實的驗證者,讓他們投出特定的票,將誠實的共識改道。 複雜且概率較低的攻擊會欺騙誠實的驗證者,除此之外,攻擊以太坊的成本就是攻擊者必須累積的以有利於他們的方式影響共識的質押以太幣。
最低攻擊成本是 >33% 的總質押以太幣。 持有 >33% 質押總量的攻擊者可以簡單地透過離線造成最終確定性延遲。 這對網路造成的影響相對較小,因為有一種叫做「怠惰逐減懲罰」的機制,它會將離線驗證者的質押逐漸消減,直到線上的多數驗證者的質押佔比達到 66%,這時就可以重新對鏈進行最終確定。 攻擊者理論上也可以透過持有稍高於 33% 的質押總量來製造雙重最終確定性,即攻擊者會在他們被要求產生區塊時,用他們的所有驗證者去重複投票並建立不止一個區塊。 每個分叉只需 50% 的剩餘誠實驗證者就能先看到每個區塊,所以如果他們控制訊息傳送時間得宜,他們有可能讓兩個分叉都能最終確定。 這種攻擊的成功率很低,但如果攻擊者有辦法做到雙重最終確定性,以太坊社群將不得不決定採用其中一個分叉,這種情況下,另一個分叉上攻擊者的驗證者必然會遭到罰沒。
擁有 >33% 的質押總量,攻擊者就有機會對以太坊網路造成輕微(最終確定性延遲)或是嚴重(雙重最終確定性)的影響。 當在網路上質押大於 14,000,000 個以太幣時,以代表性的價格 1000 美元/以太幣計算,這些攻擊的最低成本為 1000 x 14,000,000 x 0.33 = $4,620,000,000
。 攻擊者遭到罰沒時會失去這些錢並被逐出以太坊。 如果他們想要再次攻擊,則需要再次累積 >33% 的質押以太幣,然後再把這些錢銷毀一次。 每次嘗試攻擊以太坊網路都需要 >46 億美元的成本(以 1000 美元/以太幣及 1400 萬質押以太幣計算)。 攻擊者在被罰沒時也會被驅逐出以太坊,如果他們想再次加入,則需要重新排隊。 這表示重複攻擊的速率不只受制於攻擊者需要累積 >33% 的質押總量,還需要花時間等待其所有的驗證者加入以太坊網路。 每一次的攻擊都會讓攻擊者變得更窮,而剩餘的社群則得益於供給衝擊的結果而變得更富。
其他攻擊,如 51% 攻擊或是透過 66% 質押總量的最終確定性反轉,都需要更多的以太幣,相對來說也會耗費攻擊者更高的成本。
下面把權益證明與工作量證明做下比較。 在工作量證明以太坊上,發起攻擊的成本即是持續擁有 >50% 以太幣總算力的成本。 這相當於擁有充足算力的硬件和運行成本,可勝過其他礦工持續計算工作量證明的解的硬體及其運行花費。 在以太坊挖礦主要透過圖形處理單元而不是專用積體電路,這讓成本有所降低(但如果讓以太坊繼續使用工作量證明,專用積體電路挖礦可能已變得更加受歡迎)。 對手會需要購買大量的硬體並支付高昂的電費以攻擊工作量證明,但總成本還是比累積足夠的以太幣以發動攻擊低。 在工作量證明上發動 51% 攻擊要比在權益證明上便宜約 20 倍(opens in a new tab)。 如果攻擊被偵測到,且以太坊透過硬分叉移除了所造成的改變,攻擊者還是可以使用相同的硬體,對新分叉重複發動攻擊。
複雜性
權益證明比工作量證明複雜得多。 這可能會是工作量證明的好處之一,因為它比較難導入錯誤,或是對較簡易的協定造成意外影響。 不過,歷經多年的研究、開發、模擬及測試網實行,這樣的複雜性已經被馴化。 權益證明協定已經由五個獨立團隊(在各個執行層及共識層上)用五種不同的程式設計語言獨立地實行,以增強對用戶端錯誤的韌性。
為了能夠安全地開發及測試權益證明的共識邏輯,在以太坊實行權益證明的兩年前就已啟動信標鏈。 信標鏈作為權益證明測試的沙盒,是一條實行權益證明共識邏輯的即時區塊鏈,但不會影響實際以太坊交易,能有效地自行達成共識。 在它持續表現穩定且沒有發生任何錯誤足夠長的時間後,信標鏈被「合併」進以太坊主網中。 這些都能協助降低權益證明的複雜性,讓發生非計畫性後果或用戶端錯誤的風險變得極低。
攻擊媒介
權益證明比工作量證明更複雜,這意味著需要處理更多的攻擊媒介。 與一個連線用戶端的點對點網路不同,權益證明有兩個點對點網路,分別實行不同的協定。 在每個時隙預先選擇一名特定驗證者可能會造成阻斷服務攻擊,其中大量的網路流量會導致該特定驗證者離綫。
攻擊者還有一些方法可以精心安排其區塊或證明的釋放時間,使它們被特定比例的誠實網路所接收,從而影響他們以特定方式進行投票。 最後,攻擊者可以簡單地累積足夠多的以太幣進行質押,並主導共識機制。 所有這些攻擊媒介都有相應的防禦措施,但工作量證明機制下,並未提供這些防禦措施。
去中心化
權益證明比工作量證明更加去中心化,因爲挖礦硬體的軍備競賽趨於淘汰個人礦工和小型組織。 雖然從技術上講,任何人都可以使用一般的硬體進行挖礦,但與機構化的挖礦作業相比,他們獲得獎勵的可能性微乎其微。 而在權益證明機制中,每個人的質押成本和回報百分比都是相同的。 目前,運行一個驗證者需要質押 32 個以太幣。
另一方面,流動性質押衍生品的出現引起了對中心化的憂慮,因爲一些大型供應商管理了大量的質押以太幣。 這個問題確實存在,并且需要儘快更正,但實際情況也比看起來更微妙。 中心化的質押供應商不一定會對驗證者進行中心化控制 - 這通常只是建立中心化以太幣池的一種方式,讓許多獨立節點營運商能夠進行質押,而不要求每名參與者都擁有 32 個以太幣。
對於以太坊,最佳的選項是讓驗證者在家用電腦上本機運作,以實現最大程度的去中心化。 這就是爲什麽以太坊拒絕提高運作節點/驗證者的硬體要求。
永續性
權益證明是一種保護區塊鏈的低碳方式。 在工作量證明機制下,礦工會爭奪區塊的開采權。 能夠更快執行運算的礦工更容易成功,這刺激了對硬體的投資和能源消耗。 以太坊在過渡到權益證明之前就觀察到了這一點。 在過渡到權益證明的前夕,以太坊的年耗電量約爲 78 太瓦時 - 相當於一個小型國家的用電量。 但在過渡到權益證明后,該能源消耗減少了約 99.98%。 權益證明使以太坊成爲一個節能、低碳的平台。
發行
權益證明以太坊在支付其安全成本時,發行的代幣比工作量證明以太坊少得多,因爲驗證者無需支付高昂的電力成本。 因此,以太幣可以降低通貨膨脹,在大量以太幣被銷毀時,甚至會出現通貨緊縮。 更低的通貨膨脹水平意味著以太坊的安全成本相比工作量證明機制更低。
想透過視覺方式學習?
觀看 Justin Drake 解釋權益證明相較於工作量證明的優點: