分叉(fork),或是分叉的威胁,似乎是加密货币领域的公认特征。但分叉是什么?为什么分叉会有这么大的影响?硬分叉与软分叉的差异在哪? 

下面我们一起聊聊。

02663600463afc05631c4c11e88d513e.png分叉是如何发生的?

比特币作为一个软件项目,它总有需要完善的地方,所以它的开发永远都在进行,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。

在中心化系统中,软件升级十分简单,但是在去中心化系统中,升级并没有那么简单,它需要达成共识(取得各方的同意)。

在涉及到一些重大更新时,社区中总会有人反对,如果一群人都不同意,他们可以选择走自己的路,创造他们自己的比特币协议版本和分支区块链,于是分叉也就发生了。

a10c65d870f6bc29285de3a6f276d131.png

简单来讲,区块链网络在升级时发生了意见分歧,从而可能导致区块链分叉。除了意见分歧外,某些协议的添加、升级,也可能需要通过分叉实现。

硬分叉

硬分叉是指比特币共识机制发生改变时,与原生协议不相容,部分没有升级的节点无法验证已经升级的节点产生的区块,然后大家各自延续自己认为正确的链,所以分成了两条链。

在比特币里,需要硬分叉来更改比如区块大小、解决加密难题的难度、新增额外信息之限制等定义参数。任何对这些规则的更改,都可能造成区块被新协议接受但被旧版本拒绝,并可能导致严重问题──甚至有可能造成资金的损失。

唯一的解决方法是放弃其中一个分支转而支持某一分支,这涉及一些矿工的损失(交易本身是不会丢失的,它们只会被重新分配)。或者,所有节点都需要在同时切换到较新的版本,而这在分散的、广泛传播的系统内是不容易达到的。

或者,比特币会分裂,这已经发生了。(哈啰,比特币现金)

5eed8de38ca5ff755421d2ff736997da.png

软分叉

软分叉仍然可以与旧版本一同运行。它是指区块链网络系统版本或协议升级后,与原生协议兼容,旧的节点继续接受由新节点创造的区块,新老节点始终还是在同一条链上工作,并没有新链产生。

举例来说,假如以限缩规则的方法更改协议,实现表层修改或添加不影响结构的功能,则旧版本的区块将能接受新版本区块。但反过来则行不通:新的、较为严格的版本将拒绝旧版本的区块。

在区块链中,理想状态下,矿工发现它们的区块被拒绝,就会自行升级。随着越来越多矿工完成升级动作后,拥有主要新区块协议的链会变得越来越长,会更加孤立旧版本的区块,这又能让更多矿工进行升级动作,并且系统会自动纠正。由于旧的和更新后的节点都接受新区块,因此新版本的区块协议最终将获胜。

软分叉与硬分叉最大的区别就是有没有新链产生,硬分叉是有新链产生的,而软分叉并没有产生新的链。

分叉有什么影响?

对于数字货币持有者来说,硬分叉会让他们额外增加一笔财富(分叉链 Token)。BTC 的持有者就曾经获得过许多不同的 BTC 分叉链 Token。

区块链作为一个复杂的去中心化系统,社区的意见难免会出现较大的分歧,出现分歧后是各自退让还是各自独立,众说纷纭。分叉或许是无法避免的解决方案。

0db9eb73b0172c3e980adfd809b7ba24.png

往期精彩内容


916fbb0de99474d5ed17756f946a4bcf.png0217dd739fd867ee4bd3c374b45f0783.png7f6a9a6cad1f14a66c0909c8e9b97f93.png415d51d43e1e3e06c120ceeab02819ba.png
fb15319e916668eff2c22a265c27e305.png

欢迎扫码关注
东方区块链俱乐部!

感觉不错,请点这里~5a4424dfc10e73a1588a5278ae0e1e2f.png
Logo

一站式 AI 云服务平台

更多推荐