比特币重复交易:历史漏洞与未来潜在风险分析

robot
摘要生成中

比特币的重复交易:一个有趣但风险很小的漏洞

概述

比特币交易通常通过引用前一笔交易的ID来使用未花费输出。这些输出只能被花费一次,否则就可能发生双重支付。然而,比特币历史上确实出现过两组完全相同的交易。这是因为coinbase交易没有输入,而是生成新币。因此,两个不同的coinbase交易有可能向相同地址发送相同数量的币,构建方式也完全一致,从而产生相同的交易。

比特币的重复交易:一个风险极小的有趣Bug

这两组重复交易发生在2010年11月14日至15日,时间跨度约16小时。第一组重复交易夹在第二组之间。我们将交易ID以d5d2开头的归类为第一个重复交易,尽管它在区块链上首次出现时间晚于另一个重复交易。

重复交易详情

这些重复交易各自价值50 BTC,总共涉及200 BTC,或者说100 BTC被重复计算。截至目前,这200 BTC都未被花费。理论上,拥有相关私钥的人可以花费这些比特币。但一旦被花费,重复的50 BTC将无法再次使用。至于这些币被花费时会来自哪个区块,可能是未定义的。

比特币的重复交易:一个风险极小的有趣Bug

重复交易的问题

重复交易会给钱包和区块浏览器带来混乱,也会导致对比特币来源的不确定性。它还可能被用于攻击,比如向某人重复支付两次,但实际上只有一半资金可用。

比特币的重复交易:一个风险极小的有趣Bug

解决方案

为了缓解这个问题,2012年3月实施了BIP30软分叉,禁止使用重复TXID进行交易。2012年9月,这一规则被进一步修改,适用于所有区块。

2013年3月激活的BIP34软分叉要求coinbase交易包含区块高度,这从根本上解决了重复交易问题。此后,节点停止了昂贵的BIP30检查。

然而,BIP34之前的一些coinbase交易的scriptSig第一个字节恰好与未来有效的区块高度匹配。这意味着仍存在极小的重复可能性。

比特币的重复交易:一个风险极小的有趣Bug

未来潜在风险

下一个可能出现重复交易的区块是1,983,702,预计在2046年1月左右产生。但利用这一漏洞的成本将超过1500万美元,且几乎毫无用处。

再下一个脆弱区块预计在2078年出现。但那时利用这一漏洞的成本可能更高。

比特币的重复交易:一个风险极小的有趣Bug

结论

考虑到复制交易的难度、成本以及极少的机会,这个漏洞并不构成比特币的主要安全威胁。尽管如此,开发人员多年来仍在这个问题上投入了大量精力,2046年可能是彻底修复这个问题的最后期限。修复方法可能需要软分叉,例如强制执行SegWit承诺。

比特币的重复交易:一个风险极小的有趣Bug

BTC-0.32%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
Moon火箭手vip
· 21小时前
建议设置RSI预警监测重复轨道入侵概率
回复0
MetaverseHermitvip
· 07-30 21:17
啊这 双花漏洞竟然早就被发现了
回复0
元宇宙包租公vip
· 07-30 19:27
好家伙 元古代的bug被你翻出来了
回复0
DeFi老顽童vip
· 07-30 19:16
哟?早年间挖矿的那点破事儿还真让小年轻翻出来了...猜猜当年这笔重复交易套了多少利差?
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)