隨著全球算力池不斷增長,也更具流動性,加密貨幣可能需要抵制其他潛在威脅,因為攻擊者可能會針對某個特定挖礦算法租用全球算力。為了確保
隨著全球算力池不斷增長,也更具流動性,加密貨幣可能需要抵制其他潛在威脅,因為攻擊者可能會針對某個特定挖礦算法租用全球算力。
為了確保網(wǎng)絡(luò)去中心化、避免出現(xiàn)“礦霸”,使用工作量證明(PoW)的加密貨幣一般不允許讓一家挖礦公司控制大部分算力。
但隨著全球算力池不斷增長,也更具流動性,加密貨幣可能需要抵制其他潛在威脅了,因為攻擊者可能會針對某個特定挖礦算法租用全球算力,一旦他們因為想要獲利這么做的話,就能在短時間內(nèi)集中大量算力,然后實施 51% 攻擊。
過去加密貨幣挖礦市場會出現(xiàn) 51% 攻擊,主要因為有以下幾個情況:
1、基于特定算法的礦工:許多礦機(jī)會針對某種挖礦算法進(jìn)行優(yōu)化,如果切換到另一種挖礦算法,比如從 SHA256 轉(zhuǎn)到 X11,這些礦機(jī)就會完全不起作用了;
2、非流動性挖礦市場:大多數(shù)全球算力資源都是非流動性的,并不能夠被租用。因此,需要大量的前期投資才能建立龐大的算力,為了實施 51% 攻擊而在前期投入大量成本顯然不是一筆劃算的“買賣”;
3、機(jī)會成本:加密貨幣通常會為優(yōu)秀的網(wǎng)絡(luò)參與者提供更大的獎勵來推動整個網(wǎng)絡(luò)利益最大化,也就是說,誰貢獻(xiàn)的越多,誰就能獲得更多激勵,獲得的回報也就更大。任何攻擊都需要承擔(dān)失敗的風(fēng)險,包括失去挖礦獎勵、聲譽損失、以及網(wǎng)絡(luò)被破壞等。對于一家準(zhǔn)備長期發(fā)展的挖礦公司來說,肯定不希望網(wǎng)絡(luò)被攻擊影響市場信心,導(dǎo)致加密貨幣價格下跌來破壞未來的盈利潛力。
然而時代在發(fā)展,挖礦市場正在變得更具流動性。
為什么流動挖礦市場能夠得到不斷發(fā)展?
過去,計算機(jī)存儲市場一直存在流動性不足的問題,但現(xiàn)在已經(jīng)變成了一種流動性極強(qiáng)的線上“商品”,算力市場也在發(fā)生同樣的事情,目前有兩個主要因素在驅(qū)動算力市場變得更具流動性:
1、加密貨幣價格的長期上漲將刺激礦工加大對算力的投入,直到他們最終獲得的收益等于成本。換句話說,如果加密貨幣價格繼續(xù)上漲,全球算力也會隨之增長。
2、不管是租用算力的買方,還是出租算力的買房,他們都能從算力租用交易中獲利,因此市場上的租用算力占全網(wǎng)總算力的百分比一直在不斷增長。而隨著買方和賣方市場的分離,又導(dǎo)致了專業(yè)化程度更高的礦機(jī)出現(xiàn),同時也為市場提供了更高的挖礦運營效率。這就是為什么礦機(jī)硬件制造商愿意直接出售礦機(jī),而不是自己直接去挖礦的原因。如果算力租用方將所有時間都集中在尋找具有最高挖礦回報率的投資機(jī)會上,那么他們就有可能在每單位算力上獲得最大價值。與此同時,出租算力的“貸方”也可以降低自己的業(yè)務(wù)風(fēng)險,因為他們出租算力可以覆蓋到更多加密貨幣,也就是說沒有“把雞蛋放在一個籃子”里。和世界上其他行業(yè)里的“貸方”一樣,他們只關(guān)注租賃關(guān)系、以及出租資產(chǎn)的利用和維護(hù)。
租用算力實施 51% 攻擊現(xiàn)在已成為可能
Crypto51網(wǎng)站計算了租用足夠算力以匹配指定區(qū)塊鏈網(wǎng)絡(luò)一小時算力所需要花費的成本。NiceHash是全球知名的加密貨幣挖礦算力市場,可以根據(jù)需求買賣算力,但對于一些市值較大的加密貨幣,NiceHash仍然沒有足夠的算力予以支持,所以這些數(shù)字有時候理論上會超過 100%。
算力數(shù)據(jù)來自于 Mine the Coin,加密貨幣價格數(shù)據(jù)來自于 CoinMarketCapabilities,算力租賃價格數(shù)據(jù)來自于 NiceHash。這里需要特別提出兩個需要關(guān)注的地方:
1、Crypto51 被引用的攻擊成本不包括礦工以區(qū)塊獎勵形式獲得的獎金,因此在許多情況下,真正的攻擊成本可能還會有進(jìn)一步的降低;
2、Crypto51 引用了 NiceHash 上可用算力租賃的現(xiàn)貨價格,但是在實際情況下,由于受到供需關(guān)系影響,算力租賃的需求越多,價格就會越貴。
哪些加密貨幣容易受到租用算力的礦工攻擊?
如上圖所示,加密貨幣 ETP 在 CoinMarketCap 網(wǎng)站上按市值排名位列第 91 位,如果你想要攻擊這個加密貨幣,可以租用超過其 21 倍的全網(wǎng)算力,而且攻擊成本每小時僅有 162 美元(ETP 的價格數(shù)據(jù)來自 Bitfinex,該交易所提供了 ETP/BTC 和 ETP/USD 交易對交易服務(wù))。
可租用算力規(guī)模提高兩倍,市值排名前四十的加密貨幣就很容易受到 51% 攻擊
現(xiàn)階段,對有些加密貨幣實施 51% 攻擊看似是遙不可及的,因為 NiceHash 上能夠租用的算力總量還不足以匹配全網(wǎng)算力。但是讓我們想象一下,如果 NiceHash 將他們的算力租用規(guī)模提高兩倍,那么像以太坊經(jīng)典(ETC,目前在 CoinMarketCap 上市值排名第 18 位),以及字節(jié)幣(BCN,目前在 CoinMarketCap 上市值排名第 40 位)等加密貨幣就很容易受到攻擊。
可租用算力規(guī)模提高五倍,市值排名前二十的加密貨幣就很容易受到 51% 攻擊
如果 NiceHash 的可租用算力規(guī)模提高五倍,那么像達(dá)世幣(DASH,目前在 CoinMarketCap 上市值排名第 15 位)和比特幣黃金(BTG,目前在 CoinMarketCap 上市值排名第 28 位)這樣的加密貨幣就會處于危險之中。
那么如果這些加密貨幣真的遭受了 51% 攻擊,攻擊者又是如何通過攻擊賺錢呢?
雖然說攻擊者不可能為一個沒有私鑰的錢包創(chuàng)建交易,但是如果你控制了某個特定加密貨幣網(wǎng)絡(luò)大部分算力,意味著可以通過還原分類賬上的某些交易來執(zhí)行“雙重花費(double spend)”攻擊。
雙重花費攻擊機(jī)制
當(dāng)?shù)V工找到一個新區(qū)快時,他們應(yīng)該將該區(qū)塊廣播給網(wǎng)絡(luò)內(nèi)的所有其他礦工,以便他們可以驗證該區(qū)塊,并在區(qū)塊鏈中添加一個新區(qū)快。但是,那些控制著全網(wǎng)算力的“腐敗”礦工可以偷偷創(chuàng)建自己的區(qū)塊鏈。
為了執(zhí)行“雙重花費”,攻擊者會把自己的加密貨幣在真實區(qū)塊鏈上花費掉,但是會在自己偷偷創(chuàng)建的去看了是省略這些交易。一旦這個礦工有能力比網(wǎng)絡(luò)上的所有其他礦工更快速地創(chuàng)建了最長鏈,那么他們就可以把自己偷偷創(chuàng)建的區(qū)塊鏈廣播給網(wǎng)絡(luò)的其他礦工。
由于區(qū)塊鏈協(xié)議遵循的時最長鏈原則,新廣播出來的那個最長鏈會變成“真正”的區(qū)塊鏈,而攻擊者之前所做的支出交易歷史記錄就會被刪除。請注意,即便礦工有能力控制全網(wǎng) 51% 的算力,也不意味他們總是能廣播最長鏈,因為其他礦工也有可能生成最長鏈。因此,為了能夠快速創(chuàng)建最長鏈,攻擊者通常會希望控制更大比例的網(wǎng)絡(luò)算力,一般為 80%。
被攻擊的加密貨幣會花在哪兒呢?交易所很可能會成為受害目標(biāo)
想要通過“雙重花費”來獲利,你需要找到一張方法來把那些實際已經(jīng)用掉、但還沒有在區(qū)塊鏈中被記錄的加密貨幣用掉,如果你不能在第一時間花掉這些加密貨幣,實施攻擊也就變得毫無意義了。
攻擊者最有可能轉(zhuǎn)手加密貨幣的地方就是交易所,因為他們往往是各種加密貨幣的最大買家。在這種情況下,51% 攻擊的“套路”基本上是這個樣子的:
1、選擇一個看上去有利可圖的加密貨幣網(wǎng)絡(luò)目標(biāo);
2、在該加密貨幣網(wǎng)絡(luò)上囤積大量加密貨幣;
3、租用 NiceHash 算力并偷偷發(fā)展一個隱形鏈(stealth chain);
4、在交易所交易該加密貨幣,并兌換成另一種加密貨幣(比如比特幣);
5、將比特幣提取到另一個錢包;
6、將隱形鏈廣播到該加密貨幣網(wǎng)絡(luò)上;
7、獲取目標(biāo)加密貨幣;
8、接著換一家加密貨幣交易所繼續(xù)上述操作。
加密貨幣交易所將如何回應(yīng)?
正如我們所能想象的,加密貨幣交易所不喜歡被欺騙。如果攻擊者的這種行為增加了加密貨幣交易所的運營成本,那么他們可能會做出一系列回應(yīng)來對抗 51% 攻擊者,比如延長提款和存款期限、提升賬戶驗證安全性等。
延長提款時間會讓攻擊者的攻擊成本變高,因為他們“統(tǒng)治“全網(wǎng)算力的時間也需要相應(yīng)的延長,這意味著他們需要投入更多的資金去租用算力。但同時,這種方法也會給合法的交易者和交易所用戶帶來負(fù)面影響,繼而引發(fā)他們的憤怒,畢竟沒有人希望等待更多時間才能提取自己的加密貨幣。
當(dāng)然,加密貨幣交易所還可能有其他方式來規(guī)避一些 51% 攻擊,比如在上架加密貨幣的時候進(jìn)行仔細(xì)篩選,放棄一些容易受到攻擊的加密貨幣。然而,這種方式同樣存在問題,因為有些已經(jīng)上架的山寨幣交易量和收入也會逐漸減少,意味著這部分即將下架的加密貨幣也很容易收到攻擊威脅。
一般來說,加密貨幣交易所基本上會把上述兩種方法結(jié)合起來使用,只要交易所越容易逃脫雙重攻擊,那么攻擊者實施“雙重花費“的攻擊成本就會越高。從長遠(yuǎn)來看,這兩股力量會在同一個市場上逐漸達(dá)到均衡。
加密貨幣將如何回應(yīng)?
對于山寨幣而言,或許可以通過以下幾個方式找到對抗 51% 攻擊威脅的解決方案:
1、使用更加“模糊”、并且沒有太多礦工使用的挖礦算法。不過,這種方式充其量只能算是一種飲鴆止渴的解決方案,因為使用你挖礦算法的礦工數(shù)量越少,意味著提升算力就會越困難,如果你想要讓自己的網(wǎng)絡(luò)發(fā)展壯大,挖礦算法就不能“模糊”。
2、把你的項目放在安全性更高的、規(guī)模更大的區(qū)塊鏈網(wǎng)絡(luò)上,比如 ERC-20。
3、推動使用更具彈性的新公式算法,比如權(quán)益證明(PoS),也能規(guī)避 51% 攻擊。當(dāng)然,權(quán)益證明算法本身也并不完美,也存在一些挑戰(zhàn)。
中本聰沒有想到流動算力市場的出現(xiàn)
未來,算力租賃市場將會增長多少呢?這個問題似乎現(xiàn)在還沒有一個明確的答案,100倍?200倍?這種幅度的增長并非不可能,那么會有多少加密貨幣受到影響呢?
顯然,如果你的加密貨幣市值相對較高,同時攻擊成本很低,就很容易受到 51% 攻擊。這是否意味著市場需要淘汰一些不安全的加密貨幣呢?相反,這是否也意味著那些擁有龐大挖礦網(wǎng)絡(luò)的加密貨幣未來可能會在 51% 攻擊的影響下不斷溢價呢?
在 Hacker News 網(wǎng)站上有這么一段評論,也許比較適合作為本文的結(jié)尾:
“通過租賃算力實施攻擊可能是個非常有趣的例子,算力租賃市場已經(jīng)出現(xiàn)了,它可能會直接破壞掉一個系統(tǒng)。中本聰預(yù)見到人們可能會試圖購買大量礦機(jī)來實施 51% 攻擊,因此他竭盡全力設(shè)計了一套協(xié)議,旨在確保不太可能實現(xiàn)中心化挖礦。但是,中本聰可能沒有預(yù)見到流動算力市場的出現(xiàn),通過租賃算力可以在短時間內(nèi)獲得實施 51% 攻擊的算力,這可比購買礦機(jī)實施 51% 攻擊容易 1000 倍。”