比特幣歷史上的罕見重復交易:未來潛在風險與解決方案探討

比特幣交易復制現象:一個低風險但有趣的特殊情況

比特幣交易通常通過引用前一筆交易的ID來使用未花費輸出。這些輸出只能被使用一次,否則會導致雙重支付問題。然而,比特幣系統中存在兩組完全相同的交易。這種情況之所以發生,是因爲coinbase交易沒有輸入,而是產生新幣。因此,兩個不同的coinbase交易有可能發送相同金額到相同地址,構建方式也完全一致,從而產生完全相同的交易。由於交易內容相同,它們的交易ID也會匹配,因爲交易ID是交易數據的哈希值。除非發生哈希碰撞,否則不可能出現重復的交易ID,而哈希碰撞在比特幣或其他任何系統中都從未發生過。

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

這兩組重復交易發生在2010年11月14日至15日之間,時間跨度約16小時。第一組重復交易(d5d2....8599)雖然在區塊鏈上晚於另一組出現,但被視爲首個復制品。

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

從區塊瀏覽器截圖可以看到,第一個重復交易在兩個不同區塊中重復出現。有趣的是,不同區塊瀏覽器在顯示這些重復交易時的默認行爲不同。在相關的四個區塊中,只有一個區塊包含了其他交易。

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

這些重復交易涉及的比特幣總額爲200 BTC,但實際上只有100 BTC是真實存在的。截至目前,這200 BTC都未被使用。理論上,如果有人擁有相關私鑰,可能可以使用這些比特幣。但一旦使用,重復的50 BTC將無法再次使用。至於使用時會從哪個區塊中扣除,可能是不確定的。

重復交易會給錢包和區塊瀏覽器帶來混亂,也可能被用於欺詐攻擊。爲了解決這個問題,2012年3月實施了BIP30軟分叉,禁止使用重復交易ID,除非前一個交易已被使用。同年9月,這一規則被進一步修改,適用於所有區塊,但保留了最初的兩個重復交易作爲例外。

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

2013年3月激活的BIP34要求coinbase交易包含區塊高度,這在很大程度上解決了重復交易問題。然而,在BIP34激活前的一些區塊中,coinbase交易的scriptSig第一個字節恰好與未來有效的區塊高度匹配,這意味着仍存在潛在的重復可能性。

下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月左右產生。利用這個漏洞的成本非常高,可能超過1500萬美元,而且對攻擊者幾乎沒有實際好處。之後的潛在漏洞區塊要到2078年才會出現。

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

考慮到利用這個漏洞的難度和成本,以及機會的稀少性,重復交易問題並不構成比特幣的主要安全威脅。然而,考慮到涉及的時間跨度和問題的獨特性,這仍然是一個引人思考的話題。比特幣開發者們可能會在2046年之前尋求徹底解決這個問題,可能需要通過軟分叉來實現。一種可能的解決方案是強制執行SegWit承諾。

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

BTC-1.41%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 轉發
  • 分享
留言
0/400
RektDetectivevip
· 08-12 13:26
2010年啊 那会儿一枚btc才几毛钱
回復0
费率殉道者vip
· 08-10 19:12
让牛币来次double kill
回復0
GasFeeCrybabyvip
· 08-10 18:58
又是哈希碰撞的老把戏啊
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)