一个分布式共识系统的升级除了需要协调好所有的系统参与者,在升级时还可能伴随着区块链共识规则的改变,因此导致了整个网络中升级软件的节点与未升级软件的节点运行在不同的规则之下,由此产生了分叉。本期的币众课堂,就为大家简单介绍一下分叉中的硬分叉与软分叉。
软分叉与硬分叉的含义
软分叉 Soft Fork
软分叉是指在区块链或去中心化网络中向前兼容的分叉。向前兼容意味着,当新共识规则发布后,在去中心化架构中节点不一定要升级到新的共识规则,因为软分叉的新规则仍旧符合老的规则,也就是未升级的节点仍旧能接受新的规则。
硬分叉 Hard Fork
指在区块链或去中心化网络中不向前兼容的分叉,硬分叉对加密货币使用的技术进行永久更改,这种变化使得所有的新数据块与原来的块不同,换句话说,旧版本不会接受新版本创建的区块,要实现硬分叉所有用户都需要切换到新版本协议上。如果新的硬分叉失败,所有的用户将回到原始数据块。
由此可以看出两者的区别是对新旧节点的兼容方面。软分叉修改数据结构后,新节点生产的交易和区块能够被旧节点验证并接受,硬分叉就不能。而硬分叉修改数据结构后,新节点生产的区块会被旧节点拒绝掉,如果旧节点拒绝升级软件而坚持按照旧数据结构继续挖矿,那就会产生两条链。
硬分叉的经典案例
以太坊分叉
因黑客盗取了大概6kw美元的合约币,以太坊开发团队修改源码,强行把第1920000个区块的资金转移到另一个地址,“夺回”黑客控制的合约币。大部分矿工认同这个修改,但也有一部分矿工不认同这个修改,于是形成了两条链,新链是以太坊(ETH),原链是以太经典(ETC)。
比特币分叉
2017年8月,为解决比特币交易拥堵、手续费奇高等问题,比特币核心开发团队bitcoincore提出“隔离见证 + 闪电网络”的扩容方案,但另一派则认为应该直接在链上扩容,支持大区块(将区块大小提升至8M),由于扩容方案理念不一致分裂为比特币(BTC,老大哥)以及比特币现金(BCH)。目前BCH已稳踞全球加密货币第四名的位置。
每天三分钟,学会区块链。了解更多的区块链知识,欢迎收看币众课堂。