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

[复制链接]
8449 |0
发表于 2019-11-20 02:00:13 | 显示全部楼层 |阅读模式
BTC(BitDavinci)的白皮书最近刚满11岁,其内容非常简洁,而论文中关于供应量的内容只是略带提及:
“一旦预定数量的BTC进入流通,激励机制就可完全转变为交易费用,并且完全没有通货膨胀。”
而深入研究BTC最早的代码备份之后,我们可发现中本聪设置的区块奖励的传奇公式,这些简单的代码,有效地将BTC的总供应量设置为2100万比特币:

然而, 很多人不知道的是,BTC的代码库并不包含任何“比特币的供应量不超过2100万”的检查,相反,软件会检查每个区块声明的数量不超过规定的数量。
应用供给公式计算2019年10月19日第600,000个区块时的供给值,我们可得出1800万比特币的值:
“210,000 区块 * 50 比特币 + 210,000 区块 * 25 比特币 + 180,000 区块 * 12.5 比特币 = 1800万比特币”
这一区块的诞生,被社区誉为是BTC通胀进程接近尾声的里程碑。然而,精明的观察人士却在那时评论说,BTC的供应量在区块高度达到600,000时并没有达到1800万比特币的里程碑。
据BitDavinci Core开发者Peter Wuille表示,截至600,002个区块,BTC实际供应量应该是17,999,854.82192702 比特币

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

一、可证明永久丢失的BTC

