主页 > imtoken钱包app下载 > 区块链硬分叉和软分叉

区块链硬分叉和软分叉

imtoken钱包app下载 2023-01-17 13:20:21

我们知道区块链分叉有两种类型:硬分叉和软分叉。在解释“硬分叉”和“软分叉”的概念之前,先解释一下“前向兼容”和“后向兼容”的概念

前向兼容和后向兼容

Forward compatibility的英文是:Forwards Compatibility,Forward有“未来”的意思。因此,前向兼容是指上一个版本支持当前版本生成的数据,当前版本支持后一个版本的数据。例如,您的 CD 可以在 CD 驱动器或 DVD 驱动器上播放。

向后兼容的英文是:Backwards Compatibility区块链硬分叉机制,Backward的意思是“向后”。所以向后兼容意味着当前版本可以支持之前版本的数据。例如,您 PC 的 DVD 驱动器也可以播放 CD。

新节点和旧节点

在区块链升级过程中,部分节点会升级区块链代码,本文暂称为新节点。部分节点不愿意升级区块链代码,继续运行原来老版本的区块链代码,本文暂称为老节点。

区块链硬分叉机制

硬分叉和软分叉

硬分叉:旧节点无法识别新节点产生的区块(旧节点与新节点产生的区块不向前兼容),结果一条链直接分成两条完全不同的链,一条是旧链(运行原旧版区块链代码,由旧节点运行),另一个是新链(运行升级后的新版区块链代码,由新节点运行)。

软分叉:新旧节点共存,但不会影响整个系统的稳定性和有效性。旧节点会兼容新节点(旧节点前向兼容新节点生成的区块),但新节点不兼容旧节点(即新节点不后向兼容)旧节点生成的块),两者仍然可以共享有一条链

这里有一篇关于硬分叉和软分叉的好文章:8btc.com/article/105773,虽然比较早,但是写的很好。如果您稍微了解一下技术知识,阅读这篇文章会更容易理解。

敲黑板,突出软分叉和硬分叉的主要区别:

区块链硬分叉机制

新旧节点相互兼容。软分叉修改数据结构后,新节点产生的交易和区块可以被旧节点验证和接受,但硬分叉不能。

补充一些我个人的理解:

因为旧节点(升级前运行原区块链代码的节点)生成的区块可能不会被新节点(运行升级后的区块链代码的节点)验证(这是因为新节点的验证条件) 比老节点更严格),导致软分叉可能会造成临时链分叉,即在老节点上会产生两条链:

a) 一个和新节点上的链一模一样,链上的区块既是老节点验证的区块链硬分叉机制,又是新节点验证的。

b) 另一个是由仅由其他旧节点验证的块组成,而不是由新节点验证。

区块链硬分叉机制

但是由于新节点生成的区块必须经过老节点的验证,所以与新节点不同的老节点上的分叉链最终会被新节点上的链替换(即替换为最长的链),所以最终,一条链会继续发展。

硬分叉示例:

a) 比特币分叉:有些人开始觉得比特币的区块大小太小,总是有拥塞,所以这些人要求比特币的区块大小升级和扩大。有人支持,有人反对。这种对比特币发展的分歧导致了比特币的第一次硬分叉。旧链上的币还是比特币BTC(区块容量达到8M),新链上的币是BCH(比特币现金,比特币现金。区块容量已经达到8M),感兴趣的同学可以参考这篇文章:new .qq.com/omn/20190808/20190808A0J3NF00.html

顺便说一下,BCH和BTC最大的不同就是区块容量的参数不同。两者分叉前的交易是一样的,只是交易的币种不同。可以理解为,BCH链按照原来的方法重新运行分叉前区块中的交易,只是币种从原来的BTC变成了BCH。这可以从区块浏览器中查看:

BTC链上第30000块信息:

区块链硬分叉机制

btc.com/000000000000000082ccf8f1557c5d40b21edabb18d2d691cfbf87118bac7254

BCH链第30000块信息:

bch.btc.com/000000000000000082ccf8f1557c5d40b21edabb18d2d691cfbf87118bac7254

区块链硬分叉机制

可以看出,BTC 链上第 30000 个区块的交易与 BTC 链上第 300000 个区块的交易是一样的。上面的第一笔交易应该是矿工挖出区块的奖励。但是,矿工地址不同。不清楚BTC和BCH的地址计算方式是否不同。

b) 以太坊分叉:DAO 项目是由区块链物联网公司 Slock.it 发起的众筹项目。它于 2016 年 5 月正式发布。截至当年 6 月,The DAO Projects 筹集了超过 1. 6 亿美元。没过多久,The DAO 项目就成为了黑客的目标。由于智能合约存在巨大漏洞,DAO 项目以 5000 万美元的以太币市值转让。

为了挽回众多投资者的资产,停止恐慌,以太坊创始人Vitalik Buterin终于提出了硬分叉的想法,最终在1920000区块通过了社区的多数票以太坊 该区块完成了硬分叉,回滚了包括黑客所拥有的所有以太币。即使以太坊硬分叉成两条链,但仍有一些人相信区块链的不变性,并留在以太经典的原链上

参考文章

blog.csdn.net/badbad_boy/article/details/5815811

jianshu.com/p/26ed15380bcf

zhihu.com/question/35970198