观点 | 用 Nonce 分布追踪挖矿设备的变化

[复制链接]
8587 |0
发表于 2019-11-22 01:07:26 | 显示全部楼层 |阅读模式
ASIC引起巨大的争议

自BTC诞生初期开始,社区就一直在讨论是否要与日益强大的挖矿硬件作斗争。
刚开始的时候,用CPU(大多数计算机采用的标准处理单元)来参与BTC挖矿还能赚到钱。在这种情况下,几乎每个人都有机会参与到BTC挖矿中,因为不需要使用定制的计算机硬件。
久而久之,一些矿工为了在挖矿竞赛中获得优势,开始使用越来越强大的硬件。后来,矿工开始使用显卡,即,更加强大的“图形处理单元”。显卡通常用于游戏和3D渲染,不过也可用于很多一般用途。虽然显卡在价格上比CPU贵得多,但是也在普通人的经济能力范围内。
之后又出现了ASIC。ASIC是“application-specificintegratedcircuit(专用集成电路)”的首字母缩写。它是一种专用型挖矿硬件,经过优化以适应特定的挖矿哈希算法。这些挖矿用的ASIC是为数字货币挖矿专门设计的,只能用来挖数字货币。在纯哈希算力方面,它比显卡强大得多。
ASIC改变了挖矿的经济形态。简言之,那些生产新型ASIC矿机的公司在整个挖矿行业占据了很大优势,因为这些公司在算力上占据优势(至少在被其他ASIC生产商超越之前是如此),而且控制着市场上新发布的ASIC矿机的供应。由于生产一款新的ASIC硬件需要在前期投入巨额资本,只有少部分人能够加入这行。大矿工可以享受规模经济带来的额外效益,普通矿工很难与之竞争。
因此,已经有很多项目在尝试与ASIC对抗了。尤其是在2018年年初,比特大陆等矿机生产商宣布正在开发一款专挖XMR的ASIC之时,项目方实行硬分叉来抵御ASIC,尽可能确保挖矿活动的去中心化。自此以后,项目方又进行了几次硬分叉,努力走在ASIC前面,以此阻碍ASIC的进一步开发。
ETH自诞生以来,也在不断与ASIC作斗争(自1.0版本发布以来,ETH的哈希算法Ethash已经被设计成抗ASIC型的了),然而ASIC生产商现在正在努力追赶中。结果,ETH社区内有很多人都在支持ProgPow实现 。ProgPow是对Ethash算法的修改版,可以帮助ETH抵御ASIC。
尽管这些项目在坚持不懈地抵御ASIC,但是很难保证不被ASIC追上。在利益的驱使下,大矿工都在积极开发ASIC,因为在抗ASIC的区块链上,专用型挖矿硬件会带给他们比小矿工更大的优势。这就意味着,ASIC矿工和区块链开发者之间永远在玩猫捉老鼠的游戏。
走近Nonce令人激动的是,检查区块nonce分布可以了解在特定区块链上ASIC挖矿的兴起情况,以及后续的抵御措施所产生的影响。
PoW挖矿就是反复对一个区块的区块头进行哈希计算,直到算出的哈希值小于协议定义的目标值为止。具体来说,就是将区块头作为一个输入值,然后代入某个密码学哈希算法进行计算,例如,BTC采用的是安全哈希算法256(SecureHashAlgorithm256,SHA-256),而且是连续执行两次。
为确保每一次进行哈希计算时都会得到一个不同的哈希值,同时又不需要重新创建一个区块头,区块头为矿工提供了一个特殊的字段:nonce。nonce是一个可由矿工任意修改的数值,以便不断更改区块头来进行哈希计算,直至找到一个低于目标值的哈希值为止。nonce是一个数字,其范围可以从0到由各协议设置的上限。
从理论上来说,根据任何nonce算出有效哈希值的概率都是一样大的,因此可以认为nonce是经随机选择,并均匀分布的。然而,对许多区块链的数据分析表明,真正符合这一预期的区块链非常少。对此的解释有很多种,但是,因为nonce分布上的变化往往可以跟新矿机联系在一起,这表明不同的挖矿硬件往往会有不同的nonce挑选策略。
关于BTC区块链的nonce分布模式,似乎最早是推特用户@100TrillionUSD在2019年1月初发现不对的。进一步的分析表明,门罗、ETH和LTC等区块链的nonce分布模式也存在一些奇怪之处。
BTC

BTC的nonce分布模式是最著名的。在早期发展阶段,BTC采用了一种常见的模式:很多nonce都接近于0。这种分布对应的策略很简单,就是来通过不断增加nonce来计算哈希值。因为在早期的时候,BTC区块链上的算力很低,挖矿都是用的CPU,通常在遍历所有可能的nonce值之前就能算出一个有效的哈希值。SergioLerner据此事实对确定中本聪的BTC归属作了最为严肃的尝试 。
在引入了显卡之后,nonce字段看似是随机的。但是在大约400000的区块高度上,莫名出现了一种新的模式,形成了几条很细的nonce值分布带,这些都是矿工选择频率较低的nonce值。
BitMEPundi研究撰文详细描述了该模式,但是没有找到清晰的解释。
来看一下(整个历史交易过程中)BTC区块nonce的直方图,明显可以看出在新的模式下,nonce值出现了几个低谷。

-红线代表了均匀分布的nonce值情况-想要更细粒度的分析可以仔细看看bit的分布情况。BTC中的nonce字段是由4个字节或者说32个bit组成的。对每个长度为32比特的nonce的平均值进行分析之后,会发现一些很有趣的现象:

