比特币重复交易漏洞:罕见历史事件与未来风险分析

比特币系统中的重复交易:一个罕见而有趣的漏洞

比特币交易通常通过引用前一笔交易的ID来使用未花费的输出。这些输出只能被使用一次,否则就会导致双重支付问题。然而,在比特币历史上曾出现过两组完全相同的交易。这种情况之所以可能发生,是因为coinbase交易没有输入,而是直接产生新币。因此,两个不同的coinbase交易有可能向相同地址发送相同数量的比特币,从而构建出完全一致的交易。由于这些交易内容相同,它们的交易ID也就相匹配。

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

这两组重复交易都发生在2010年11月14日至15日之间,时间跨度约16小时。第一组重复交易的ID以d5d2开头,8599结尾;第二组以e3bf开头,b468结尾。有趣的是,尽管d5d2....8599先成为复制品,但它在区块链上首次出现反而晚于e3bf....b468。

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

这些重复交易涉及的比特币总量为200 BTC,每笔交易50 BTC。截至目前,这些比特币都尚未被使用。理论上,拥有相关私钥的人可以花费这些比特币,但一旦被使用,重复的50 BTC就会丢失,因此实际可用的比特币可能只有100 BTC。

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

重复交易会给钱包和区块浏览器带来困扰,也会模糊比特币的来源。更严重的是,它可能被用于攻击交易所等机构,造成资金损失。为了解决这个问题,2012年3月实施了BIP30软分叉,禁止使用重复交易ID,除非前一个交易已被使用。同年9月,这一规则被进一步扩展到所有区块。

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

2013年3月激活的BIP34软分叉要求coinbase交易包含区块高度信息,这进一步降低了重复交易发生的可能性。然而,BIP34之前的一些区块中存在coinbase交易,其scriptSig的第一个字节恰好与未来有效的区块高度匹配,这意味着重复交易的风险仍然存在,尽管极其罕见。

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

下一个可能出现重复交易的区块是1,983,702,预计在2046年1月左右产生。要利用这个漏洞,矿工需要付出巨大代价,包括烧掉大量比特币作为交易费用。考虑到成本和难度,这个漏洞并不构成比特币系统的主要安全威胁。

尽管如此,开发人员多年来仍在努力解决这个问题。可能的修复方案包括强制执行SegWit承诺等,这可能需要通过软分叉实现。虽然这个漏洞在实际操作中几乎不可能被利用,但它凸显了比特币系统的复杂性和潜在的历史遗留问题。

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
BlockchainBouncervip
· 16小时前
2010年的bug真是令人怀念
回复0
0x谜语人vip
· 18小时前
这bug早该修了
回复0
¯\_(ツ)_/¯vip
· 18小时前
这bug有点东西啊
回复0
FUD_Vaccinatedvip
· 19小时前
好家伙 2010年就开始炸bug了
回复0
闪电出击小王子vip
· 19小时前
虚拟币居然也会重复交易?
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)