硬分叉

imtoken苹果下载官网 2024-01-26 05:10:56

社区对区块链共识存在永久分歧。新的共识规则发布后,未升级的节点无法验证升级后的节点产生的区块,这意味着发生了硬分叉。硬分叉是与以前版本不兼容的软件升级。硬分叉修改的“共识”特指比特币交易数据结构的修改,或者比特币区块数据结构的修改。

比特币硬分叉示例

区块链软分叉和硬分叉

2013年3月12日,新发布的bitcoin qt版本0.8.0采用了新的数据库级db。旧数据库有时不接受大于 800Kb 的块,新版本的块被 qt0.7 版本节点拒绝。结果,比特币区块链在区块高度 225430 处创建了两条链,并发生了硬分叉。

区块链软分叉和硬分叉

2015 年 7 月 4 日,新版 Bitcoin Core 0.10.0 新增 BIP 66 进行软分叉升级。但是其中一个矿池BTC Nuggets没有升级,升级前后两个版本的区块链还在继续,导致比特币区块链在363731区块高度硬分叉。

区块链软分叉和硬分叉

软分叉和硬分叉的异同

区块链软分叉和硬分叉

软分叉和硬分叉的主要区别在于新旧节点之间的兼容性。软分叉修改数据结构后,新节点产生的交易和区块可以被旧节点验证和接受,但硬分叉不能。

区块链软分叉和硬分叉

在具体修改的对象层面区块链软分叉和硬分叉区块链软分叉和硬分叉,软分叉和硬分叉没有区别,都是修改或尝试修改交易数据结构,或者区块数据结构。软分叉和硬分叉在修改“共识”级别方面本质上是没有区别的。

硬分叉和软分叉都不会修改交易历史。 2010年8月15日,天粮币漏洞被发现时,交易数据结构也被修改,一个区块中的交易因在新交易数据结构定义下是非法的而失效。

硬分叉需要保证的兼容性只需要向后兼容(升级后的节点接受未升级节点产生的交易和区块),即新节点需要从0高度块就是这样。