比特幣黃金首遭“51%攻擊”,可能動搖數字貨幣世界的根基

正如比特幣黃金所說:“我們不會是最後一個被攻擊的幣種”。

數字貨幣的噩夢終於成真。2018年5月中,“51%攻擊”在區塊鏈世界中爆發,比特幣的分叉幣之一BTG(比特幣黃金)不幸淪為受害者。

整個區塊鏈世界正面臨前所未有的危機。如果“51%攻擊”可以成功篡改區塊鏈,甚至可能動搖整個數字貨幣世界的根基。

可怕的“51%攻擊”

此次攻擊中,比特幣黃金開發團隊公告顯示攻擊者掌控了BTG網絡的大比例算力,從而針對交易所發動“51%攻擊”,成功實施“雙花交易”。攻擊者向自己發送了超過38萬個BTG。如果所有資金被盜,攻擊者從交易所的損失中將獲利超過1800萬美元。

攻擊者發動的攻擊不止一次,而是橫跨數天。第一次攻擊發生於5月16日晚上10點,最後一次攻擊則在5月19號上午5點結束。

“51%攻擊”的原理在於數字貨幣採用的分佈式記賬機制。以比特幣為例,比特幣網絡是一個去中心化的分佈式賬本,每記一筆賬都需要“全民投票”確認。當你掌握全網算力超過50%時,你就擁有了對比特幣網絡操縱和篡改的權力。

“51%攻擊”能造成的破壞是巨大的。一旦你攻擊成功,可以修改自己的交易記錄,進行雙重支付。或者阻止區塊確認部分或者全部交易,也可以阻止部分或全部礦工開採到任何有效的區塊。

但這種攻擊並非萬能,它也有做不到的事情。它既不能憑空產生比特幣,把不屬於自己的比特幣發送給自己或其他人;也不能改變每個區塊產生的比特幣數量,或者修改其他人的交易記錄。

因此,攻擊者利用“51%攻擊”最容易的獲利方式之一是雙重支付,即將同一筆錢使用兩次。在這次針對比特幣黃金的攻擊裡,攻擊者就採取了這種手段。

攻擊者首先給自己的賬戶發送了一筆BTG,用私密區塊鏈條A對此筆交易進行記賬。與此同時,攻擊者對交易所發送同一筆BTG,等待公共區塊鏈條B進行記賬。當交易所確認了這筆交易之後,攻擊者快速賣出這些BTG並提現離開。

注意,最關鍵的一步到來了——攻擊者此時對全網公開此前的私密區塊鏈條A。由於他掌握超過51%算力,區塊鏈條A比公共區塊鏈條B更長,全網被迫認可區塊鏈條A,區塊鏈條B則作廢。這意味著全網認可的交易是攻擊者將BTG發送給了自己,而非交易所。交易所的錢完全消失了。

比特幣黃金首遭“51%攻擊”,可能動搖數字貨幣世界的根基

攻擊者是巨頭玩家?

儘管“51%攻擊”造成的破壞性極大,發動一場攻擊也需要付出巨大的代價。

有實力且有把握髮動攻擊的攻擊者,需要具備以下3個關鍵條件:充足財力、龐大算力和礦池技術。

先說財力。攻擊者需要投入成本挖礦以確保51%攻擊。如果要逆轉n個區塊,成本最少需要(n+1)*12.5BTG。如果攻擊失敗,交易所還將凍結攻擊者在交易所裡的全部資金。這些都將成為攻擊者可能付出的金錢代價。

在此次攻擊中,一筆雙重交易的金額約為10000個BTG,最大逆轉區塊為21個。可以推算出,如果一次攻擊失敗,攻擊者的損失將高達10262.5BTG,合約43萬美元(約275萬元人民幣)。

算力則是更高的門檻。BTG和ZEC共用一套名為Equihash的挖礦算法,BTG全網算力為25M sol/s。儘管理論上只要算力佔據超過全網51%即可發動此輪攻擊,但這種量級的算力僅是剛過及格線,耗時長、風險大。我和若干業內人士討論後,大家普遍認為攻擊者需掌握超過全網1-3倍的算力,否則不放心去發動攻擊。

