快好知 kuaihz

被“黑洞”吸走的比特币,BTC实际总量已少于2100万

比特币(Bitcoin)的白皮书最近刚满 11 岁,其内容非常简洁,而论文中关于供应量的内容只是略带提及:

而深入研究比特币最早的代码备份之后,我们可发现中本聪设置的区块奖励的传奇公式,这些简单的代码,有效地将比特币的总供应量设置为 2100 万BTC:

然而, 很多人不知道的是,比特币的代码库并不包含任何“BTC的供应量不超过 2100 万”的检查,相反,软件会检查每个区块声明的数量不超过规定的数量。

应用供给公式计算 2019 年 10 月 19 日第600, 000 个区块时的供给值,我们可得出 1800 万BTC的值:

这一区块的诞生,被社区誉为是比特币通胀进程接近尾声的里程碑。然而,精明的观察人士却在那时评论说,比特币的供应量在区块高度达到600, 000 时并没有达到 1800 万BTC的里程碑。

据Bitcoin Core开发者Peter Wuille表示,截至600, 002 个区块,比特币实际供应量应该是17,999,854.82192702 BTC 。

那么,这到底是怎么一回事呢?

在这篇文章中,我们会深入研究比特币的供应量为何会低于预期,并计算有多少比特币永久丢失了。此外,我们分析了这些币丢失的确切原因,并解释了发生在它们身上的事情。我们首先检查可证明已丢失的币,然后分析假设丢失但可能最终被发现的币。

一、可证明永久丢失的比特

1、创始区块比特

比特币的账本由一组“未使用的输出”(UTXO)组成,总结这些输出的BTC值,我们可得到全节点所看到的比特币供应量。

比特币的第一个区块(账本的起源),包含了一笔铸造50 BTC的交易。但是,这笔交易的50 BTC输出并不包含在比特币的UTXO集中。现在还不清楚这是中本聪的一个疏忽还是故意为之。

其结果是,这50 BTC 不存在于比特币的账本中,即使它们在主链中是可见的。

2、重复的Coinbase交易

比特币设计者的另一个疏忽是重复交易的处理。虽然乍一看,它们似乎不可能发生(因为它们包含数字签名和对以前交易的引用,这使得它们是唯一的),但仍然有可能创建重复的交易。

最容易复制的交易是coinbase交易,这是每个区块的第一笔交易,允许矿工认领其区块奖励(数字资产交易所 Coinbase就是以此而命名的),因为它们不包含数字签名或对以前交易的引用。如果一名矿工创建了一笔coinbase交易,将相同数量的BTC支付给相同的地址,并使用相同的额外nonce,那么该交易将是相同的。

这在比特币早期历史上发生过两次:

交易d5d2.. 8599 是区块 91812 和区块 91842 的coinbase输出;

交易e3bf…b468 是区块 91722 和区块 91880 的coinbase输出;

在每种情况下,第二次包含交易时,它的输出都会覆盖掉前面的输出。

结果是两个被覆盖的输出没有在UTXO集中。也就是说,这100 BTC并没有在比特币的账本当中。

虽然这看起来是一种无害的疏忽,Russell O’Connor 依旧在 2012 年时将其视为一种攻击媒介。利用重复的交易,攻击者可从账本中删除其它用户过去的交易。

针对这一点,开发者在 2012 年引入了BIP-30,以禁止在旧交易的输出全部用完之前包含新的重复交易。

2012 年晚些时候,BIP-34的引入还使得复制coinbase变得更加困难,因为它们现在必须包括它们所属的区块高度。

3、未领取的奖励

另一组可证明丢失的币,与通过全节点验证 coinbase交易有关。

比特币的协议规定,一个有效区块的矿工,可领取到协议规定的报酬加上该区块中包含的交易费用,每个全节点都会检查矿工不会试图索取超过允许的数量,不过,全节点并不在乎矿工领取的金额是否低于其应得的数额。

显然,部分领取的情况对于矿工而言是非常不理性的,但历史上却发生了很多次。第一次发生在 2011 年 5 月份的第124, 724 个区块,最后一次则发生在 2019 年 2 月下旬第564, 959 个区块。

下表列出了最值得注意的例子:

大体上,这种行为发生在 3 个不同的阶段,共出现了 1221 次异常。下图显示了未申请全额奖励的区块数量:

在区块高度162, 000 附近,我们可以看到出现了很多未申请全额奖励的事件,另一个阶段是发生在180,000 到230, 000 个区块之间,最后一个阶段则发生在第530, 000 个区块附近。

据Bitcointalk用户midnightmagic表示,第一次出现未申请全额奖励的事件是为了向中本聪致敬。对于其他情况,考虑到一些矿工损失的金额,它们有可能是因为挖矿软件中的错误造成的。

4、OP_RETURN输出

有一种特殊类型的比特币交易输出叫OP_RETURN,它们允许用户在区块链中嵌入数据(目前每个输出最多 80 字节),而不会使UTXO集膨胀(这些输出不会被添加到UTXO集——它们被认为是无法忍受的)。

虽然绝大多数此类输出都是用0 聪值创建的,但有些输出则不是。截至第600, 000 个区块,共有3.723039BTC 发送到了 OP_RETURN输出,使得它们永远无法被使用,也就是说,它们不再是比特币供应的一部分。

