當故事變爲事故:《硅谷》中算力攻擊之現實版

作者:SECBIT實驗室

前言

作爲地球不爆炸,我們不放假,宇宙不重啓,我們不休息的區塊鏈產業相關從業者,每天除了幣圈、鏈圈,除了ICO、智能合約之外,燒腦之餘談論最多的大概就是美劇《硅谷》了,作爲一部深入展現區塊鏈創業故事的影視作品,成功的引起了當下廣大區塊鏈人的關注,第五季中更是圍繞加密貨幣發生了一系列的故事,其中“理查德項目的投資人勞裏是一個非常勢力的人,因爲各種原因,投資了一個“惡棍”團隊,並對“花衣魔笛手”系統發動了‘51%算力攻擊’”的情節在被觀衆當作故事來看的同時,現實世界中卻不只一次的發生過該類事故。以下我們藉助最近一次算力攻擊事件剖析該類事件帶給我們的是什麼?

1 事件回顧

2018年5月24日CCN媒體報道稱,Bitcoin Gold交易主管愛德華伊斯卡拉在5月18日首次向用戶發出警告,稱一名惡意的礦商利用雙重支出漏洞從加密貨幣交易中竊取資金。

Bitcoin Gold目前總市值$769,279,381 USD,市場排名27位,市值排名前30的加密貨幣受到雙花攻擊引起了極大的關注,各個媒體爭相報道了該次事件,“市值蒸發”、“何去何從”、“驚悚”、“恐慌”一系列博人眼球的詞彙出現在了各個媒體的報道中。但是值得關注的是該次“雙花”事件發生在2018年5月16日,最後一個“雙花”轉賬發生在2018年5月18日,CNN關於該事件的報道發生在2018年5月23日,國內相關媒體的大量報道主要發生在2018年5月24日,即便媒體報道該事件的時間點距離該事件發生已經過去1周的時間,但依舊有衆多人就此事件奔走相告、迫不及待關注Bitcoin Gold的幣價是否出現斷崖式下跌。但關於該次事件的帶來的幣價之外的影響卻極少報道和關注。本文藉着Bitcoin Gold受到“雙花”攻擊的事件,深入剖析一下“雙花”影響。

相關調查證明此次Bitcoin Gold受到攻擊屬於區塊鏈“51%算力攻擊+‘雙花’”的組合攻擊事件。攻擊者獲取了Bitcoin Gold網絡51%的算力,通過在交易平臺存入BTG的同時向自己控制的錢包轉賬BTG,正常情況下區塊鏈可以通過只打包第一次出現這些BTG的交易來解決這個問題,但是由於攻擊者獲取了該網絡51%的算力,所以攻擊者可以通過逆轉區塊,實施本次雙花攻擊。此次受到攻擊地址如下:
這裏寫圖片描述
圖片來自CCN媒體平臺

2 雙花問題歸納

根據CCN報道稱,BitcoinGold至少是過去兩週內第三個遭受重大攻擊加密貨幣網絡。過去的不久,XVG網絡中,一名礦工操縱加密貨幣XVG五種哈希算法中的2種,在短短几個小時內惡意地挖掘了3500多萬XVG——價值175萬美元;日本加密貨幣monacoin網絡中一名礦工獲得了該網絡57%全網算力後,使得該網絡受到重大打擊。小規模公鏈網絡頻頻受到“算力攻擊”和“雙花”問題的威脅不得不引發大衆對公鏈安全的關注。區塊鏈中實現雙花的方式主要有三種:

1.Race attack

該方式主要通過控制礦工費用來實施,任何人都可以實施攻擊。攻擊者同時向網絡中發送兩筆交易,一筆交易發給目標商家,一筆交易發給自己,爲了提高轉發給自己的交易被打包的概率,攻擊者會提高該筆交易的礦工費用,藉此實現同一筆token的“雙花”。

2.Finneyattack

該方式主要通過控制區塊廣播時間來實施,主要是礦工可以實施攻擊。假設礦工挖到了一個區塊N(該區塊中包含一個交易:地址A向地址B轉10BTC,其中A和B都是礦工自己的地址)後先不廣播這個區塊,然後找一個願接受未確認交易的商家購買物品並向商家發一筆交易:地址A向地址C轉10BTC,付款後向網絡中廣播剛剛挖到的區塊N,由於區塊N中包含一個向自己付款的交易,所以礦工實現同一筆token的“雙花”。

3.>50% attack

該方式主要通過集中區塊鏈網絡50%以上算力來實施,主要是礦工實施攻擊。攻擊者先後就同一筆token發起兩筆交易,由於攻擊者集中了超過全網50%的算力,他可以創造一條高度大於包含第一筆交易主鏈的新鏈,那麼舊鏈中的交易會被回滾,藉此實現同一筆token的“雙花”。