掌握全網200%的算力對攻擊者來說更加保險,即需要50Msol/s左右的算力。過去礦工們都在使用顯卡礦機挖BTG。一臺顯卡礦機GTX 1080的算力為約700sol/s,這意味著需要7萬臺顯卡礦機GTX 1080才能發動攻擊。

在個人玩家手裡,很少存在集中壟斷7萬臺顯卡礦機的情況。擁有如此龐大的算力,並有能力集中調配算力的可能對象之一是礦池和擁有大規模礦機的人或組織。

BTG和ZEC採取同一種算法。BTG的全網算力為25M,ZEC算力為514M,高達BTG的約20倍。這也意味著可以動用ZEC的礦機來挖BTG,一個ZEC的大礦工可以很容易將BTG逆轉。

目前ZEC的各大礦池中,Flypool排名第一,擁有全網高達52%的算力,約為267M。排名第二的Nanopool擁有全網19%的算力,約為98M。如果使用50M算力,flypool需要調動的算力僅為整個礦池算力的19%,而Nanopool則需要調動整個礦池算力的51%。

比特幣黃金首遭“51%攻擊”,可能動搖數字貨幣世界的根基

礦池擅自調動算力,為了避免被其他人發現,不能佔用自己礦池算力比例過大。由於礦池本身產量每天有自然波動,不到五分之一的算力消失,產量下降20%也還說的過去。但超過一半的算力消失則過於明顯,因而較難對外界隱瞞。

以上的推理均是基於現有全網算力。不可忽視的另一條線索則在於新增算力。

比特大陸和武漢芯動科技都將在近期新發布針對Equihash算法的ASIC礦機。如果要達到50M算力,需要5000臺比特大陸的螞蟻礦機Z9,以及700臺芯動科技礦機。這兩家礦機公司目前還沒有正式對外發布他們的產品,這也意味著大量算力現階段主要被礦機公司掌握。

綜上,攻擊者需要能承受攻擊失敗後至少275萬元的損失,能在極短時間內調動Equihash算法下高達50M的算力,並且不被外界發現。比特幣黃金創始人廖翔對媒體回應稱,目前有能力做這些事情的只有市面上幾家較大的公司。公司已收集證據,準備向FBI報案。

會有下個受害者嗎

要回答這個問題,我們先要問,為什麼是比特幣黃金遭受51%攻擊?

首先是因為比特幣黃金市場地位不夠高,沒有成為同算法的最主流貨幣。當一個數字貨幣成為某種算法最主流幣種時(例如比特幣之於SHA256),遭受51%攻擊的概率將大大減小。

CoinMarketCap數據顯示,比特幣黃金流通量在全球數字貨幣中排名第27位,ZEC排名23位。如前所說,同為Equihash算法下的幣種,ZEC算力高達BTG的約20倍。顯然,只要將主流幣種的一小部分算力用來攻擊同算法的非主流幣種,將非常容易實現51%攻擊。

其次是因為比特幣黃金市場地位也不夠低。如果市場地位偏弱的幣種,在交易所流通量很小,那麼攻擊者即使從交易所利用雙花交易偷竊了數字貨幣,也很難在短時間內將幣賣出獲利。

比特幣黃金5月底的24小時流通量據CoinMarketCap數據顯示約為1000萬美元。而和比特幣黃金同為比特幣分叉幣,且使用同種算法的Bitcoin Private,24小時流通量僅為約28萬美元。如果攻擊者針對的是Bitcoin Private,那麼即使他偷竊了1000萬美元的數字貨幣也很難賣得出去。

由此可見,只要一個數字貨幣在同算法中為非主流貨幣,且在交易所中有較好的流通性,則很有可能變成“51%攻擊”的下一個受害目標。同時,如果數字貨幣近期有ASIC礦機推出,算力將出現一波較大的新增浪潮。也很有可能成為被攻擊的對象。

比特幣黃金此次遭受的攻擊,是第一次在數字貨幣世界裡造成真正危害的“51%攻擊”。正如比特幣黃金在公告中所說:“我們不會是最後一個被攻擊的幣種”。

當51%攻擊成真,整個數字貨幣的安全基礎都岌岌可危。而讓人擔憂的是,徹底的解決辦法目前仍然沒有出現。


分享到:


相關文章: