權益證明 (PoS) 代表一類共識算法,其中驗證者 (validators) 會對下一個區(qū)塊進行投票,而投票的權重取決于投票者的權益大小。由于更低的能耗,更少的中心化風險,抵御不同類型的 51% 攻擊的安全性等等,權益證明被認為是對工作量證明(PoW)的改進。
PoS 算法可以被分類成兩大類:
基于鏈的 PoS:依賴于網絡的同步性;
基于 BFT (拜占庭容錯) 的 PoS:優(yōu)先考慮節(jié)點的一致性而不是可用性。
在以太坊 2.0 中,為了參與投票(即成為一名驗證者),你需要質押 ETH。為此,你將會獲得部基于某個利率 (收益率) 的額外 ETH 獎勵以及部分網絡交易費。
權益證明 (PoS) 是什么?
權益證明 (PoS) 是一類依賴于驗證者網絡中的經濟權益的公鏈共識算法。在基于工作量證明 (PoW) 的公鏈(例如比特幣和當前的以太坊)中,PoW 算法會獎勵解決密碼學難題的參與者以驗證交易與創(chuàng)建新區(qū)塊 (即挖礦)。在基于 PoS 的公鏈(例如以太坊即將推出的 Casper 實現(xiàn))中,一組驗證者輪流對下一個區(qū)塊進行提議和投票,而且每個驗證者投票權重取決于其押金 (即權益) 大小。PoS 的顯著優(yōu)勢包括安全性,減少的中心化風險以及節(jié)能。
總的來說,PoS 算法看起來是這樣的:區(qū)塊鏈會追蹤一組驗證者,而且持有區(qū)塊鏈基礎加密貨幣 (在以太坊的情況下是 ETH) 的任何人都可以通過發(fā)送一筆特殊類型的交易來成為驗證者,該交易會把他們的 ETH 鎖定為押金。然后,創(chuàng)建新區(qū)塊和對區(qū)塊達成共識的過程是通過一個共識算法來完成,所有當前的驗證者都能夠且應該參與其中。
共識算法有很多類型,而且給參與共識算法的驗證者分配獎勵的方式也有很多種,所以存在著多種「風格」的 PoS。從算法的角度來看,主要有兩類:基于鏈的和 BFT (拜占庭容錯) 的 PoS。
在基于鏈的 PoS 中,算法會在每個 slot (例如,每 10 秒的周期可能是一個 slot) 期間偽隨機地選擇一個驗證者,分配該驗證者創(chuàng)建單個區(qū)塊的權利,且該區(qū)塊必須指向某個前面的區(qū)塊 (通常是前面最長鏈末端的那個區(qū)塊)。因此,隨著時間推移,大部分區(qū)塊組成單條持續(xù)增長的鏈。
在基于 BFT (拜占庭容錯) 的 PoS 中,驗證者被隨機地分配提議區(qū)塊的權利,但是會通過一個多輪的過程來就哪個區(qū)塊是權威規(guī)范的區(qū)塊達成共識,在該過程中,每個驗證者會對每一輪的某個特定區(qū)塊進行「投票」,在此過程結束時,所有 (誠實和在線的) 驗證者將對任何給定的區(qū)塊是否成為區(qū)塊鏈的一部分達成永久性共識。請注意,區(qū)塊或許依然會被鏈接在一起,但其中的關鍵區(qū)別就是,基于 BFT 的 PoS 中,區(qū)塊的共識在一個區(qū)塊內達成,而不需要依賴它身后鏈的長度或大小。
與 PoW 相比,PoS 的優(yōu)勢是什么?
不需要消耗大量的能量來確保區(qū)塊鏈的安全。(據(jù)了解,比特幣和以太坊每天消耗超過 100 萬美元的電力和硬件成本作為它們共識機制的一部分)
由于缺乏對高耗能的要求,PoS 沒有必要為了激勵參與者繼續(xù)持續(xù)參與網絡而增發(fā)那么多新幣。理論上,PoS 甚至可能出現(xiàn)凈發(fā)行呈負數(shù)的情況,這種情況下,交易費的一定比例被「銷毀」,從而久而久之減少供應量。
PoS 為使用博弈論機制設計的更廣泛的技術打開了大門,以便有效地阻止中心化壟斷的形成,且如果這些技術成型,也能夠阻止對網絡造成損害的行為 (比如 PoW 中的自私挖礦)。
減少中心化風險,這是因為幾乎不存在規(guī)模經濟的問題。在 PoW 機制中,價值 1000 萬美元的投入將為你帶來 10 倍于價值 100 萬美元投入的回報,而不會帶來任何額外的不成比例的收益,因為在更高的水平上,你可以負擔得起更好的大規(guī)模挖礦設備,這是 PoW 中的一種「優(yōu)勢」。
能夠使用經濟懲罰去讓各種類型的 51% 攻擊的成本比在 PoW 中實施要昂貴得多。套用 Vlad Zamfir 的話說,「如果你參與了一次 51% 攻擊,你的 ASIC 礦場就如同被被摧毀了一樣」。
對 Casper 權益證明的 51% 攻擊會是怎樣的?
51% 攻擊有四種基本的類型:
最終性回滾 (finality reversion):已經敲定了區(qū)塊 A 的驗證者后續(xù)敲定相互矛盾的區(qū)塊 A,從而打破了區(qū)塊鏈的最終性保證。
敲定無效區(qū)塊:驗證者敲定了無效 (或不可用) 的區(qū)塊。
活性拒絕攻擊:驗證者停止敲定區(qū)塊。
審查:驗證者阻止部分或所有的交易 / 區(qū)塊被包含進區(qū)塊鏈。
在第一種情況中,用戶可以社交的方式帶外協(xié)商,就哪個敲定的區(qū)塊最先出現(xiàn)達成共識,并支持該區(qū)塊。第二種情況可以利用欺詐證明和數(shù)據(jù)可用性證明來解決。第三種情況可以被對 PoS 算法的修改解決,即如果節(jié)點沒有參與共識,那么該算法會逐漸削減(「泄漏」)非參與節(jié)點在驗證者集合中的權重。Casper FFG 的論文包含了對這種情況的描述。
第四種情況是最難解決。第四種情況可以通過一種「少數(shù)派軟分叉」的方式修復,其中少數(shù)誠實的驗證者就大多數(shù)驗證者在審查他們達成了共識,并停止繼續(xù)在當前的鏈上創(chuàng)建區(qū)塊;相反,這些誠實的少數(shù)驗證者將會繼續(xù)搭建自己的鏈,并最終通過上述的「泄露」機制來確保這些誠實的少數(shù)驗證者將會成為新鏈中的 2/3 絕對多數(shù)驗證者。那時,市場將會傾向于支持由這些誠實驗證者控制的新鏈,而不是由不誠實節(jié)點控制的舊鏈。
ETH2.0 中的 Staking 邏輯
01. 為什么我會想質押我的 ETH?
因為質押 (stake) 了你的 ETH 及為正確的區(qū)塊作證,你將通過網絡利率 (即驗證者的收益率) 和部分網絡交易費的形式來獲取 ETH 獎勵。詳情見這里。下圖是當前被提議的 ETH 最大年增發(fā)率和驗證者的最大年收益率:
圖源:EthHub
需要注意的是,根據(jù) Vitalik Buterin 的說法,上圖這些是最大的數(shù)字,有許多因素可能會減少 ETH 的總發(fā)行量。這些因素包括:
驗證者離線。將個人懲罰和集體懲罰結合起來說,每 1% 的驗證者離線將減少約 3% 的總發(fā)行量,如果超過 33% 的驗證者同時下線,許多 ETH 很快就會 (因懲罰) 被銷毀。
驗證者被罰沒 (slashing)。這種情況在實際中可能很少發(fā)生。
ETH 交易費由于 EIP 1559 而被銷毀。根據(jù)此提案,預計前期當 ETH2.0 網絡的使用率較低時,將有大約 10,000 ETH/ 年 的交易費被銷毀;最終有可能會上升至每年銷毀數(shù)十萬 ETH 交易費。
交易費用于支付狀態(tài)租金而被銷毀。這種機制可能會整合進 ETH2.0 的 gas 機制中,因此基于 EIP 1559 被銷毀。
根據(jù) Justin Drake 的說法,基于上述因素,可能帶來的結果是,如果 ETH2.0 中質押了約 30,000,000 ETH,那么網絡的年通脹率 (增發(fā)率) 將約只有 0.5%,相應的驗證者年收益率將約是 5%。
02. Staking 的最低要求是什么?
每個驗證者至少質押 32 ETH
具有足夠硬件規(guī)格的計算機
連接互聯(lián)網
03. 我需要運行什么軟件來參與 Staking?
當考慮在以太坊上質押時,需要了解兩種主要的軟件類型:
信標節(jié)點:這是驗證者的樞紐
存儲規(guī)范狀態(tài),處理點對點和傳入的同步請求,廣播區(qū)塊和進行區(qū)塊證明。
擁有一個客戶端可以連接的 gRPC 服務器并提供一個公共 API。
驗證者客戶端:與信標節(jié)點通信并對區(qū)塊簽名。你可以在每個客戶端質押 32 ETH。
存儲重要的秘密信息,如 RANDAO 揭示,共享數(shù)據(jù)的托管證明以及 BLS 私鑰。
可以有效地切換底層信標節(jié)點
追蹤驗證者已經簽名的共享狀態(tài)執(zhí)行數(shù)據(jù)和數(shù)據(jù)塊。
這意味著可能有三種需要運行的軟件組合:
僅運行信標節(jié)點
運行信標節(jié)點 + 驗證者客戶端
運行信標節(jié)點 + 多個驗證者客戶端
04. 運行軟件的硬件要求是什么?
仍待定。理想情況下,我們只需達到上述三種設置的最低要求。(備注:根據(jù)此前以太坊 2.0 研究者 Justin Drake 的說法,預計驗證者客戶端將可以「毫不費力地」在 Raspberry Pi (樹莓派) 硬件 (4GB RAM) 上運行。)
05. 如果我在參與 Staking 時連不上網,會發(fā)生什么?
成為一名驗證者的關鍵在于保證你始終可以給區(qū)塊投票 (也即證明區(qū)塊),從而保證了網絡的安全。因此,如果你的驗證者客戶端在任何時候離線了,為了激勵驗證者的可用性,這里會有相應的懲罰,懲罰大小視情況而定。這會發(fā)生在在兩個場景中:
如果區(qū)塊正在敲定并且你處于離線狀態(tài),那么你會在一年內損失 x% 的質押金,其中 x% 為當前的驗證者年利率。例如,如果當前驗證者年利率為 5%,那么你每天將損失 0.0137% 的押金 (備注:5%/365 = 0.0137%),但你在線時每天將獲得這些獎勵。
如果區(qū)塊無法被敲定(即超過 33% 的驗證者離線)且你也處于離線狀態(tài),那么你會在 18 天內損失 60% 的押金。
如果你的押金在任何時候下降到 16ETH 一下,那么你將會被完全從驗證者集合中刪除。
06. 如果我參與 Staking,我的 ETH 會被鎖定多長時間?
當想從驗證者取回 ETH,那么你會被放入一個取款隊列。如果沒有隊列,那么最短的贖回時間為 18 小時,時間會根據(jù)當時正在取款的人數(shù)動態(tài)調整。
責任編輯;zl
評論
查看更多