什麼是雙花攻擊,如何解決雙花問題

關於區塊鏈系統,我們經常會不斷聽到一些熱門的詞,從一開始的區塊鏈“去中心化”、“不可篡改”,再到“側鏈”、“閃電網絡”、“雙花攻擊”等等,而針對這些技術上的探討,有助於幫助我們更好的瞭解“區塊鏈”的特徵。今天,我們就來聊聊“雙花攻擊”是如何在區塊鏈系統中操作的。

雙花攻擊是一個最為常見,並且能夠威脅系統運轉的攻擊。比如,之前比特幣黃金曾遭受此攻擊,大約有388000左右的BTG被雙花。

那麼,我們該如何理解這個雙花攻擊呢?舉個簡單例子來講,比特幣在進行轉賬交易的時候,用戶與商戶之間建立了連接,將錢轉給了商戶,在進行轉賬的這個過程中,錢仍然歸屬用戶,利用這段時間,這錢是不是可以轉賬給其他人?


什麼是雙花攻擊,如何解決雙花問題

一、如何正確看待雙花?

圈內人最喜歡這種有話題感的內容,“雙花”的出現,讓一些人找到了數字資產交易的漏洞,開始想著心思如何利用漏洞?還有一部分人想看看存有漏洞的系統,是否還能安全進行數字資產交易?

所謂的“雙花”攻擊,其實就是指將用戶所持有的數字資產中的餘額,進行多次的交易行為。

它在數字資產交易過程中是如何做到的呢?

假設第一條交易已經生成,攻擊者在交易成功前,再次生成一個新的區塊,讓新的區塊比交易的那個區塊速度更快,這樣就能獲得兩次的交易過程,等同於這份交易中的數字資產被合理運用了兩次。

我們去追尋導致這個問題所發生的原因,才發現,在區塊鏈系統中,最長的那條鏈就是最有效的鏈。

在我們現實生活中就不會出現這種情況,這還是與數字資產的虛擬性相關的,畢竟每一次交易過程,都是生成一串特定的字符。而在數字資產交易過程中,用戶所支付的數字資產從轉賬開始到確認成功,還需要一段時間來進行確認,這才讓攻擊者有機可乘。

這也是“去中心化”系統所帶來的一系列問題。

二、如何解決雙花問題?

雙花問題最需要解決的問題,其實就是時間的問題。如何在用戶發起交易的過程中,去記錄第一筆交易的時間和攻擊者發出交易的時間,來選擇最長鏈,這是解決該問題的關鍵。

在區塊鏈系統中,我們會經常聽到一個詞——時間戳。我們就以它為代表,舉例說明如何解決雙花問題?

首先,我們要了解時間戳的概念。用最簡單的方式來講,就是對每一筆交易進行了蓋章確認,並記錄了交易發起的時間。類似於生活中,最為常見的買賣雙方簽訂合同,有雙方的簽名以及合同生效的時間。

也就是說,通過時間戳,用戶發起的每一筆交易都能有時間記錄,當攻擊者在交易過程中發起交易時,系統能夠分辨出交易發起的時間,根據時間順序來看,就能夠迅速確認第一筆交易時間。

這樣一來,就不會存在最長鏈就是最有效鏈的情況。

總結

隨著區塊鏈技術的不斷髮展,人們對技術上的需求也越來越高,正如現在的區塊鏈已經不是當初只是人人談概念的階段,出現相應的問題,都在不斷的探索和求解。就像雙花問題的發生,能通過時間戳來解決,同樣,在發展階段中出現的任何漏洞,都會找到合適的解決方案。


分享到:


相關文章: