Vitalik:以太坊 Serenity 設(shè)計(jì)依據(jù)綜述區(qū)塊鏈
今天我們?yōu)榇蠹曳窒鞻italik撰文闡述以太坊Serenity階段的設(shè)計(jì)依據(jù),希望讀者們在閱讀本文之后,能夠更進(jìn)一步了解以太坊Serenity背后的開發(fā)者們是如何來設(shè)計(jì)這個(gè)全新的PoS區(qū)塊鏈網(wǎng)絡(luò)
2. 為什么選擇“最終化 保證金 罰款”模型呢?
不具備最終化特性的共識算法無法實(shí)現(xiàn)這些屬性。
● 驗(yàn)證者在線率超過50%
Serenity 的分片使用了一種機(jī)制,即如果隨機(jī)抽樣的驗(yàn)證者委員會中有2/3的成員對來自某個(gè)分片中的區(qū)塊進(jìn)行簽名,那么我們就認(rèn)為該區(qū)塊已被接受。這種機(jī)制本身要求平均有大于或等于2/3的驗(yàn)證者在線以接受任何分片區(qū)塊。但如果有超過50%的驗(yàn)證者在線,那么我們就可以得知:除非網(wǎng)絡(luò)中存在顯然會違反協(xié)議規(guī)則的驗(yàn)證者,否則我們將得到某種程度的保證,即區(qū)塊不會被回滾。因此,我們沒有理由不添加這么一個(gè)特性。
● 解決驗(yàn)證者的困境
所有區(qū)塊鏈都存在一個(gè)共同的問題,即驗(yàn)證者沒有足夠的動力去實(shí)際驗(yàn)證他們正在構(gòu)建的區(qū)塊。因?yàn)樵谶@個(gè)均衡中,如果(幾乎)每個(gè)人都是誠實(shí)的,那么對于驗(yàn)證者來說,這些交易根本不值得他們浪費(fèi)計(jì)算資源去校驗(yàn)。
而在分片鏈中,這些問題被進(jìn)一步放大了。我們可以通過(利用保管證明 Proofs of Custody)對簽署無效或不可用數(shù)據(jù)的行為實(shí)施大額罰款來緩解這些問題。但是,在實(shí)際執(zhí)行中,實(shí)施罰款不僅需要驗(yàn)證者繳納安全保證金,還要求鎖定期限足夠長,以允許其他用戶校驗(yàn)驗(yàn)證者所聲明的數(shù)據(jù),并在數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí)對其發(fā)起質(zhì)詢。
3. Casper激勵(lì)機(jī)制中的每個(gè)參數(shù)的設(shè)定標(biāo)準(zhǔn)是什么?
在不同的情況中,實(shí)際獎(jiǎng)勵(lì)的計(jì)算方式如下:如果 ? 是最大獎(jiǎng)勵(lì)值,并且 ? 是執(zhí)行所需操作的驗(yàn)證者所占的比例,那么任何執(zhí)行所需操作的驗(yàn)證者都將獲得獎(jiǎng)勵(lì) ?*?。此外,任何未執(zhí)行所需操作的驗(yàn)證者將遭受罰款-?。制定這種“集體獎(jiǎng)勵(lì)(即“如果有人表現(xiàn)得更好,那么每個(gè)人都會表現(xiàn)得更好”)”方案的目的是設(shè)定破壞因子的界限(想了解破壞因子的定義及重要性,請參閱:
https://github.com/ethereum/research/raw/master/papers/discouragement/discouragement.pdf)
需要注意的是,我們還要進(jìn)一步解決兩個(gè)難題:
1. 如果該證明被包含在區(qū)塊鏈內(nèi)的時(shí)間延遲了,那么獎(jiǎng)勵(lì)將減少。這是為了激勵(lì)驗(yàn)證者及時(shí)發(fā)布證明。
2. 提議者將獲得他們所包含的任意證明的獎(jiǎng)勵(lì)的1/8。這是為了鼓勵(lì)提議者充分監(jiān)聽消息,并盡可能多地接受這些消息。
● 驗(yàn)證者靜止漏洞
如果鏈條在 ???(time since finality,即達(dá)到最終化以后所經(jīng)歷的時(shí)間。其中,??? > 4 個(gè)時(shí)期內(nèi)未能保持最終化狀態(tài),那么參與這個(gè)過程的驗(yàn)證者的獎(jiǎng)勵(lì)將降為零,并且第二個(gè)懲罰機(jī)制將被載入,該懲罰與 ??? 成比例。這確保了如果超過1/3的驗(yàn)證者陷入靜止?fàn)顟B(tài),那么不在線的驗(yàn)證者將會受到更嚴(yán)重的懲罰,并且懲罰隨著時(shí)間的推移呈二次方遞增。
? 如果你的離線行為將阻礙區(qū)塊的最終化進(jìn)程的話,那么你將會因?yàn)殡x線這一行為遭受更嚴(yán)重的懲罰
? 確保一旦發(fā)生超過1/3驗(yàn)證者離線的情況,由于離線驗(yàn)證者的保證金在不斷減少,最終驗(yàn)證者的在線率會回升到2/3。
在當(dāng)前的參數(shù)化條件下,如果區(qū)塊無法被最終敲定,那么驗(yàn)證者在2.6天后將損失1%的保證金,在8.4天后損失10%,在21天后損失50%,以此類推。這意味著,如果發(fā)生50%驗(yàn)證者離線的情況,那么區(qū)塊將在21天后重啟最終化進(jìn)程。
● 罰沒和反相關(guān)懲罰
如果某個(gè)驗(yàn)證者被指證刻意違反 Casper FFG 的罰沒條件,那么該驗(yàn)證者所承擔(dān)的罰款會是在與他們大致相同的時(shí)間內(nèi)受到懲罰的驗(yàn)證者的三倍。這么做是出于以下幾個(gè)理由:
? 單個(gè)驗(yàn)證者作惡只會對網(wǎng)絡(luò)造成不良影響,但如果他們選擇與其他驗(yàn)證者同流合污,那么這些隨波逐流的驗(yàn)證者有必要接受嚴(yán)厲的教訓(xùn)
?這一機(jī)制會對實(shí)際的攻擊行為實(shí)施嚴(yán)厲懲罰,但對那些可能是誠實(shí)的單個(gè)孤立故障節(jié)點(diǎn)只實(shí)施非常輕微的懲罰
?這一機(jī)制確保較小的驗(yàn)證者所承擔(dān)的風(fēng)險(xiǎn)要比較大的驗(yàn)證者的風(fēng)險(xiǎn)更少(在正常情況下,大型驗(yàn)證者發(fā)生故障所造成的影響相當(dāng)于一堆小型驗(yàn)證者同時(shí)宕機(jī)的結(jié)果)
?這一機(jī)制能夠有效阻止驗(yàn)證者“跟大隊(duì)走”
● 罰沒和反相關(guān)懲罰
如果某個(gè)驗(yàn)證者被指證刻意違反 Casper FFG 的罰沒條件,那么該驗(yàn)證者所承擔(dān)的罰款會是在與他們大致相同的時(shí)間內(nèi)受到懲罰的驗(yàn)證者的三倍。這么做是出于以下幾個(gè)理由:
? 單個(gè)驗(yàn)證者作惡只會對網(wǎng)絡(luò)造成不良影響,但如果他們選擇與其他驗(yàn)證者同流合污,那么這些隨波逐流的驗(yàn)證者有必要接受嚴(yán)厲的教訓(xùn)
? 這一機(jī)制會對實(shí)際的攻擊行為實(shí)施嚴(yán)厲懲罰,但對那些可能是誠實(shí)的單個(gè)孤立故障節(jié)點(diǎn)只實(shí)施非常輕微的懲罰
? 這一機(jī)制確保較小的驗(yàn)證者所承擔(dān)的風(fēng)險(xiǎn)要比較大的驗(yàn)證者的風(fēng)險(xiǎn)更少(在正常情況下,大型驗(yàn)證者發(fā)生故障所造成的影響相當(dāng)于一堆小型驗(yàn)證者同時(shí)宕機(jī)的結(jié)果)
? 這一機(jī)制能夠有效阻止驗(yàn)證者“跟大隊(duì)走”
● 保管證明
當(dāng)驗(yàn)證者需要對某個(gè)數(shù)據(jù)為?,根為?的分片區(qū)塊進(jìn)行證明時(shí),驗(yàn)證者需要計(jì)算出?'(其中,?'[?] =???(?[?], ????))以及新數(shù)據(jù)?'的根?'。然后,驗(yàn)證者將發(fā)布一部分?'作為他們所簽署的內(nèi)容的一部分,并通過發(fā)布 ????(????) 的形式來提交種子。在一定時(shí)限內(nèi),網(wǎng)絡(luò)中的其它節(jié)點(diǎn)可以對這些信息進(jìn)行質(zhì)詢,并要求驗(yàn)證者提供他們的????參數(shù)、完整的?′值以及 ? 和 ?' 的特定分支,以證明這些數(shù)據(jù)被正確構(gòu)造。如果驗(yàn)證者在質(zhì)詢期開始之前提前發(fā)布????參數(shù),那么他們將受到罰沒懲罰。
構(gòu)建這種機(jī)制是為了緩解驗(yàn)證者的雙重困境。在該困境中,驗(yàn)證者可能會出于懶惰而拒絕驗(yàn)證數(shù)據(jù),并假設(shè)所有其他驗(yàn)證者都是誠實(shí)的。如果大多數(shù)驗(yàn)證者都這么想的話,那么很可能會導(dǎo)致公地悲劇,最終導(dǎo)致鏈條接受無效的區(qū)塊。而在這一機(jī)制中,如果驗(yàn)證者試圖提交沒有經(jīng)過他們親自處理的數(shù)據(jù)的話,那么他們將無法計(jì)算出?'(如果他們嘗試外包給別人處理,那么外包方可能會背叛他們,并導(dǎo)致他們遭受罰沒懲罰)。一旦這時(shí)有其它節(jié)點(diǎn)提出質(zhì)詢,那么這些驗(yàn)證節(jié)點(diǎn)將無法正確回應(yīng)質(zhì)詢。出于效率原因,驗(yàn)證者首先只提交一部分?'。一旦驗(yàn)證者發(fā)布了他們的????參數(shù),那么任何人都可以重做并檢驗(yàn)他們的計(jì)算結(jié)果。如果該?'值不正確,那么檢驗(yàn)者將會發(fā)動一系列質(zhì)詢來炮轟該數(shù)據(jù)為?′且計(jì)算不正確的區(qū)塊。
4. 為什么規(guī)模是32個(gè)ETH驗(yàn)證者?
5. 隨機(jī)抽樣?
6. LMD GHOST 分叉選擇規(guī)則
7. 信標(biāo)鏈/分片鏈結(jié)構(gòu)
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。