8BTCCI: 12266.45 -1.38% 8BTCVI: 6655.89 -0.88% 24H成交额: ¥4642.01亿 -0.79% 总市值: ¥17030.10亿 -0.45%
BCHSV区块高度能追上BCHABC的原因分析:原来是它在作祟

BCHSV区块高度能追上BCHABC的原因分析:原来是它在作祟

cw 发布在 技术指南 47394

BCH硬分叉开始后,BCHABC与BCHSV的算力战也就正式开始了,双方都通过补贴(或亏损)的方式调动矿机算力。然而结果并没有如预期出现谁战胜谁的情况,而是区块链高度增长拉不开绝对距离,这让吃瓜群众大为扫兴。这也是我写这篇文章的原因。

其实,BCHABC的算力优势一直保持优先:

bch01

从分叉后,累计工作量计算,BCHABC领先了38.5%:

bch02

然而,在算力领先的情况下,BCHABC的区块高度并没有出现领先,截止北京时间11月20日19时左右,BCHABC仅仅领先2个区块,刚才有一段时间还是BCHSV反超1个区块。

bch03

貌似算力投票规则失败了,这是什么原因呢?

还是那句话:出来混总是要还的!这个原因还是要从BCH在2017年的分叉说起,所谓聪明反被聪明误。

大家都知道,BTC的挖矿难度2016个区块(大概14天左右)调整一次,以维持约10分钟左右的出块速度。其中,还有一个重要功效是:硬分叉算力投票时,小算力的分叉出块速度很慢,要等到2016个区块后才能调整难度再正常出块,而这个过程可能需要大几个月甚至几年,矿工往往无法坚持,由于利益驱动算力会越来越小,这样小算力分叉就会死掉,就达到了算力投票的效果。

这个作用就发生在了BCH分叉的时候,BCH如果不修改难度调整算法,当时分叉可能失败。所以当时就出现了一种叫做EDA(Emergency Difficulty Adjustment,紧密难度调整)的算法,即:无论何时矿工需要12个小时只能找到6个区块或更少,采矿难度会减少20%。这样难度就能迅速调整,BCH也就活过来了。

很快,聪明的矿工就发现了EDA的漏洞。矿工在BCH算力低时,突然调动BTC的算力过来挖BCH,BCH需要72小时才能完成难度调整(这个过程矿工将获得更多收益),难度调整到位后再把算力撤走,此后72小时BCH难度又会下降(这个过程挖矿收益会打折)。这样如此往复,BCH就被矿工调戏了,更严重的时,导致BCH整体出块速度加快,最快时达到了恐怖的1-2分钟。从2017年8月1日到17年11月12日,短短100天时间,BCH领先了将近10000个块!出块速度快60%。

在2017年11月13日,BCH不得不再次硬分叉,将难度调整算法修改为DAA(difficulty adjustment algorithm),即:根据已完成的工作量和前144个块的耗用时间,每个块都会调整难度,同时避免了突然的难度下降及峰值,目标是维持BCH的出块间隔在10分钟左右。这样貌似问题解决了,但是BCH仍然暴露了DAA算法的致命缺陷:任何分叉链很容易存活,最长链原则荡然无存

按照DAA的算法,每块都在调整挖矿难度,所以小算力分叉链能很快适应算力变化,而且能调整为出块间隔仍然接近10分钟。这就是前文所说的BCHSV算力明显落后BCHABC,但是区块高度仍然能追上的根本原因

通过计算可以证明,算力上下大幅波动才是对出块速度是不利的,这会浪费部分算力。而算力平稳波动(特别是平稳增加)对出块速度有利。但这种优势都不是绝对的,BCH的分叉链只要能挺着出块60个以上,都能存活,区块高度不会落后太多,和算力绝对值无关

所以说,BCH之前的分叉埋下了一个大地雷,破坏了区块链最长链原则的有效性。一个号称坚持中本聪理念的BCH,本质上却是破坏了最核心的中本聪关于区块链的思想,确实有点讽刺。闹剧过后,恰恰是再一次证明了BTC的伟大。

 

本文由作者“比特刺猬”上传发布,仅代表作者本人观点。未经许可,请勿转载 。

文章标签: 比特币现金分叉
评论(5)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • ppfish 2018-11-20
    ABC早点滚蛋归零
  • 江卓尔_莱比特矿池 2018-11-20
    这篇存在技术错误:1、比特币本来最“长”链的定义就不是数块数,而是统计累计挖矿难度,否则挖100万个1难度的块,就 “最长” 了? 自己看看第一版比特币的代码。2、即使不改DDA,比特币本来的难度调整算法,也会保证长期接近10分钟一块,只是调整速度比DDA迟钝。[笑而不语]
    • 比特刺猬: 2018-12-01
      感谢江总关注。首先这是随笔,不是论文,表述不准确之处在所难免,请各位包涵。比特币的代码我看过,我仍然坚持这样认为,BCH破坏了最长链原则。1、最长链原则只适用于“你死我活”的争夺主链的范畴(经济学上只有一条能存活),往往是指没有共识分歧情况下的记账分歧。但是我认为核心挖矿共识未变且没有重放保护的分叉、都宣称自己是主链的情况仍然属于该范畴(事实上很多交易所也如此宣称了“最长链原则”,这点可能是你我的分歧点)。2、最长链原则只是一个统计学上概率论的概念,几天的最长链不一定几个月后还是最长链。3、BTC/BCH共识里不存在让你在短时间内“挖100万个1难度的块”,除非你改核心算法,这是没有社区共识和币价支持的分叉链。
    • 比特刺猬: 2018-12-01
      4、BTC是2016个区块才调整一次难度,这样能有效阻止大部分分叉,不改算法的情况下,分叉后等到难度恢复到正常水平,需要极大成本和极长时间。而BCH是每个区块调整算力,分叉成功率极大提高。这是BCH自身分叉时就决定的事情。5、BTC共识里的“最长链”就是区块,不是算力累积,因为中性矿工是趋利的,肯定由区块高度决定跟随哪条链。在BTC算法里,长期来看“算力累积”和“区块高度”对比最后结果是一致的。在BCH的DAA算法里,由于对算力峰值波动做了干扰,导致“算力累积”和“区块高度”的竞争结果可能不一致。这也是在挖矿难度调整算法一致的情况下,累计算力明显落后的SV仍然能在区块高度上超过ABC的原因。也是基于这点判断,我说BCH的算法破坏了自身的最长链原则(可能更准确的表示方式是“破坏了自身的难度调整的有效性”)。
  • ww123 2018-11-22
    …哪里都有你的身影