同時,當礦工集中區塊鏈網絡50%以上算力時,甚至會出現是礦工奪取管理員權限,修改規則和接口權限,踢掉其他參與者的情況。

3 事件影響

本次Bitcoin Gold的“雙花”事件屬於第三種情況,該事件也使得區塊鏈“雙花”問題不再僅僅停留在理論層面。通常意義上我們認爲集中某個網絡51%算力進行正常交易的攻擊獲得的收益是無法彌補集中算力付出的成本的,但是“51%算力攻擊”和“雙花”問題的結合使得經濟實力較強的攻擊者有機可乘。但是“雙花”問題對加密貨幣的總量並不造成影響,只是使得攻擊者可以對同一筆加密貨幣消費兩次。理論上講如果該事件沒有引起加密貨幣交易市場恐慌的前提下,並不會對幣價造成不利影響。本文截取該事件發生期間和該事件被媒體大量報道期間的幣價走勢,分析該事件對Bitcoin Gold價格的影響。

該事件發生在5月16日-5月18日之間,參與攻擊的BicoinGold地址收到388,200的比特金。根據coinmarketcap上Bitcoin Gold 5月13日到20日的價格走勢來看,事件發生當天(5月16日)幣價有大幅度上漲,5月17-18日也出現幣價的另一個小高峯,攻擊事件結束後(5月19日之後)Bitcoin Gold價格並未出現斷崖式下跌。
這裏寫圖片描述
事件由CCN於5月23日報道,隨後國內媒體相繼報告。截取5月20日到24日的幣價走勢,幣價也並未出現類似智能合約漏洞爆料後的幣價斷崖式下跌現象,而是隨着大盤趨勢一起變化。(由於目前數字貨幣交易監管還未完善,還沒有公認的市場指數參考,所以此處將Bitcoin Gold價格走勢同Bitcoin價格和Ethereum價格走勢做簡單比較)

Bitcoin Gold價格走勢:
這裏寫圖片描述
Bitcoin價格走勢:
這裏寫圖片描述
Ethereum價格走勢:
這裏寫圖片描述
通過上述分析可得,該次“雙花”事件及其相關媒體報道並未對Bitcoin Gold價格造成大的影響,也未給幣圈造成大規模的恐慌。那麼此次事件的發生帶給區塊鏈的提醒到底是什麼呢?

本文認爲業內發生該類攻擊事件雖然會打擊行業信心,但是也會給區塊鏈安全敲響警鐘。受此次“51%算力攻擊+雙花問題”影響最大的是人們以區塊鏈技術安全性的信任,特別是對規模較小的公鏈安全性的信心,這將極大增加區塊鏈項目在發展初期,算力較少時期的風險,成爲公鏈項目成長道路上的挑戰。如何防止避免51%算力攻擊和雙花問題帶來的風險,將是區塊鏈發展道路上的重點,這是因爲區塊鏈上智能合約的安全可以通過類似SECBIT實驗室這樣關注智能合約安全的組織來保證,但51%算力攻擊和雙花問題則是近期不可分散的系統風險,沒有辦法通過多方的協作來消除。

因此,算力較小的區塊鏈項目需要從自身網絡角度採取措施避免51%算力攻擊和雙花問題的發生,目前比較可行的方法是提高交易確認的次數,比如此次Bitcoin Gold給的問題防範建議是將確認要求提高到50個區塊。

4 總結

區塊鏈技術正處於發展的初級階段,對於影視作品裏的51%算力攻擊我們可以津津樂道,但現實中該類事件離我們並不遙遠。部分公鏈採用與比特幣相同的算法,在缺乏大算力支持的情況下,如果某個持有大算力的礦工(礦池)切換到該主網上,51%算力攻擊和雙花事件就有發生的概率。SECBIT實驗室作爲一個聚焦區塊鏈和智能合約技術安全的組織呼籲業內應該把關注焦點更多地放在區塊鏈安全上,應該着手技術進步和創新,一起創建一個共識、可信、有序的區塊鏈經濟體。


SECBIT實驗室是誰?

SECBIT實驗室由一羣熱愛區塊鏈技術的極客組建,成員遍佈在全球多個國家,專業領域涉及區塊鏈底層架構、智能合約語言、形式化驗證、密碼學與安全協議、編譯與分析技術、博弈論與加密經濟學等諸多學科。 SECBIT實驗室目前聚焦智能合約的安全問題,助力區塊鏈項目團隊提高智能合約的可靠性與安全性,開展智能合約安全框架的理論技術研發。SECBIT實驗室力於參與共建共識、可信、有序的區塊鏈經濟體。

發佈了42 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章