6

為什麼權益證明棒棒的(2020 年十一月)

 3 years ago
source link: https://vitalik.ca/general/2020/11/06/pos2020_zhTW.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
為什麼權益證明棒棒的(2020 年十一月)

為什麼權益證明棒棒的(2020 年十一月)

2020 Nov 06 See all posts


為什麼權益證明棒棒的(2020 年十一月)

感謝Chih-Cheng Liang, Hsiao-wei Wang和Jerry Ho翻譯這個文章

權益證明(Proof of Stake, PoS)比工作量證明(Proof of Work, PoW)在區塊鏈安全上更具優勢的關鍵因素有三個。

權益證明在同樣成本下可提供更高的安全性

理解這點最簡單的方式,就是把權益證明和工作量證明擺在一起看,假設每天有 $1 的區塊獎勵,攻擊此網路所需的成本是多少。

基於 GPU 的工作量證明

你可以便宜租到 GPU,所以攻擊網路的成本就等於是租到夠強 GPU 的成本,只要能夠壓過現有礦工 GPU 的算力即可。現有的礦工會花費將近 $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% ,這代表在協議每天發出的區塊獎勵中,需要扣掉 10% 的經常性成本,剩下的 $0.90 才是(攻擊時)需要花費的資本成本。

譯註: 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)」,攻擊者可以對鏈攻擊再攻擊,明確的目標就是要讓鏈無法再使用。

譯注:Spawn Camping 是一種遊戲術語,指在對方玩家重生點或死亡處埋伏的行為。如此會造成被住、被蹲的玩家一復活就再次陣亡,毫無還手之力。

基於 GPU 的系統完全沒有防禦的辦法,而且持續攻擊的攻擊者可以輕易讓一個鏈永遠毫無用處(實務上來說,該鏈會開始轉移到權益證明或權威證明(proof of authority))。事實上,在攻擊開始後不久,攻擊者的成本就會變得非常低,而誠實礦工會離開,因為他們沒辦法在攻擊持續之下取得區塊獎勵。

在基於 ASIC 的系統,社群有辦法應對第一波攻擊,但接下來的攻擊就會變得很容易。社群可以在第一波攻擊之後,硬分叉來更換工作量證明的演算法,讓所有 ASIC 「變磚」(攻擊者和誠實礦工的 ASIC 會一起磚掉)。如果攻擊者願意承受第一次 ASIC 變磚的成本,接下來幾次的情況就和 GPU 的情況一樣(因為還沒有足夠的時間去為新演算法打造與生產 ASIC),所以在這之後攻擊者可以很便宜地持續對鏈發動攻擊到天荒地老。

譯註:變磚為電子產品俚語,代表損壞後無法使用,像磚頭一樣

在權益證明下,狀況則好上非常多。。針對特定種類的 51% 攻擊(特別指想要推翻已經敲定的區塊),權益證明共識有內建的「砍押金(slashing)」機制,大比例的攻擊者抵押會被自動銷毀(而且不會銷毀到其他人的抵押)。針對其他種類的,更難偵測的攻擊(像是 51% 合謀截斷其他人訊息),社群可以協調一個「少數使用者發起軟分叉 minority user-activated soft fork (UASF)」,可以大量銷毀攻擊者的資金(在以太坊中,可以透過「離線懲罰 inactivity leak 」做到)。如此就不需特別花心力來「搞個硬分叉砍掉非法貨幣」。除了 UASF 需要人為協調要選擇哪個少數區塊,其餘的事情都是自動化的,只要遵照協定規則去執行即可。

譯註:少數區塊 minority block 是小於 51% 抵押總數的驗證者決定出來的區塊。

因此,對鏈的第一次攻擊就會耗損攻擊者幾百萬美元,而且社群可以幾天內馬上站穩腳步。第二次攻擊仍然會花費攻擊者數百萬美元,因為他們被迫要買新的幣來取代自己被燒毀的幣。再攻擊第三次...只會繼續燒更多錢。。局面極為不對稱,而且優勢並不會在攻擊者那邊。

權益證明比 ASIC 更去中心化

基於 GPU 的工作量證明的去中心化程度還不錯,因為取得 GPU 不會太難。但前面提過,基於 GPU 的挖礦難以滿足「在攻擊之下的安全性」這個準則。另一方面,基於 ASIC 的挖礦,則需要數百萬美元的資本才能做(而且如果你的 ASIC 是買來的,多數時候,製造商會佔更多便宜)

如上述,你現在知道要怎麼回答「 PoS 只會讓有幣的人繼續以錢滾錢」這個論點了: ASIC 挖礦一樣會讓已經有幣的人得利 - 而且賺得比 PoS 的時候還多。相比之下,至少權益證明的最低抵押門檻夠低,讓一般人還能有機會接觸。

譯註:就文章完成當下 32 ETH @ 440 USD ,最低抵押門檻大概是 40 萬台幣。

進一步說,權益證明更能抵抗審查。GPU 挖礦和 ASIC 挖礦很容易被偵測,他們需要大量電力消耗、昂貴硬體採購、及大型廠房。另一方面,權益證明可以跑在一台不起眼的筆電上,就算跑在 VPN 上也毫無問題。

工作量證明可能的優勢

我覺得 PoW 在下述這兩點上是真的比較佔優勢,縱然這些優勢相當有限。

權益證明更像個「封閉系統」,長期而言財富更加集中

在權益證明的情況下,如果你手上有幣,你可以抵押手上的幣來獲得更多同種類的幣。但,在工作量證明的情況下,就算你沒有幣你還是能賺到,只要你願意投入一些外部資源。因此,或許可以說權益證明會造成長期風險,讓幣的分配變得越來越集中。

我的回應是,在 PoS 中,報酬一般而言會很低(所以驗證者的獲利也會低)。在 eth2 ,我們預期驗證者的年報酬會相當於總 ETH 供給量的 ~0.5-2%。而且更多驗證者抵押,利率會更低。因此,可能要花個一世紀,整個資產集中程度才會翻倍,而且在這樣的時間跨度之下,其他促進分配的壓力(人們想花他們手上的錢,分配金錢到慈善或他們自己的子孫等等)比較可能會佔上風。

權益證明需要「弱主觀性(weak subjectivity)」而工作量證明不需要

關於「弱主觀性」的觀念可以看這個 原始介紹。本質上,就是節點在第一次上線,或是在離線很長一段時間之後(數個月)再次上線,這個節點必須要透過第三方的資源,才能決定正確的鏈頭在哪。這個第三方可以是他們的朋友、可以是交易所或區塊鏈瀏覽器網站、或是客戶端開發者本身、又或是其他角色。PoW 則沒有這樣的要求。

然而,這可能是一個很弱的要求。事實上,使用者本身就已經必須對客戶端開發者、或「社群」有這種程度的信任。最起碼,使用者必須信任某個人(通常是客戶端開發者)來告訴他們協定是什麼,這個協定曾經經歷過什麼樣的更新。這在任何軟體應用都無法避免。因此,這個 PoS 所需要增加的額外信任,其實已經算很少了。

但就算事實證明這些風險其實一點都不小,在我看來切換到 PoS 系統帶來的好處要高得多,像是系統運作的高效率和從攻擊中回歸正軌的能力。

參考來源:我之前寫權益證明的文章


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK