众所周知,BTC、BCH、BSV将在630,000区块高度再次奖励减半。但很多人也许没留意到的是,BTC减半极大可能发生在2020年的4月底,而BCH与BSV的减半几乎会发生在2020年的4月初。这个时间差,让原本就会牵涉众多的减半事件变得更加微妙起来。
一、为何会有减半时间差
BTC网络每挖出 210,000 个区块,区块奖励就会减少一半。如果BTC、BCH、BSV都保持平均10分钟/块的挖矿速度,三者应该同时减半。不过现实并不是如此,主要原因在于BTC的难度调整算法并不能保证准确的10分钟/块,以及BCH从BTC分叉出来的时候,采用了EDA紧急难度调整算法。
BCH在2017年8月1日分叉时继承了BTC网络的挖矿难度,但其全网算力不到 BTC网络算力的10%,在这种算力急剧减少而挖矿难度不变的情况下,BCH挖出一个区块的时间可能要超过100分钟。
来源:bitinfocharts.com
这带来两个问题,第一个问题是推迟了难度调整时间。BTC每2016个区块调整一次挖矿难度,BCH当时距离下一次难度调整还有1250个区块,挖出这些区块保守来讲也需要三个月的时间,因此网络会长时间处于高难度状态,很难吸引矿工加入。
第二个问题是即使矿工能够不考虑利益挖矿,BCH上的交易也无法开展。100分钟产生一个区块意味着每100分钟才能打包一笔交易,如果3个区块后确定一笔交易,就需要等待5个小时;而我们知道数额较大的交易都是建议6个区块后确定的。
在这种情况下,如果BCH采用的是原网络的难度调整算法,可能导致自己的新网络难以存活,实际上,在EDA发明出来之前,传统理论一直认为BCH这样的小算力分叉是无法存活的。
EDA算法简单来讲就是:当区块高度为 2016 的整数倍时,采用BTC难度调整算法;当区块高度不是2016 的整数倍时,如果当前区块父块的MTP11时间(包括本区块在内的前11个区块按照blocktime排序后的中间时间)和第(父块-6)区块的MTP11时间相差12个小时,则将当前区块难度降低20%。
该算法能够在短时间内迅速下调挖矿难度,从而解决网络难以出块的危机,但它又给BCH带来新的危险。
在EDA算法中,挖矿难度可以快速地持续下调,却只能在每2016个区块后有机会上调。因此矿工可以先撤出算力,让BCH挖矿难度不断降低,然后在低挖矿难度时进入网络,快速、轻松地挖出区块,直到挖完2016个区块,引发难度向上调整时再撤走算力,接着等待难度再一次下调。
这不仅让BCH上的算力呈震荡态势,也让BCH的出块速度过高。如下图所示,蓝色曲线代表BCH每天挖出的区块,红色曲线代表BTC每天挖出的区块,可以看到在采用EDA算法期间,BCH大部分时间的出块速度高于144块/天。图中截选的一个曲线高点显示在2017年10月28日那一天,BCH挖出了1254个区块。
来源:coinmetrics.io
这让BCH和后来分叉出来的BSV挖出来的区块远多于BTC。如下图所示,BCH曾最多领先BTC近一万个区块,如果从代币产出的角度来看,BCH比BTC提前产出约12.3万枚代币。
来源:coinmetrics.io
二、BTC、BCH、BSV减半时间分析
为了改变上述状况,BCH从EDA算法升级为DAA算法。该算法简单而言就是基于当前状态下的前 144 个区块的算力来逐块设置挖矿难度。这是一种窗口移动式的难度调整算法,每一个区块都调整难度,可以做到对网络上算力变化的及时响应。在实行该算法之后,BCH和BSV基本稳定在144块/天的出块速度。
如果BTC网络的出块速度也是稳定的,那么BTC、BCH、BSV之间的区块高度差将被定格于一万块,不过BTC网络算力的持续增长缩小了这一差距。
BTC网络是这样调整挖矿难度的:如果网络算力增加,最近2016块的平均出块时间低于10分钟,就在下个周期提高挖矿难度;如果网络算力减少,最近2016块的平均出块时间高于10分钟,就在下个周期降低挖矿难度。
但这里存在一个问题,该难度调整算法是根据过去一段时间的算力来决定未来一段时间的挖矿难度,如果未来的算力相比过去的算力发生了较大变化,出块速度就不能被保证。如果网络算力是持续增加的,就会导致出块速度总是高于10分钟/块。这就是BTC网络的现状。
在下图中,红色代表BTC,蓝色代表BCH,曲线是每天产出的区块,阴影是挖矿难度。可以发现BTC网络的算力近期一直在持续增长,BTC的出块速度通常都高于144块/天。
来源:coinmetrics.io
回到本文主题,由于BCH和BSV出块速度稳定,BTC出块速度偏高,导致BTC和BCH、BSV间的区块高度的差距被不断缩小。截止到本文写作时间,BTC区块高度是589,275,BCH是594,964,BSV是594,749(来源:coin.dance)。
BTC将在挖出40,725个区块后到达630,000的减半高度;BCH则将在挖出35,036个区块后减半;BSV将在挖出35,251个区块后减半。BTC与BCH目前的区块高度差是5689,与BSV的区块高度差是5474。
这个高度差会如何影响BTC、BCH、BSV的相对减半时间?以下几种特殊情况也许可以框定出一个大致范围:
1. 如果BTC算力保持近一段时间的增长率,约每9分30秒挖出一个区块,那么BTC每天约产出151.6个区块,BTC的减半会发生在明年的4月底,BCH与BSV的减半会发生在明年的4月初,三者会有 25天的减半时间差。这也是最有可能发生的一种情况。
2. 如果BTC算力不增不减,每天产出144个区块,BCH和BSV会比BTC提早 39天减半。这也许可以看作三者减半时间差的最大值。
3. 如果BTC算力持续增长,每天产出167个区块,此时增速为16%,在这种情况下它将追平区块高度差距,BTC、BCH、BSV会同时减半。不过这种情况不太可能发生。
总体而言就是,BTC算力持续增长的速度越快,三者的减半时间差就越小;如果BTC算力不增反减,三者的减半时间差就会扩大;BCH和BSV上算力的改变不会影响减半时间差。考虑到现实,BTC与BCH、BSV的减半时间差可能会在20多天至30多天的这个范围内。
三、减半时间差会带来什么
BTC与BCH、BSV 使用的是相同的ASIC矿机,从下图我们不难发现,矿工追求更高收益的动机使得BTC、BCH、BSV有着相近的挖矿日收益,算力在三种密码货币网络间是流动的。
如果BCH或BSV在BTC之前减半,在不考虑币价的情况下,这意味着挖矿收入也会减半,矿工们会把算力从BCH或BSV上切换到BTC网络中,因为那里的收入还保持着原先的水平。在BTC调整挖矿难度之前,减半网络一半的算力会有动力切换到BTC;在调整难度之后,因为前一个周期算力的涌入会提升难度,所以应该会有小部分算力切换回原网络,直到三者的挖矿收益形成新的平衡。
先减半的网络会流失大量的算力,而币价的波动则可以改变算力流动的方向,如果在减半的同时BCH或BSV币价上涨,就会减少算力的流出;如果因减半预期或其他原因BTC币价上涨,就会吸引更多算力流向BTC。
与算力水平紧密相关的是网络安全问题,对于BCH和BSV而言,提前减半会让它们进入一个相对脆弱的时期;而安全问题还会引发一系列的连锁反应,比如当攻击成本降低后,交易所为了安全起见就会增加到账确认数,而更高的确认数会降低网络的可用性。
BCH和BSV会使用方法留住算力吗?BTC的价格会不会因减半预期快速提升,吸引走更多算力?BTC、BCH、BSV间的全新博弈将如何展开?这一切的答案都要等到8个月后揭晓,那或许会是一个多方逐鹿、暗潮涌动的春天。