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