区块链分叉分为两类,一类是硬分叉,另一类是软分叉。两者最大的区别在于是否兼容旧版本协议。硬分叉对旧版本协议完全不兼容,而软分叉是可以兼容的。
(1)硬分叉
硬分叉不能兼容旧版本,就是说旧版本用户不升级就不能识别到新版本创建的内容。假设Office2019不再支持.doc文档了,仅仅支持.docx文档,那么Office2007用户就再也不能查看Office2019创建的文档了,必须升级才能查看,这样就造成Office2007的文档不能和Office2019的文档互通,于是形成了两条路,Office2007的用户继续使用Office2007,但不能和Office2019用户互通。这就是硬分叉,产生硬分叉后会形成两条链路。硬分叉的优点在于使用新版本的用户所有校验方式完全一样,不用担心安全问题;缺点在于不能与旧版本兼容,需要强制旧版本用户更新,这样可能会造成网络不稳定。
(2)软分叉
软分叉能够兼容旧版本,相当于旧版本也能识别新版本的内容。就像是Office2019创建的.doc文档,Office2007版本也能打开。Office版本虽然升级了,但能够兼容旧版本,使得旧版本也能识别新版本的内容。软分叉的优势就是让使用Office2007版本的用户不用升级也能正常打开Office2019版本创建的.doc文档。对应区块链来说,软分叉的优点就是能保持同一条链,不用担心旧版本与新版本的冲突,不会生成新的链条。然而,软分叉也会有缺点,即旧版本的校验方式或多或少会与新版本的不一样,如此会导致安全性降低。
所以,硬分叉后链是分别独立的,而软分叉不是。