BitcoinCash Classic(BCC) Make BCH decentralized again!

BCH EDA机制和运行情况报告


1.EDA机制概述

EDA机制是BCH(比特币现金)在启动分叉时能够成功持续出块的关键技术,也是BCH原链能够持续出块的关键原因。

为什么采用EDA机制,是因为:

  • BCH复制了分叉前的比特币区块数据,区块中包含了相同难度系数
  • 难度系数很高,除非30%以上的比特币算力挖BCH,否则出块困难
  • 为了降低巨大的算力成本,通过EDA机制,可以让难度迅速下降,在低算力下实现出块

这能够让BCH看起来更像BTC的分叉币,虽然本质上,它跟DogeCoin、LiteCoin、NameCoin等没有使用“Bitcoin XXX”标识的分叉币是一样的,关于这方面的详细研究将会在【比特币的分叉币历史】展开。通过修改代码,使难度自动下降,迅速制造出比特币的分叉币的思路,很快地被BTG(比特币黄金)、SBTC(超级比特币)、LBTC(闪电比特币)、BCD(比特币钻石)等“比特币分叉币”所学习到并加以更新,带动了一轮比特币分叉币的热潮。

2.EDA的运行机理

  • 连续六个块出块时间差超过12个小时,难度系数下降20%(即*0.8)

触发难度下降的时间差计算,并非由区块的时间戳决定,而是由区块的时间戳中位时间MTP(median time)决定,计算过程如下:

  • MTP为本区块之前的(含本区块)连续11个区块的中间区块的时间(即第6个区块)
  • MTP1 = 当前区块的MTP时间
  • MTP2 =(当前区块高度-6)的MTP时间
  • (MTP1-MTP2) > 12个小时,难度系数下降20%,在生成下一个区块时触发下降。

因为是基于MTP计算时间间隔,难度的下调会有一定的滞后性,比如说,有1个块在上一个块的12小时之后产生,包含这个块在内的连续6个块,都不会触发难度下降,而在第7~12个块,每一个块都会下降20%,在12个块难度系数下降为原来的26%(0.8^6=0.26=26%)。

这个机制还有以下特点:

  • EDA下降难度系数是单向的,也就是在一个(2016块)周期内只降不升。
  • 在一个(2016块)周期内可以无限次触发难度下降。
  • 2016个块的难度调整以最后1个块的难度为基数,上调最高系数为400%(比特币固有机制)

因为这些特点,矿工如果采取统一行动可以,先降低算力,使间隔超过12个小时,之后自动触发让区块难度不断下降,然后加大算力,在几天、几小时内挖完2016个块。这个实验在BCH原链上不断被验证,甚至出现了几分钟挖完2016个块的情况(这方面的情况会在BCH原链出块历史报告中进一步研究)。

3.EDA运行中出现的情况

3.1 出块速度加快

矿工撤出算力,然后等EDA机制触发难度系数下降后,回来重新挖矿,进行算力暴击,会在短时间内获得更多出块。如下图所示,BCH遭遇到算力暴击,在半小时出块超过20个块:

图片描述

BCH的区块高度很快

3.2 长时间不出块

算力暴击的反面就是算力枯竭,矿工撤出算力让出块时间加长,最大可以加长到12个小时(超过12个小时对EDA没有意义)。

在2017年年底,已经有人深刻意识到EDA导致BCH的出块不稳定,“由于算力震荡,使用EDA的BCH有5次以上日平均出块时间高于100分钟,即1小时40分钟以上,此外还有5次以上日平均出块时间高于40分钟,与预期的10分钟相比,超出3-9倍。与此同时,对BTC出块时间造成的影响是什么呢?同期,BTC仅有6次超过14分钟,其中11月11日、12日平均出块时间最慢,均为18分钟,与10分钟的预期相比,超出不到1倍。”

4.博弈分析

4.1 自私驱动矿工

矿工是由自私的动机驱动的,比特币设置了一个囚徒困境,即矿工共享挖矿产出,矿工同步增加算力,产出不变,同步减少算力,产出也不变,但矿工无法达成共识,同步减少算力,是为矿工的囚徒困境。

在比特币的矿池里面,为什么矿工很难达成共识,同步降低算力(产出不变),事实上,比特币的算力一直在稳步增长,类似于军备竞赛。因为比特币,对于减少算力投入的矿工而言,没有任何奖励,撤出挖矿的矿工把出块机会让给了其他矿工,而难度系数的调整周期(约14天)到达之后,他再次投入挖矿,所能够分享到的(难度下降)收益也是与其他矿工分享。矿工的总收益会因为停止挖矿而受损。比特币的矿工离散化,而且互相不信任,互相竞争,因此,在比特币的矿池里面,矿工极难形成同步下降算力的共识。

4.2 矿工为什么能够达成共识触发EDA

矿工能够在BCH矿池里面达成共识,减少算力,并触发EDA的原因:

  • EDA机制周期短,12个小时即可实现触发
  • EDA只降不升,扩大了潜在收益
  • 大矿工主导BCH挖矿,矿工不够离散化
  • 在不挖BCH期间,算力可以切换去挖相同算法的BTC,减少停机损失

不同的机制造成矿工不同的行为。

5.EDA的正面意义

在算力断崖式下降的情况下,能够相对较快地恢复正常出块。


Similar Posts

Comments