比特幣重復交易漏洞:有趣的歷史遺留問題與微小風險

robot
摘要生成中

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

比特幣系統中存在一個罕見的現象:兩組完全相同的交易。這種情況之所以可能發生,是因爲coinbase交易沒有任何輸入,而是直接產生新幣。因此,兩個不同的coinbase交易有可能向相同地址發送相同數量的幣,並以完全相同的方式構建,使它們完全一致。由於這些交易內容相同,它們的交易ID(TXID)也會匹配,因爲TXID是交易數據的哈希值。

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

這兩組重復交易都發生在2010年11月14日至15日之間,時間跨度約16小時。第一組重復交易(TXID:d5d2....8599)夾在第二組之間。雖然d5d2....8599首先成爲復制品,但奇怪的是它在區塊鏈上首次出現時間反而晚於另一個重復交易e3bf....b468。

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

重復交易顯然會帶來一些問題。它們可能導致錢包和區塊瀏覽器混亂,也會讓人難以追蹤比特幣的來源。更嚴重的是,它還可能被用於攻擊。例如,攻擊者可以用兩筆重復的交易向某人支付兩次,但實際上接收方只能收到一半的資金。這可能被用來攻擊交易所,試圖讓其資不抵債。

爲了解決這個問題,比特幣開發者採取了多項措施:

  1. 2012年3月實施BIP30軟分叉,禁止使用重復TXID進行交易,除非前一個TXID已被花費。

  2. 2012年9月,Greg Maxwell修改規則,使BIP30檢查適用於所有區塊,而不僅僅是2012年3月15日之後的區塊。

  3. 2013年3月激活BIP34軟分叉,要求coinbase交易包含區塊高度,這基本解決了重復交易問題。

  4. 2015年11月,開發者移除了節點的BIP30檢查,因爲BIP34已經解決了這個問題。

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

然而,BIP34並非完美無缺。在BIP34激活之前的一些區塊中,coinbase交易的scriptSigs的第一個字節恰好與未來有效的區塊高度匹配。這意味着仍然存在極小的可能性產生重復交易。

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

下一個可能出現重復交易的區塊是1,983,702,預計將於2046年1月左右產生。但要利用這個漏洞,礦工需要付出巨大代價。按當前比特幣價格計算,攻擊成本可能超過1500萬美元,而且幾乎沒有實際收益。

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

之後的潛在漏洞區塊要等到2078年才會出現,屆時攻擊成本可能更加高昂。此外,自2017年SegWit升級以來,coinbase交易還包含對區塊中所有交易的承諾,這進一步增加了攻擊難度。

綜上所述,雖然這個重復交易漏洞理論上存在,但考慮到利用它的難度、成本以及極其罕見的機會,它並不構成比特幣的主要安全威脅。盡管如此,這個問題仍然引發了開發者的關注,他們可能會在2046年之前尋求徹底修復這個漏洞,可能通過軟分叉的方式實現。

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

BTC0.21%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 5
  • 分享
留言
0/400
AllInAlicevip
· 15小時前
老毛病了,谁还怕这个
回復0
Ser_Liquidatedvip
· 15小時前
BTC永不老 摸着良心赚钱
回復0
薛定谔的私钥vip
· 15小時前
早就修复了,老黄历了
回復0
ForkMongervip
· 16小時前
永远不会太晚进行一些治理的恐慌传播...
查看原文回復0
钱包管理员vip
· 16小時前
瑕不掩瑜 链上安全第一
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)