区块链中的分叉类似于我们在行走时遇到的街口,本来只有一条路,到了街口却分成了两条。这是最基本的分叉定义。
在区块链中,通过挖矿并将区块链连接到侧链上,通常只会形成一条区块链。但如果在同一时间内出现了两个区块链,它们的交易信息相同但挖矿签名或交易排列不同,那么这种情况就叫做分叉。
比特币系统软件的共识规则改动相当于手机软件的升级。这些改动包括虚拟货币交易算法的设计和形成区块链的方式,以及其他一些新特性。这个过程中涉及到软分叉和硬分叉两个定义。
软分叉指的是向前兼容的分叉,在区块链技术中节点不一定需要升级到新的共识规则。由于新规则仍然符合旧规则,因此未升级的节点仍然能够接受新规则。软分叉只是互联网的升级,不会造成新的虚拟货币。
软分叉的危害相对较小,主要表现在以下三个方面:1)软分叉通常不会产生两条链,因为旧节点能够接受新规则;2)软分叉不支持新字段,只允许在已有构造下进行改动,因此升级空间相对较小;3)因为软分叉是收紧共识规则,而硬分叉通常是拓展共识规则,所以很难回退至软分叉前的状态,可能导致硬分叉。
硬分叉指的是不支持向前兼容的分叉,在升级前的节点无法兼容升级后的节点,原有区块链将分离成几个独立的链,有可能产生新的虚拟货币。
硬分叉的危害表现在以下几个方面:1)硬分叉导致挖矿成本增加,必须兼顾持有代币的用户意愿,才能选择一个符合挖矿权益的链;2)硬分叉对平台交易影响较小,只需要维护好中立的态度;3)比特币价格的变化取决于市场前景,硬分叉会使新的虚拟货币价格浮动不定,难以控制;4)硬分叉会使所有币的算力和人气分散化,再次集中起来的难度也很大。
总之,如何判断软分叉还是硬分叉,取决于升级前的节点是否能够与升级后的节点兼容。能兼容则为软分叉,否则为硬分叉。