通过 Extranonce、Lsb nonce 这些标记,我们可以挖掘中本聪在比特币诞生期的挖矿行为特征,以判断哪些区块是中本聪所挖。 原文标题:《那些年中本聪所挖的块,Patoshi Blocks》 距离 2009 年 1 月 2 日第一个比特币区块被挖出,已经过去了 11 年的时间,至今我们已经挖掘出了比特币总量的 87%,而中本聪在比特币初期,一直在致力于维护网络的稳定发展,贡献了大量的算力,同时也获得大量的比特币。 就在今年的 5 月 20 日,据 WhaleAlert 监测,2009 年 2 月 10 日区块高度为 3654 挖出的 50 BTC 从地址 17XiVVooLcdCUCMf9s4t4jTExacxwFS5uh 转出,目前该地址余额为 0.0001 BTC,此地址自 2009 年以来一直处于休眠状态。 消息一出,引起了大家的广泛猜测,从 2013 年开始,就一直有人想要去追踪中本聪所挖到的块,而 Sergior 这个人基于几种方法的判定,通过可视化的数据,基本确定了疑似中本聪区块的大概分布情况,我们也在这里统称中本聪区块为 Patoshi Blocks。 Patoshi 标记——暗藏的 Extranonce中本聪在比特币诞生期的挖矿行为,一直是比特币爱好者研究的重点。satoshiblocks.info 网站收集了其中最有价值的研究。 首先在这个事件中,在发生转账的那个区块,Coinbase 信息中包含一个 Extranonce 参数,而这个参数与中本聪所挖掘的区块的特征并不相符,正是这个特征区别了 Patoshi Blocks 和其他网络参与者所挖掘的区块不同,首先我们来看一张图。 在图中,横坐标是块的高度,纵坐标是 Extranonce 的值,其中黑色的点是未被移动过的块,红色的是已经发生转移过的块,从图中我们可以清晰的看到一些斜率相同,并且未移动过的块所组成的点并且连成一条线,这些块被我们推测为疑似中本聪所挖出的区块。 通过 satoshiblocks.info 这个网站我们可以通过他的搭建的可视化图表来更直观的发现一些证据。 首先我们可以看到其中蓝色的点就是疑似中本聪所挖出的区块,他所挖出的区块斜率基本一致,线的末端垂直对比后,基本接上了下一条线的起点,说明了中本聪是在这个时间内一直在持续挖矿,为了保护网络基本的稳定性。 而图中由绿色的点所组成的线,它们之间的斜率也是非常相近的,这是由于早期比特币网络的参与者并不是很多,挖掘比特币的硬件水平又大致相同,且都是通过 Cpu 进行挖矿,也就是说大家的算力相差不大。 可以看到在 14000 个区块之前已经有很多人参与挖矿,所以早期的区块都由中本聪所挖出的观点是错误的,这点早就被比特币最早参与者之一的哈尔·芬尼所证实,他在全网第 70 个块时就已经参与了比特币的挖矿,并且在 Btcointalk 论坛上发表了内容。 通过以上的证据,我们大致可以理解中本聪挖矿行为具有特性的事实,那么为什么他在挖矿时的 Extranonce 值具有固定的特征呢?我们找到了早期的比特币发布在 2009 的 9 月 16 日版本为 0.1.5 的代码,来寻找线索。 从图中看到,当这个函数为 Bitcoinmine 启动时,比特币就开始了挖矿的过程。Extranonce 在逐渐挖矿的过程中,作为第一个 Input 的 ScriptSig,Extranonce 每填写一次就需要++。 在这段代码中,我们看到当比特币的 Nonce 与后面的数 =0 时就会进行检测,下面有三种情况会使得 Extranonce 值加 1
其实 Extranonce 就像一个计数器,计数器的斜率和自身的电脑性能有关,所以 Sergior 看到这些数据后,引发了思考,中本聪的斜率为什么和其他人不一样?所以我们猜测,中本聪的电脑可能比别人的性能快 4-5 倍,因为他的斜率别其他人都要陡的多。 目前大家有几个共识
遍历地越快,可视化的线条就越陡,代表 Extranonce 更新的频率越快,Extranonce 更新的频率则和电脑的性能相关。 留给后人的记号——Lsb Nonce另外一个证据是关于 lsb,它是一个四个字节的数据,Nonce 在每次挖矿加 1 时,实际的空间是 0-2 的 32 次方之间,把他拆成 4byte 的数据来看,最后一个 byte++以后,每从 0-255 循环一次,循环到下一个周期时,第二个 Byte 会进一位,这里通过取 Nonce 的最小位、最右边的 Byte 做特征分析。 分析后发现,Patoshi Blocks 具有一个特定的模式,他所挖到的块,斜率很高,从上图可以看到,在还没移动的区块中,Nonce 大都集中在 [0..9] U [19.. 58] 这个区间,中本聪在这个区间挖到块的概率要大很多,在其他区间反而挖到块的概率很小。 从另一张图可以看到,正常矿工的挖矿情况 Nonce 均匀分布在 0-255 区间,说明大家挖矿非常随机,也符合比特币网络的特性,而中本聪则只占据了区间的 5 分之 1,这也解释了之前所说,中本聪的挖矿性能大约是其他网络参与者的 5 倍,斜率会比别人都高的原因,因为块头的 Nonce 只允许了 5 分之 1 的空间,而其他人挖矿的人都是把 Nonce 所有空间跑完,耗费的时间会更多。 综合来看,为什么这些区块是中本聪所挖出来的主要有三点
以上这些证据也表明了,在区块高度 3654 的区块并不符合中本聪的挖矿特性,所以并不能证明为中本聪所拥有。 目前 Patoshi Blocks 99.9% 的比特币都没有发生转移,而其他在早期被挖掘的区块也有少部分没有发生过移动的区块,网络早期并非只有中本聪一个人,自网络上线的几天后就有一些人已经参与到了比特币网络中。 留下悬念、默默退出除了以上的内容外,我们还发现了一个非常有趣的事情,从 30000 块到 50000 块之间的 Patoshi Blocks,他们的连线逐渐发生了断开的情况,并不是连续的状态了,其中会有一些断点,与此同时非常多的绿色线条加入,说明更多的矿工加入网络挖矿,这个时间段猜测,也是中本聪发现比特币网络逐渐稳定,并逐渐退出挖矿的一个过渡期。 关于中本聪是否用多台电脑挖矿,根据分析,中本聪应该是用一台电脑来挖矿的,但是中间应该更新过一次电脑,因为后面的斜率相比之前发生了变化,只不过在使用基于 Extranonce 版本时,自定了 Nonce 的参数。 所以一些人可能会联想到,中本聪为什么会留下这些痕迹,以至于在比特币发明后的 4 年才被人发现,而到了 5 月 20 日这个事件又被大家所热议。关于这些事情的巧合,我们觉得中本聪应该是故意而为的,在目前的比特币代码中,所有人的 Nonce 分布都是均匀的,只有中本聪一个人是具有特性的,对于是否由矿池或者几个矿工产生这样的高斜率的猜测,因为当时还没有合作挖矿的概念,大家都可以通过单个 Cpu 挖出比特币,也被排除了。 中本聪知道这样的操作会留下痕迹,会被后面的人分析,也可能是为了证明自己当年挖到的块和别人相比与众不同 Satoshi 行为会以独一无二特性永远被攥写在区块链中永不篡改。 除了向世人证明自己的身份之外,也可能是在说,那些我所挖掘出来的币,它们就放在那里,一举一动都受到大家的监测和关注,更加说明比特币网络是真正的去中心化,每个人都可以浏览到到网络上的任何一笔转账或者交易,一切都是有迹可循,没有人可以躲过任何比特币网络参与者的监督。 (责任编辑:admin1) |