2020年3月12日晚上区块高度为621343的区块,历时1小时才出块。有不少网友认为这是币价大跌,矿工恐慌关机,导致算力瞬间下跌造成的。真的是这样吗? 01 还原事实 我们来还原一下当时的情况。 当时出块时间情况: (图一)来源:https://btc.com 从上图可知,当时出块时间长的有1小时(621343#区块),时间短的有1分钟(621349#区块)。 当时全网算力的情况: (图二)来源:http://tinyurl.com/td3fjrk 当时比特币全网算力并没有因为币价快速下跌而剧烈波动,所以,621343#区块出块时间长达1小时的原因,并不是矿工关机导致算力骤降造成的。 而且紧接着的几个区块出块时间都只有几分钟,按照上面的说法,这个原因是算力暴涨了,这显然与实际不符,出块时间的波动是正常情况! 02 比特币出块时间的波动 比特币挖矿是独立随机事件,通过哈希运算找到符合要求的结果不仅取决于全网算力的大小,还与运气(概率)有关。好运气和坏运气都对应着小概率事件。比如(图一)中621349#区块,一分钟就找到了,这就是运气比较好的小概率事件,而621343#区块,历时一个小时才被挖出,这就是运气差的小概率事件。 有个网页能查询出块时间最长的记录,截取两页如下: (图三)网址:http://blockchainsql.io/wkeno3 上图可见,出块时间超过一小时有不少,还有些出块时间超过了1天。在算力没有大幅波动的情况下,出块时间超过1小时,确实算小概率事件,但小概率并不代表不合理。这种一小时不出来情况以后还会发生,可能是真的是算力下降了,也可能只是运气不好的小概率事件的发生。以后发生类似事情,不要盲目恐慌,可以先查看全网即时算力和对应时间段内的平均出块时间,尽早获悉事情的真相。 03 比特币的难度调整机制 我们不妨再了解一下比特币的难度调整机制。 比特币平均出块时间确实和比特币算力有关,比特币设计了挖矿难度调整机制。比特币系统规定:
比特币网络会根据上一个难度调整周期平均出块时间来调整下一个区块的,但是调整的范围是有限的,举例说明:
可见,比特币挖矿难度调整是滞后于实际算力变化的。 比特币每次难度的可调范围都是有上下限的,分别为前一个周期难度的4倍和0.25倍。同样举例说明:
相对来说,BCH难度调整算法在应对算力大幅下降等问题上的适应性更强大。 04 BCH的难度调整算法 BCH的难度调整算法产生是有历史背景的。因为对比特币发展路线持不同看法,大区块支持者们分叉出区块上限更大的BCH,BCH继承了原链上的挖矿难度,而当时支持BCH的算力规模较小,在既有难度下,平均出块时间会远超过10分钟,为了应对这种不利局面,BCH难度调整算法在BTC的难度调整算法上附加了一条规则,修改后的难度算法叫EDA(紧急难度调整算法),附加的规则如下:
这个算法让BCH在不利的局面下活了下来,但是这个算法也存在比较明显的缺陷,给机枪矿池套利提供了便利,BCH难度下降,挖BCH的收益更高,机枪池算力涌入套利,出块时间将缩短,套利空间被逐渐抹平,且在区块高度为2016整数倍时,难度将上升,套利的算力将切走,导致出块时间延长,难度下降,机枪池算力再次切回来套利,如此往复,陷入以下循环:
难度上调最多需要2016个区块,而难度下调20%可能只需要6个区块,这种难度调整的不对称性,导致了BCH的出块速度大幅超前于BTC: (图四)BCH的出块速度显著高于BTC 3月多月的时间,BCH的出块,超前了BTC近1万个,于是BCH难度调整算法在EDA的基础进行了优化,经过改良难度调整算法称为DAA算法,在#504031区块生效,简单来说,它有如下特点:
DAA算法的上述特征,保证了即使算力瞬间下降50%,对BCH出块速度也只有短时间的影响,DAA算法可以根据实际算力情况,快速调整难度,让出块时间恢复到正常水平。 对比两种算法下的平均出块时间,就能看出两者算法化解算力波动的优劣了: (图五)数据来源:http://tinyurl.com/s3cd5q7 BCH的DDA难度调整算法,是在不利环境中优化迭代出来的难度调整算法,在算力规模明显劣势的环境下,经受住了算力大幅波动冲击与考验,相比比特币现有的算法,在应对算力大幅波动的情况下,DDA难度调整算法具有更强的适应性和生命力。 本文来源:知矿大学 —- 编译者/作者:知矿大学 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
「知矿问答」3月12日比特币一个小时没有出块,是因为矿工关机导致的吗?
2020-03-16 知矿大学 来源:火星财经
LOADING...