5、小结

总的来说,我们可以计算比特币在600,000 个区块时的实际供应量,方法是从预期的 1800 万 BTC中减去可证明丢失的币。

截至第600,000 个区块,比特币的实际显示供应应该是17,999,817 BTC,这是技术上的确切值,这一结果,我们可通过查询全节点得到。然而,我们还可以做得更好,让我们看看更多比特币“黑洞”的情况。

二、假设丢失的比特

1、 虚假地址

在OP_RETURN输出标准化出现之前,我们并没有一种容易获得、可证明的方式来烧掉比特币。结果,有些用户就使用了“虚假地址”,即没有已知私钥的地址。

在创建比特币地址时,我们通常从一个已知的私钥开始,然后对其进行转换以获得其对应的公钥地址。这个过程使得生成自定义的“虚荣前缀”(即虚荣公钥)变得非常困难。

然而,在虚假地址的情况下,没有人知道地址的私钥是什么。因此,虚假地址可以任何前缀开头(如果可以使用Base58 字母表写入)。但是,最后的字符将是随机的(根据设计,地址的最后一个字符是一个校验和,以防止输入错误)。

虽然不可能起草一份完整的虚假地址清单,但我们可列出一些值得注意的虚假地址:

仅这 3 个地址就丢失了2213.19538012 BTC。

理论上,这些币并不是永远丢失的 (有人可以为它们找到一把私钥)。然而,只给出一个地址就可找到私钥的唯一已知方法,就是随机猜测,直到找到正确的组合。实际上,在我们的宇宙生命中发生这种事情的可能性是很小的。

2、漏洞

在钱包漂亮的外表下,有一些关键的代码负责制作、签署和向比特币网络广播我们的交易。如今,我们很少能在它们身上发现让人崩溃的漏洞,但情况并非总是如此。

2011 年 11 月,MtGox在其钱包软件中遭遇了一个漏洞。他们把2609.36304319 BTC发送到一个虚假脚本中,却不知道如何使用它。这个虚假脚本,就好比是如果你试图将钱发送到一个“空”的公钥,而软件没有编程来检测这是不可取的。

其他资产中也有类似的漏洞,使得币无法被使用,最著名的例子就是以太坊Parity(丢失了513000 ETH)。

3、“僵尸币”

丢失币的另一个来源是多年没移动过的币。由于不可能知道它们的主人是否还掌握私钥,所以这些币通常被称为“僵尸币”,即处于不死不活的状态。有了这一类,我们就离开了币是否真的丢失的准确定性领域。

为了保守估计,我们将只统计 2010 年 7 月前未移动过的币。理由很简单:由于(当时)比特币的感知价值非常低,因此人们没有多少动力去备份钱包。

截至第600, 000 个区块,全网 2010 年 7 月之前未曾移动过的币共有1,496,907.88000 BTC。根据各种估计,中本聪拥有这些币的一半以上,因为在比特币的早期历史中,其是主要的挖矿者。

2010 年 7 月之前的老币当中发生的最近一次移动,是在 2019 年 7 月份,当时移动的币为150 BTC。

总体而言,自 2013 年牛市以来,这些上古时代的币很少被使用。鉴于比特币从 2013 年到现在经历的价格暴涨,这些币的拥有者要么是非常长期的持有者,要么他们无法获得这些币。

4、有负担的币

最后一类币可能会被认为处于丢失状态,或者至少暂时不流通:已知被盗的币。直到更好的混币解决方案的出现,它们将很难再进入流通,特别是非常大的量。

比特币的历史上,曾发生过很多重大的黑客和盗窃事件,而其中有两起被认为是“不流通”的事件, 2011 年,MtGox被盗的 8 万 BTC,以及 2016 年Bitfinex被盗的 12 万 BTC。

2011 年 3 月,黑客从MtGox的钱包中盗走了79,956 BTC,至今其未触碰这些比特币,而到今天,这一地址已成为了全网第 6 富有的地址。

Jeb McCaleb和Mark Karpelès在盗窃案发生后的谈话

为什么这次盗窃的资金(被盗时价值7. 3 万美元,当前价值 7 亿美元)从未被移动过呢,背后的原因暂不得而知,很可能是窃贼也无法访问这些比特币的私钥了。

2016 年 8 月,Bitfinex因黑客攻击丢失了119,756 BTC,直到今天,这些被盗的币很少被移动,只有22 BTC 被找到。截至第600, 000 个区块,黑客地址中仍有117,091.31922097 BTC。

三、总结

我们常说比特币的总量只有 2100 万 BTC,这种说法其实并不准确,随着时间的推移,怪事、错误以及其他事件会影响到比特币真实的存在量。

这种分析只是评估比特币真实供应量的众多方法之一。根据需要,我们可以考虑、忽略或扩大不同的类别。它还使用自顶向下的方法,从最大可能的供应开始,并移除各种类型丢失的币。另一种估算比特币供应量的方法,是按上次活动的时间将比特币分解,然后预计多年未动的比特币可能会丢失。我们将继续监控丢失的比特币,并在未来更新我们的发现。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:比特  比特词条  黑洞  黑洞词条  少于  少于词条  总量  总量词条  实际  实际词条