游乐游手机版
首页/web3.0/文章详情

比特币bug揭秘:重复币基交易的风险与防范

时间:2025-04-07 21:42
重复的币基交易问题已通过BIP-30和BIP-34软分叉修复,但仍存在潜在风险。币基交易是BTC新区块中的第一条交易,早期可能出现重复,2013年后通过添加区块高度信息避免重复。尽管如此,旧的重复币基交易仍可能被利用,但风险较低。

周四BTC在86-87k区间小幅震荡。转眼间,2025年3月份即将结束,一季度也将画上句号。正如今天教链所说,这可能是自2018年以来最差的一季度。

2026虚拟币交易平台推荐:

时光飞逝,岁月如歌。BTC就像是一首时光的乐章。然而,在早期,特别是2013年之前,这首乐章中却出现了不和谐的音符——重复的币基交易(铸币交易)。

币基交易,也就是coinbase交易,是BTC每个新区块中的第一条交易。挖到该区块的矿工通常会通过这笔交易将区块奖励发送到自己的地址。

众所周知,BTC的普通交易是不能重复的。普通交易必须花费已经存在的未花费交易输出(UTXO),教链将其比作“硬币”,这些硬币各不相同,因此花费这些硬币的交易也必然各不相同。如果一个硬币被两笔交易花费,就构成了“双重花费”(double-spending),这是BTC严格禁止的。

但有一个例外,那就是币基交易。币基交易是铸币交易,不需要花费UTXO硬币,而是可以直接从空气中创造出新的BTC,作为对矿工的奖励。如果一个矿工连续挖到多个区块,并且在构造币基交易数据时使用了完全相同的信息,比如接收地址和其他附加信息,就可能构造出完全相同的两笔交易。这就是重复的币基交易。

这个比特币的bug是真实存在的。以下是两个具体例子,大家可以用BTC的任意区块链浏览器验证:

区块高度91812和区块高度91842,拥有哈希值完全相同的两笔币基交易。

区块高度91722和区块高度91880,拥有哈希值完全相同的两笔币基交易。

好消息是,从未有人利用这种重复的币基交易,花费它们,构造出同样是相同的后续普通交易,从而污染整个UTXO空间。在2012年3月15号通过一次软分叉实施了BIP-30之后,这种重复的交易就不能被使用了。

进一步地,2013年3月又激活了BIP-34软分叉,给币基交易的构造中添加了区块高度信息作为“版本号”,从而使得币基交易的哈希值不可能再重复了。从技术细节上,是在币基交易的scriptSig开头添加区块高度,第一字节是区块高度数值的字节数——目前是0x03,意思是后续3个字节表示本币基交易所在区块高度。币基交易里的这个scriptSig又被称为coinbase script,是矿工可自由自定义的字段,早期允许写入任意数据,比如中本聪就是在这个字段写入《泰晤士报》标题的。

对比一下更直观些。我们先来看下出现重复币基交易问题的区块#91812的币基交易的scriptSig是:0456720e1b00(OP_PUSHBYTES_4 56720e1b OP_0)。

而教链现在写这篇文章时刚刚产出的一个区块#889678的币基交易scriptSig则是:034e930d044260e5672f466f756e6472792055534120506f6f6c202364726f70676f6c642f23648154608b150000000000(OP_PUSHBYTES_3 4e930d OP_PUSHBYTES_4 4260e567 OP_PUSHBYTES_47)。开头是0x03,后续三个字节是43930d,表示其所在区块高度是十六进制的0x0d934e,即十进制的889678。

坏消息是,在2013年修复之前,已经生成的币基交易中,也有一些它们的scriptSig开头碰巧是0x03!这就让未来这些当年的矿工有可能利用这一点来故意构造重复的币基交易。

举个具体的例子吧。区块#164384的coinbase script就是0x03开头的:03d6441e014b0136(OP_PUSHBYTES_3 d6441e OP_PUSHBYTES_1 4b OP_PUSHBYTES_1 36)。

我们不知道当时这位矿工写的这个脚本是何用意。但是我们可以知道的是,他有机会利用这个漏洞,在未来尝试构造出与之完全相同的币基交易出来。

