稳定比特现金难度调整
稳定比特现金难度调整
从比特币成功分裂成两条链(比特币和比特现金)已经快一个月了。硬分叉诞生了比特现金,也为这个新生的货币创建了一些规则,最引人注目的就是移除了阻碍比特币发展的1MB区块大小限制。但是,还部署了其他一些很重要的改变,以便让比特现金可以彻底分裂并与比特币共存。
其中一项额外的更改叫做紧急难度调整(EDA)。部署EDA是一种相对安全且最小的更改,可以在比特现金的算力还很小的时候,通过下调难度值使比特现金可以存活下去。现在,EDA已经部署(到网络),这个决定是合理的。因为分裂后的情况是无法预知的,所以部署一个改变最小的方案让比特现金可以在算力很小的时候存活下去是明智的,但是,如果比特现金迅速得到了大量的算力支持,难度也有可能保持不变。
现在已经进行分裂,我们得到了关于比特现金实际情况的信息。我们现在知道,比特现金目前的算力很小,而我们获得的经验是EDA机制虽然使比特现金得以存活,但是并不是最佳解决方案,因为它导致比特币和比特现金之间的算力摇摆不定。
难度值难题
算力不稳定的问题在竞争币社区已争论多年。多个矿池(在矿池中矿工可以快速用工作证明算法进行挖矿)导致算力摇摆不定,缺乏稳定性。这种算力的快速转换经常会导致交易确认时间无法预测,以及长期出块速度慢,还有更严重的问题,各种币的市值差距太大会导致市值较小的币容易受到玩弄难度算法和操纵时间戳的矿工的攻击。
为了处理这些问题,竞争币想出了各种具有创新性的难度算法,例如Kimoto Gravity Well[1]、MIDAS[2]、Dark Gravity Wave(达士币)[3]和digishield(DigiByte、) [4, 5, 6]。这些难度算法在不同的目标之间做出各种权衡取舍。例如,应对算力的突变、防止时间戳被操纵,区块生产(以及通胀)计划的准确目标定位。我知道的这些折衷方案中,分析得最全面的是致力于Cryptonote难度调整算法的zawy12 。
无论使用的是什么难度目标算法,当两种币共用同一个工作量证明的时候,理论上来说都会有些不稳定。这是因为两种币之间的利润差距(例如,差距是1%),这会驱使100%的矿工会转向挖更有利可图的币。但是实际上,我们可以观察到,当难度和市场价格足够接近的时候,算力将会稳定下来。
例如,以太坊分裂成以太坊和以太坊经典的时候,我们观察到,更快和更顺畅的难度目标算法可以带来稳定的状态,每种币都稳定在算力与市值成正比。这表明,同样顺畅和反应快的难度算法,可以使比特现金可以稳定相对于比特币的算力。
比特现金前进的道路
比特现金社区已经深入讨论了如何解决算力摇摆不定的问题。最近,bitcoin-ml 邮件列表 [8].中的Bitcoin ABC开发者 AmaurySéchet (deadalnix)提出了一个全面的分析和建议。他的方案建立在zawy12 [7]的分析之上,包括在各种情景下模拟和验证这个方案的表现。这是一个稳健的方案,可以长期用于比特现金。
如果采用了新的难度目标算法,比特现金和比特币将可以在和睦共处的同时共享工作证明。这将使每种币都可以追求技术和经济上的改进,根据他们觉得适合他们的社区进行完善,彼此独立,互不阻碍。
改进难度算法需要进行硬分叉,因此需要一些时间(可能是数月)以谨慎负责的方式进行部署。紧急难度调整机制将继续使比特币生存下去。
参考文献:
[1]https://cryptofrenzy.wordpress.com/2014/02/09/multipools-vs-gravity-well/
[3] https://www.dash.org/dark-gravity-wave/
[4]https://www.reddit.com/r/Digibyte/comments/213t7b/what_is_digishield_how_it_works_to_retarget/
[5]https://forum.z.cash/t/final-zcash-mining-specifications/355
[6] https://github.com/zcash/zcash/issues/147
[8] https://lists.linuxfoundation.org/pipermail/bitcoin-ml/2017-August/000136.html
原文作者:Mengerian
原文链接:https://medium.com/@Mengerian/bringing-stability-to-bitcoin-cash-difficulty-adjustments-eae8def0efa4