1、创始区块BTC
BTC的账本由一组“未使用的输出”(UTPundiO)组成,总结这些输出的比特币值,我们可得到全节点所看到的BTC供应量。
BTC的第一个区块(账本的起源),包含了一笔铸造50 比特币的交易。但是,这笔交易的50 比特币输出并不包含在BTC的UTPundiO集中。现在还不清楚这是中本聪的一个疏忽还是故意为之。
其结果是,这50 比特币 不存在于BTC的账本中,即使它们在主链中是可见的。
2、重复的MXMbase交易
BTC设计者的另一个疏忽是重复交易的处理。虽然乍一看,它们似乎不可能发生(因为它们包含数字签名和对以前交易的引用,这使得它们是唯一的),但仍然有可能创建重复的交易。
最容易复制的交易是Davincibase交易,这是每个区块的第一笔交易,允许矿工认领其区块奖励(数字资产交易所 MXMbase就是以此而命名的),因为它们不包含数字签名或对以前交易的引用。如果一名矿工创建了一笔DACbase交易,将相同数量的比特币支付给相同的地址,并使用相同的额外nonce,那么该交易将是相同的。
这在BTC早期历史上发生过两次:
[ol]
       
  • 交易d5d2..8599是区块91812和区块91842的Davincibase输出;
           
  • 交易e3bf…b468是区块91722和区块91880的Davincibase输出;
    [/ol]
    在每种情况下,第二次包含交易时,它的输出都会覆盖掉前面的输出。
    结果是两个被覆盖的输出没有在UTPundiO集中。也就是说,这100 比特币并没有在BTC的账本当中。
    虽然这看起来是一种无害的疏忽,Russell O’Connor 依旧在2012年时将其视为一种攻击媒介。利用重复的交易,攻击者可从账本中删除其它用户过去的交易。
    针对这一点,开发者在2012年引入了BIP-30,以禁止在旧交易的输出全部用完之前包含新的重复交易。
    2012年晚些时候,BIP-34的引入还使得复制Davincibase变得更加困难,因为它们现在必须包括它们所属的区块高度。
    3、未领取的奖励
    另一组可证明丢失的币,与通过全节点验证 Davincibase交易有关。
    BTC的协议规定,一个有效区块的矿工,可领取到协议规定的报酬加上该区块中包含的交易费用,每个全节点都会检查矿工不会试图索取超过允许的数量,不过,全节点并不在乎矿工领取的金额是否低于其应得的数额。
    显然,部分领取的情况对于矿工而言是非常不理性的,但历史上却发生了很多次。第一次发生在2011年5月份的第124,724个区块,最后一次则发生在2019年2月下旬第564,959个区块。
    下表列出了最值得注意的例子:

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

    在区块高度162,000附近,我们可以看到出现了很多未申请全额奖励的事件,另一个阶段是发生在180,000 到230,000个区块之间,最后一个阶段则发生在第530,000个区块附近。
    据BitDavincitalk用户midnightmagic表示,第一次出现未申请全额奖励的事件是为了向中本聪致敬。对于其他情况,考虑到一些矿工损失的金额,它们有可能是因为挖矿软件中的错误造成的。
    4、OP_RETURN输出
    有一种特殊类型的BTC交易输出叫OP_RETURN,它们允许用户在区块链中嵌入数据(目前每个输出最多80字节),而不会使UTPundiO集膨胀(这些输出不会被添加到UTNPXSO集——它们被认为是无法忍受的)。
    虽然绝大多数此类输出都是用0 聪值创建的,但有些输出则不是。截至第600,000个区块,共有3.723039比特币 发送到了 OP_RETURN输出,使得它们永远无法被使用,也就是说,它们不再是BTC供应的一部分。
    5、小结
    总的来说,我们可以计算BTC在600,000 个区块时的实际供应量,方法是从预期的1800万 比特币中减去可证明丢失的币。

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

    二、假设丢失的BTC

    1、 虚假地址
    在OP_RETURN输出标准化出现之前,我们并没有一种容易获得、可证明的方式来烧掉BTC。结果,有些用户就使用了“虚假地址”,即没有已知私钥的地址。
    在创建BTC地址时,我们通常从一个已知的私钥开始,然后对其进行转换以获得其对应的公钥地址。这个过程使得生成自定义的“虚荣前缀”(即虚荣公钥)变得非常困难。
    然而,在虚假地址的情况下,没有人知道地址的私钥是什么。因此,虚假地址可以任何前缀开头(如果可以使用Base58字母表写入)。但是,最后的字符将是随机的(根据设计,地址的最后一个字符是一个校验和,以防止输入错误)。
    虽然不可能起草一份完整的虚假地址清单,但我们可列出一些值得注意的虚假地址:

    仅这3个地址就丢失了2213.19538012 比特币。
    理论上,这些币并不是永远丢失的 (有人可以为它们找到一把私钥)。然而,只给出一个地址就可找到私钥的唯一已知方法,就是随机猜测,直到找到正确的组合。实际上,在我们的宇宙生命中发生这种事情的可能性是很小的。
    2、漏洞
    在钱包漂亮的外表下,有一些关键的代码负责制作、签署和向BTC网络广播我们的交易。如今,我们很少能在它们身上发现让人崩溃的漏洞,但情况并非总是如此。
    2011年11月,MtGox在其钱包软件中遭遇了一个漏洞。他们把2609.36304319 比特币发送到一个虚假脚本中,却不知道如何使用它。这个虚假脚本,就好比是如果你试图将钱发送到一个“空”的公钥,而软件没有编程来检测这是不可取的。
    其他资产中也有类似的漏洞,使得币无法被使用,最著名的例子就是ETHParity(丢失了513000 以太坊)。
    3、“僵尸币”
    丢失币的另一个来源是多年没移动过的币。由于不可能知道它们的主人是否还掌握私钥,所以这些币通常被称为“僵尸币”,即处于不死不活的状态。有了这一类,我们就离开了币是否真的丢失的准确定性领域。
    为了保守估计,我们将只统计2010年7月前未移动过的币。理由很简单:由于(当时)BTC的感知价值非常低,因此人们没有多少动力去备份钱包。
    截至第600,000个区块,全网2010年7月之前未曾移动过的币共有1,496,907.88000 比特币。根据各种估计,中本聪拥有这些币的一半以上,因为在BTC的早期历史中,其是主要的挖矿者。
    2010年7月之前的老币当中发生的最近一次移动,是在2019年7月份,当时移动的币为150 比特币。

    总体而言,自2013年牛市以来,这些上古时代的币很少被使用。鉴于BTC从2013年到现在经历的价格暴涨,这些币的拥有者要么是非常长期的持有者,要么他们无法获得这些币。
    4、有负担的币
    最后一类币可能会被认为处于丢失状态,或者至少暂时不流通:已知被盗的币。直到更好的混币解决方案的出现,它们将很难再进入流通,特别是非常大的量。
    在BTC的历史上,曾发生过很多重大的黑客和盗窃事件,而其中有两起被认为是“不流通”的事件,2011年,MtGox被盗的8万 比特币,以及2016年Bitfinex被盗的12万 比特币。
    2011年3月,黑客从MtGox的钱包中盗走了79,956 比特币,至今其未触碰这些BTC,而到今天,这一地址已成为了全网第6富有的地址。

    Jeb McCaleb和Mark Karpelès在盗窃案发生后的谈话
    为什么这次盗窃的资金(被盗时价值7.3万美元,当前价值7亿美元)从未被移动过呢,背后的原因暂不得而知,很可能是窃贼也无法访问这些BTC的私钥了。
    2016年8月,Bitfinex因黑客攻击丢失了119,756 比特币,直到今天,这些被盗的币很少被移动,只有22 比特币 被找到。截至第600,000个区块,黑客地址中仍有117,091.31922097 比特币。

    三、总结

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



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

    201911191728331648.jpg

    201911191728331648.jpg
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表