假如 BCH 不再是最长链,他会被自然销毁吗?

2018-03-28 13:05:49 +08:00
 tttty

我查阅了很多关于“硬分叉”的说明:比较统一的解释是硬分叉是向后兼容的分叉,新协议不再兼容旧矿机,导致新协议下的区块无法获得旧矿机的共识,然后会导致新旧矿机无法达成共识进而分道扬镳。

对于这样的技术解释,尽管新协议不兼容旧矿机(比如新协议区块大小提升至 8MB),但是由于向后兼容,所以新矿机是可以接纳旧区块的,这是否说明 BCH 矿机是可以对 BTC 协议的区块达成共识的?那这样对于新链 BCH,想保证其能够存活的条件就是新链 BCH 长度始终大于旧链 BTC,否则新矿机会转向旧链挖矿。

这是我对硬分叉向后兼容性的理解,不知道我的理解是否正确,因为我查阅很多资料没见过有人提到“ BCH 不再是最长链,他会被自然销毁”这样的情况,所以我开始质疑自己是否理解错误。BCH 是否做了一些其他措施导致其不是严格定义下的“向后兼容”?还是说 BCH 这个风险客观存在,但是通过其新的挖矿难度调整算法规避了?

感谢各位!

1338 次点击
所在节点   2018
4 条回复
Laforet
2018-03-28 16:46:54 +08:00
BCH 区块头里加入了 SIGHASH_FORKID 这个值,用来实现双向的重放保护。

现在 BTC 和 BCH 除了共享部分历史区块数据之外是互不兼容的,也不存在共识。任何一条链只要还有 1 个节点在挖就不会消亡。
tttty
2018-03-28 18:36:31 +08:00
@Laforet 那这样的互不兼容是否不符合硬分叉向后兼容的概念?毕竟新协议并不认同旧协议产生下的区块
Laforet
2018-03-31 08:02:45 +08:00
@tttty

分叉前的区块对两个分支都是有效的,分叉后共识规则变了,自然无法继续兼容。

你之前说的挖矿问题,矿池是必须手工指定一条链的,不可能自发的两头跑。
acess
2018-06-21 16:02:32 +08:00
BCH 不是因为“长”才存在的。
首先,节点接受一条链的时候,要用自己的规则对区块进行验证,不符合规则的区块节点不会接受,并不是某条链长就一定会被接受。
其次,比特币白皮书里的最长链规则其实是一个错误。算力和难度都是一直在涨的。如果真的只认最长链,那攻击者直接用创世时的最低难度挖,分分钟就爆出比主链更长的假链了。
很早的时候就有人提出这个问题,中本聪就修正了这个漏洞,改成跟随积累工作量最多的链,而不是最长链。
关于软分叉和硬分叉,推荐你看看这篇文章:
http://www.8btc.com/bitcoin-softfork-and-hardfork

BCH 刚分叉出来的时候,算力支持很少,就改了难度调整算法来“保命”,也就是传说中的 EDA ——大体上就是长时间不出块就让难度暴降,降到一定程度,挖 BCH 就比 BTC 更有利可图,这样就可以吸引矿工过来挖。然后,这个机制就被矿工玩坏了(而且还被怀疑是有意为之,是个 feature 而不是 bug ),有时几个小时才出一个块,有时 1 分钟出一个块、几天时间就刷掉 2015 个块(本来应该是两周才能挖完的),也就是“算力暴击”。最疯狂的时候,七八成算力都从 BTC 叛逃去挖 BCH 了,但是刷完 2015 个块之后,BCH 难度暴增,矿工就又跑回来了。
BCH 就是在 EDA 的加持(以及大矿工的有意操纵)下,才搞出比 BTC 更长的链的。实际上积累工作量仍然是 BTC 更多,而且,即使 BCH 链积累的工作量超过 BTC,BTC 也不会被覆盖的。
当时有很多说法在流传……比如,认为“暴击”的时候可以让 BTC 拥堵加剧、用户恐慌抛售、陷入恶性循环,从而让 BCH 有机会杀死 BTC 而上位;或者,就是认为“暴击”不过是国内大矿工基团造势已久的市场操纵行为,是一次拉高出货骗局。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/442089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX