Whale Alert于 7 月 20日发布关于中本聪的一份报告,报告对中本聪开采的区块数和拥有的比特币做出最准确的估计,中本聪开采了54.316个比特币区块,持有1.125.150个比特币,价值109亿美元,除了交易之外,其他与挖矿过程相关的细节,比如 nonce 和 extranonce 值(矿工在开采过程中使用的),也会被添加到区块中。
2013 年,Sergio Demian Lerner 发现,在每个区块的 coinbase 交易 (创建挖矿区块的奖励比特币的交易) 中,这个外链值有一个明显的模式可见。
Patoshi 模式
上图显示的是区块高度低于 20.000 的外链值,每个区块用一个点来表示,并形成了一个明显的锯状图案。Lerner 认为,这些对角线是矿工使用公开发布的标准比特币软件创造出来的:它们留下的直线是矿工在自己挖矿过程中或每次在网络上挖出新区块时递增外链的结果。鲜明的锯形图案是通过将外链值重置为零而产生的,每当矿工重新启动时都会发生这种情况。图中几乎垂直的线条被归结为 Lerner 命名为 Patoshi 的一个矿工。
我们确定 Patoshi 是由 Satoshi 操作的,因为它的模式在网络诞生之初就出现了,它开采的区块创造了发送给 Hal Finney 的比特币。Lerner 在 Patoshi 矿工开采的区块的 nonce(另一个在挖矿过程中使用的值,也存储在每个区块中,但与外链不同)中为他的说法找到了额外的证据:nonce 的最后一个字节总是在 0 到 9 或 19 到 58 的范围内,而所有其他矿工使用的是 0 到 255 的完整范围。这一发现使得将区块归属于 Patoshi 变得更加容易,因为它去掉了范围之外的非尾数。然而,在 Patoshi 和标准矿工模式的交汇处,区块的归属仍然很困难,特别是超过 20.000 区块之后,活跃矿工的数量大大增加。
当对外链范围进行调整时,Patoshi 模式变得更加清晰
我们怀疑,nonces 最后一个字节的范围有限,是由于工作被分给了一些计算机或 CPU 核心,每个计算机或 CPU 核心使用不同的数字,以防止重复工作。考虑到这一点,我们检查了该范围本身是否会因为挖矿能力的增加或删除而发生变化,我们发现它确实会随着时间的推移而发生变化。例如,范围 [0-9][19-58] 只在前 18.015 个区块中使用,然后减少到 [0-9][19-48],直到第 21.308 个区块,以后的区块期也发生了同样的情况(下表列出了每个区块期的范围)(类似的发现已经在这个匿名博客中描述过)。我们的研究还发现了一些有趣的新细节:在 21.467 和 25.777 区块之间,范围 [0-9] 只在每条 Patoshi 链上使用(每条链是矿机的单次运行,因此在上图中是一条单线),数字 39 只被零星使用。在 25.811 和 54.316 区块之间,有些链上完全没有数字 29.这些异常现象可能表明某些计算机或核心在这些时期出现了缺陷或被关闭。这些发现让我们排除了更多不是 Satoshi 开采的区块,并为我们提供了更清晰的图像(见上图),这在区块高度较高的地方尤其有价值,因为在这些地方网络上的开采活动急剧增加。
Patoshi nonce 结束的范围
改进后的 Patoshi 区块归属使我们能够准确地确定 Satoshi 矿工的平均采矿速度,令人惊讶的是,我们发现,nonce 结束范围的变化与采矿速度的变化并不相关:平均采矿速度在很长一段时间内都保持着不可思议的恒定。例如,在高度 2.000 到 16.000 之间的整个区块范围内,Patoshi 每小时开采的平均区块数几乎正好是每 10 分钟 0.6 个,尽管这期间矿工的数量变化很大。从数据中可以看出,Patoshi 矿工在区块之间调整速度以维持平均水平,当一条 Patoshi 链创造的区块数超过 0.6 个/10 分钟时,下一条 Patoshi 区块的平均区块时间就会降低,反之亦然。
Satoshi 之所以要维持这个平均值,有两个原因:首先,他认为 51% 的攻击是对不断增长的网络的最大威胁,通过保持 60% 的处理能力,他可以防止这些攻击的发生,同时留下足够的区块供其他人开采。随着更多 "诚实 "的矿工加入网络,51% 攻击的可能性越来越小,Satoshi 能够逐渐缩减他的采矿活动。其次,Satoshi 表示,理想的区块时间是 10 分钟左右,通过控制足够的处理能力,当网络上的活动量不够或过多时,可以人为地将区块时间保持在这个时间左右。我们猜测,Patoshi 至少由 48 台计算机组成,其中一台机器用于协调,更多的机器在受到攻击时待命,这就可以解释 [10-18] 的缺失范围。一旦 Satoshi 认为网络足够强大,他就减少了 Patoshi 每 10 分钟的区块目标,让其他人有更好的机会挖掘区块。
每条 Patoshi 链(超过 20 个区块)每 10 分钟开采的区块
了解不断变化的 nonce 范围,让我们能够将更多的区块归属于 Satoshi,并且有更高的确定性:在第一批开采的 54.316 个区块中,估计有 22.503 个区块。在这些区块中,有 50 个区块的 coinbase 交易(或挖矿奖励)已经被花掉了,其中有一个区块肯定是 Satoshi 在给 Hal Finney 的 10 个 BTC 的交易中花掉的。其中 31 个被花费的区块可能是假的,这意味着它们与 Patoshi 只是偶然匹配,属于不同的矿工。我们确信其中 18 个花费的区块属于 Satoshi,因此 Satoshi 花费的总金额为 907 BTC(在这些交易发生时,每 BTC 的价格低于 0.01 美元),还有 1.122.693 BTC 没有花费。
这项研究的目标不仅是要找出多少钱,而且要找出 Satoshi 为什么要以这种特殊的方式挖矿。Satoshi 在 54.316 区块后是否停止了与 Patoshi 矿工的挖矿?到底是采矿软件因此被更改而变得无法检测,还是 Patoshi 继续使用公开的采矿软件进行采矿,我们无从得知。
在更高的区块中发现了一些异常情况,比如在区块 70.000 之后,以 [0-9] 结尾的非 ces 的比例过高,以及在区块 109.500 到 112.500 之间使用相同范围的奇怪模式,但目前可以肯定的是,Patoshi 矿机在 2010 年 5 月被关闭了。关机的时间、挖矿行为、系统性的降低挖矿速度和缺乏支出,都强烈地表明 Satoshi 只想发展和保护这个年轻的网络。
Patoshi 开采的比特币可能只是这些努力的副产品,剩余的比特币不太可能被花掉,尽管问题是 Satoshi 为什么在这种情况下不直接烧掉它们。我们的研究结果不排除 Satoshi 也在使用公开发布的软件运行矿机的可能性,即使只是为了测试目的,我们相信至少有一个非 Patoshi 模式也很可能属于 Satoshi。
注:根据我们的研究,以下区块已经被 Satoshi 开采和使用:9、286、688、877、1.760、2.459、2.485、3.479、5.326、9.443、9.925、10.645、14.450、15.625、15.817、19.093、23.014、28.593 和 29.097.