比特幣歷史中的罕見現象:重復交易及其演變

robot
摘要生成中

比特幣重復交易:一個罕見但有趣的特例

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

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

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

在某些區塊瀏覽器中,可以看到這些重復交易在不同區塊中重復出現的情況。不同的區塊瀏覽器在顯示這些重復交易時可能會有不同的默認行爲。

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

這些重復交易每筆涉及50 BTC,總共涉及200 BTC。截至目前,這些比特幣仍未被花費。理論上,如果有人擁有相關私鑰,可能可以花費這些比特幣。但一旦被花費,重復的50 BTC就會丟失,因此實際可用的只有100 BTC。至於這些幣被花費時會從哪個區塊中支出,目前還不確定。

重復交易顯然會帶來一些問題。它們可能會給錢包和區塊瀏覽器造成混亂,也讓人難以確定比特幣的來源。這還可能被用於一些攻擊,比如向交易所重復存款等。

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

爲了解決這個問題,2012年3月比特幣通過軟分叉實施了BIP30,禁止使用重復交易ID進行交易。2012年9月又進行了進一步修改,使BIP30檢查適用於所有區塊,只有前文提到的兩組重復交易除外。

2013年3月,比特幣又激活了BIP34軟分叉,要求coinbase交易包含區塊高度信息。這似乎徹底解決了重復交易問題,理論上所有交易都應該是唯一的。

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

然而,在BIP34激活之前的一些區塊中,仍有一些coinbase交易的scriptSig首字節恰好與未來有效的區塊高度相匹配。這意味着在極其罕見的情況下,重復交易仍有可能發生。下一個可能出現重復交易的區塊是1,983,702,預計將在2046年1月左右產生。

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

不過,考慮到復制這種交易的難度和成本,以及利用它的機會非常罕見,這個漏洞並不是比特幣的主要安全威脅。盡管如此,開發人員們仍在研究徹底修復這個問題的方法,可能需要通過軟分叉來實現。一種可能的修復方案是強制執行SegWit承諾。

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

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