-颜色越深的地方代表nonce中的数位被设置成1而非0的频率越高,Pundi轴表示区块高度-在BTC刚诞生的时候,较高的数位通常被设置成0,因为矿工的nonce选择策略就是简单地增加nonce值。较低的数位(上图底部的最后8个数位)似乎一直遵循某种模式,但是直到最近才发现较低数位的模式发生了变化。
门罗适合进行nonce分析的最有趣的资产之一就是门罗。它也是被分析得最多的一种资产,有很多文章和工具都对其进行了分析。
门罗每6个月就会进行一次硬分叉升级,在过去的几次升级中还对PoW算法进行了一些调整,从而抵御专用型挖矿硬件。第一次硬分叉引发了争议,因为它分叉出了好几个项目/资产。
因此,我们可以研究这些变化对nonce分布的影响。

乍一看,我们可以注意到几个有趣的现象。不过当我们在上图的基础上叠加网络难度值和硬分叉时间表的时候,就会发现更有趣的东西。

-红线代表了硬分叉的时间,而黑线代表了网络难度值-我们可以看到,所有三次PoW升级都造成了难度值降低,其中还有两次改变了原先的nonce分布模式。有趣的是,通常都是在网络难度值骤增的情况下,才引入了新的nonce模式。
在网络难度值发生了改变,并且通过硬分叉对PoW机制进行调整之后,我们可以从nonce分布模式的变化中观察到,第一次分叉有效地抵御了第一代矿机。此外,我们还可以看到,一些矿工在第二次分叉之后迅速带着第二代矿机卷土重来,却在第三次分叉中折戟沉沙。
ETH乍一看,ETH的nonce分布几乎没有显示出任何奇怪之处。

再看得仔细一点,我们可以看到在区块高度7,000,000之后,nonce分布图的底部有一些深色的水平线。如果你放大看的话,你就会看到从区块高度2,000,000开始到4,000,000之间,nonce分布图的底部有一些斜线。这些线很有可能是由简单的nonce选择策略导致的:在反复进行哈希运算的过程中,nonce是从0开始向上递增的。
根据区块nonce分布直方图所示,较低的nonce值在一段时间内占据了优势:

但是,仔细观察一下nonce中每个数位的平均值随时间变化的情况,会注意到一个很有趣的情况(请注意,ETH的nonce是由64个数位组成的,不像BTC是由32个数位组成的。)

-颜色越深的地方代表nonce中的数位被设置成1而非0的频率越高,Pundi轴代表了区块高度-大概从第1380000个区块开始,nonce的中间数位被设置成0的频率远高于其他数位。久而久之,其他数位的随机性也下降了。有趣的是,粗略看一下整体的nonce分布情况或直方图,并不能发现这种模式,因为调整中间数位对nonce直方图的影响并不明显。
有趣的是,以太经典(ETH经典)的nonce数位分布也显示出了相同的模式。

-颜色越深的地方代表nonce中的数位被设置成1而非0的频率越高,NPXS轴代表了区块高度-从位于上图顶部的白色垂直条画带可以看出,一些矿工惯于从0开始增加nonce。
比特大陆于2018年4月宣布公开发布了第一款EthashASIC矿机,并表示将于2018年7月中旬交付第一批产品。将这两个日期在上图中标注出来后,我们会发现很有意思的东西:

-红色虚线:E3矿机官宣时间;红色实线:首批E3矿机交付时间-乍看之下,在蚂蚁矿机E3官宣之时,ETH和ETH经典区块nonce中第41位的平均值都下降了。只关注这个数位的话,nonce分布模式就会更加明显:

-红色虚线:E3矿机官宣时间;红色实线:首批E3矿机交付时间-在2018年3月中旬之前,第41位的平均值在0.5上下(下图中的灰色水平虚线表示的是nonce呈均匀分布情况下的预期值)。但是,在ETH和ETH经典这两条链上,第41位被设置成0的频率越来越高,而且都是以相同的速度。在矿机按计划首次交付之时(即2018年7月16日,以红色实线表示),平均值急剧下降,但这仅发生在ETH区块链上。在ETH和ETH经典区块链上,第41位的平均值在2018年6月中旬(即,首批E3矿机交付前的一个月)就已经下降了,之后只在ETH区块链上进一步下降。
-红色虚线:E3矿机官宣时间;红色实线:首批E3矿机交付时间-来看一下当时排名前5的ETH矿池,第41位的平均值均开始下降,但是自7月16日首批E3矿机交付之日起,中国的两家矿池SparkPool和F2Pool挖出的区块内,nonce第41位的平均值进一步下降了。
斗争不止

随着ProgPow算法的逼近,再加上门罗团队还在坚持不懈地通过硬分叉来抵御ASIC,这场与专用硬件之间的战争可能还会持续下去。随着战争的持续,我们会密切关注下去,并且继续从nonce中寻找蛛丝马迹。
(完)
(文内提供了许多超链接,请点击阅读原文到EthFans网站上获取)
原文链接:
https://Davincimetrics.substack.com/p/DAC-metrics-state-of-the-network-04a
作者: MaximineMetricsTomBrand,UriKolodny& AvihuLevy
翻译&校对:闵敏 &阿剑
你可能还喜欢:
观点|关于ProgPoW:来自一名芯片工程师的观点
科普|挖矿行业全景图
干货|BTC,概率与随机性

观点 用 Nonce 分布追踪挖矿设备的变化.jpg

观点  用 Nonce 分布追踪挖矿设备的变化.jpg
回复

使用道具 举报

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

本版积分规则

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