国产成人 综合 亚洲欧美,羞羞影院成人午夜爽爽在线,中文字幕av在线一二三区,午夜私人成年影院在线观看,男人把大ji巴放进女人视频

okx

為什么閱讀以太坊客戶端的多樣性如此重要?

時(shí)間:2022-02-18|瀏覽:484

以太坊擁有多個(gè)可互操作的客戶端,由獨(dú)立團(tuán)隊(duì)用不同的語言開發(fā)和維護(hù)。這是一項(xiàng)重大成就,可以通過限制漏洞或攻擊在受影響客戶端的網(wǎng)絡(luò)部分的運(yùn)行,為網(wǎng)絡(luò)提供靈活性。然而,只有當(dāng)所有用戶大致均勻地分布在每個(gè)可用的客戶端的客戶端時(shí)才能實(shí)現(xiàn)。目前,絕大多數(shù)以太坊節(jié)點(diǎn)運(yùn)行單個(gè)客戶端,給網(wǎng)絡(luò)帶來不必要的風(fēng)險(xiǎn)。
以太坊以來,以太坊將很快經(jīng)歷其結(jié)構(gòu)最重要的升級(jí)——工作量證明 (PoW) 到權(quán)益證明 (PoS) 的合并。這將從根本上改變網(wǎng)絡(luò)對(duì)區(qū)塊鏈真實(shí)狀態(tài)達(dá)成共識(shí)的方式,并保持網(wǎng)絡(luò)安全。這種新的結(jié)構(gòu)將帶來安全、可擴(kuò)展性和可持續(xù)性的好處,但也擴(kuò)大了單個(gè)客戶的風(fēng)險(xiǎn)。本文將討論原因...
信標(biāo)鏈
信標(biāo)鏈?zhǔn)?PoS 區(qū)塊鏈。目前與以太坊主網(wǎng)并行運(yùn)行,但兩者很快就會(huì)出現(xiàn)「合并」在一起。合并后,以太坊主網(wǎng)現(xiàn)有客戶端 (「執(zhí)行客戶端」) 將繼續(xù)托管以太坊虛擬機(jī) (EVM),并驗(yàn)證和廣播交易,但將停止工作量證明 (PoW) 開采,放棄對(duì)區(qū)塊鏈頭 (頂塊) 達(dá)成共識(shí)的責(zé)任。
相反,這種共識(shí)將成為「共識(shí)客戶端」的責(zé)任,「共識(shí)客戶端」負(fù)責(zé)把來自「執(zhí)行客戶端」交易與共識(shí)所需的信息一起打包「信標(biāo)區(qū)塊」這些信標(biāo)塊構(gòu)成了信標(biāo)鏈。「礦工」將被「驗(yàn)證者」(validators)這些驗(yàn)證者需要取代 ETH 存儲(chǔ)在以太坊智能合同中 (這個(gè)過程稱為「質(zhì)押」(staking))。
驗(yàn)證者質(zhì)押ETH 將作為激勵(lì)他們正確完成驗(yàn)證工作的抵押品。不履行驗(yàn)證工作的 (如因離線) 或惡意行為的驗(yàn)證將導(dǎo)致其質(zhì)押 ETH 的一部分被銷毀了。另一方面,如果驗(yàn)證人行為得當(dāng), 將獲得ETH 獎(jiǎng)勵(lì)。
1. 驗(yàn)證人的職責(zé)
對(duì)于驗(yàn)證人來說,良好的行為意味著參與驗(yàn)證從其他驗(yàn)證人那里收到的信標(biāo)塊,并投票給區(qū)塊鏈頭。如果驗(yàn)證人收到的塊有效,驗(yàn)證人將對(duì)塊進(jìn)行驗(yàn)證「證明」(attest),實(shí)際上,投票支持在區(qū)塊鏈中添加區(qū)塊。
一個(gè)節(jié)點(diǎn)將不時(shí)被要求提出一個(gè)新區(qū)塊,其他驗(yàn)證人將「證明」區(qū)塊。當(dāng)區(qū)塊鏈有多個(gè)分叉時(shí),只有那個(gè)在歷史上積累了最多「證明」(attestations) 鏈?zhǔn)钦_的區(qū)塊鏈。
驗(yàn)證人還將不時(shí)參加同步委員會(huì) (sync committee) 中,同步委員會(huì)是一個(gè)由隨機(jī)選擇的 512 驗(yàn)證者組成的小組。這些隨機(jī)選擇的驗(yàn)證者將是塊頭 (block headers) 進(jìn)行簽名,這樣輕客戶端就可以檢索這些被驗(yàn)證過的區(qū)塊,而無需訪問整條歷史鏈或整個(gè)驗(yàn)證者集。

