首页 > 活动 > 硬分叉与软分叉——区块链版本更新的必经之路
路安  

硬分叉与软分叉——区块链版本更新的必经之路

摘要:区块链是一个存在于互连网中的大型分散式系统,存在于每一个网路参与者(矿工)的电脑中。换句话说,一但区块链要进行版本更新或系统修改,所有网路参与都必须下载并运行新版本的区块链客户端,区块链系统才能完成版

硬分叉

区块链是一个存在于每个网络参与者(矿工)电脑中的大型分散系统。

换句话说,一旦区块链需要更新版本或修改系统,所有网络参与都必须下载并运行新版本的区块链客户端,以完成版本更新。

然而,升级分布式共识系统的困难在于,很难要求网络参与者同时完成更新。只要参与者不立即更新客户端,网络上就会有不同版本的区块链。换句话说,区块链就会分叉。

区块链更新产生的共识问题

硬分叉

因此,区块链更新时,必须协调所有系统参与者,否则可能会影响区块链系统的安全。

升级分布式共识系统的另一个困难在于,所有网络参与者必须达成共识。

如果只有一部分矿工同意更新,另一部分旧矿工不同意更新,矿工之间就会有共识。

区块链更新中的共识问题大致有四种可能性:

1)新矿工接受旧矿工挖出的块

2)新矿工不接受旧矿工挖出的块

3)旧矿工接受新矿工挖出的区块

4)旧矿工不接受新矿工挖出的块

硬分叉

新矿工产生的块可与旧矿工产生的块兼容,而旧矿工产生的块不能与新矿工产生的块兼容。

硬分叉和软分叉-硬分叉

硬分叉

当新版本在系统中更新,与前版本不兼容,旧矿工无法接受新矿工挖出的全部或部分块时,区块链就会出现硬分叉。

比特币为例,如果协议的重要参数发生变化,如块的大小、采矿主题的难度或块的速度,这些规则中的任何变化都可能导致新块不被之前版本的共识规则所接受。

例如,如果更新,区块容量限制为1MB增加到4MB,新版矿工将接受4MB但是运行旧版本的矿工会拒绝这个块。

1

社区达成共识

硬分叉和软分叉-达成共识

在新矿工占有大部分算力的情况下,旧矿工有两个选择,第一种就是接受更新并升级客户端软体,这个情况意味著社群对版本更新达成共识,区块链可以安全且顺利完成更新。

2

社区无法达成共识

硬分叉和软分叉-无法达成共识

如果矿工坚持维护旧版本的系统,区块链将分为两条链。(在这种情况下,即使接受更新的新矿工计算能力,新矿工和旧矿工也无法达成共识>51%的老矿工还是不愿意接受新版本,所以不适用最长链共识。

如果大多数人选择更新,新版本的计算能力必然相对较强,其余的取决于旧版本的计算能力是否足以支持维护一条链的安全。如果仍有一定数量的矿工坚持维护旧版本,区块链将分为两条链。

当区块链分为两条链,并且有自己的矿工来维护自己的链时,就会产生两种不同的货币(大多数硬分叉,如以太坊君士坦丁堡硬分叉,矿工愿意接受新版本的区块链,矿工之间没有共识,就不会有分裂),这就是所谓的分叉货币。

硬分叉

比如2017年比特币社区扩容方案概念存在差异,无法达成共识导致硬分叉,比特币现金 (Bitcoin Cash)因此, 诞生了。

对于用户来说,这种社区分裂的硬分叉,最有感觉的是可以得到分叉币,比如分叉前你在钱包里有 1BTC分叉后你会有 1BTC+1BCH ”。

未经所有生态参与者同意,硬分叉风险较大,容易导致区块链生态系统分裂、计算能力分裂和重放攻击风险。

因此,这是一种极具争议和危险的区块链升级技术,因此区块链社区对硬分叉非常谨慎。

软分叉

计算新矿工的能力>51%时,新矿工产生的块不能与旧矿工产生的块兼容,旧矿工可以与新矿工产生的块兼容。

硬分叉和软分叉-软分叉

硬分叉

如果更新更严格的规则,修改协议或添加不影响结构的功能,旧矿工将接受新矿工生产的块;

相反,由于新矿工认定的协议严格,新矿工将拒绝旧矿工生产的区块。此时,旧矿工将在正常情况下选择升级,否则新矿工将无法接受和获得采矿奖励。

在意识形态或开发观点不同等特殊情况下,旧矿工仍可选择不接受新矿工输出的块,继续维护旧版本的链,导致硬分叉甚至分裂。

以比特币为例,理想情况是,当旧矿工意识到他们的区块被拒绝时,他们会选择升级。

随着越来越多的矿工升级,这将进一步孤立旧版本的块。在利益的驱使下,将诱导更多的旧矿工升级。因此,系统可以以更温和的方式更新。

硬分叉

例如,社区决定将块的大小从目前的1开始MB限制减少到0.5MB。

大多数新矿工会拒绝旧矿工产出1MB选择其他矿工生产的合格区块。

经常发生软分叉更新。

一开始比特币没有区块大小的限制,然后通过软分叉引入1MB通过软分叉成功添加了限制pay-to-script-hash在不改变结构的情况下,函数增强了代码。

这种类型的更新通常只需要大多数矿工升级,其他矿工会升级,这使得它更可行,更不具破坏性。

链金研究员总结

硬分叉

与硬分叉相比,在软分叉过程中,正常情况下只有一条链,没有分为两条链的风险,软分叉不需要所有矿工同时升级,而是以温和的方式逐步升级,不影响软分叉过程中的系统稳定性和有效性。

然而,两者之间没有区别,而是适用性问题。如果进行大规模的区块链更新,必然会涉及到旧协议不接受的规则。

即使我们都知道软分叉比硬分叉更安全,我们也只能选择用硬分叉升级区块链。

然而,没有必要认为硬分叉太可怕,因为只要整个网络矿工对升级有相同的共识,它就不会分为两个区块链,影响安全。

总之,对于区块链升级来说,重要的不是硬分叉还是软分叉,而是矿工之间的共识是否一致,称为区块链治理。

如果共识处理不当,很容易导致革命,这就是为什么区块链升级比传统软件更困难。

本文的观点和意见仅代表作者本人,不构成任何建议。

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。