比特币的重复交易:一个风险极小的有趣Bug(3) / BTC123 | 区块链信息行情第一站

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

03-27 , 18:58 分享新闻

区块,983,702 问题

事实证明,在 BIP34 激活之前的区块中有一些coinbase交易,当时使用的 scriptSigs 的第一个字节恰好与未来有效的区块高度相匹配。因此,虽然 BIP34 确实在几乎所有情况下都修复了这个问题,但它并不是一个完全的 100% 修复。2018 年,比特币开发者约翰-纽贝里(John Newbery)打印出了这些潜在重复的完整列表,如下表所示。

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

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

*注:这些区块已在 2012 年和 2017 年产生Coinbase 交易并非重复。209 921 个区块(距离第一次减半仅差 79 个区块)不可能是重复的,因为 BIP30 在此期间得到了执行。

来源:https://gist.github.com/jnewbery/df0a98f3d2fea52e487001bf2b9ef1fd

按年份分列的潜在重复 Coinbase 交易数量

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

来源:https://gist.github.com/jnewbery/df0a98f3d2fea52e487001bf2b9ef1fd

因此,下一个可能出现重复交易的区块是 1,983,702,将于 2046 年 1 月左右产生。2012 年 1 月产生的 164,384 区块中的 Coinbase 交易向七个不同的输出地址发送了 170 BTC。因此,如果 2046 年的矿工想要进行这次攻击,他们不仅需要足够幸运地找到这个区块,还需要烧掉不到 170 BTC 的费用,总成本略高于 170 BTC,其中包括 0.09765625 BTC 区块补贴的机会成本。按照目前 88500 美元的比特币价格计算,这将花费超过 1500 万美元。至于 2012 年币库交易的七个地址归谁所有,目前还不得而知,密钥很有可能已经丢失。目前,该 Coinbase 交易的所有七个输出地址都已被使用,其中三个在同一笔交易中使用。我们认为这些资金可能与Pirate40 庞氏骗局有关,但这只是我们的推测。因此,这次攻击看起来不仅代价高昂,而且对攻击者来说几乎毫无用处。要在硬分叉中将 31 年前的 2015 年 11 月节点从网络中删除,这将是一笔不小的开支。

下一个可能被复制的脆弱区块是 2012 年 3 月的 169985。这个 Coinbase 只花费了刚刚超过 50 BTC,远远低于 170 BTC。当然,50 BTC 是当时的补贴,而当这一Coinbase交易在 2078 年变得容易被重复时,补贴就会低得多。因此,要利用这一点,矿工将需要烧掉大约 50 BTC 的费用,而这些费用他们是拿不回来的,因为这些费用必须发送到 2012 年的旧产出中。谁也不知道 2078 年比特币的价格会是多少,但这种攻击的成本也可能高得吓人。因此,这个问题可能不是比特币的主要风险,但仍然令人担忧。