2. 合理化 & 被敲定
信標(biāo)鏈為網(wǎng)絡(luò)設(shè)定節(jié)奏。這種節(jié)奏被組織成兩個(gè)時(shí)間單位:slot 和 epoch。slot 是將區(qū)塊添加到信標(biāo)鏈的機(jī)會(huì),每 12 秒出現(xiàn)一次。某個(gè) slot 可能沒有區(qū)塊,但當(dāng)系統(tǒng)以最佳方式運(yùn)行時(shí),區(qū)塊會(huì)添加到每個(gè)可用的 slot 中。epoch 是以 32 個(gè) slot (約 6.4 分鐘) 為單位的。slot 和 epoch 設(shè)定了以太坊區(qū)塊鏈的節(jié)奏。
在每個(gè) epoch 期間,第一個(gè) slot 中的區(qū)塊是一個(gè)檢查點(diǎn) (checkpoint)。檢查點(diǎn)是非常重要的,因?yàn)闄z查點(diǎn)被用于使區(qū)塊鏈賬本上的記錄變得永久和不可逆轉(zhuǎn)——這是一個(gè)分為兩個(gè)階段的過程:首先,如果所有活躍驗(yàn)證者質(zhì)押的 ETH 余額中至少有 2/3 (即「絕對(duì)多數(shù)」) 證明了最近的兩個(gè)檢查點(diǎn) (當(dāng)前的被稱為「目標(biāo)檢查點(diǎn)」,前一個(gè)被稱為「源檢查點(diǎn)」),那么這兩個(gè)檢查點(diǎn)之間的這段區(qū)塊就被「合理化」(justified) 了。
「合理化」是邁向成為以太坊權(quán)威鏈上永久記錄的第一步。一旦某個(gè)被「合理化」的檢查點(diǎn)之后新出現(xiàn)了另一個(gè)被「合理化」的檢查點(diǎn),那么前一個(gè)檢查點(diǎn)就是「被敲定」(finalized) 了,也即使其具有了永久性和不可逆轉(zhuǎn) (即這個(gè)檢查點(diǎn)之前的所有記錄都成為了區(qū)塊鏈上永久不可篡改的記錄)。
這個(gè)「合理化」和「敲定」的過程要求驗(yàn)證者進(jìn)行的「證明」(attestations) 實(shí)際上要比上文闡述的要更復(fù)雜一些。有兩種類型的證明:一種是 LMD GHOST 投票,用于證明區(qū)塊鏈的鏈頭 (LMD GHOST 是分叉選擇算法);第二種是用于對(duì)兩個(gè)檢查點(diǎn)進(jìn)行證明的 FFG 投票 (FFG 是「最終性小工具」(finality gadget),對(duì)區(qū)塊鏈進(jìn)行合理化和最終敲定)。
所有驗(yàn)證者都會(huì)對(duì)每個(gè)檢查點(diǎn)進(jìn)行 FFG 投票,而只有一個(gè)隨機(jī)選中的驗(yàn)證者子集在每個(gè) slot 進(jìn)行 LMD GHOST 投票。
3. 驗(yàn)證者的質(zhì)押獎(jiǎng)勵(lì)、懲罰和罰沒
獎(jiǎng)勵(lì)
如前所述,驗(yàn)證者質(zhì)押的 ETH 用于作為「抵押品」,以激勵(lì)驗(yàn)證者的誠實(shí)行為。隨著驗(yàn)證者因?yàn)閰⑴c到保護(hù)網(wǎng)絡(luò)中而獲得獎(jiǎng)勵(lì),這些被質(zhì)押的 ETH 將隨著時(shí)間的推移而增加。當(dāng)驗(yàn)證者進(jìn)行的 LMD-GHOST 投票和 FFG 投票與大多數(shù)其他驗(yàn)證者一致時(shí),那么驗(yàn)證者就會(huì)獲得證明獎(jiǎng)勵(lì)。
當(dāng)驗(yàn)證者被選中作為「區(qū)塊提議者」(block proposer) 時(shí),如果其提議的區(qū)塊被「敲定」,那么該驗(yàn)證者也將獲得獎(jiǎng)勵(lì)。區(qū)塊提議者也可以通過將有關(guān)其他驗(yàn)證者行為不當(dāng)?shù)淖C明打包進(jìn)自己提議的區(qū)塊中,從而增加自己獲得的獎(jiǎng)勵(lì)。這些獎(jiǎng)勵(lì)是鼓勵(lì)驗(yàn)證者誠實(shí)行事的「報(bào)酬」。
懲罰
驗(yàn)證者可能受到的「懲罰」是以各種機(jī)制的形式來銷毀一部分驗(yàn)證者質(zhì)押的 ETH。當(dāng)驗(yàn)證者未能提交一個(gè) FFG 投票、提交延遲了或者提交了錯(cuò)誤的 FFG 投票時(shí),都會(huì)受到證明懲罰 (attestation penalties)。
但如果驗(yàn)證者錯(cuò)過了進(jìn)行 LMD-GHOST 投票,則不會(huì)受到懲罰,只是錯(cuò)過了本可以通過對(duì)鏈頭進(jìn)行投票而獲得的獎(jiǎng)勵(lì)。驗(yàn)證者余額被削減的數(shù)額,等同于如果他們提交正確的證明而本可以獲得的獎(jiǎng)勵(lì)數(shù)額。
這意味著,一個(gè)誠實(shí)但「懶惰」的驗(yàn)證者,他因?yàn)殄e(cuò)過了證明而遭受到的最大懲罰,就是損失他如果以完美的方式進(jìn)行證明時(shí)本可以獲得的獎(jiǎng)勵(lì)金額的 3/4。
此外,當(dāng)驗(yàn)證者被分配至「同步委員會(huì)」(sync committee) 時(shí),如果該驗(yàn)證者未能簽名區(qū)塊,那么其受到的懲罰將等同于如果他成功地簽名區(qū)塊時(shí)本可以獲得的 ETH 價(jià)值。
總的來說,這些懲罰是溫和的,驗(yàn)證者持續(xù)的怠惰 (inactivity) 僅會(huì)使其質(zhì)押的 ETH 受到一個(gè)相當(dāng)緩慢的削減。
罰沒
罰沒 (slashing) 是一種更嚴(yán)重的行為,這會(huì)導(dǎo)致驗(yàn)證者被強(qiáng)制從網(wǎng)絡(luò)中移除,并導(dǎo)致相關(guān)的 ETH 質(zhì)押金損失。有三種方式會(huì)導(dǎo)致驗(yàn)證者被罰沒,所有這些都相當(dāng)于驗(yàn)證者進(jìn)行了不誠實(shí)的區(qū)塊提議或區(qū)塊證明:
在同一個(gè) slot 提議和簽名兩個(gè)不同的區(qū)塊;
對(duì)「環(huán)繞」某個(gè)區(qū)塊的另一個(gè)區(qū)塊進(jìn)行證明 (實(shí)際上就是更改區(qū)塊鏈歷史);
通過對(duì)同一個(gè)區(qū)塊的兩個(gè)候選區(qū)塊進(jìn)行「雙重投票」(double voting)。
如果檢測到上述這些操作,驗(yàn)證者就會(huì)罰沒。這意味著相當(dāng)于其質(zhì)押的 ETH 的 1/64 (最高可達(dá) 0.5 ETH) 將立即被銷毀。
然后一個(gè)為期 36 天的移除期開始了:在此期間,驗(yàn)證者的質(zhì)押金將逐漸被削減;且在這段期間的中間點(diǎn) (第 18 天),該驗(yàn)證者還將受到額外的懲罰,懲罰大小將與此次罰沒事件發(fā)生之前的 36 天內(nèi)所有被罰沒的驗(yàn)證者的 ETH 質(zhì)押總額成比例。
這意味著,當(dāng)更多的驗(yàn)證者被罰沒時(shí),此次罰沒的量級(jí)將會(huì)增加。最大的罰沒是所有被罰沒的驗(yàn)證者的全部有效余額 (也即,如果有大量驗(yàn)證者被罰沒,那么他們可能損失全部的質(zhì)押金)。
另一方面,一個(gè)單獨(dú)的、獨(dú)立的罰沒事件只會(huì)銷毀驗(yàn)證者一小部分的質(zhì)押金。這種隨著被罰沒驗(yàn)證者的數(shù)量而變化的中間懲罰被稱為「串謀懲罰」(correlation penalty)。
Inactivity Leak 機(jī)制
如果信標(biāo)鏈已經(jīng)有超過 4 個(gè) epoch 都沒有被敲定,那么一個(gè)稱為「inactivity leak」的經(jīng)濟(jì)機(jī)制將被激活。Inactivity leak 的最終目的是創(chuàng)造條件使區(qū)塊鏈重新恢復(fù)敲定。如上文所解釋的,「敲定」(finality) 需要 2/3 的 ETH 總質(zhì)押金對(duì)「源檢查點(diǎn)」和「目標(biāo)檢查點(diǎn)」達(dá)成共識(shí)。
如果超過 1/3 的驗(yàn)證者離線或未能提交證明的證明,那么就不可能有 2/3 的絕對(duì)多數(shù)驗(yàn)證者來敲定檢查點(diǎn)。
此時(shí),Inactivity leak 機(jī)制會(huì)讓屬于這些不活躍的驗(yàn)證者的 ETH 質(zhì)押金逐漸被削減,直到這些驗(yàn)證者控制的質(zhì)押金少于網(wǎng)絡(luò)中總質(zhì)押金的 1/3,從而允許剩余的活躍驗(yàn)證者對(duì)區(qū)塊鏈進(jìn)行敲定。
無論這些不活躍的驗(yàn)證者數(shù)量有多大,剩余的驗(yàn)證者最終都將控制 >2/3 的總質(zhì)押金。這種質(zhì)押金的削減將是一個(gè)強(qiáng)烈的刺激因素,激勵(lì)不活躍的驗(yàn)證者盡快重新激活!
信標(biāo)鏈設(shè)計(jì)中的獎(jiǎng)勵(lì)、懲罰和罰沒鼓勵(lì)了個(gè)體驗(yàn)證者正確行事。然而,從這些設(shè)計(jì)選擇中出現(xiàn)了一個(gè)系統(tǒng),它強(qiáng)烈地激勵(lì)了驗(yàn)證者在多個(gè)客戶端之間的平等分配,并強(qiáng)烈地抑制這種由單個(gè)客戶端占主導(dǎo)地位的情況。
這是因?yàn)?,「絕對(duì)多數(shù)制」對(duì)于信標(biāo)鏈來說非常重要,單獨(dú)一個(gè)惡意驗(yàn)證者對(duì)網(wǎng)絡(luò)而言是相當(dāng)無害的,但大量惡意驗(yàn)證者將可能造成嚴(yán)重破壞。讓我們來看看一些潛在的場景......
風(fēng)險(xiǎn)場景
這種資產(chǎn)激勵(lì)共識(shí)客戶端多樣性是有風(fēng)險(xiǎn)的。通過在多個(gè)客戶端之間均勻分布驗(yàn)證者,可以大大減少針對(duì)特定客戶端的攻擊或漏洞帶來的影響,而單一客戶端占主導(dǎo)地位則會(huì)增加這種風(fēng)險(xiǎn)。這種風(fēng)險(xiǎn)倍增效應(yīng)會(huì)隨著單個(gè)主導(dǎo)性客戶端占據(jù)的網(wǎng)絡(luò)份額多少而變化。
我們可以通過一些假設(shè)的 (但可能實(shí)際會(huì)發(fā)生的) 場景來獲得更多的直覺感知。讓我們假設(shè)一個(gè) bug 意外地被引入到一個(gè)共識(shí)客戶端中,這個(gè) bug 可以直接導(dǎo)致該客戶端進(jìn)行不正確的證明,或者暴露一個(gè)漏洞,使得惡意攻擊者能夠迫使客戶端進(jìn)行不正確地證明。那么,客戶端多樣性會(huì)如何影響這種 bug 帶來的后果呢?
場景 1:受影響的客戶端控制了少于 1/3 的 ETH 質(zhì)押金
這種情況為信標(biāo)鏈提供了最大的彈性,因?yàn)槿杂?2/3 被質(zhì)押的 ETH 仍在進(jìn)行正確地證明,允許信標(biāo)鏈正常地進(jìn)行敲定。因此,從網(wǎng)絡(luò)的角度來看,這種場景的后果是可以忽略的。受影響的驗(yàn)證者將受到怠惰懲罰,因?yàn)樗麄兲峤涣瞬徽_的證明。這些損失相對(duì)較小,受影響的驗(yàn)證者可以等待客戶端被修復(fù)或者切換到另一個(gè)客戶端。無論哪種方式,驗(yàn)證者都可以以最小的經(jīng)濟(jì)后果和不會(huì)破壞信標(biāo)鏈的方式繼續(xù)進(jìn)行正確的證明。
場景 2:受影響的客戶端控制了超過 1/3 的 ETH 質(zhì)押金
這種情況的問題要大得多,因?yàn)橹皇2坏?2/3 的 ETH 質(zhì)押金在正確地進(jìn)行證明,即沒有絕對(duì)多數(shù)的驗(yàn)證者來正確地達(dá)成共識(shí)。這意味著信標(biāo)鏈無法實(shí)現(xiàn)敲定,且 Inactivity Leak 機(jī)制將被激活。此時(shí),這個(gè) bug 對(duì)整個(gè)網(wǎng)絡(luò)造成了影響。
對(duì)于搭建在以太坊之上的交易所和 Dapps (去中心化應(yīng)用) 而言,區(qū)塊鏈被敲定 (finality) 是至關(guān)重要的,如果區(qū)塊鏈無法被敲定,那么就不能保證交易是永久性和不可篡改的。
對(duì)于使用了這個(gè)受影響的客戶端的個(gè)體驗(yàn)證者來說,相關(guān)的懲罰要嚴(yán)重得多,因?yàn)?Inactivity Leak 機(jī)制的激活意味著個(gè)體驗(yàn)證者質(zhì)押的 ETH 將逐步被銷毀,直到這個(gè)受 bug 影響的客戶端控制了少于 1/3 的 ETH 總質(zhì)押金,且只有到那個(gè)時(shí)候信標(biāo)鏈才會(huì)恢復(fù)敲定。
這種 ETH 的銷毀可能實(shí)際上會(huì)在信標(biāo)鏈恢復(fù)之后持續(xù)一段時(shí)間,從而為驗(yàn)證者數(shù)量的較小變化提供緩沖。只有當(dāng)一個(gè)受影響的客戶端控制了超過 1/3 的 ETH 總質(zhì)押金時(shí),信標(biāo)鏈的敲定才會(huì)處于危險(xiǎn)之中。
在這種場景中,正常運(yùn)行其他替代性客戶端的驗(yàn)證者在 Inactivity Leak 機(jī)制被激活期間不會(huì)收到任何獎(jiǎng)勵(lì)。這是一種安全機(jī)制,用于防止攻擊者蓄意啟動(dòng) Inactivity Leak 機(jī)制,從而提高該攻擊者控制的其他以正確方式運(yùn)行的驗(yàn)證者獲得的總獎(jiǎng)勵(lì)。
這些都是很小的懲罰,但關(guān)鍵是,沒有人能從一個(gè)控制著超過 1/3 的 ETH 總質(zhì)押金的客戶端的共識(shí) bug 的負(fù)面后果中逃脫。
場景 3:受影響的客戶端控制著 1/2 的 ETH 質(zhì)押金
這種情況可能導(dǎo)致信標(biāo)鏈中出現(xiàn)不可恢復(fù)的分叉。如果有共識(shí) bug 的客戶端分叉到它自己的鏈上,那么原始的鏈和新的分叉鏈都無法實(shí)現(xiàn)敲定,因?yàn)樾屡f兩條鏈都缺失了大約一半的驗(yàn)證者,并且都將激活 Inactivity Leak 機(jī)制。
此時(shí),這兩條鏈上缺失的驗(yàn)證者的 ETH 質(zhì)押金將會(huì)逐漸被銷毀,直到他們控制的質(zhì)押金少于 1/3 的網(wǎng)絡(luò) ETH 總質(zhì)押金,此時(shí)每條鏈上的驗(yàn)證者才可以再次開始進(jìn)行敲定。這個(gè)過程在兩條鏈上花費(fèi)的時(shí)間相同,因?yàn)榛謴?fù)敲定需要銷毀的 ETH 數(shù)量是相等的。
這兩條鏈將使用不同的檢查點(diǎn)來獨(dú)立完成敲定。這兩條鏈可能永遠(yuǎn)不會(huì)合并成為一條單獨(dú)的「權(quán)威鏈」。解決方法將需要以太坊社區(qū)對(duì)哪條鏈?zhǔn)恰笝?quán)威鏈」達(dá)成共識(shí)。
這個(gè)過程肯定會(huì)在政治上很難處理和引發(fā)分歧,導(dǎo)致一半的社區(qū)由于切換區(qū)塊鏈而產(chǎn)生的經(jīng)濟(jì)損失 (這還不包括 ETH 可能貶值)。也許更糟糕的是,社區(qū)可能只是繼續(xù)分裂下去 (類似于 The DAO 事件導(dǎo)致以太坊經(jīng)典的產(chǎn)生)。
為了避免信標(biāo)鏈的永久分裂,使用受影響的客戶端的驗(yàn)證者將必須與 Inactivity Leak 賽跑進(jìn)行客戶端切換,或者在區(qū)塊鏈開始敲定之前修復(fù)他們的客戶端??赡苡?3-4 周時(shí)間,在此期間開發(fā)者將爭相拯救以太坊。在這個(gè)場景中,對(duì)于大量的驗(yàn)證者來說,無法逃避重大的經(jīng)濟(jì)損失。
場景 4:受影響的客戶端控制著超過 2/3 的 ETH 質(zhì)押金
對(duì)于信標(biāo)鏈來說,這是噩夢(mèng)般的情況,因?yàn)槭苡绊懙目蛻舳丝刂浦粋€(gè)超級(jí)多數(shù)的驗(yàn)證者,并且能夠敲定自己的鏈。這樣,不正確的信息就很有可能永遠(yuǎn)被固定在以太坊的歷史記錄中。在區(qū)塊鏈開始敲定非法區(qū)塊之前,客戶端團(tuán)隊(duì)將有大約 13 分鐘的時(shí)間來確定該共識(shí) bug、修復(fù)它,并將客戶端更新信息廣播給受影響的驗(yàn)證者。
對(duì)于這種情況,唯一可行的緩解方法是讓受影響的驗(yàn)證者取出他們質(zhì)押的 ETH 并從區(qū)塊鏈中退出。如果在 bug 修復(fù)之后,這些受影響的驗(yàn)證者試圖重新加入那條正確的區(qū)塊鏈中,他們將由于「串謀懲罰」而被罰沒,因?yàn)樗麄兇藭r(shí)證明的檢查點(diǎn)是與他們之前證明的檢查點(diǎn)相矛盾,而且是集體進(jìn)行這樣的操作。
Inactivity Leak 機(jī)制將由于大量驗(yàn)證者離去而被激活,這意味著這些受影響的驗(yàn)證者將在他們等待取款 (退出) 時(shí)不斷損失他們的 ETH 質(zhì)押金。由于有大量驗(yàn)證者要退出,因此等待的隊(duì)伍將很長、緩慢和昂貴。
唯一的其他選擇是,剩下的未受影響的客戶端接受該 bug,加入新的鏈,并同意該 bug 從此成為以太坊共識(shí)層的預(yù)期行為。這將與 staking (質(zhì)押) 社區(qū)的核心原則背道而馳,而且會(huì)造成極大的分裂。這些少數(shù)客戶端將在新鏈上受到怠惰懲罰,即使他們的行為得當(dāng)。
兩種選擇都不是好的選擇。前一個(gè)選擇對(duì)于受影響的驗(yàn)證者來說非常昂貴,并且在邏輯上難以糾正。后一種選擇將嚴(yán)重破壞對(duì)以太坊的信任,并導(dǎo)致我們接受一個(gè)永久被玷污的鏈。
其他風(fēng)險(xiǎn)
逆轉(zhuǎn)最終性
如果單個(gè)客戶端控制著超過 2/3 的 ETH 總質(zhì)押金,那么該客戶端的開發(fā)者就有能力選擇哪個(gè)版本的區(qū)塊鏈歷史是正確的。比如,如果該客戶端的開發(fā)者變得惡意,他們可以花費(fèi)一些 ETH (比如通過某個(gè)交易所套現(xiàn),或者橋接到另一個(gè)區(qū)塊鏈網(wǎng)絡(luò)),然后這些開發(fā)者集體投票,使用另一個(gè)不包含這筆花費(fèi)交易的鏈版本來代替當(dāng)前這個(gè)已經(jīng)被敲定的鏈。
這是一種「雙花」,因?yàn)樵摽蛻舳丝刂浦^大多數(shù)驗(yàn)證者使其能夠逆轉(zhuǎn)最終性和重寫歷史。與此同時(shí),誠實(shí)的少數(shù)驗(yàn)證者會(huì)因?yàn)樗麄儾灰恢碌淖C明而受到懲罰。
一個(gè)惡意的控制了絕對(duì)多數(shù) ETH 總質(zhì)押金的攻擊者也可以威脅做出這樣的行為,并控制網(wǎng)絡(luò)索要贖金。即便是一個(gè)控制著 1/3 的 ETH 總質(zhì)押金的惡意團(tuán)隊(duì)也可以威脅停止鏈的敲定并激活 Inactivity Leak 機(jī)制。
共同的責(zé)任
前一點(diǎn)對(duì)客戶端開發(fā)團(tuán)隊(duì)的看法有些悲觀,不是因?yàn)檫@是合理的,而是因?yàn)閻阂庑袨槭强赡艿?,因此需要防范。然而,這些開發(fā)人員最有可能永遠(yuǎn)是好人,他們自己需要抵制單個(gè)客戶端占主導(dǎo)性地位,不僅僅是因?yàn)樗麄兒芸赡苁且蕴挥脩?(以及 ETH 持有者或質(zhì)押者),還因?yàn)榫W(wǎng)絡(luò)安全的責(zé)任不應(yīng)該集中在一個(gè)小團(tuán)隊(duì)的肩上。
開發(fā)者的行為對(duì)整個(gè)以太坊的健康造成了巨大的影響,他們的壓力和心理健康是真正的代價(jià)??蛻舳硕鄻有酝ㄟ^在多個(gè)獨(dú)立團(tuán)隊(duì)之間分擔(dān)責(zé)任來避免這種情況。


