雙花攻擊——區塊鏈世界的魔獸

買賣虛擬貨幣

五月,比特幣黃金遭遇了51%攻擊,此次攻擊之後,系統超388200個BTG被雙花;六月,ZEN也遭受到兩次同型別攻擊。‘雙花’攻擊就像一隻蟄伏的野獸,平時不易感知,可它隨時可能會威脅到你的安全。對於51%攻擊與‘雙花’問題,很多使用者一直都頗有微詞。那麼今天,我想先跟大家探討一下這個‘雙花’攻擊。

‘雙花’一詞始現與比特幣系統中,當時有朋友問了這樣一問題,“在現實世界中,我買一瓶水花一塊錢,錢立馬就進了別人的口袋,但在比特幣系統中,我發起轉賬到交易成功的這段時間,錢還是在我的賬戶裡,這時候,我可不可以又付給另一個人呢。”

等同於靈魂拷問的這句玩笑就像是一石激起千層浪,瞬間令玩家們心潮澎湃。很快的,熱心玩家們就給這個問題命名為‘雙花’。對於這個驚天漏洞,使用者們自然是心態各異。有錢的想著可以把一份錢當成兩份用,甚至多份來用;沒錢的想著別人轉給我的幣還靠不靠譜;看熱鬧的想著就看著個不靠譜的系統怎麼把玩家們吃死。

那‘雙花’問題究竟是啥呢?簡單來說,‘雙花’問題就是指將數字資產中的一份餘額進行兩次甚至多次的交易。

也可以理解為,當一個交易被髮出後已經經過了z個區塊時,攻擊者又在極短的時間內重新產生了一條新的區塊鏈,使新鏈比之前的區塊鏈更快,這樣攻擊者就可以把以前的交易中的花費的虛擬貨幣取回來並用於二次交易。因為在區塊鏈中,系統會自動承認最長的那條鏈為有效鏈。

如果‘雙花’攻擊成功,最先的接收者就無法收到轉賬,也就是說,同樣一筆錢,可以用於兩次交易。

因為數字資產的存在並非實體物質,而是靠一串特定字元來記錄的。當交易發起者發起一筆轉賬時,自身錢包中的資產並不會馬上扣除並新增到接受者的賬號裡,而是需要有一定時間的等待打包及確認過程,而這段時間是極有可能會被有心人利用起來實行雙花攻擊的。

正因如此,‘雙花’問題在沒有中心化資料記錄庫的區塊鏈中一直都飽受爭議。

但對於‘雙花’問題,各大區塊鏈系統也有對應的措施來避免。就以比特幣系統中的時間戳和UTXO為例。區塊鏈上時間戳(timestamp)就是指在系統中的每一筆交易發出時,都會被系統蓋上時間印記,用以追溯每筆交易的發出時間。以此保證每個區塊按照一定的次序相連,使區塊鏈上每一筆資料都具有時間標記。

UTXO又是什麼呢,UTXO(Unspent Transaction Outpu),即未花費交易輸出,它在區塊鏈系統中用以記算錢包賬戶中的餘額。對於貨幣玩家們而言,UTXO就像是你的餘額寶,它會隨時計算你的僅剩資產。同時由於編碼的存在,UXTO的優越性也在於資產的銷燬和產生過程都是便於追溯的。

時間戳和UTXO的存在標誌著,當某個使用者意圖用同一筆資金進行兩次付款的時候,時間戳會自動選擇承認最先發出的那筆交易。而UTXO則會確認並驗證用於每一筆交易的資產是否存在、是否被花費。即便是當兩筆時間上很接近的交易被不同節點確認,區塊鏈已經產生分叉時,剩餘的節點也會選擇在他們認為的最長鏈上構建新的區塊。

也就是說,如果要在區塊鏈中發起雙花攻擊,就勢必會令系統產生分叉,而多出來的這條岔道,通常不會被系統所承認。因為後面的使用者會自動選擇在較長的鏈條上產生新區塊,而單一的個人一般情況下都無法產生比原有主鏈更長的分叉鏈。

有沒有例外呢,也有。所謂道高一尺,魔高一丈,UTXO技術也並非是無懈可擊的,那能夠擊敗它的是什麼呢?——51%算力攻擊。

這個名詞大概是鏈圈朋友們都談虎色變的吧。在某使用者掌握全網51%算力的情況下,他就可以操控系統的記賬權利。而系統一旦遇到這樣的攻擊,不僅是雙花問題有可能變成真的,你荷包裡的銀子也可能會全都不翼而飛。比特幣黃金就會典型的受害者。

但對於現有的幾大公鏈來說,自身的防禦系統都是比較強大的,並且全網算力分佈也極其廣泛。

如果要對較大公鏈實行51%算力攻擊也就意味著攻擊者需要掌握整個國家網路算力的一半,這樣不僅攻擊成本非常高,同時對於攻擊者來說,也是一筆虧本的買賣。即便有政府想要針對比特幣系統而集全國之力來製造一臺超級計算機,用以擊潰比特幣系統,進而挽救自己的貨幣發行體系,它也會發現只要使用該能力進行挖礦便可壟斷比特幣的發行權,而壟斷挖礦所產生的收益也會遠大於擊潰比特幣。

因此,一般情況下,51%算力攻擊都不可能成真。儘管如此,比特幣黃金、ZEN等還是遭受了攻擊。而大大小小的交易所被盜事件也並不新鮮。這就表明了,雖然現在的‘有心人’還無法對比特幣等穩定執行的強大主鏈造成殺傷性的攻擊,但他們卻可以把手伸進那些小的、不太穩定的、防禦系統薄弱的交易所及小型主鏈上來。

另一方面,即便是在算力不夠51%的情況下,也是可以發動雙花攻擊的,不僅可以發起,還有一定的成功可能,只是算力越低,發動雙花攻擊成功的機率會越越小,如果攻擊者的運氣好呢。

雖然隨著比特幣等主要主網中的算力值增大,算力攻擊的可能性被逐漸降低,但事實證明,雙花問題對整個區塊鏈行業來說仍然是一個不可忽視的威脅。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;