APP
抛去丢失的比特币,BTC实际总量已少于2100万
2019-11-20 12099 0

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

“一旦预定数量的比特币进入流通,激励机制就可完全转变为交易费用,并且完全没有通货膨胀。”
而深入研究比特币最早的代码备份之后,我们可发现中本聪设置的区块奖励的传奇公式,这些简单的代码,有效地将比特币的总供应量设置为2100万BTC:

p1

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

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

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

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

45

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

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

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

1、创始区块比特币

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

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

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

2、重复的Coinbase交易

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

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

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

  1. 交易d5d2..8599是区块91812和区块91842的coinbase输出;
  2. 交易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个区块。

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

p2

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

p3

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

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

4、OP_RETURN输出

有一种特殊类型的比特币交易输出叫OP_RETURN,它们允许用户在区块链中嵌入数据(目前每个输出最多80字节),而不会使UTXO集膨胀(这些输出不会被添加到UTXO集——它们被认为是无法忍受的)。<p>虽然绝大多数此类输出都是用0 聪值创建的,但有些输出则不是。截至第600,000个区块,共有3.723039BTC 发送到了<code> OP_RETURN输出,使得它们永远无法被使用,也就是说,它们不再是比特币供应的一部分。

5、小结

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

p4

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

二、假设丢失的比特币

1、 虚假地址

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

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

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

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

p5

仅这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。

p6

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

4、有负担的币

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

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

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

p7

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

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

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

三、总结

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

p8

p9

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

内容来源:巴比特

版权声明:本文仅为传播消息之用,不代表币源社区立场,文章不构成投资建议。如需转载,请务必注明文章原作者以及来源,部分图片来源于网络,我们尊重版权,如有疑问敬请联系,我们将核实并删除。

我要评论
字数上限500
评论(0)