中心化
即使客戶端開發(fā)團(tuán)隊(duì)由完全出于善意的開發(fā)者組成,當(dāng)他們控制了大部分的 ETH 質(zhì)押金時(shí),他們?nèi)匀槐A袅艘蕴贿\(yùn)作方面的過度權(quán)力。去中心化是以太坊的一個(gè)核心原則,這必須包括開發(fā)者、用戶和托管商的去中心化。

跨多個(gè)客戶端的開發(fā)團(tuán)隊(duì)的去中心化,通過均勻分配 ETH 質(zhì)押金,從而限制了單個(gè)客戶端團(tuán)隊(duì)對(duì)諸如分叉內(nèi)容和時(shí)間等做出關(guān)鍵決策,從而限制了他們對(duì)以太坊哲學(xué)方向的影響??蛻舳硕鄻有源_保了在開發(fā)者層面做出去中心化的決策。
政治
對(duì)一條誠實(shí)鏈的社交恢復(fù) (social recovery) 是一個(gè)充滿政治的問題。以太坊的共識(shí)機(jī)制應(yīng)該基于編碼到其客戶端的規(guī)則來確定——這是它的主要目標(biāo)。干預(yù)這一過程可能會(huì)導(dǎo)致以太坊社區(qū)的分裂,導(dǎo)致不同的用戶在哲學(xué)上、倫理上和技術(shù)上對(duì)于緩解某個(gè)主要客戶端的共識(shí) bug/攻擊有各種各樣的觀點(diǎn)。治理決策將是笨拙的、破壞性的,而且可能過于緩慢而無法達(dá)到最大的有效性。
真實(shí)例子
上述場景發(fā)生的概率相對(duì)較低。開發(fā)者在研究和測試他們軟件的每一個(gè)更新時(shí)都是一絲不茍的,沒有理由懷疑任何客戶端團(tuán)隊(duì)的職業(yè)操守。
然而,這些場景也不是純粹的假設(shè)。已經(jīng)有真實(shí)例子表明,客戶端多樣性拯救了以太坊主網(wǎng),使其免于永久損壞,且一些共識(shí) bug 也破壞了以太坊測試網(wǎng)。下面將介紹其中的一些例子。
上海攻擊
2016 年 9 月,在上海 DevCon 會(huì)議期間,黑客攻擊了以太坊,利用客戶端軟件中的幾個(gè)漏洞,導(dǎo)致網(wǎng)絡(luò)速度顯著放緩。攻擊者堅(jiān)持不懈,迅速部署新的類似攻擊,而客戶端開發(fā)人員則競相對(duì)這些攻擊進(jìn)行逆向工程和修補(bǔ)。
最終,攻擊者在 Geth 客戶端中發(fā)現(xiàn)了一個(gè)無法修補(bǔ)的漏洞,使得硬分叉成為必然。即使在硬分叉升級(jí)之后,攻擊者仍然發(fā)現(xiàn)了一個(gè)拒絕服務(wù)漏洞,該漏洞利用之前攻擊所導(dǎo)致的膨脹狀態(tài),迫使客戶端在每個(gè)區(qū)塊中進(jìn)行數(shù)萬次緩慢的磁盤 I/O 操作。
客戶端多樣性贏得了勝利,因?yàn)楫?dāng)開發(fā)人員努力修復(fù) Geth 中的漏洞時(shí),以太坊能夠繼續(xù)使用替代性的 Parity 客戶端,該客戶端沒有遭受同樣的漏洞。
由于有多個(gè)客戶端,上海攻擊是可以恢復(fù)的,但如果一個(gè)類似的 bug 影響了多數(shù)共識(shí)客戶端,情況可能會(huì)截然不同。
如果一個(gè)「共識(shí)客戶端」與當(dāng)時(shí) Geth 被攻擊時(shí)有著相同的主導(dǎo)性地位,那么以太坊量將無法實(shí)現(xiàn)敲定,因?yàn)榇藭r(shí)大多數(shù)驗(yàn)證者將無法對(duì)區(qū)塊進(jìn)行證明。Inactivity Leak 將被激活,因?yàn)橹挥猩儆?1/3 的 ETH 質(zhì)押金可用于進(jìn)行證明。
Insecura 鏈
「遠(yuǎn)程攻擊」的可行性最近在 Pyrmont 測試網(wǎng)得到了證明。其想法是建立一組驗(yàn)證者來證明一個(gè)備用的區(qū)塊鏈歷史。然后,這些驗(yàn)證者被用來誘騙新的驗(yàn)證者加入這條不誠實(shí)的「Insecura」鏈,從而逐漸增加被影響的驗(yàn)證者的數(shù)量,最終達(dá)到中斷區(qū)塊鏈敲定、激活 Inactivity Leak 并耗盡誠實(shí)多數(shù)驗(yàn)證者的 ETH 質(zhì)押金的程度。
最終,這可能導(dǎo)致受影響的客戶端最終敲定自己版本的區(qū)塊鏈。雖然所需要的時(shí)間和金錢的投入使這種行為不太可能成為攻擊向量,但類似的動(dòng)態(tài)可能導(dǎo)致一個(gè)占主導(dǎo)地位的共識(shí)客戶端中的一個(gè) bug 感染網(wǎng)絡(luò)的大部分。
Medalla 測試網(wǎng)
此前由于 Prysm 客戶端的時(shí)鐘問題,Medalla 測試網(wǎng)的活躍驗(yàn)證者數(shù)量突然下降。這條鏈無法進(jìn)行敲定,因?yàn)樘嗟尿?yàn)證者退出了網(wǎng)絡(luò),以至于 2/3 絕大多數(shù)被質(zhì)押的 ETH 已經(jīng)不再可用于進(jìn)行證明。
其恢復(fù)是漸進(jìn)的,因?yàn)檫@依賴于驗(yàn)證者將客戶端從 Prysm 切換到其他少數(shù)客戶端上。然后,真實(shí)的時(shí)間與 Prysm 客戶端錯(cuò)誤的時(shí)鐘時(shí)間趕在一起,之前無效的證明突然間變得有效了。
這導(dǎo)致 Prysm 客戶端陷入停滯,同時(shí) Teku 和 Lighthouse 客戶端也因突然處理大量的證明而遭遇了巨大的狀態(tài)膨脹。如果 Prysm 是 Medalla 測試網(wǎng)的唯一客戶端,那么整個(gè)網(wǎng)絡(luò)都已經(jīng)停滯了;如果 Prysm 客戶端控制了少于 1/3 的 ETH 總質(zhì)押金,那么許多混亂就可以避免了。
Prysm 的存款根 bug
2021 年初,Prysm 客戶端遇到了一個(gè)與 Eth1 存款根驗(yàn)證相關(guān)的 bug。當(dāng)時(shí),Prysm 客戶端能夠生成無效的存款根 (deposit root),并將其傳遞給其他 Prysm 節(jié)點(diǎn)。因?yàn)?Prysm 擁有如此大的驗(yàn)證者份額,這種無效的存款根很快在網(wǎng)絡(luò)中傳播,且由于 Prysm 遵循絕大多數(shù)投票機(jī)制而非在每個(gè)區(qū)塊中顯性地驗(yàn)證存款根,因此加速了其傳播。
雖然該 bug 帶來的影響很小,沒有中斷信標(biāo)鏈的敲定,也沒有對(duì)驗(yàn)證者帶來重大的經(jīng)濟(jì)懲罰,但這個(gè)事件從兩個(gè)方面證明了客戶端多樣性的重要性:首先,如果 Prysm 客戶端有著較小的驗(yàn)證者份額,那么就會(huì)限制該 bug 在整個(gè)網(wǎng)絡(luò)的傳播,減少其影響。
其次,該事件發(fā)生后的分析文章描述了如何使用替代性客戶端實(shí)現(xiàn)作為基準(zhǔn),幫助開發(fā)人員快速識(shí)別和修復(fù)該 bug。顯然,如果沒有多個(gè)積極維護(hù)的客戶端,這是不可能實(shí)現(xiàn)的。
當(dāng)前的客戶端多樣性
顯示了以太坊執(zhí)行層和共識(shí)層的當(dāng)前客戶多樣性的快照 (截至 2022 年 1 月撰寫本文時(shí)):執(zhí)行層由 Geth 客戶端主導(dǎo),OpenEthereum 客戶端遠(yuǎn)遠(yuǎn)排在第二,Erigon 客戶端排第三,Nethermind 排第四,其他客戶端只占不到網(wǎng)絡(luò)的 1%。
共識(shí)層上最常用的客戶端 Prysm 雖然不像執(zhí)行層的 Geth 客戶端那樣占主導(dǎo)地位,但仍然擁有了超過 60% 的網(wǎng)絡(luò),Lighthouse 和 Teku 分別占 20% 和 14%,其他客戶端則很少使用。
執(zhí)行層數(shù)據(jù)于 2022 年 1 月 23 日通過 Ethernodes 網(wǎng)站獲取;共識(shí)客戶端的數(shù)據(jù)來自 Michael Sproul 。共識(shí)客戶端數(shù)據(jù)要更難獲取,因?yàn)樾艠?biāo)鏈客戶端并不總是具有可以用來識(shí)別它們的明確蹤跡。
這些數(shù)據(jù)是使用一種分類算法生成的,這種算法有時(shí)會(huì)弄錯(cuò)一些少數(shù)客戶端。然而,很明顯,共識(shí)層的大部分網(wǎng)絡(luò)節(jié)點(diǎn)都在運(yùn)行 Prysm。Prysm 的優(yōu)勢有時(shí)更高,超過 68%。盡管只是快照,但圖中的占比情況提供了客戶端多樣性的當(dāng)前狀態(tài)的良好總體認(rèn)識(shí)。
執(zhí)行層的客戶端多樣性包含在上圖中,因?yàn)橛绊憟?zhí)行客戶端的 bug 可能也會(huì)傳播到共識(shí)層,這是由于合并之后,共識(shí)層和執(zhí)行層將耦合在一起,且執(zhí)行客戶端生成的執(zhí)行負(fù)載 (execution payload) 將是信標(biāo)區(qū)塊的核心組件。
個(gè)人質(zhì)押者 & 質(zhì)押池
解決客戶端分配不平衡的問題,需要主要交易所和押注池 (stking pools) 采取行動(dòng)。然而,個(gè)人質(zhì)押者也可以通過選擇運(yùn)行非 Geth/Prysm 客戶端組合來發(fā)揮作用。
對(duì)于持有量少于 32 ETH 或者不想要承擔(dān)運(yùn)行驗(yàn)證者的責(zé)任的質(zhì)押者來說,有一些質(zhì)押服務(wù)提供商可以使用。一些主要的中心化交易所提供 ETH 質(zhì)押服務(wù),但他們的質(zhì)押池中的客戶端分布情況通常是隱秘的,而且這些交易所提供的 ETH 質(zhì)押 Token 的可交易性是有限的。出于這些和其他的原因,不建議使用這些中心化的服務(wù)商。
一個(gè)更好的選擇是使用更去中心化的流動(dòng)性押注服務(wù)提供商,如 Lido 或 Rocketpool。這些服務(wù)商提供 ETH 質(zhì)押服務(wù),同時(shí)還提供了一種流動(dòng)性 Token (比如用戶通過 Lido 協(xié)議質(zhì)押 ETH 將獲得具有流動(dòng)性的 stETH Token ),這些流動(dòng)性 Token 的價(jià)值將隨著驗(yàn)證者累積的獎(jiǎng)勵(lì)而增加。
這些 Token 可以進(jìn)行交易,或者用于賺取 DeFi 收益。這些流動(dòng)性質(zhì)押平臺(tái)的客戶端分布情況也要更加透明,比如 Lido 會(huì)發(fā)布季度更新,而 Rocketpool 現(xiàn)在也發(fā)布了他們的季度更新。對(duì)于不能或不愿意運(yùn)行自己的驗(yàn)證器者的用戶,這些服務(wù)是實(shí)現(xiàn)更好的客戶端多樣性的途徑。
總結(jié)
信標(biāo)鏈的獎(jiǎng)罰協(xié)議直接激勵(lì)了客戶端多樣性。單個(gè)客戶端占主導(dǎo)地位將是對(duì)以太坊的潛在威脅,當(dāng)單個(gè)主導(dǎo)性客戶端表現(xiàn)良好時(shí),這種威脅是無形的,但當(dāng)該客戶端出現(xiàn)共識(shí) bug 時(shí),這種威脅可能是災(zāi)難性的。擁有多個(gè)客戶端是以太坊的獨(dú)特優(yōu)勢,也是開發(fā)者社區(qū)勤奮努力的證明。
然而,當(dāng)一個(gè)客戶端控制了大部分 ETH 質(zhì)押金時(shí),這種 (以太坊開發(fā)者社區(qū)的) 努力就會(huì)被削弱。理想的情況是在至少 4 個(gè)客戶端上平均分配 ETH 質(zhì)押金,給每個(gè)客戶端最多 1/4 的 ETH 質(zhì)押金。通過使用現(xiàn)在可用的生產(chǎn)就緒的客戶端,這是很容易實(shí)現(xiàn)的。

