区块链100问|数字货币挖矿|24、硬分叉和软分叉是什么?

我最近在重新学区块链,巩固一下细节,也收集一个“区块链100问”,供小白们使用(大佬可以另找教程),每天更新1-2个。

推特:0x00pluto


实际上,我们可以把比特币系统共识的修改看作是对其软件代码的升级。而升级修改的则是比特币交易的数据结构、生成区块链的格式以及某些新特性等等方面;这一过程中涉及到两个概念,软分叉以及硬分叉。

其中硬分叉指的是,比特币代码发生变化之后,未进行升级的旧节点无法验证已经升级的新节点。为此不符合原规则的区块会被忽略,使用旧节点的矿工按照原规则继续挖矿,区块链发生永久性的分歧。也就是说,如果新规则部署后部分节点未进行升级,区块链将分裂为两条链;就如2016年以太坊为追回The DAO被盗资金而发生的分裂事件。

另一方面,软分叉则是指旧节点并不会意识到代码的变化,并继续接受或者说验证新节点生成的区块。具体来说,软分叉和硬分叉的新节点都可接受由旧节点产生的数据或者代码,就如Windows 10亦兼容Windows XP应用。而软分叉在此基础之上,还可实现“向前兼容”,让旧节点也可以接受新节点产生的区块,从而避免区块链分裂这种情况。

不过要实现新旧节点之间的完全兼容非常困难,所以软分叉的升级空间非常有限,仅可在不增加新字段的情况下进行修改。而相比之下,只需考虑“向后兼容”问题的硬分叉,可塑性更高。

Subscribe to 0x00pluto
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.