区块链想必现在已经是人尽皆知的新技术了,身处区块链行业一定也听说过分叉吧。分叉是区块链体验的核心,类似于系统升级。“分叉”一条链,本质上就是要对运行区块链的软件做出改变。根据不同的情况,分叉所引发的问题也非常多,有的很快能够达成共识,有的则极具争议。
比特币网络每次代码升级都要获得比特币社区的一致认同,如果社区无法达成一致,这有可能会形成分叉,简单一句话来讲分叉就是指在升级的时候发生了冲突,从而导致区块链分叉。根据分叉后的区块链是否兼容旧区块,将分叉分为软分叉和硬分叉。
软分叉是指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。
软分叉的影响:
(1)软分叉通常不会产生两条链,因为新规则下产生的块会被旧节点接受,旧节点只是无法识别新规则的真实意义,新旧节点仍然处于同一条区块链上,对整个系统的影响也较小。
(2)由于软分叉必须向前兼容,也就是说不能增加新字段,只能在已有结构下做修改,所以升级空间有限。
(3)硬分叉通常是扩展共识规则,而软分叉是缩紧共识规则,所以一旦进行了软分叉,想要回退就非常困难了,很可能造成硬分叉。
硬分叉是指在区块链或去中心化网络中不能向前兼容的分叉。旧节点拒绝新规则产生的区块,新节点和旧节点会在不同的区块链上运行,各自延续自己认为正确的链,分成两条链。
硬分叉的影响:
(1)硬分叉造成矿工摇摆不定,矿工需要考虑持币用户的意愿,获得更多投资用户认可的链才是符合矿工利益的选择。
(2)交易平台是比较轻松的,只需保持中立,做好重放保护工作,受到的影响相对较小。
(3)币价方面,硬分叉后的新币需要重新获得投资者支持,币价可能涨也可能跌,前景完全是由市场决定。
(4)硬分叉后整个币的算力被分散,想要重新凝聚算力和人气可能不是那么容易。
软分叉和硬分叉都是形成于区块链协议的升级过程中,两者都能够继承升级前的历史数据,且新协议都不再接受运行旧协议节点的矿工新打包的区块,而区别在于新节点打包的区块是否能够被旧协议节点所接受。软分叉升级后打包的区块会由于旧协议节点察觉不到变化而会接受,硬分叉升级旧协议节点能发现协议的变化所以会拒绝。(不管软分叉还是硬分叉,事实上协议已经变化了,只是旧协议节点能否察觉的问题)
软分叉的优点是,假如升级新协议的算力总和达到51%,则不会发生分叉,51%的算力会强迫49%的算力接受升级方案,当然这并不违反POW原则。
而缺点也很明显,为使旧协议节点感知不到新协议的变化,协议的升级内容会很受限,甚至仅仅改变区块大小这个参数都无法做到,所以Core开发组搞出了隔离见证这样的怪胎。
硬分叉的优势是,升级起来没有技术债务,无需束手束脚,可以用最简洁的方式对软件进行升级。
而缺点同样明显,哪怕新协议的算力总和达到99%,未升级的节点也是可以正常按照旧协议出块的,这就形成了两条链,除非两条链中的一条上的矿工停止挖掘或转而去挖掘另一条。
总和来看,如若矿工能够对新的协议达成共识,则无论软分叉还是硬分叉,其实都不会产生分叉;若大于51%而不足100%算力认同升级,则软分叉不会分叉,而硬分叉会分叉;若同意升级的算力不足51%,则两者都会产生分叉。
两种策略都可以升级协议,只是软分叉会累积技术债务且束手束脚,而硬分叉则直接了当的多。
免责声明: 文章源于会员发布,不作为任何投资建议
如有侵权请联系我们删除,本文链接:https://www.sws100.com/btc/126065.html