以太坊重組攻擊是什么?以太坊2.0合并后將更難執(zhí)行
以太坊重組攻擊是什么?最近,人們討論了礦工采用假定被修改的以太坊客戶端的可能性,該客戶端允許他們接受賄賂,并在選定的區(qū)塊中對(duì)交易進(jìn)行排列。(進(jìn)行這種賄賂的主要用例是攻擊 DeFi 協(xié)議)。
在這篇文章中,我們將解釋為什么這種攻擊模式在以太坊2.0合并后將更難執(zhí)行。
1.什么是分叉選擇規(guī)則,為什么它很重要?
分叉選擇規(guī)則是一個(gè)由客戶端評(píng)估的函數(shù),它把已經(jīng)看到的區(qū)塊和其他消息的集合作為輸入,并向客戶端輸出 "典型鏈 "是什么。分叉選擇規(guī)則是必要的,因?yàn)榭赡苡卸鄠€(gè)有效的鏈可以選擇(例如,如果兩個(gè)具有相同母本的競爭區(qū)塊同時(shí)被發(fā)布)。
重組是一個(gè)特殊事件,在這個(gè)事件中,曾經(jīng)是經(jīng)典鏈的一部分的區(qū)塊不再是經(jīng)典鏈的一部分,因?yàn)橐粋€(gè)競爭區(qū)塊擊敗了它。最終性是指分叉選擇規(guī)則對(duì)某一區(qū)塊非常有利,以至于該區(qū)塊在數(shù)學(xué)上不可能被重合(或至少在經(jīng)濟(jì)上不可行)的情況。
在一些分叉選擇規(guī)則中(例如 Tendermint ),重組是不可能發(fā)生的;分叉選擇規(guī)則只是通過添加任何已經(jīng)通過 BFT(Byzantine Fault Tolerance :拜占庭容錯(cuò)) 共識(shí)并最終確定的區(qū)塊來擴(kuò)展現(xiàn)有的鏈。在其他分叉選擇規(guī)則中,重組是非常頻繁的。
2.以太坊的現(xiàn)狀是什么?
在以太坊這樣的工作量證明(PoW)區(qū)塊鏈中,我們通常會(huì)看到 "最長鏈規(guī)則"(或者更準(zhǔn)確地說,"最高總難度鏈規(guī)則")。這意味著,當(dāng)客戶端發(fā)現(xiàn) 2 條區(qū)塊鏈時(shí),它會(huì)選擇總難度最高的一條(即該鏈中所有區(qū)塊的難度之和)。
舉個(gè)例子,假設(shè)區(qū)塊的難度可以是 100 或 110 ,想象一下下面的場景。
1.我們從難度為 100 的區(qū)塊 1 開始進(jìn)行同步。
2.區(qū)塊 2a 和 3a 分別以 100 的難度到達(dá),我們將它們插入我們的鏈中,形成一個(gè)總難度為 300 的分叉。
3.難度為 110 的區(qū)塊 3b 到達(dá),宣布 2a 為其父方,形成總難度為 310 的分叉。分叉選擇規(guī)則將注意到 "最重 "的鏈現(xiàn)在是第二個(gè)分叉,并將切換到它。這是1個(gè)塊的重組,因?yàn)橹挥袎K 3a 被改變了。請(qǐng)注意,這些區(qū)塊并沒有被完全丟棄,因?yàn)榭赡軙?huì)有一個(gè)新的區(qū)塊到達(dá),導(dǎo)致分叉選擇切換回第一個(gè)分叉上。
4.2b 和 3c 區(qū)塊到達(dá),每個(gè)區(qū)塊的難度都是 110 ,創(chuàng)造了一個(gè)總難度為 320 的新分叉!這意味著分叉選擇的難度是 320 。按照分叉選擇規(guī)則現(xiàn)在將使用 2b 而不是 2a , 3c 而不是 3b ,這些都是上一個(gè)經(jīng)典鏈中的區(qū)塊。這是一個(gè)2個(gè)區(qū)塊的重新組合。
你可以看到這將會(huì)發(fā)生什么。如果一個(gè)新的區(qū)塊 4a 到達(dá),宣布 3a 為其父鏈,分叉選擇規(guī)則將切換回第一個(gè)分叉,以此類推。
3.鏈重組的影響
由于延遲的原因,短暫的重組一直在發(fā)生。礦工 A 和礦工 B 可能同時(shí)找到一個(gè)有效的區(qū)塊,但由于區(qū)塊在 p2p 網(wǎng)絡(luò)中的傳播方式,網(wǎng)絡(luò)的一部分區(qū)塊會(huì)首先看到 A 的區(qū)塊,另一部分會(huì)先看到 B 的區(qū)塊。如果這兩個(gè)區(qū)塊的難度相同,就會(huì)出現(xiàn)平局,客戶要么隨機(jī)選擇,要么選擇較早看到的區(qū)塊。通常情況下,當(dāng)?shù)谌齻€(gè)礦工 C 在 A 的區(qū)塊或 B 的區(qū)塊上建造一個(gè)區(qū)塊時(shí),平局最終被打破,而另一個(gè)區(qū)塊則被遺忘。偶爾,運(yùn)氣不好也會(huì)導(dǎo)致 2-5 個(gè)區(qū)塊的重組。超過這個(gè)時(shí)間的重組幾乎都是由于極端的網(wǎng)絡(luò)故障,客戶端錯(cuò)誤,或惡意攻擊造成的。
短暫的重組不是致命的,但它們?nèi)匀粚?duì)網(wǎng)絡(luò)產(chǎn)生以下這些嚴(yán)重后果。
節(jié)點(diǎn)成本:當(dāng)重組發(fā)生時(shí),由于必須切換到新的分叉,可能會(huì)回滾交易或修改區(qū)塊鏈狀態(tài),因此會(huì)有一些存儲(chǔ)問題。
用戶體驗(yàn)下降:重新分叉的可能性意味著用戶需要等待更長時(shí)間才能安全地將涉及他們的交易視為 "確認(rèn)"。這方面的一個(gè)重要子案例是交易所等企業(yè)在接受存款之前需要等待更長時(shí)間。
交易背景的不確定性:當(dāng)用戶發(fā)送交易時(shí),他們對(duì)該交易將在什么背景下執(zhí)行的確認(rèn)性較低(例如,最近的 N 個(gè)區(qū)塊會(huì)不會(huì)被恢復(fù)?值得注意的是,這增加了 DeFi 交易對(duì)意外失敗,比預(yù)期差的交易結(jié)果或有害的 MEV 提取的可能性。
增加了 51 % 算力攻擊的可能性:在一個(gè)最長鏈規(guī)則驅(qū)動(dòng)的系統(tǒng)中,如果鏈上的礦工從 B1 到 B2 重新排序,那么 B1 的難度就不再有助于確保鏈的安全。攻擊者不再需要擊敗所有誠實(shí)的礦工,他們僅僅需要擊敗沒有被重組的那部分誠實(shí)礦工。如果頻繁重組,這就使攻擊者的工作大大簡化。
可能發(fā)生的最壞情況
在最壞的情況下,頻繁的重組可以使區(qū)塊鏈的結(jié)算保證完全失效,并阻止其繼續(xù)進(jìn)行。通常情況下,區(qū)塊生產(chǎn)者的 "激勵(lì)兼容 "策略應(yīng)該是延長最長的鏈。但是,如果某個(gè)區(qū)塊的后置狀態(tài)有利可圖(例如,有非常高的費(fèi)用或 MEV ,只有通過在該區(qū)塊之后直接建立一個(gè)區(qū)塊才能提?。瑫?huì)發(fā)生什么?這個(gè)問題過去在沒有區(qū)塊獎(jiǎng)勵(lì)的比特幣和自私采礦的背景下被探討過,今天在以太坊生態(tài)系統(tǒng)中與 DeFi 相關(guān)的 MEV 背景下也被探討過。
在這些情況下,有很大的動(dòng)機(jī)試圖通過競爭而不是延長經(jīng)典鏈的頂端來 "偷取"費(fèi)用或 MEV 。在下面的例子中,區(qū)塊 1 的后置狀態(tài)是有利可圖的,區(qū)塊 2a 已經(jīng)被開采。然而,不是 1 個(gè)而是 3 個(gè)區(qū)塊生產(chǎn)者選擇在區(qū)塊 1 而不是區(qū)塊 2a 的基礎(chǔ)上進(jìn)行開采(以要求在區(qū)塊 1 之后暴露的任何 MEV ),這可以擴(kuò)展到任意數(shù)量的一方。
出于顯而易見的理由,這樣的模式為惡意的 51% 算力攻擊打開了一扇大門。我們把從事這種重組開采戰(zhàn)術(shù)的礦工稱為 "近視理性",因?yàn)檫@樣做的決定在短期內(nèi)可能是理性的。然而,他們?cè)谝蕴簧嫌忻鞔_的(造幣商)或隱性的(礦工)多頭頭寸(因?yàn)橘M(fèi)用和區(qū)塊獎(jiǎng)勵(lì)是以以太坊計(jì)價(jià)的),這意味著任何這種減少用戶對(duì)以太坊信任的攻擊都是違背他們的終極利益的,因此從長遠(yuǎn)來看是不理性的。
4.合并后的以太坊與權(quán)益證明
在 Nakamoto PoW 中,區(qū)塊在分叉選擇中被 "串行 "固化。首先,一個(gè)區(qū)塊被開采出來,這時(shí),一個(gè)競爭區(qū)塊有可能會(huì)重組它。如果該區(qū)塊作為經(jīng)典鏈的一部分存活下來,在(平均)13秒后,其他一些礦工在上面建立了第二個(gè)區(qū)塊。在這一點(diǎn)上,需要一個(gè)由兩個(gè)競爭區(qū)塊組成的鏈來重新組織它。隨著更多的區(qū)塊被建在上面,重新 org 鏈的難度繼續(xù)增加,但速度很慢。
以太坊的信標(biāo)鏈實(shí)現(xiàn)了一個(gè)名為 Gasper 的 PoS 協(xié)議,有一個(gè)名為 LMD-GHOST 的分叉選擇規(guī)則。與 Nakamoto PoW 相反,在區(qū)塊生產(chǎn)過程中,有2個(gè)角色。
提議者: 一個(gè)驗(yàn)證者的任務(wù)是提出一個(gè)區(qū)塊。
參與者: 一組驗(yàn)證者投票決定他們認(rèn)為哪個(gè)區(qū)塊是經(jīng)典鏈的頭。鑒定人的投票被稱為 "證明",他們?yōu)閰^(qū)塊賦予 "權(quán)重"??刂畦b定人意味著控制分叉選擇規(guī)則。
每12秒有一個(gè) "槽",它代表了一個(gè)提出區(qū)塊的機(jī)會(huì)。對(duì)于每個(gè)時(shí)段,一個(gè)洗牌算法偽隨機(jī)地選擇一個(gè)由所有驗(yàn)證者的 1/32 組成的委員會(huì),其中每個(gè)委員會(huì)中的一個(gè)驗(yàn)證者是提議者,其余的是贊成者。審定者對(duì)他們認(rèn)為是經(jīng)典鏈的一部分的區(qū)塊進(jìn)行平行投票。由于委員會(huì)是偽隨機(jī)抽樣的,攻擊者沒有辦法將他們的驗(yàn)證者集中到一個(gè)單一的位置。
今天,信標(biāo)鏈有 19.6 萬個(gè)驗(yàn)證器,這意味著每個(gè)槽都有一個(gè)大小為 6125 的委員會(huì)。因此,即使是單一區(qū)塊的重構(gòu)也是非常困難的,因?yàn)橐粋€(gè)只控制了少數(shù)驗(yàn)證者的攻擊者沒有辦法擊敗成千上萬的誠實(shí)的大多數(shù)參與者。
為了獲得一些關(guān)于為什么會(huì)這樣的直覺,讓我們看一個(gè)有 2 個(gè)插槽和 24 個(gè)驗(yàn)證者的例子,其中 9 個(gè)是惡意的。驗(yàn)證者被分成兩個(gè)委員會(huì),由于隨機(jī)洗牌,對(duì)手不太可能控制他們被分配到的任何一個(gè)小組的 50 %以上,并導(dǎo)致重組。
更正式地說,擁有 p %股權(quán)的惡意行為者控制 N 個(gè)驗(yàn)證人規(guī)模的委員會(huì)中超過 50 %的概率遵循二項(xiàng)分布(其中 k = N/2 )。
計(jì)算不同情況下的概率,我們得到以下表格:
我們現(xiàn)在明白,直接進(jìn)行重組需要攻擊者控制接近 50 %的驗(yàn)證者。
如果攻擊者擁有 25-49 %的驗(yàn)證者,還有更微妙的攻擊是可能的。然而,這些攻擊有已知的修復(fù)方法,可以不引人注意地實(shí)施,增加安全性,接近無條件的 50 %。
最后,長時(shí)間的恢復(fù)是不可能的,因?yàn)樗猩钊氲竭^去 2 個(gè)紀(jì)元的區(qū)塊都被認(rèn)為是 "最終確定 "的,也就是說,不可能恢復(fù)過去。如果攻擊者導(dǎo)致兩個(gè)沖突的區(qū)塊被最終確定(例如通過控制 67 %的股權(quán)),系統(tǒng)將需要回落到social intervention 來恢復(fù)。
重組戰(zhàn)略采用的博弈論
既然我們已經(jīng)看到了重組策略在不同的分叉選擇規(guī)則中是如何運(yùn)作的,那么就值得通過一個(gè)簡單的博弈論例子來了解礦工或驗(yàn)證者何時(shí)使用執(zhí)行重組策略的軟件來獲利才是合理的。
我們可以用一個(gè)回報(bào)矩陣來通俗地描述每種情況,其中 "缺陷 "意味著 "下載并使用執(zhí)行反欺詐的軟件"。報(bào)酬是 "短視 "的,沒有考慮到長期后果。
中本聰工作證明
在最長鏈 PoW 中,短距離重組可以用驗(yàn)證器集的哪怕一小部分進(jìn)行概率性的重組。偶爾總會(huì)有一些區(qū)塊具有有利可圖的后置狀態(tài),以至于即使是 1-10 %的成功率也值得嘗試與該區(qū)塊的現(xiàn)有子塊競爭。
礦工可以是一個(gè)中等規(guī)模的礦池,依靠他們連續(xù)找到下一個(gè) 2-3 個(gè)區(qū)塊的可能性,或者他們可以將他們收入的一部分送入一個(gè)任何人都可以索取的合同中,以賄賂其他運(yùn)行相同軟件的人在他們的鏈上建立并幫助它對(duì)抗現(xiàn)有的經(jīng)典鏈。
因此,一些礦工可能會(huì)被誘惑去運(yùn)行 reorg 客戶端。
Gasper
在 Gasper 中, 1-64 個(gè)槽位的重組是可能的,但需要攻擊者控制整個(gè)驗(yàn)證器集的很大一部分(因?yàn)樗麄儾荒馨奄€注集中在某個(gè)特定的槽位上,所以他們需要有足夠大的籌碼在他們想攻擊的槽位范圍內(nèi)隨機(jī)選擇)。除非有非常多的其他驗(yàn)證者也同時(shí)采用,否則采用重組挖礦軟件是沒有用的。
因此,如果 51 %的驗(yàn)證者有哪怕是最輕微的利他主義,那么沒有一個(gè)人運(yùn)行重組軟件是一個(gè)穩(wěn)定的均衡狀態(tài)。
Tendermint
在 Tendermint 中,情況甚至更干凈:重組是不可能的,任何違反單槽最終性的行為都需要1/3以上的驗(yàn)證者被砍掉。與 Gasper 的情況類似,這也意味著沒有人運(yùn)行重組軟件才是一個(gè)穩(wěn)定的均衡。
從上面我們可以看出,雖然采用 "reorg geth "在所有情況下都是可能的,但基于平行證明概念的分叉選擇規(guī)則有誠實(shí)的均衡狀態(tài),且它將比 Nakamoto 分叉選擇中的均衡更穩(wěn)定。
5.經(jīng)驗(yàn)之談
在以太坊的背景下,最有效的預(yù)防措施是進(jìn)一步加快合并的工作,特別是迅速實(shí)現(xiàn)可信的能力,進(jìn)行 "緊急合并",將鏈過渡到 PoS 。急于合并會(huì)有很高的風(fēng)險(xiǎn),可能會(huì)破壞基礎(chǔ)設(shè)施,但如果許多礦工開始重新攻擊鏈,一個(gè)可信的承諾將對(duì)這種行為起到抵制作用。
接近合并的時(shí)期風(fēng)險(xiǎn)最大,因?yàn)榈V工仍然是系統(tǒng)的負(fù)責(zé)人,但他們的時(shí)間跨度縮短了。然而,有兩個(gè)因素緩解了這種風(fēng)險(xiǎn)。
以太坊礦工往往同時(shí)是(i)其他區(qū)塊鏈的礦工,和/或(ii)以太坊社區(qū)其他身份的成員,所以他們?nèi)匀粫?huì)有良好行為的動(dòng)機(jī)。
隨著合并的臨近,進(jìn)行緊急合并的難度、成本和風(fēng)險(xiǎn)也在降低。在合并的預(yù)定日期前幾個(gè)月,緊急合并將是具有高度破壞性的。在合并預(yù)定日期的兩周前,對(duì)客戶來說,這將是一個(gè)參數(shù)設(shè)置,驗(yàn)證操作器已經(jīng)完成了下載。
合并后,重組驗(yàn)證將成為一個(gè)更小的問題,因?yàn)閱蝹€(gè)驗(yàn)證者或一小群驗(yàn)證者不能獨(dú)自重組。重組攻擊想要成功必須解決極其困難的協(xié)調(diào)問題,即讓大多數(shù)驗(yàn)證者同時(shí)下線。然而,一些小的風(fēng)險(xiǎn)仍然存在。如果希望進(jìn)一步提高安全性,那么以太坊可以進(jìn)一步調(diào)整分叉選擇規(guī)則,將重組攻擊的要求提高到 50 %的理論最大值,或者找到一種方法,直接轉(zhuǎn)向單槽 inality 的共識(shí)。
以上就是以太坊重組攻擊是什么?以太坊2.0合并后將更難執(zhí)行的詳細(xì)內(nèi)容,更多關(guān)于以太坊2.0合并的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
你可能感興趣的文章
-
什么是主網(wǎng)上線?主網(wǎng)上線意味著什么?
這篇文章主要介紹了什么是主網(wǎng)上線?主網(wǎng)上線意味著什么?對(duì)于“主網(wǎng)上線”,或許你已經(jīng)聽說過很多回了。究竟什么是“主網(wǎng)上線”?“主網(wǎng)上線”對(duì)區(qū)塊鏈項(xiàng)目而言是好是壞,是…
2021-05-24 -
以太坊將超越比特幣?以太坊的持續(xù)上漲邏輯?
這篇文章主要介紹了以太坊將超越比特幣?以太坊的持續(xù)上漲邏輯?一是以太坊上面的生態(tài)越來越大;二是以太坊的價(jià)格上漲將具備機(jī)制因素。我們先看生態(tài)因素,這主要包括應(yīng)用層面…
2021-05-16 -
個(gè)人電腦怎么挖以太坊?以太坊電腦挖礦詳細(xì)圖解教程
這篇文章主要介紹了個(gè)人電腦怎么挖以太坊?以太坊電腦挖礦詳細(xì)圖解教程,以太坊在幣圈是僅次比特幣的數(shù)字貨幣,以太坊的獲取方式除了直接市面上購買之外,就是挖礦獲得,下…
2021-05-12 -
2021年會(huì)暴漲的數(shù)字貨幣最有可能是哪些?
這篇文章主要介紹了2021年會(huì)暴漲的數(shù)字貨幣最有可能是哪些?想要在數(shù)字貨幣投資市場賺錢,最為重要的就是選到能夠暴漲的數(shù)字貨幣,畢竟數(shù)字貨幣現(xiàn)貨交易,最基本的賺錢方法…
2021-05-11 -
通過灰度購買以太坊的機(jī)構(gòu)有哪些?
這篇文章主要介紹了通過灰度購買以太坊的機(jī)構(gòu)有哪些?2021年第一季度有眾多機(jī)構(gòu)投資者買入ETHE(Grayscale Ethereum Trust)。并且其中,有多家機(jī)構(gòu)此前的投資組合中便出現(xiàn)…
2021-05-10 -
DeFi面臨的最大挑戰(zhàn),該如何解決?
這篇文章主要介紹了DeFi面臨的最大挑戰(zhàn),該如何解決?如今,絕大部分的DeFi交易都在以太坊上進(jìn)行,以太坊在速度、區(qū)塊大小、Gas費(fèi)用等方面限制越發(fā)凸顯,DeFi的高門檻還在于…
2021-05-07 -
不到一年,市值從400萬增長到15億美金的WBTC是什么?
這篇文章主要介紹了不到一年,市值從400萬增長到15億美金的WBTC是什么?WBTC全稱Wrapped Bitcoin,字面意思為“有包裝的比特幣”,是基于以太坊、與比特幣掛鉤的ERC-20代幣…
2021-05-06 -
科普:以太坊智能合約,以及大部分Token都在用的ERC標(biāo)準(zhǔn)是什么?
這篇文章主要介紹了以太坊智能合約,以及大部分Token都在用的ERC標(biāo)準(zhǔn)是什么?ERC表示以太坊版的意見征求稿,ERC中包含技術(shù)和組織等注意事項(xiàng)及標(biāo)準(zhǔn)。在現(xiàn)實(shí)生活當(dāng)中,我們經(jīng)…
2021-05-06 -
區(qū)塊鏈科普:加密貨幣的來歷,演變歷史
這篇文章主要介紹了區(qū)塊鏈科普:加密貨幣的來歷,演變歷史,學(xué)習(xí)加密貨幣時(shí)要知道的最重要的一件事是它們的最初目的。第二件最重要的事情是什么不是加密貨幣。如果投資者朋友…
2021-05-05 -
以太坊Eth挖礦軟件評(píng)測(cè)對(duì)比,看看哪個(gè)挖礦軟件算力高?
這篇文章主要介紹了以太坊Eth挖礦軟件評(píng)測(cè)對(duì)比,看看哪個(gè)挖礦軟件算力高?我們將對(duì)GMiner、T-Rex、EthMiner、lolMiner、Phoenix Miner、NBMiner、 Team Red Miner等7個(gè)主流的…
2021-05-05