具体是什么时间呢?我们需要简单推算一下。根据BIP-34的定义,0x03后面3个字节表示区块高度。对上面这个例子而言就是d6441e,也就是十六进制的0x1e44d6,即十进制的1983702。而区块#1983702大概会在什么时间产出呢?根据BTC大约每10分钟产出一个区块,很容易推算出,从现在的区块#889678到未来的#1983702,还需 (1983072 - 889678)/6/24/365 = 20.8年,也就是大约2046年的时候。

坏消息是,这样的区块还有不少。下面是全表:

block_height,coinbase_height,equal

164384,1983702,TRUE

169895,3708179,TRUE

170307,3709183,TRUE

171896,3712990,TRUE

172069,3713413,TRUE

172357,3714082,TRUE

172428,3714265,TRUE

174151,5208854,TRUE

176684,490897,TRUE

183669,3761471,TRUE

196988,4275806,TRUE

201577,5327833,TRUE

206039,7299941,TRUE

206354,7299941,TRUE

209920,209921,TRUE

\

从上面柱状图可以看出,2078年左右是风险最多的时间。

好消息是,在目前很大、未来更大的全网算力下,就算当年的矿工有这想法,它也很难刚好抢到那个高度的那个区块的打包权(生成权、挖矿权)。而且,矿工得有多吃饱了撑的,才会去用费劲抢到挖矿权,构造一笔再也不能花掉的、模仿早年数据的交易,从而让自己白白遭受损失呢?

因此,结论就是,重复的币基交易这个bug,不能说已经被100%完美解决,但也不太可能掀起什么大的浪花。

来源:https://www.528btc.com//news/129280478.html
上一篇区块链做多做空:新金融策略详解 下一篇CoinEgg软件下载:官方渠道入口及注意事项
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
战略关键矿产储备SCMR未来投资指南:2026-2030价格预测
web3.0 · 2026-07-01

战略关键矿产储备SCMR未来投资指南:2026-2030价格预测

战略关键矿产储备(SCMR)是基于Solana网络、由贵金属支撑的代币,价格受投机情绪主导。2026年预计在0 02-0 06美元波动,2027年或升至0 04-0 1美元,2030年可达0 08-0 2美元。该资产流动性有限、波动剧烈,属于高风险投机品种。

币安买币后存哪?资金账户与现货账户全解析
web3.0 · 2026-07-01

币安买币后存哪?资金账户与现货账户全解析

币安买到的币存放位置取决于购买方式:现货交易进入现货账户,用于交易投资;P2P交易进入资金账户,用于支付转账。两者通过免费划转实现资产转移,资金账户需划转至现货账户才能交易。

MAXR币购买教程与投资价值全面解析
web3.0 · 2026-07-01

MAXR币购买教程与投资价值全面解析

MaxR币:一个聚焦价值复苏的区块链新星 在加密货币的浪潮中,各种项目层出不穷,但真正聚焦于特定核心理念的却不多见。MaxR币,全称MaxRevive,便是这样一个独特的存在。它不仅仅是一种数字货币,更是一个围绕“从不利情境中恢复价值”这一理念构建的生态系统。这个由社区驱动的项目,旨在通过区块链技术

比特币底部三重共振 宏观链上矿工经济学的终极指向
web3.0 · 2026-07-01

比特币底部三重共振 宏观链上矿工经济学的终极指向

基于宏观流动性、矿工关机价与链上筹码分布构建的五维估值模型,52,000至58,000美元区间汇集了矿工关机价、200周均线与超级筹码密集峰,构成周期置信度极高的结构性底部。短期持有者恐慌抛售而长期持有者开始吸筹,机构资金在60,000美元附近逆势流入。

赵长鹏YZi Labs投资TAO生态Tensorplex Labs
web3.0 · 2026-07-01

赵长鹏YZi Labs投资TAO生态Tensorplex Labs

据悉,赵长鹏通过家族办公室YZiLabs投资Bittensor生态的TensorplexLabs,该团队专注去中心化AI,旗下有子网52和BackpropFinance。受此消息刺激,Bittensor子网总市值突破1 1亿美元,TensorplexDojo单日飙升241 77%。Bittensor通过dTAO升级将资源分配方式改为市场决定,TAO代币预计2