比特幣安全受到了什么新的威脅
新型攻擊模式BDOS
近日,康奈爾大學(xué)和以色列理工合作成立的研究機(jī)構(gòu) IC3 (The initiaTIve for cryptocurrencies and contracts)聯(lián)合宣布:“我們發(fā)現(xiàn)了一種針對(duì)中本聰共識(shí)協(xié)議區(qū)塊鏈(BCH和BTC)的拒絕服務(wù)攻擊,這種攻擊模式之前的攻擊模式成本要低得多(只需全網(wǎng)20%算力)。比特幣區(qū)塊鏈基于POW挖礦來(lái)維護(hù)系統(tǒng)安全,攻擊者通過(guò)破壞挖礦獎(jiǎng)勵(lì),從而使理性礦工停止挖礦。這種攻擊被稱為區(qū)塊鏈拒絕服務(wù)(BDoS)?!?/p>
BDOS分析
IC3是一個(gè)由來(lái)自卡耐基梅隆大學(xué)、康奈爾大學(xué)、康奈爾理工學(xué)院、EPFL、蘇黎世聯(lián)邦理工學(xué)院、加州大學(xué)伯克利分校、倫敦大學(xué)學(xué)院、UIUC和位于紐約康奈爾理工學(xué)院的Technion學(xué)院的教師組成的區(qū)塊鏈研究團(tuán)隊(duì)。POW型區(qū)塊鏈一直是他們關(guān)注的焦點(diǎn),在他們宣布發(fā)現(xiàn)BDOS的攻擊模式的同時(shí)也發(fā)表了一篇專業(yè)論文,展示了攻擊者如何誘導(dǎo)理性礦工停止挖礦,并提出了解決方案。
論文認(rèn)為BDoS攻擊,通過(guò)操縱對(duì)理性礦工的獎(jiǎng)勵(lì),從而可使區(qū)塊鏈停止運(yùn)行。攻擊者會(huì)使系統(tǒng)處于一種狀態(tài),在這種狀態(tài)下,理性礦工的會(huì)停止挖礦。為了造成區(qū)塊算力停擺的局面,攻擊者會(huì)先生成一個(gè)區(qū)塊,并只發(fā)布其區(qū)塊頭。而給定一個(gè)區(qū)塊頭,一個(gè)理性的礦工有三種選項(xiàng):
1.繼續(xù)挖主鏈,然后忽略區(qū)塊頭;
2.因?yàn)椴淮_定塊里有哪些交易,先挖一個(gè)空塊(SPV挖礦);
3.可以停止挖礦,既不消耗算力,也不贏得獎(jiǎng)勵(lì);
如果礦工選擇不理這個(gè)區(qū)塊頭,繼續(xù)挖主鏈(防守塊),那么攻擊者就快速?gòu)V播與區(qū)塊頭對(duì)應(yīng)的完整塊(攻擊塊)。因?yàn)辄c(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)里每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)連通性不一致,有的節(jié)點(diǎn)會(huì)先收到攻擊塊,有的節(jié)點(diǎn)會(huì)先收到防守塊,這會(huì)導(dǎo)致兩組礦工博弈,搶奪記賬權(quán)。在一定概率下,理性礦工會(huì)輸?shù)舯荣?,防守塊永遠(yuǎn)不會(huì)被包含在主鏈當(dāng)中,成為孤塊,理性礦工損失掉一個(gè)區(qū)塊收益,且白白浪費(fèi)了算力和挖礦電費(fèi)。
而選項(xiàng)2中,默認(rèn)進(jìn)攻塊是合法的,繼續(xù)跟著進(jìn)攻塊這條鏈,提前挖出一個(gè)空塊,本來(lái)可以獲得區(qū)塊收益,但是攻擊者可以不發(fā)送完整的區(qū)塊信息,讓這個(gè)塊不能上主鏈,這樣挖進(jìn)攻塊和正常挖礦的礦工都會(huì)損失掉一個(gè)區(qū)塊收益。
研究者得出的結(jié)論是,不管礦工挖防守塊還是進(jìn)攻塊,攻擊者都可以讓礦工拿不到收益,所以礦工最好的選擇就是關(guān)機(jī)不挖。所以,這個(gè)攻擊可以讓比特幣(BCH和BTC)網(wǎng)絡(luò)停機(jī)。
BDOS與DOS對(duì)比
與DOS攻擊相比,如果攻擊者要進(jìn)行DoS攻擊,其擁有的計(jì)算能力就要比其他參與者的總和都要高,即51%攻擊。對(duì)于主要的加密貨幣來(lái)說(shuō),51%攻擊對(duì)于大多數(shù)實(shí)體而言都是非常昂貴的。而BDOS攻擊門檻更低,需要 20% 的算力就能進(jìn)行這種攻擊。
對(duì)比 51% 攻擊的話,51% 攻擊門檻更高,但是可以破壞一致性,可以雙花獲益。而BDOS攻擊中并不是這樣,攻擊者并不能天然從攻擊中獲益,而實(shí)際上是在犧牲自己的挖礦獎(jiǎng)勵(lì)進(jìn)行攻擊。
如何對(duì)抗BDOS
雖然相較51%攻擊,BDOS算力要求要求較低,但對(duì)于BTC和BCH這樣有著強(qiáng)大算力保護(hù)的主流幣來(lái)說(shuō),20%的門檻還是很高。如果希望避免DBOS攻擊,要盡可能的提高全網(wǎng)算力,提高攻擊門檻,畢竟20%的算力是真金白銀的投入,且攻擊者并沒有任何收益,屬于傷人一千自損八百的行為。
IC3團(tuán)隊(duì)也提出了解決方案,IC3建議對(duì)共識(shí)規(guī)則進(jìn)行一個(gè)小的修改,這樣礦工們就可以對(duì)區(qū)塊header在body在之前某個(gè)閾值時(shí)間(比如1分鐘)以上的區(qū)塊給予較低的優(yōu)先級(jí)。這將增加攻擊者輸?shù)魠^(qū)塊傳播競(jìng)賽的機(jī)會(huì),因此可降低BDoS攻擊的有效性。
BDoS攻擊另一個(gè)可能的解決方案,是使用孤塊獎(jiǎng)勵(lì)機(jī)制,也是目前以太坊正在采用的方案,挖到孤塊的礦工也可以獲得區(qū)塊獎(jiǎng)勵(lì),挖掘的算力也不會(huì)白白浪費(fèi)。如果使用了孤塊獎(jiǎng)勵(lì)機(jī)制,理性的礦工在BDoS攻擊中仍然可以繼續(xù)維持算力投入,在選項(xiàng)1中即使沒有獲得記賬權(quán),理性礦工也會(huì)得到獎(jiǎng)勵(lì)(相當(dāng)于以太坊完整區(qū)塊獎(jiǎng)勵(lì)的7/8)。