比特币早期重复交易现象揭秘:BIP30/34如何解决TXID冲突

robot
摘要生成中

比特币交易中的一个罕见现象:重复交易

比特币网络中存在一个有趣的现象 - 两组完全相同的交易。这种情况发生在2010年11月14日至15日之间,跨度约16小时。之所以出现这种情况,是因为coinbase交易没有任何输入,而是产生新币。因此,两个不同的coinbase交易有可能向相同地址发送相同数量的币,并以完全相同的方式构建,使它们完全相同。由于交易相同,交易ID(TXID)也相匹配,因为TXID是交易数据的哈希摘要。

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

这两组重复交易都涉及50 BTC的coinbase奖励。截至目前,所涉及的200 BTC(或100 BTC,取决于如何理解)仍未被使用。理论上,如果有人拥有与这些输出相关的私钥,他们可以使用这些比特币。但一旦被使用,重复的50 BTC将无法再次使用并丢失,因此实际上只有100 BTC可能被找回。

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

重复交易显然会带来一些问题。它们可能会给钱包和区块浏览器造成混乱,也会让人不清楚比特币的来源。它还可能被利用进行攻击,例如向交易对手支付两次相同的交易,但实际上只有一半的资金可用。

为了解决这个问题,比特币开发者在2012年实施了几项改进:

  1. BIP30:禁止使用重复TXID进行交易,除非前一个TXID已被使用。

  2. BIP34:要求coinbase交易包含区块高度,这使得每个coinbase交易都是唯一的。

  3. 2015年,开发者移除了昂贵的BIP30检查,因为BIP34已经修复了这个问题。

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

然而,BIP34并非100%完美的解决方案。在BIP34激活之前的一些区块中,存在coinbase交易的scriptSig的第一个字节恰好与未来有效的区块高度相匹配。下一个可能出现重复交易的区块是1,983,702,预计将在2046年1月左右产生。

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

尽管如此,利用这个漏洞进行攻击的成本和难度都非常高。按当前比特币价格计算,攻击成本可能超过1500万美元。而且,这种攻击对攻击者来说几乎毫无用处。

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

考虑到复制交易的难度和成本,以及利用它的机会非常罕见,这个漏洞并不是比特币的一个主要安全问题。然而,开发人员仍然在寻找完全修复这个问题的方法,可能需要通过软分叉来实现。一种可能的修复方法是强制执行SegWit承诺。

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

BTC-1.02%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 8
  • 转发
  • 分享
评论
0/400
TxFailedvip
· 18小时前
不骗你,这真是一个经典的协议怪癖……2010年我就是这样艰难学到的,真是无奈。
查看原文回复0
BrokenYieldvip
· 08-17 23:02
系统性的脆弱性就在那儿……我想早期的比特币并没有像大佬们声称的那样坚不可摧,真是无语。
查看原文回复0
GasWaster69vip
· 08-17 09:37
这币还在睡觉呢?
回复0
GateUser-ccc36bc5vip
· 08-16 19:40
活久见 牛逼BTC
回复0
RadioShackKnightvip
· 08-16 19:38
卧槽 这100枚btc丢了吗...
回复0
养老金毁灭者vip
· 08-16 19:33
想偷币被txid卡住了…
回复0
数据酱油师vip
· 08-16 19:27
卧槽 居然真有这种事
回复0
ThesisInvestorvip
· 08-16 19:15
我靠 这bug也太低级了吧
回复0
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)