比特幣歷史中的重復交易:原因、影響及未來挑戰

robot
摘要生成中

比特幣中的重復交易:一個有趣而風險極低的問題

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

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

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

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

這些重復交易各自價值50 BTC。總共涉及200 BTC,或者根據不同理解可能是100 BTC。某種程度上,有100 BTC實際上並不存在。截至目前,所有200 BTC都未被使用。如果有人擁有與這些輸出相關的私鑰,他們可能可以使用這些比特幣。但一旦被使用,重復的50 BTC將無法再次使用並丟失,因此只有100 BTC可能被找回。

重復交易顯然是有問題的。它們會給錢包和區塊瀏覽器帶來混亂,也會讓人不清楚比特幣的來源。它還可能帶來一些攻擊和漏洞。例如,有人可以用兩筆重復的交易向某人支付兩次。當收款方嘗試使用這筆資金時,可能會發現只有一半的資金可以收回。

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

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

2013年3月,又實施了一項軟分叉,要求coinbase交易包含區塊高度。這似乎徹底解決了重復交易問題,現在所有交易都應該是唯一的。

然而,在BIP34激活之前的一些區塊中,有些coinbase交易的scriptSig第一個字節恰好與未來有效的區塊高度相匹配。因此,雖然BIP34在絕大多數情況下修復了這個問題,但並不是100%完美。

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

下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月左右產生。如果礦工想要進行這次攻擊,他們不僅需要足夠幸運地找到這個區塊,還需要付出巨大的成本,按當前比特幣價格計算可能超過1500萬美元。考慮到復制交易的難度和成本,以及利用它的機會非常罕見,這個漏洞並不像是比特幣的一個主要安全問題。

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

盡管如此,開發人員多年來還是在這個問題上花費了大量時間。2046年這個日期在一些開發人員心中可能是修復這個問題的最後期限。修復這個錯誤的方法有很多,可能需要軟分叉。一種可能的修復方法是強制執行SegWit承諾。

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

BTC0.55%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 分享
留言
0/400
LiquidityHuntervip
· 07-25 04:03
深夜又发现异常交易数据...指数式增长的风险点
回復0
digital_archaeologistvip
· 07-23 20:32
总之是我们2046年的事儿了
回復0
PanicSeller69vip
· 07-22 22:15
2046年这事也忒离谱了
回復0
SelfCustodyIssuesvip
· 07-22 22:07
2046有点远 谁还记得啊
回復0
永续多头人vip
· 07-22 21:56
满仓抄底 一切看涨都是上天的指引
回復0
MEV_Whisperervip
· 07-22 21:49
重复交易已经成历史了啦
回復0
degenwhisperervip
· 07-22 21:49
2046年能活到再说吧
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)