什么是软分叉?

点击「今日币闻」关注我们

区块链上节点众多,当出现新版软件后,节点面对新版软件反应的不同,造成的分叉结果也不同。根据升级后的区块链是否能兼容旧区块链,分叉又分为“硬分叉”和“软分叉”。今天小妹我就介绍一下软分叉。

软分叉:

指区块链网络系统软件升级后,旧的节点并不会意识到比特币代码发生改变,并继续接受由新节点创造的区块,新老节点始终还是在同一条链上工作。

有人说硬分叉就是分叉,而软分叉就是不分叉,其实这话并不完全对,硬分叉就是分叉是对的,但软分叉其实也可能会出现分叉的情况。

不分叉的软分叉

软分叉通常不会产生两条区块链,实际上未升级节点无法识别新规则的真实意义,意识不到有新规则的改变。于是,新规则下产生的区块会被旧节点接受。这时,如果已经升级的节点也可以验证未升级的节点生产出的区块,那么新规则发布后,新旧节点仍然在同一条链上,对整个系统的影响也就较小。

这种情况的软分叉其实只是在叫法上有点迷惑性,实际上这种旧节点接受新区块,新节点也接受旧区块的软分叉,本质上是新、旧节点互相兼容,不分叉的。

分叉的软分叉

如果系统软件升级后,和旧版本不兼容,那么升级后的新节点就无法接受未升级节点挖出来的全部或者部分区块,这种软分叉是真的分叉了。因为:旧节点接受新区块,而新节点不接受旧区块。

这种形式的软分叉又分为两种情况:

1、新节点算力大于50%

因为新节点算力大于50%,所以不论旧节点接不接受新区块,最长的链也一定会是全部由新区块组成的链。而且,这条最长链是双方都认为合法的一条。

未升级节点挖出来的区块得不到升级节点的认可,由此产生的区块最终会被认为是短链而被放弃。

2、新节点算力小于50%

新节点因为算力小于50%,又不接受旧区块,所以挖的区块链长最短,所以纵然旧节点同时承认两条链的合法性,最终也还是会选择自己所挖的最长链。而全部由新区块组成的链会被旧节点放弃掉。

软分叉的优势

1、软分叉可以保证不想升级的节点不去升级,这种不想升级的需求在现实生活中其实是很常见的。

2、软分叉不要求所有节点在同一时间升级,允许逐步升级,不影响软分叉过程中系统的稳定性和有效性。

软分叉向前兼容的特性,意味着不能增加新字段,只能在已有交易数据结构下做修改,所以升级空间有限。

以上就是今天的内容,

大家都懂了吗?

编辑/筱桐

如需转载请联系我们

今日币闻

知币闻 上币闻

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181124A0Z8DE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券