中本聪究竟有多少 BTC?
这个问题看似很简单,但时至今日仍未能有定论。尽管有关比特币的讨论在 2010 年年中之前只局限在少数加密朋克的小圈子里,但中本聪在创世区块生成后不久就将比特币客户端公之于众供人下载。据 Hal Finney 回忆,他在区块高度 70 多的时候就加入过挖矿,一些比特币的早期参与者也公布过在 2010 年之前加入挖矿的证据。在中本聪的身份之谜未被破解之前,一切相关的猜测都不会被证实或明确证伪,但链上数据会给我们一个可能十分接近真相的答案。
“考古”工作
比特币的创世区块诞生于 2009 年 1 月 3 日。随后在 1 月 9 日,比特币的第一个版本 v0.1 发行,迎来了包括 Hal Finney 在内的第一批使用者。在比特币协议中,最小难度设定为 1,这也是协议的初始设置。在最小难度下运行了接近一年后,2009 年 12 月 30 日,比特币网络迎来了第一次难度上升。在区块高度 32256,比特币难度首次从 1 上升为 1.18。从此,难度便升多降少。难度为 1 意味着网络内如果想要维持 10 分钟的出块间隔,约需要 7.15MH/s 的算力,Chain.info 的比特币算力历史数据也证实了这一点。而 Chain.info 的比特币实时状态显示,区块高度 606742 时(2019 年 12 月 5 日)的全网算力约为 101EH/s,是十年前的十万亿倍以上。
如上文所述,难度为 1 并不意味着 2009 年的区块都来自于中本聪之手。尽管 2010 年 7 月就出现了可以交易比特币的交易市场,但仍不能排除有早期矿工一直保留着这些比特币,所以我们并不能通过转账情况来进行判断。鉴于 2009 年的全网算力(小于 7.15MH/s),这些早期矿工与他们挖出的区块并不会很多,但这会对估算哪些区块出自中本聪带来很多干扰。
比特币的 coinbase 里只有地址,没有名字。实际上,我们根据公开信息唯一能确定属于中本聪的地址可能只有区块高度为 9 的出块地址,因为该地址在区块高度 12 时给 Hal Finney 发送了 10BTC (而创世区块的 50BTC 区块奖励并没有包括在 UTXO 集中,所以实际上无法被使用)。这也是比特币历史上的第一笔转账。
那么我们要怎么区分中本聪和别的早期挖矿者呢?
研究者 Sergio Demián Lerner 在 2013 年至 2014 年之间发表了一系列文章,通过区块内包含数据的特征识别中本聪所挖的区块。其主要依据是 coinbase 转账中的 ExtraNonce 的规律性变化、Nonce 的规律以及时间戳。ExtraNonce 是在挖矿节点的 Nonce 耗尽溢出时为节点提供额外的熵的一个参数,便于重新开始搜索。这个参数在 coinbase 中,但并不属于协议标准的一部分,由各个节点在本地进行记录。ExtraNonce 不会在成功出块后归零,而是会随着使用次数而累加。所以在早期参与节点少,节点出块相对密集情况下,同一个节点的 ExtraNonce 会呈现一种有规律的线性增长。ExtraNonce 通常不会重置,除非重新启动节点。
通过总结 2009-2010 年间比特币区块中的 ExtraNonce,Lerner 发现一些区块在此参数上有很多共性:
由于 ExtraNonce 会随着 Nonce 溢出而累加,并且节点关机或重启会归零重置,所以相当于节点的出块计数器,而且会随着节点的定期备份重启而规律重置。最开始两年间,有一系列区块的 ExtraNonce 呈现出与众不同的规律性,并与最初始几个区块的斜率一致(见下图)。Lerner 认为这些区块很可能由中本聪生产,称之为 P 区块。
在 P 区块中,ExtraNonce 保持着独特的增长速率,明显高于其他节点生成者,这意味着显著高于其他节点的算力或者独特的挖矿软件操作方式。
正常情况下,矿工在接收到新区块时会累加 ExtraNonce,但是该 P 区块的生成者不会。
此外,这些 P 区块的时间戳和 Nonce 也表现出不符合统计规律的独特性。
该模式下开采的区块中没有任何时间戳倒置,在统计上与别的区块表现出明显区别。
该模式下区块的 Nonce 的最末字节不是在 0 至 255 间均匀分布,而是集中在 0 至 9 与 19 至 58 之间。
通过以上模式,Lerner 从前 50 万区块中找到了约 2.2 万个符合以上规律的区块,这些区块共生成了约 110 万 BTC。其中 90% 以上产自区块高度 40,000 以前,也就是 2010 年 7 月之前。而截至 2019 年 4 月,这 110 万 BTC 中的 99.9% 未被花费(仅有 550 枚以类似 Hal 的方式捐献了出去)。
BitMex Research 在 2018 年 8 月按照 Lerner 的方式对早期比特币区块的 ExtraNonce 规律做了研究,认为属于中本聪的确定性较高的区块共产生了约 74 万枚比特币。
但 Lerner 随后提出了上面 4,5 两条规律进行反驳,所以我们更倾向于相信 Lerner 的结论。
另一组较为著名的研究来自 OrganOfCorti。在该研究中,研究者通过 Lerner 的归类方法将疑似中本聪的区块提取了出来,并根据当时的网络算力计算出该区块生产者在 2010 年 7 月前有四次规律的算力减少行为,逐步将算力减少至零。而且,通过类似的方式,该作者还分辨出了另外几个知名的比特币早期参与者,包括在 2010 年参与过挖矿的 Marti Malmi、Hal Finney 和 Dustin Trammel。
结论
通过一系列链上数据研究,我们可以得出一个较为可信的结论:有单个矿工或一个矿工集体,在比特币上线之初就在进行挖矿。不同于其他下载客户端运行的矿工,它的客户端有与众不同的运行方式,并刻意在区块中本该随机分布的区域留下了一些信息。它有规律地分四次减少了自己的算力,直至 2010 年 7 月,比特币算力稳步上涨之后,它停止了挖矿。它在一年半中挖出了约 110 万 BTC,但其中的绝大多数没有被使用。而它,很可能就是中本聪。