主页 > imtoken安卓怎么下载 > 第 18 课软分叉和硬分叉(比特币的分叉:BCC 和 BTC)

第 18 课软分叉和硬分叉(比特币的分叉:BCC 和 BTC)

imtoken安卓怎么下载 2023-12-03 05:12:36

我的新书出版了,对技术感兴趣的朋友请关注:

在这里插入图片描述

在第 6 课分叉和 51% 算力攻击中,我们提到了“分叉”的概念。分叉是比特币网络中一个常识性且非常重要的概念。因此,在隔离见证之前,有必要做一点“分叉”。深入分析。

临时分叉(算法引起的分叉)

在第 6 课中,我们说过多个节点可能同时挖出一个新区块,然后将每个节点广播到外界,此时整个区块链会发生临时分叉。

但是由于 POW 算法的保证(或者说所有节点都遵守 POW 算法的协议),这个临时的分叉会很快消失,所有节点都会持续监控网络,确保自己在最长在那个链上挖,避免自己挖的块在短链上,白白浪费算力。

btc算力软件

下面要讨论的两个分叉都不是临时分叉,POW算法无法保证。

软分叉

我们知道比特币网络是一个P2P网络,每个节点部署一个比特币网络客户端,类似于BT下载软件。

既然是软件btc算力软件,升级是必然的,无论是发布新功能还是修复bug,软件都必须从一个版本升级到另一个版本。

btc算力软件

但问题来了:全球节点如此之多,不可能同时升级所有节点的客户端软件。一些节点必须使用旧版本,一些节点正在使用新版本。这时,软件兼容性问题来了。

所谓软分叉,就是升级是“向前兼容”的。部分客户端已升级到新版本,部分客户端仍在使用旧版本。老版本客户端可以正确处理新版本客户端生成的数据。具体一点是新版本生成的Block和Transaction可以被旧版本的节点正确处理;当然,反过来也是可以的。

所以你可以看到:软分叉实际上并不是一个分叉,它仍然是一条链,只是这条链上的区块有不同的版本。软分叉一词主要与接下来要讨论的“硬分叉”有关。

软分叉看起来很棒,新旧版本协同工作,但也有很多争议。

btc算力软件

软分叉争议点:

(1)软分叉增加了技术复杂度。我在设计新版本的共识协议时,也应该考虑到这个协议应该兼容旧版本,因为历史包袱,设计自然有妥协btc算力软件,这会导致新版本中代码的可维护性很差,bug的概念自然会变高,安全性会变差。

(2)软分叉升级无法回滚

例如:现在全网所有节点都是v1版本,然后部分节点升级到v2,在v2这个版本上已经交易了一些Blocks和Transactions。

btc算力软件

但是现在你发现v2版本有一个安全漏洞,需要回滚v2,让所有节点都回到v1。在 v2 和 Transaction 上挖出来的 Block,虽然在 v1 版本上可以验证,但实际上放宽了限制,这会导致安全问题。所以这意味着在 v2 上挖出来的 Block 和 Transaction 都是无效的。

硬分叉

硬分叉更容易理解。新发布的版本与旧版本不兼容。意思是:

或者所有节点都升级到新版本,这样整个网络还是一条链;

btc算力软件

要么有的节点用旧版本,有的节点用新版本,互相挖的块大家都不认识,整个网络分裂成两条链,相当于发行了一个新币! !!

这是关于比特币的两大派系:隔离见证派系和矿池派系之间的战争。比特币出现了硬分叉,并创建了两种货币:旧的 BTC(比特币核心)和新的 BCC(比特币现金)。

关于这场战争,我们稍后会详细介绍,敬请期待。

下图可以清楚的看出硬分叉和软分叉的区别:

相关链接:

《第十七课交易延展性攻击——门头沟(前世界第一比特币交易所)倒闭的罪魁祸首》

《第16课闪电网络(Lightning Network)HTLC》