1分钟让你明白区块链为什么会分叉

thumbnail

区块链想必现在已经是人尽皆知的新技术了,身处区块链行业一定也听说过分叉吧。分叉是区块链体验的核心,类似于系统升级。“分叉”一条链,本质上就是要对运行区块链的软件做出改变。根据不同的情况,分叉所引发的问题也非常多,有的很快能够达成共识,有的则极具争议。

1分钟让你明白区块链为什么会分叉

01

有分歧就有分叉

在中心化系统中,软件升级极其简单,只需要打补丁或者对其某些功能的兼容性等迭代更新。而去中心化系统中,升级远没有那么简单轻松,它需要取得链上各节点或者交易方达成共识。在一些重大功能上的改善时,常会遭到社区某些人的反对,一旦有超过2/3的人不同意,那么他们就得选择其它途径,创造它们自己的协议和分支区块链,于是分叉也就随之发生。

比特币中,其通过比特币软件(也叫比特币协议)的形式实现,它确定了针对所有人的规则,包括区块大小、对矿工的奖励等。如果所有人使用比特币,那就得同意这份协议。类似于国家的法律,每个人必须遵守。

然而,不仅仅是比特币,其它加密数字货币也是一样的,作为软件项目,总是不乏需要完善的地方,因此,技术更新和开发基本都是一往直前的,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。

简单而言,区块链网络中只要发生意见分歧、协议改进(新增、升级)等就有可能产生分叉。

02

分叉怎么实现的

其实,谈起分叉我们并不难理解,以比特币为例,可以将比特币分叉分为两大类:比特币协议和存储交易系统。

1分钟让你明白区块链为什么会分叉

比特币协议完全是开源的,如果要创建自己的分支区块链,那就要先把比特币软件源代码复制下来,然后再根据自己的需要进行适当修改。最后,通过指定的区块编号让比特币开始分叉并生效,其实就是相当于中心化系统程序中的定时指令。比如可以规定区块编号在到达10000时分叉开始生效,当该区块编号传送的指令到社区时会分成两部分,一部分支持原协议,一部分支持分叉协议,然后每个部分会再次添加新的区块到它们所支持的那一条链上。

03

分叉类型及影响

比特币网络每次代码升级都要获得比特币社区的一致认同,如果社区无法达成一致,这有可能会形成分叉,简单一句话来讲分叉就是指在升级的时候发生了冲突,从而导致区块链分叉。根据分叉后的区块链是否兼容旧区块,将分叉分为软分叉和硬分叉。

1分钟让你明白区块链为什么会分叉

软分叉

软分叉是指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,所以未升级的节点仍旧能接受新的规则。

软分叉的影响:

(1)软分叉通常不会产生两条链,因为新规则下产生的块会被旧节点接受,旧节点只是无法识别新规则的真实意义,新旧节点仍然处于同一条区块链上,对整个系统的影响也较小。

(2)由于软分叉必须向前兼容,也就是说不能增加新字段,只能在已有结构下做修改,所以升级空间有限。

(3)硬分叉通常是扩展共识规则,而软分叉是缩紧共识规则,所以一旦进行了软分叉,想要回退就非常困难了,很可能造成硬分叉。

硬分叉

1分钟让你明白区块链为什么会分叉

硬分叉是指在区块链或去中心化网络中不能向前兼容的分叉。旧节点拒绝新规则产生的区块,新节点和旧节点会在不同的区块链上运行,各自延续自己认为正确的链,分成两条链。

硬分叉的影响:

(1)硬分叉造成矿工摇摆不定,矿工需要考虑持币用户的意愿,获得更多投资用户认可的链才是符合矿工利益的选择。

(2)交易平台是比较轻松的,只需保持中立,做好重放保护工作,受到的影响相对较小。

(3)币价方面,硬分叉后的新币需要重新获得投资者支持,币价可能涨也可能跌,前景完全是由市场决定。

(4)硬分叉后整个币的算力被分散,想要重新凝聚算力和人气可能不是那么容易。

04

写在最后

在广泛分布的开源代码库中,当并非所有节点都复制相同的信息时,分叉会偶然发生。然而,通常会识别并解决这些分叉,并且大多数加密货币分叉是由于对嵌入特征的分歧。

Back To Top