身处区块链行业的你一定听说过「分叉」吧?BTC 分叉、ETH 分叉等等。
分叉到底是什么呢?它是如何发生的?又有什么影响?下面我们一起聊聊。
01
分叉是如何发生的?
我们以比特币为例,说明分叉是如何发生的,其他加密货币的分叉原理是相同的。在了解分叉前,我们先要了解比特币是如何工作的。
比特币作为数字货币是通过软件的形式实现的,该软件被称为比特币协议,它确定了针对所有人的规则,包括区块的大小、矿工得到多少奖励等。如果想要使用比特币的话,就得同意这份协议。这就像公司制定的章程,全公司的人都得遵守。
比特币作为一个软件项目,它总有需要完善的地方,所以它的开发永远都在进行,比特币开发者是通过更新软件(比特币协议)来解决问题或增强功能的。
在中心化系统中,软件升级十分简单,但是在去中心化系统中,升级并没有那么简单,它需要达成共识(取得各方的同意)。在涉及到一些重大更新时,社区中总会有人反对,如果一群人都不同意,他们可以选择走自己的路,创造他们自己的比特币协议版本和分支区块链,于是分叉也就发生了。
简单来讲,区块链网络在升级时发生了意见分歧,从而可能导致区块链分叉。
除了意见分歧外,某些协议的添加、升级,也可能需要通过分叉实现。
02
分叉是如何实现的?
为了理解分叉,我们可以把比特币分为两大块:比特币协议(软件)和存储所有交易数据的区块链。
比特币协议(软件)是完全开源的,如果要创建自己的分支区块链(分叉),首先要把比特币协议(软件代码)复制下来,然后根据自己的需要进行适当的修改。
最后,通过指定一个区块编号让比特币分叉开始生效,例如可以宣布在区块编号到达 500000 时分叉开始生效,当该区块编号传送到社区时会分成两部分,有些人决定支持原协议,而有些人则支持分叉协议,然后每个组开始添加新的区块到他们想要支持的那一条区块链。
03
硬分叉和软分叉
上述所指的分叉多指硬分叉,硬分叉是指比特币共识机制发生改变时,与原生协议不相容,部分没有升级的节点无法验证已经升级的节点产生的区块,然后大家各自延续自己认为正确的链,所以分成了两条链。
除了硬分叉,还有一种分叉叫软分叉,它是指区块链网络系统版本或协议升级后,与原生协议兼容,旧的节点继续接受由新节点创造的区块,新老节点始终还是在同一条链上工作,并没有新链产生。
软分叉与硬分叉最大的区别就是有没有新链产生,硬分叉是有新链产生的,而软分叉并没有产生新的链。
04
分叉有什么影响?
对于数字货币持有者来说,硬分叉会让他们额外增加一笔财富(分叉链 Token),BTC 的持有者就曾经获得过许多不同的 BTC 分叉链 Token。
对项目本身来说,分叉未必是坏事。区块链作为一个复杂的去中心化系统,社区的意见难免会出现较大的分歧,与其妥协出一个折衷的但可能是行不通的方案,还不如分叉出来各自独立、各走各的路,这样项目的胜算会更大一些,对项目方也许是好事。