比特幣重復交易漏洞: 罕見但潛在影響深遠

robot
摘要生成中

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

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

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

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

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

這些重復交易各自價值50 BTC,總共涉及200 BTC,或者可以理解爲100 BTC。截至目前,這200 BTC都未被使用。理論上擁有相關私鑰的人可以使用這些比特幣,但只有100 BTC可能被找回,另外100 BTC將無法使用。至於這些幣被使用時來自哪個區塊,可能是無法確定的。

重復交易會給錢包和區塊瀏覽器帶來混亂,也可能被用於攻擊。例如,用兩筆重復交易向某人支付兩次,但接收方最終只能收回一半資金。這可能被用來攻擊交易所,試圖使其資金出現問題。

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

爲解決這一問題,2012年3月實施了BIP30軟分叉,禁止使用重復交易ID,除非前一個交易已被使用。2012年9月,這一規則被進一步修改,適用於所有區塊,只保留了前文提到的兩組重復交易。

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

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

然而,BIP34激活前仍有一些coinbase交易的scriptSig首字節恰好與未來有效的區塊高度匹配。下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月產生。但利用這一漏洞的成本很高,需要燒掉約170 BTC,按當前價格計算超過1500萬美元。

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

考慮到復制交易的難度和成本,以及利用機會極其罕見,這個漏洞並不是比特幣的主要安全問題。不過,從長遠來看,開發人員可能會在2046年之前通過軟分叉等方式徹底修復這個問題。

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

BTC0.99%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 轉發
  • 分享
留言
0/400
Gas_FeeCriervip
· 08-07 02:02
13年的老btc虾米 早该修这bug了
回復0
StakeWhisperervip
· 08-06 14:11
比特币老八卦了
回復0
GasWastervip
· 08-04 05:30
哈哈,想象一下,当我在失败的交易上支付3倍的矿工费时,居然还担心交易重复,真是无语。
查看原文回復0
HackerWhoCaresvip
· 08-04 05:30
50枚btc 想想都心痛啊
回復0
hodl_therapistvip
· 08-04 05:12
炒到我头晕 啥时候有利好
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)