比特幣雙花交易意味着什麼?

加入社羣

掃碼 加入 幣友會交流羣,每日早盤分析、各幣種分析;段叔親自傳授炒幣技巧;與更多炒幣大神實時交流。

比特幣雙花交易意味着什麼?

近兩個月以來,隨着比特幣價格的上升,比特幣鏈上交易量也越來越高。這個鏈上交易指的可不是在交易所買幣賣幣,而是在比特幣網絡內的區塊鏈裏進行的轉賬提幣操作。基於鏈上交易量的上升,比特幣也出現了一些問題,交易手續費又再次上升、國外用戶丟幣、還有近期被人提到的雙花交易問題,比特幣安全問題又進入大家的視線。

雙花交易是什麼?

什麼是雙花交易?舉個例子: A 在咖啡店點了杯拿鐵,通過手機錢包付給漂亮的收銀員小姐姐相當於 30 元的比特幣。喝完咖啡,A 走進隔壁的花店,準備爲女朋友買束玫瑰,查看比特幣錢包發現最後的 30 元現金已經用來買咖啡了。這時候,如果 A 想用給咖啡店小姐姐的那 30 元買花。可能嗎?在數字貨幣裏,這還真的有可能實現,而且他並不需要再從小姐姐那把錢偷回來。

“雙花”,即一筆錢被花了兩次或者兩次以上,也叫“雙重支付”。在數字貨幣系統中,由於數據的可複製性,使得系統可能存在同一筆數字資產因不當操作被重複使用的情況。簡單來說,就是比特幣在進行轉賬交易的時候,用戶與商戶之間建立了連接,將錢轉給了商戶,在進行轉賬的這個過程中,錢仍然歸屬用戶,所以理論上用戶可以利用這段時間,把這些錢轉給其他人,從而覆蓋掉上一筆交易。以上文爲例,A 可以通過用買咖啡的錢再來支付一次買花的費用,等於咖啡店並沒有收到錢,而白白損失了咖啡,而 A 僅通過一筆花費就同時獲得了咖啡和花,當然 A 如果不買花,也可以把錢轉賬給自己的其他賬戶,這樣就等於欺詐了咖啡店,沒有花費一分錢就獲得了咖啡。

攻擊者如何發動雙花交易?

上面我們已經得知確實可能發生一筆錢花了兩次的情況,那麼 A 是如何實現這種操作的呢?其實問題很簡單,一般來說雙花交易需要進行算力攻擊,也被稱爲 51% 攻擊。假設第一條交易已經生成,攻擊者在交易成功前,再次生成一個新的區塊,讓新的區塊比交易的那個區塊速度更快,這樣就能獲得兩次的交易過程,等同於這份交易中的數字資產被合理運用了兩次。我們去追尋導致這個問題所發生的原因,才發現,在區塊鏈系統中,最長的那條鏈就是最有效的鏈。

51% 攻擊,又被稱爲 Majority attack。這種攻擊是通過控制網絡算力實現雙花。如果攻擊者控制了網絡中 50% 以上的算力,那麼在他控制算力的這段時間,他可以將區塊逆轉,進行反向交易,也就是上文提到的新區塊覆蓋過去區塊的那筆交易,實現雙花。

比如在 BTG 和 BSV 上發生的雙花問題就屬於 51% 攻擊。攻擊者控制 BTG 網絡上 51% 以上的算力,在控制算力的期間,他把一定數量的 BTG 發給自己在交易所的錢包,這筆交易被區塊 A 打包。同時,他又把這些 BTG 發給另一個自己控制的錢包,這筆交易被打包在區塊 B。

區塊 A 上的交易被確認後,攻擊者立馬賣掉 BTG,拿到現金。這時候,區塊 A 成爲主鏈。然後,攻擊者在區塊 B 上進行挖礦,由於其控制了 51% 以上的算力,那麼攻擊者獲得記賬權的概率很大,於是很快,區塊 B 的長度就超過了主鏈,也就是區塊 A 的長度,那麼區塊 B 就會成爲主鏈,區塊 A 上的交易就會被回滾和覆蓋掉,A 區塊上的地址就永遠都收不到這筆轉賬了。

如何預防雙花交易?

雙花問題最需要解決的問題,其實就是時間的問題。如何在用戶發起交易的過程中,去記錄第一筆交易的時間和攻擊者發出交易的時間,來選擇最長鏈,這是解決該問題的關鍵。在區塊鏈系統中,我們會經常聽到一個詞——時間戳。我們就以它爲代表,舉例說明如何解決雙花問題?

首先,我們要了解時間戳的概念。用最簡單的方式來講,就是對每一筆交易進行了蓋章確認,並記錄了交易發起的時間。類似於生活中,最爲常見的買賣雙方簽訂合同,有雙方的簽名以及合同生效的時間。也就是說,通過時間戳,用戶發起的每一筆交易都能有時間記錄,當攻擊者在交易過程中發起交易時,系統能夠分辨出交易發起的時間,根據時間順序來看,就能夠迅速確認第一筆交易時間。這樣一來,就不會存在最長鏈就是最有效鏈的情況。

——————————————————————————————

持倉本金 5000u,盈利 5056.95u。

不怕套牢,不怕踏空,開啓網格天地單,24 小時自動套利,讓自己有市場參與感。

比特幣雙花交易意味着什麼?

進網格交易教學羣

添加段叔助理佳佳

比特幣雙花交易意味着什麼?

覺得文章不錯的幣友,可以推薦給身邊的朋友進行關注,感謝你對幣友會的支持!

———————————————–
「點贊,在看」,與你相伴👇