比特币bug揭秘:重复币基交易风险
时间:2025-04-29 | 作者: | 阅读:0周四BTC在86-87k区间小幅震荡。转眼间,2025年3月份就要过去了。3月份一过,一季度也将结束。正如今日教链所言,这个一季度可能是自2018年以来表现最差的一季度。
时光如水,岁月如歌。BTC就像是时光奏响的乐章。但在早期,特别是2013年之前,这乐章中出现了一些不和谐的音符——重复的币基交易(铸币交易)。
币基交易,又称coinbase交易,是BTC每个新生成区块中的第一条交易。挖到该区块的矿工通常会通过这笔交易将区块奖励发送到自己的地址。
众所周知,BTC的普通交易是不能重复的。因为普通交易必须花费已经存在的未花费输出(UTXO),教链将其比作“硬币”,这些硬币各不相同,因此花费这些硬币的交易也各不相同。如果一个硬币被两笔交易花费了,那就成了“双重花费”,这是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%完美解决,但也不太可能掀起什么大的浪花。
福利游戏
相关文章
更多-
- 以太坊:长期持有价值分析
- 时间:2025-04-29
-
- 狗狗币投资前景:长期持有价值分析
- 时间:2025-04-29
-
- 09年BTC交易所推荐:排行榜详解
- 时间:2025-04-29
-
- Coinbase:可靠合法加密支付首选
- 时间:2025-04-29
-
- Web3.0新特性:去中心化、安全、用户所有权
- 时间:2025-04-29
-
- 前10名数字货币交易所是哪些
- 时间:2025-04-29
-
- DCR币交易平台推荐:安全与费用分析
- 时间:2025-04-29
-
- 瑞波币etf在哪里买
- 时间:2025-04-29
精选合集
更多大家都在玩
大家都在看
更多-
- 龙之谷世界副本怎么玩
- 时间:2025-04-29
-
- 无限暖暖花焰飞车在哪里
- 时间:2025-04-29
-
- PEPE杠杆与原理图解
- 时间:2025-04-29
-
- 美的、格力财报隔空打架 都说自己去年是“空调第一名”
- 时间:2025-04-29
-
- 无限暖暖乘坐俯瞰日特别版飘然热气球任务怎么做
- 时间:2025-04-29
-
- 200mm纯光学长焦巨炮!vivo X200 Ultra全版本适配增距镜
- 时间:2025-04-29
-
- OPPO Find X9 Pro首曝:四摄双潜望调整为三摄单潜望
- 时间:2025-04-29
-
- 龙之谷世界通行证怎么获取
- 时间:2025-04-29