作者:umiiii
來源:http://www.freebuf.com/articles/blockchain-articles/173022.html
很多人可能早就聽說過 51% 算力攻擊,但更多的可能源于各種媒體渠道中“比特幣的缺陷”文章之流。實際上,這個說法并不準確,根據比特幣百科上所描述,這種攻擊被稱為多數人的攻擊(Majority attack),攻擊者在控制全網較多算力時,他將可以做這些事情:
- 逆轉已發出的交易,也就是雙花交易;
- 阻止其他交易的確認;
- 阻止其他塊的挖出。
并且在攻擊者控制全網大于50%算力時,攻擊的成功率將達到100%,而當攻擊者擁有40%算力,在需要6個確認的情況下,攻擊的成功率為50%。近期有三個幣種分別在不同程度上遭到了 51% 算力攻擊,分別是 MonaCoin, Bitcoin Gold 和 Verge ,很碰巧的是,這三個幣種都不同程度地分叉自比特幣。

下面將分別介紹三種貨幣的攻擊詳情。
一、Monacoin
5月18日,Reddit 網友發帖稱 Monacoin 遭受了 51%算力攻擊、自私挖礦攻擊與時間戳攻擊,確切時間發生在5月13日至5月15日 一些支持 Monacoin 交易的交易所,比如 Bittrex, Livecoin 已經關閉了 Monacoin 的充值。行為描述:
自私挖礦攻擊 ( Selfish mining)
根據 Vitalik Buterin(就是發布了以太坊的那個俄羅斯小伙)在2013年11月4日發布的文章稱,比特幣網絡存在一種自私挖礦攻擊,能讓礦工在理論條件上獲得更高的收益。首先,由于比特幣網絡的規則,每個(誠實的)節點只能挖并且傳播它看到的第一個塊,這就是說,如果節點當前有一個塊正在挖,而收到了別人廣播的已成功挖到的同一高度的塊,那么該節點將立即放棄正在挖的這個塊并繼續跟隨新的塊后面挖掘。自私挖礦攻擊中,當惡意礦工挖到了一個新的塊 B1,不立即廣播,而是接著這個塊挖下一個塊 B2。在這期間如果別人挖出來了,就馬上廣播 B1 到全網,如果挖出了第二個,那就直接廣播出去,這樣惡意礦工的收益就是連續兩個塊,而別人顆粒無收,由于這種攻擊需要攻擊者擁有25%以上的算力才能將數學期望拉高到與正常挖礦相同或者更高,所以這次攻擊同時也采用了這種行為。
雙花攻擊
攻擊者在公鏈中簽名并廣播一筆交易發送 Monacoin 到交易所,并同時在自己的私有鏈上廣播一個將 Monacoin 發送到自己錢包的交易,然后使用大量算力挖掘私有鏈,當交易所確認存款后,立即廣播私有鏈。由于攻擊者擁有大量算力,私有鏈長度總是比共有鏈長,所以最后那些發往交易所的 Monacoin 被回滾了。
出塊變得異常的快
這可能是由于 Monacoin 的異常難度處理機制導致的,攻擊者在短時間內挖出了大量的塊,遠遠大于原來的1.5分鐘出塊時間。

總結
攻擊者將可以回滾充值到交易所的 Monacoin,并且掠取那些原來是誠實礦工的獎勵,此次攻擊導致約導致 90000 美元的損失。
解決方案
Monacoin 的官方開發組建議,將入賬次數提高為 100 個確認數。
二、Bitcoin Gold
5月18日,Bitcoin Gold 交流社區中,MentalNomad 發文稱有人在嘗試進行針對交易所的雙花攻擊。
攻擊時間為 高度 528735, 5 月 16 日 10:37:54 UTC 到 高度 529048,5 月 19 日 5:25:40 UTC。
雙花攻擊
攻擊者的兩個錢包:
資金錢包 GTNjvCGssb2rbLnDV1xxsHmunQdvXnY2Ft
挖礦錢包 GXXjRkdquAkyHeJ6ReW3v4FY3QbgPfugTx
與 Monacoin 類似的,Bitcoin Gold 中攻擊者也將這筆交易同時發給交易所和自己,并成功將自己的私鏈變成最長鏈,從而使得這條鏈重新變為公鏈。值得注意的是,有一筆經過了 22 個確認的交易被成功地雙花攻擊了。
總結
本次攻擊據不完全統計損失了 388,201 個BTG,約為 1860 萬美元,創始人稱已向FBI報案。
解決方案
Bitcoin Gold的開發組稱,正在開發新的 PoW 算法以替代原有的 Equihash 算法,他們認為,攻擊的原因之一是因為顯卡礦機的算力可以被短時間地集中。

攻擊者的鏈

被逆轉的鏈

被逆轉的鏈長度為22

攻擊者自己的鏈
攻擊者向自己的錢包發送了一筆交易,這筆交易回滾了原來向交易所充值的交易
三、Verge
自從 Verge 在4月4日被爆出遭到 51% 攻擊后,開發組已經緊急更新修復了時間戳攻擊加上51%算力攻擊導致算力下降的漏洞。(詳細分析請看站內文章:http://www.freebuf.com/column/169210.html )然而,攻擊者在5月22日發現了一種新的利用方法——反復橫跳。

行為描述
攻擊者將4月4日原有攻擊的模式(修改時間戳+算力攻擊)改為交替使用兩種算法 Scrypt 與 Lyra2re 來重復之前的攻擊。Verge 的難度再次變為幾乎為 0 。

驟然降低的算力
總結
受攻擊的區塊為 2155850 到 2206272,所有塊收益 36808060 XVG 都發給了攻擊者,大約為 1525252 美元。
解決方案
開發組將 2218500 塊后的時間間隔調整為 10 分鐘。

從上面這些攻擊中,我們不難發現,針對這些 PoW 工作量證明進行挖礦的數字貨幣,攻擊者可能已經有一套自己的攻擊體系。然而,這些攻擊的實施都需要大量的算力與成本,有理由相信,攻擊者有一個龐大的團隊,并且做了非常充分的準備,路線規劃與方案實施。
所以,筆者大膽預測,近期發生的攻擊只是試水。在未來攻擊者將會使用相同的方法進行更多的攻擊。由于去年12月火爆的數字貨幣市場誕生的比特幣分叉幣們由于缺乏算力與技術支持,將可能更快地遭到 51% 算力攻擊。一旦遭到攻擊,幣價必然大幅下降,算力見無力可圖必然會撤離,最后導致攻擊者更加容易地攻擊這個幣種,這種惡性循環會使得該虛擬貨幣迅速歸零。可以預見的是,在未來,運用其他共識的幣種,比如 PoS 或者 DPoS 必然也會遭受到類似的攻擊,一旦有人開了先例,見到有利可圖的后來者必定蜂擁而上。因此,區塊鏈安全值得大家關心。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/609/
暫無評論