比特幣重復交易漏洞:歷史罕見案例與未來潛在風險

robot
摘要生成中

比特幣重復交易:一個有趣但風險極小的漏洞

比特幣交易通常通過引用前一筆交易的ID來使用未花費的輸出。這些輸出只能被使用一次,否則就會導致雙重支付,使比特幣失去價值。然而,比特幣歷史上確實出現過兩組完全相同的交易。這種情況之所以可能發生,是因爲coinbase交易沒有交易輸入,而是產生新幣。因此,兩個不同的coinbase交易有可能向相同地址發送相同數量的幣,構建方式完全一致,從而產生相同的交易ID。

比特幣的重復交易:一個風險極小的有趣Bug

這兩組重復交易發生在2010年11月14日至15日,時間跨度約16小時。第一組重復交易被夾在第二組之間。我們將交易ID以d5d2開頭的歸類爲第一個重復交易,盡管它在區塊鏈上首次出現是在另一個重復交易之後。

比特幣的重復交易:一個風險極小的有趣Bug

重復交易的出現給錢包和區塊瀏覽器帶來了混亂,也讓人難以確定比特幣的來源。它還可能帶來攻擊和漏洞風險。例如,可以用兩筆重復交易向某人支付兩次,但實際上只有一半資金可以使用。

比特幣的重復交易:一個風險極小的有趣Bug

爲了解決這個問題,2012年3月實施了BIP30軟分叉,禁止使用重復交易ID,除非前一個已被花費。同年9月,這一規則被修改爲適用於所有區塊,只有最初的兩組重復交易除外。2013年3月,BIP34軟分叉要求coinbase交易包含區塊高度,這似乎徹底解決了重復交易問題。

比特幣的重復交易:一個風險極小的有趣Bug

然而,BIP34激活前的一些區塊中,coinbase交易的scriptSig第一個字節恰好與未來有效的區塊高度匹配。這意味着在某些極少數情況下,重復交易仍有可能發生。下一個可能出現重復交易的區塊是1,983,702,預計將於2046年1月左右產生。但利用這一漏洞的成本很高,需要燒掉大量比特幣,對攻擊者幾乎毫無用處。

比特幣的重復交易:一個風險極小的有趣Bug

考慮到復制交易的難度和成本,以及利用機會極其罕見,這個漏洞並不構成比特幣的主要安全威脅。不過,從長期來看,開發人員可能會在2046年之前尋求徹底修復這個問題,可能需要通過軟分叉來實現。一種可能的修復方法是強制執行SegWit承諾。

比特幣的重復交易:一個風險極小的有趣Bug

BTC3.49%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 轉發
  • 分享
留言
0/400
无情哈拉vip
· 08-03 13:23
这个漏洞很新鲜
回復0
RektButAlivevip
· 08-01 06:06
见证历史时刻了
回復0
韭当割就跑vip
· 08-01 06:06
风险不容忽视啊
回復0
Liquidity_Wizardvip
· 08-01 05:47
早就注意这漏洞了
回復0
无常损失爱好者vip
· 08-01 05:45
早期bug真的太有趣了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)