正文
但软分叉也有可能会造成区块链分裂。只要加上追随最长链这个规则就可以想明白。
第
2
章
软分叉如何造成比特币区块链分裂
能造成比特币区块链分裂的因素就是共识失败,所谓的共识第一是所有节点认可的区块规则,第二条就是追随最长链。
如果所有节点对规则达成了共识,那就追随最长链,如果有两个矿工节点挖出相同的区块,那就看接下来谁是处在最长链了,这就是孤块的原理。如果对规则达不成共识,则节点会无视和自己共识不相同的最长链。
软分叉是规则收紧,即新规则是旧规则的子集。所以未升级的节点会视已经升级的节点打包的区块是合法的区块。但已升级的节点却会视未升级的节点打包的区块是非法的区块。所以未升级的节点继续坚持最长链原则,但已经升级的节点则会无视未升级的节点是否是最长链。
如果已经升级的节点的算力更大,那未升级的节点打包出的区块会因为它们追随最长链而被孤立。但如果是已经升级的节点的算力更小呢?结局就是已经升级的节点会独立挖一条链而分裂出去。
软分叉造成区块链分裂的风险主要是升级过程中支持的算力过小。只要执行软分叉的算力不占有绝对的优势,无法使用追随最长链规则孤立掉不升级的算力打包的区块,那就会分裂。
这和硬分叉造成分裂的风险是一样的。因为从原理上,硬分叉中不升级的节点就是对已经升级的节点发起的一次软分叉(规则收紧)。