比特幣重復交易漏洞:2046年或迎來最終修復

robot
摘要生成中

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

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

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

這兩組重復交易發生在2010年11月14日至15日之間,時間跨度約16小時。第一組重復交易(d5d2....8599)夾在第二組(e3bf....b468)之間。有趣的是,d5d2....8599雖然先成爲重復交易,但在區塊鏈上卻晚於e3bf....b468出現。

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

這些重復交易每筆價值50 BTC,總共涉及200 BTC或100 BTC(取決於理解方式)。截至目前,這些幣都未被花費。理論上,擁有私鑰的人可以花費這些比特幣,但只有100 BTC能真正被找回。至於這些幣來自哪個區塊,可能無法確定。

重復交易會給錢包和區塊瀏覽器帶來混亂,也可能被用於攻擊。例如,攻擊者可以用兩筆重復交易向交易所支付兩次,然後迅速提取資金,試圖使交易所破產。

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

爲解決這個問題,2012年3月實施了BIP30軟分叉,禁止使用重復TXID進行交易。2012年9月,這一規則被進一步修改,適用於所有區塊(除了前述兩組重復交易)。2013年3月激活的BIP34要求coinbase交易包含區塊高度,這似乎從根本上解決了重復交易問題。

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

然而,BIP34激活前的一些coinbase交易的scriptSig第一個字節恰好與未來有效的區塊高度匹配。這意味着在某些特定區塊高度上,仍有可能產生重復交易。下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月左右產生。

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

盡管如此,利用這一漏洞的成本和難度都很高。礦工不僅需要足夠幸運地挖到特定區塊,還需要燒掉大量費用。按當前比特幣價格計算,這種攻擊可能需要超過1500萬美元,而且幾乎毫無實際用處。

考慮到復制交易的難度、成本以及利用機會的稀少性,這個漏洞並不構成比特幣的主要安全威脅。不過,考慮到所涉及的時間尺度和重復交易的獨特性,這個問題仍然引人深思。比特幣開發者們多年來在這個問題上投入了大量時間,2046年可能成爲徹底修復這個漏洞的最後期限。修復方法可能需要軟分叉,其中一種可能的方案是強制執行SegWit承諾。

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

BTC-0.03%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 8
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)