熱點(diǎn):ETH 以太 以太坊 以太坊區(qū)塊 區(qū)塊鏈 數(shù)據(jù)

歐易

歐易(OKX)

用戶喜愛的交易所

幣安

幣安(Binance)

已有賬號(hào)登陸后會(huì)彈出下載

« 上一條| 下一條 »
區(qū)塊鏈交流群
數(shù)藏交流群

合作伙伴

皮卡丘資訊 幣圈論壇 幣圈官網(wǎng) 數(shù)字財(cái)經(jīng) 借春秋 裝修裝飾網(wǎng) 愛網(wǎng)站 聚幣網(wǎng) 媽媽知道 谷歌留痕 美白沒斑啦 百悅米 茶百科 去玩唄SPA 百科書庫 兼職信息網(wǎng) 借春秋財(cái)經(jīng) 培訓(xùn)資訊網(wǎng) 非小號(hào)行情 黃金行情 趣玩幣 數(shù)字黃金 天天財(cái)富 玩合約 談股票 元宇宙Web 今日黃金 秒懂域名 金色幣圈 旅游資訊網(wǎng) 代特幣圈 幣圈ICO官網(wǎng) 寶寶起名 周公解夢(mèng) 玩票票財(cái)經(jīng) 減肥瘦身吧 幣圈交流群
非小號(hào)交易所排名-專業(yè)的交易行情資訊門戶網(wǎng)站,提供區(qū)塊鏈比特幣行情查詢、比特幣價(jià)格、比特幣錢包、比特幣智能合約、比特幣量化交易策略分析,狗狗幣以太坊以太幣玩客幣雷達(dá)幣波場環(huán)保幣柚子幣萊特幣瑞波幣公信寶等虛擬加密電子數(shù)字貨幣價(jià)格查詢匯率換算,幣看比特兒火幣網(wǎng)幣安網(wǎng)歐易虎符抹茶XMEX合約交易所APP,比特幣挖礦金色財(cái)經(jīng)巴比特范非小號(hào)資訊平臺(tái)。
非小號(hào)行情 yonghaoka.cn 飛鳥用好卡 ?2020-2024版權(quán)所有 桂ICP備18005582號(hào)-1