工作量證明(PoW)的內(nèi)部攻擊模型區(qū)塊鏈
雖然,POW算法其實(shí)并沒(méi)有協(xié)調(diào)選擇博弈論中的安全性,因?yàn)槎鄶?shù)聯(lián)盟可以形成和有益的審查和回復(fù)塊。但是當(dāng)我們考慮PoW的攻擊時(shí),通常不會(huì)考慮到礦工聯(lián)合攻擊,而是想到購(gòu)買礦工設(shè)備或者對(duì)更重鏈進(jìn)行挖礦。這篇文章主要是談?wù)揚(yáng)oW對(duì)抗控制半數(shù)哈希力攻擊的能力,不允許租用,或賄賂礦工,或與礦工進(jìn)行任何其他形式的合作。
外部攻擊
外部攻擊者購(gòu)買足夠的GPU或者ASIC直到完成對(duì)可信網(wǎng)絡(luò)的“51%攻擊”,或者至少不與攻擊者合作。
假設(shè)通過(guò)給1個(gè)GUP可挖礦的區(qū)塊鏈增加X(jué)哈希力,并且會(huì)讓這個(gè)X哈希算力的GPU礦工從挖這個(gè)區(qū)塊鏈轉(zhuǎn)移到其他區(qū)塊鏈(因?yàn)槿绻贿@樣,攻擊者的鏈就會(huì)獲利變少)。GPU挖掘假設(shè)是一種有效的、完全競(jìng)爭(zhēng)的區(qū)塊鏈?zhǔn)袌?chǎng)。
在這個(gè)“簡(jiǎn)單模型”中,對(duì)于有T算力的區(qū)塊鏈,攻擊者需要的算力是X=T/2,這些是非常多的GPU。
同時(shí),假設(shè)通過(guò)增加X(jué)的ASIC算力,ASIC網(wǎng)絡(luò)的算力提升了X。ASIC挖礦區(qū)塊鏈?zhǔn)且环N壟斷市場(chǎng)。在另個(gè)“簡(jiǎn)單模型”中,如果要攻擊T算力的ASIC區(qū)塊鏈,則需要有T算力才能發(fā)動(dòng)攻擊。
事實(shí)上,真實(shí)的情況是介于兩者之間。區(qū)塊鏈GPU礦工市場(chǎng)并不是完全競(jìng)爭(zhēng)的,區(qū)塊鏈ASIC礦工也不是完全壟斷。
盡管這非常有趣,但是我們盡量保持簡(jiǎn)單:不再討論ASIC,假設(shè)我們就需要T/2的算力,來(lái)攻擊擁有T算力的區(qū)塊鏈。
而且,這其實(shí)應(yīng)該是“充分競(jìng)爭(zhēng)”的場(chǎng)景,因?yàn)榈V工在發(fā)現(xiàn)有攻擊者出現(xiàn)的時(shí)候,就會(huì)立刻去挖別的,因?yàn)閰^(qū)塊鏈?zhǔn)艿焦粢馕吨麧?rùn)降低。
所以,我們模型的關(guān)鍵,就是持有T/2的算力,就可以攻擊擁有T算力的區(qū)塊鏈。
內(nèi)部攻擊者
內(nèi)部攻擊者不會(huì)去購(gòu)買足夠的GPU來(lái)獲得T/2的算力,而是購(gòu)買更少部分的算力X= p*T。內(nèi)部攻擊者開(kāi)始挖礦,并且現(xiàn)在網(wǎng)絡(luò)最誠(chéng)實(shí)的部分擁有Y = T - X = (1 - p)*T算力。內(nèi)部攻擊者繼續(xù)在最長(zhǎng)的鏈上挖礦,獲得區(qū)塊獎(jiǎng)勵(lì),和其他礦工競(jìng)爭(zhēng)。
內(nèi)部攻擊者會(huì)將挖礦獎(jiǎng)勵(lì)用于購(gòu)買更多算力。假設(shè)在我們的模型,內(nèi)部攻擊者能夠以每月1 r的速率來(lái)增加算力。也就是說(shuō),如果內(nèi)部攻擊者在0月份獲得X算力,那么在1月份就會(huì)獲得X(1 r)的算力。
同時(shí)也假設(shè)最誠(chéng)實(shí)的礦工也投資來(lái)獲得更多算力,但是按照每月1 h的速率增加。
在這個(gè)實(shí)驗(yàn)中,我們假設(shè)1 r > 1 h。攻擊者都會(huì)想要最大化自己的算力。最誠(chéng)實(shí)的礦工專注于利潤(rùn)。攻擊者也許會(huì)因?yàn)檫@種利益獲得贊助,或者長(zhǎng)期的策略。最誠(chéng)實(shí)的礦工不會(huì)和這個(gè)攻擊者合作,并且不知道有攻擊者的存在(攻擊者會(huì)看起來(lái)是誠(chéng)實(shí)挖礦,但是自私挖礦會(huì)增加r – h的值)。
在N個(gè)月之后,內(nèi)部攻擊者已經(jīng)有了X(1 r)^N的算力,而且網(wǎng)絡(luò)還剩下Y(1 h)^N算力。攻擊者在獲得和網(wǎng)絡(luò)同樣算力的時(shí)候,就勝利了。 X(1 r)^N =Y(1 h)^N <==> ((1 r)/(1 h))^N = Y/X = (1-p)/p 我們把(1 r)/(1 h)比例成為攻擊者的“優(yōu)勢(shì)”,并且記為a。所以當(dāng)a^N = (1-p)/p時(shí),攻擊者勝利。
內(nèi)部攻擊者有a和初始哈希力的比例p,因此可以在經(jīng)過(guò)N = ln((1 - p)/p)/ln(a) months月后,進(jìn)行成功的攻擊。同時(shí),也不一定就是月份,在任何階段數(shù)學(xué)都是不變的,只要我們能夠計(jì)算出“a”。
下面表格中的數(shù)字可以幫助我們理解:
根據(jù)上面的數(shù)字,對(duì)于內(nèi)部攻擊來(lái)說(shuō),每個(gè)月都有5%, 10% 和25%的漲幅,而且網(wǎng)絡(luò)的初始算力有10%, 20% 或者 30%。
那么對(duì)于這個(gè)模型,我們有多少的安全性呢?
了解這個(gè)“內(nèi)部”策略的外部攻擊者有選項(xiàng)。如果他們知道他們會(huì)在N個(gè)月后進(jìn)行攻擊,而且他們也知道自己的a是多少,然后他們就會(huì)計(jì)算需要的初始算力比重。也就說(shuō),他們可以計(jì)算出自己所需要的GPU.
如果攻擊者知道他們所需要的GPU,已經(jīng)a的值,那么他們就可以計(jì)算所需要的月數(shù)來(lái)獲得他們攻擊目標(biāo)的大多數(shù)算力。
那么區(qū)塊獎(jiǎng)勵(lì)讓我們獲得了什么?
增加區(qū)塊獎(jiǎng)勵(lì)可以增加購(gòu)買算力的成本。攻擊者之前可以買得起10%的算力,但是現(xiàn)在可能只能買得起5%的算力,來(lái)開(kāi)始他們的攻擊。
如果將區(qū)塊獎(jiǎng)勵(lì)翻倍,那么就會(huì)延遲區(qū)塊獎(jiǎng)勵(lì): ?N =ln((1 - p/2)/(p/2))/ln(a) - ln((1 - p)/p)/ln(a) = (ln((2 - p)/p) - ln(p/(1 - p)))/ln(a) = ln((2-p)/(1-p))/ln(a) 所以如果增加區(qū)塊獎(jiǎng)勵(lì),就可以降低a的值,然而降低了購(gòu)買哈希算力p的能力,從而也降低了?N = ln((1-p)/(2-p))/ln(a)攻擊成功的概率。
請(qǐng)看另一個(gè)表格。
由于加倍了區(qū)塊獎(jiǎng)勵(lì),擁有10%,20%或者30%比重的攻擊者,假設(shè)他們有5%,10%或者25%的a值,所需要的月份都會(huì)增加。假設(shè)在哈希算力增加的情況下,網(wǎng)絡(luò)哈希力也會(huì)增加(在完全競(jìng)爭(zhēng)市場(chǎng)的假設(shè))。
區(qū)塊獎(jiǎng)勵(lì)翻倍將攻擊延遲了10個(gè)月。但是,每10個(gè)月增加區(qū)塊獎(jiǎng)勵(lì),這樣來(lái)永久推遲攻擊,代價(jià)非常昂貴。
總結(jié)
其實(shí)這個(gè)模式非常簡(jiǎn)單,假設(shè)攻擊者最初有一定的算力,同時(shí)也能夠按照一定比例來(lái)增加算力,這會(huì)比現(xiàn)在礦工的算力呈指數(shù)級(jí)增加。這是可靠的假設(shè),因?yàn)槔麧?rùn)和算力呈正比,并且因?yàn)檫@使得數(shù)學(xué)非??尚小?/span>
我們可以看到一些數(shù)字,究竟攻擊者需要幾個(gè)月,才可以在給定的a值下,完成攻擊,而且如果增加區(qū)塊獎(jiǎng)勵(lì),他們的攻擊會(huì)被延遲多久。 所以,很明顯如果增加區(qū)塊獎(jiǎng)勵(lì),在這個(gè)模型中,是可以增加網(wǎng)絡(luò)的安全性。假設(shè),礦工不會(huì)和攻擊者合作,而且攻擊者會(huì)購(gòu)買哈希算力來(lái)進(jìn)行網(wǎng)絡(luò)攻擊(不論他們是否會(huì)在購(gòu)買后進(jìn)行誠(chéng)實(shí)挖礦)。
但是,這個(gè)模型能否真實(shí)使用,仍然需要證實(shí)。如果有人提出更加合理的a值,那么就會(huì)更好了,當(dāng)攻擊者嘗試不同的策略,都可以適用。 這些數(shù)字會(huì)幫助我們思考有多少安全礦工在抵御這些不和礦工合作的攻擊者。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來(lái)源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來(lái)源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。