比特幣重復交易:歷史漏洞與未來潛在風險分析

robot
摘要生成中

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

概述

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

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

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

重復交易詳情

這些重復交易各自價值50 BTC,總共涉及200 BTC,或者說100 BTC被重復計算。截至目前,這200 BTC都未被花費。理論上,擁有相關私鑰的人可以花費這些比特幣。但一旦被花費,重復的50 BTC將無法再次使用。至於這些幣被花費時會來自哪個區塊,可能是未定義的。

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

重復交易的問題

重復交易會給錢包和區塊瀏覽器帶來混亂,也會導致對比特幣來源的不確定性。它還可能被用於攻擊,比如向某人重復支付兩次,但實際上只有一半資金可用。

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

解決方案

爲了緩解這個問題,2012年3月實施了BIP30軟分叉,禁止使用重復TXID進行交易。2012年9月,這一規則被進一步修改,適用於所有區塊。

2013年3月激活的BIP34軟分叉要求coinbase交易包含區塊高度,這從根本上解決了重復交易問題。此後,節點停止了昂貴的BIP30檢查。

然而,BIP34之前的一些coinbase交易的scriptSig第一個字節恰好與未來有效的區塊高度匹配。這意味着仍存在極小的重復可能性。

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

未來潛在風險

下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月左右產生。但利用這一漏洞的成本將超過1500萬美元,且幾乎毫無用處。

再下一個脆弱區塊預計在2078年出現。但那時利用這一漏洞的成本可能更高。

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

結論

考慮到復制交易的難度、成本以及極少的機會,這個漏洞並不構成比特幣的主要安全威脅。盡管如此,開發人員多年來仍在這個問題上投入了大量精力,2046年可能是徹底修復這個問題的最後期限。修復方法可能需要軟分叉,例如強制執行SegWit承諾。

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

BTC-0.92%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 4
  • 分享
留言
0/400
Moon火箭手vip
· 15小時前
建议设置RSI预警监测重复轨道入侵概率
回復0
MetaverseHermitvip
· 07-30 21:17
啊这 双花漏洞竟然早就被发现了
回復0
元宇宙包租公vip
· 07-30 19:27
好家伙 元古代的bug被你翻出来了
回復0
DeFi老顽童vip
· 07-30 19:16
哟?早年间挖矿的那点破事儿还真让小年轻翻出来了...猜猜当年这笔重复交易套了多少利差?
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)