原文標題:《Vitalik:權益證明 vs. 工作量證明 (2020 年 11 月)》
作者:Vitalik Buterin,以太坊創始人
本文原由 Chih-Cheng Liang 和 Hsiao-wei Wang 翻譯為繁體中文,由于表達習慣不同,考慮到簡體中文讀者的閱讀體驗,ECN 對本文進行了簡體轉化和二次校對。權益證明 (Proof of Stake, PoS) 在區塊鏈安全性上優于工作量證明 (Proof of Work, PoW) 的關鍵因素主要有三,
權益證明在同樣成本下可提供更高的安全性
理解這點最簡單的方式就是把權益證明和工作量證明擺在一起看,假設每天有 $1 的區塊獎勵,攻擊此網路所需的成本是多少。
基于 GPU 的工作量證明
你可以便宜租到 GPU,所以攻擊網路的成本就只是租到足夠的 GPU 算力以超過現有的礦工。每產生 $1 的區塊獎勵,現有礦工的成本將近 $1 (如果成本高于 $1,礦工就會因為無利可圖而退出,反之新礦工就會加入進來獲取利潤)。因此,攻擊網路的成本只需要高于 $1/ 天,而且可能只需要持續幾個小時。
總攻擊成本:~$0.26(假設攻擊 6 小時),且因為攻擊者可以收到區塊獎勵,所以這個數字還有可能壓到零,
基于 ASIC 的工作量證明
ASICs 其實是資本成本:當買進 ASIC 時你預期大概可以用兩年,因為它會慢慢耗損或是被性能更好的硬件取代。如果一個鏈被 51% 攻擊了,社群大概會更換 PoW 算法來做出應對,而這時你的 ASIC 就會失去價值,平均而言,挖礦成本約為 1/3 的經常性成本與 2/3 的資本成本 (詳見此處)。
因此,每 $1 的區塊獎勵上,礦工每天會花 ~$0.33 在電力與維護上,并花費 ~$0.67 在他們的 ASIC 上,假設 ASIC 可以用大約 2 年,礦工會需要為單位 ASIC 硬件花費 $486.67。(譯注:$486.67 = 365 天 x 2 x $0.67 資本成本)
總攻擊成本:$486.67 (ASICs) + $0.08 (電力與維護) = $486.75
(譯注:此處電力與維護成本也是假設攻擊時長 6 小時)
話雖如此,值得注意的是 ASICs (相較 GPU) 帶來較高的安全性是以中心化的高代價換來的,因此加入 ASIC 挖礦的門檻也非常高。)
權益證明 Proof of stake
權益證明的成本幾乎是百分百的資本成本 (抵押的幣);唯一的營運成本是運行節點的成本,這樣人們會愿意為每天每 $1 的區塊獎勵鎖住多少的資金呢?不像 ASIC,抵押的幣不會貶值,而且當你不想抵押了你還可以在一段短時間內取回質押金。因此,參與者應該會愿意為同樣程度的獎勵付出比 ASIC 的情況更高的資本成本,
讓我們假設 ~15% 的報酬率足夠吸引人們抵押 (這是 eth2 的期望報酬率)。因此每天 $1 的區塊獎勵會吸引相當于 6.667 年報酬的抵押,或換算為金額為 $2,433 。節點消耗的硬件與電力成本很小,每一千元的電腦可以抵押成千上萬的資產,而且每月 ~$100 的電力與網費也算足夠,但保守來說,我們假設這些經常性成本是抵押總成本的 ~10%,所以我們只有每天 $0.90 的區塊獎勵對應到資本成本,因此我們還要把上面的數字減少 ~10%,
(譯注:6.667 年 = $1 / (15% 年報酬);$2,433 = $1/ 天 x 365 x 6.667)
總攻擊成本:$0.90/ 天 * 6.667 年 = $2,189
長期來說,這個攻擊成本會預期會更高,因為抵押會變得更有效率,而且人們也會更能接受較低的報酬率。我個人預期這個數字最終會攀升到 $10,000 的程度,
取得這么高程度安全性的唯一「代價」就是在質押期間不方便隨意轉移質押金。甚至有可能因為人們認知到這些被鎖住的幣會造成幣的價值攀升,所以在社群流通的貨幣總數,或是能做有生產性投資的資金,都能維持不變,反觀 PoW,維持共識的「代價」是瘋狂地損耗大量電力,
更高安全性或更低成本?
注意我們有兩種方式可以運用這個增加 5-20 倍的每單位成本安全性,一種方式是區塊獎勵維持現狀,并受益于增加的安全性。另一種方式是維持現有程度的安全性,并大量減少區塊獎勵 (也就是減少共識機制成本的「浪費」),
兩種方式都行,我個人喜歡后者,因為我們下文會看到,比起工作量證明,在權益證明中一個成功的攻擊能夠造成的傷害更少,而且更容易從攻擊中復原。
權益證明更容易從攻擊中復原
在工作量證明的系統,如果你的鏈遭受 51% 攻擊,你會怎么做?目前為止,實踐上唯一的應對方式一直是「慢慢等,直到攻擊者覺得無聊」。但這忽略了一種更危險的攻擊叫做「重生點埋伏攻擊 (spawn camping attack)」,攻擊者可以對鏈攻擊再攻擊,明確的目標就是要讓鏈無法再使用。
(譯注:重生點埋伏是一種游戲術語,在對方玩家陣亡重生的地方埋伏,造成對方玩家一重生就再陣亡,毫無回擊能力,)
基于 GPU 的系統完全沒有防御的辦法,而且持續攻擊的攻擊者可以輕易讓一個鏈永遠毫無用處 (或更實際一點,轉移到權益證明或 proof of authority 權威證明)。實際上,在攻擊開始后的前幾天,攻擊者的成本就會變得非常低,而誠實礦工會離開,因為他們沒辦法在持續攻擊之下取得區塊獎勵。
在基于 ASIC 的系統,社群有辦法應對第一波攻擊,但接下來的攻擊就會變得很容易。社群可以在第一波攻擊之后,硬分叉來更換工作量證明的演算法,也就是把所有 ASIC 「變磚」(包含攻擊者與誠實礦工的 ASIC)。但如果攻擊者愿意承受自己 ASIC 變磚的成本,接下來的情況就和 GPU 的情況一樣 (因為還沒有足夠的時間去為新算法制造與生產 ASIC),所以在這之后攻擊者可以很便宜地持續重生點埋伏攻擊。
權益證明的情況,情況則變得非常開朗,針對一些種類的 51% 攻擊 (特別指想要推翻已經敲定的區塊),權益證明共識有內建的 「罰沒」 (slashing) 機制,大比例的攻擊者抵押會被自動銷毀 (而且不會銷毀到其他人的抵押)。
針對其他種類的,更難偵測的攻擊 (特別指 51% 合謀截斷其他人資訊),社群可以協調一個「 少數使用者發起軟分叉 minority user-activated soft fork (UASF)」,可以大量銷毀攻擊者的資金 (在以太坊中,可以透過「消極懲罰 inactivity leak」做到)。不需要采取「硬分叉刪除貨幣」措施,除了 UASF 需要人為協調要選擇哪個少數區塊,其余事情都是自動化的,只要遵照協定規則去執行即可。
因此,對鏈的第一次攻擊就會耗損攻擊者幾百萬美元,而且社群可以幾天內馬上站穩腳步。第二次攻擊仍然會花費攻擊者數百萬美元,因為他們需要買新的幣去取代舊的已經燒毀的幣,再攻擊第三次,就會再燒更多的數百萬美元。局面極為不對稱,而且優勢并不會在攻擊者那邊。
權益證明比 ASIC 更去中心化
基于 GPU 的工作量證明還算合理地去中心化,因為取得 GPU 不會太難,但前面提過,基于 GPU 的挖礦難以滿足「在攻擊之下的安全性」這個準則。另一方面,基于 ASIC 的挖礦,則需要數百萬美元的資本 (而且如果你的 ASIC 是買來的,多數時候,制造商會占更多便宜)
這個資本門檻會是回答「權益證明代表富者更富」這個常見論點的答案:ASIC 挖礦也是富者更富,而且這個局面下,富者更占據優勢,權益證明的最低抵押門檻在相比之下算是很低,而且許多一般人更有機會進入,
(譯注:就文章完成當下 440 USD/ETH 的價格來看,最低抵押門檻大概是 9.3 萬人民幣。)
進一步說,權益證明更能抵抗審查。GPU 挖礦和 ASIC 挖礦很容易偵測,他們需要大量電力消耗、昂貴硬體采購、及大型廠房。另一方面,權益證明可以跑在一臺不起眼的筆電上,甚至也可以透過 VPN 做,
工作量證明可能的優勢
我認為 PoW 有兩大主要優勢,但這些優勢其實有相當的限制性。
權益證明更像個「封閉系統」,長期而言財富更加集中。
在權益證明中,如果你有一些幣,你可以抵押那些幣,并且獲得更多同種類的幣。而在工作量證明中,你總是可以獲得更多幣,但你需要一些外部資源來達成。因此,人們會認為長期而言權益證明的幣的分配會更集中。
我的回應是,在 PoS 中,報酬一般而言會很低 (所以驗證者的獲利也會低)。在 eth2,我們預期驗證者的年收益率會相當于總 ETH 供給量的 ~0.5-2%,而且更多驗證者抵押,利率會更低,因此,可能要花個一世紀,整個資產集中程度才會翻倍,而且在這樣的時間跨度之下,其他促進分配的壓力 (人們想花他們手上的錢,分配資產到慈善或他們自己的子孫等等) 比較可能會占上風,
權益證明需要「弱主觀性」 (weak subjectivity) 而工作量證明不需要。
關于「弱主觀性」的概念可以看這個原始介紹。本質上,就是節點在第一次上線,或是在離線很長一段時間之后 (數個月) 再次上線,這個節點必須要透過第三方的資源,才能決定正確的鏈頭在哪,這個第三方可以是他們的朋友、可以是交易所或區塊鏈瀏覽器、或是客戶端開發者本身、又或是其他角色,PoW 則沒有這樣的要求。
然而,這可能是一個很弱的要求,事實上,使用者本身就已經必須對客戶端開發者、或「社群」有這種程度的信任。最起碼,使用者必須信任某個人 (通常是客戶端開發者) 來告訴他們協議是什么,這個協議曾經經歷過什么更新,這在任何軟體應用中都無法避免,因此,PoS 的邊際信任成本仍然很低。
但就算這些風險最終會發生,對我而言 PoS 系統仍然利大于弊:更高的效率、應對攻擊并從攻擊中復原的能力更強,
- Proof of Stake FAQ
- 一種 Proof of Stake 設計哲學
來源鏈接:vitalik.ca