比特币历史中的罕见现象:重复交易及其演变

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-0.96%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)