主页 > 钱包imtoken官网 > 听到分叉时不要害怕——深入解释比特币分叉是什么

听到分叉时不要害怕——深入解释比特币分叉是什么

钱包imtoken官网 2023-01-17 09:08:19

timg.jpg

第0章介绍

“分叉”的概念一直出现在比特币行业,不懂的人特别怕这个东西,往往把对象词和“分叉”划等号。其实这个词还有很多更深层次的含义比特币硬分叉什么意思,我会详细分析。

第一章代码层面的“fork”称为“fork”

“fork”这个词出现频率最高的地方是代码托管平台github,它是多程序成员共同管理和协同开发项目的一种方式。

为了便于理解,我先打个比方。

您在公司的某个部门,例如研发部门。部门一共有5名同事,其中一名是部门经理。现在部门要向公司提交下个月的办公用品采购计划。部门经理先用 wrod 文件写了一份采购申请表,并在申请表上填写了他打算购买的东西。然后经理将文件上传到部门的共享文档中。

同事 A 制作文档副本,添加他想购买的东西,然后将其上传到共享文档中以供经理批准。同事 B、C、D 也抄了一份,加上自己想买的东西,申请批准。

部门经理批准了A的采购计划,认为合理,将A的需求合并到了自己的申请表后面。批准B的方案后,他认为不合理,拒绝了B的要求,直接放弃了B的方案。然后继续批准 C 和 D。合并或丢弃。

然后B很生气比特币硬分叉什么意思,认为不合理,绕过部门经理,直接向公司提交了采购申请。

如果将上例中的“采购申请”换成“程序开发项目”,上述过程就是一个典型的“项目”、“分支”、“请求”、“合并”、“分叉”的过程”。

部门经理设置了一个项目来编写采购申请。写完自己的部分后,将文档上传到共享云,形成主代码库。

然后四个ABCD同事“分支”文档(中文翻译为分支),在分支中添加自己想要的特性,然后向主代码提交申请,叫做“拉取请求””,这就是所谓的中国语訳“请求”。请求将您的更改合并到主代码库中。

然后主要开发者,经理,将批准“拉取请求”。如果合格,他会将这部分代码合并到主代码库中。这个过程称为“合并”,中文翻译为“合并”。 ”。

如果主开发者认为这个“拉取请求”不合理,就会拒绝,英文叫“Close”。但是如果提出这个“拉取请求”的人认为他是对的,他可以独立出去,停止和经理玩,自己创建一个项目,选择不同的名称,然后自己合并代码。这样就形成了一个“叉子”,中文翻译成叉子。

以上是一个所有参与者都有开发权的过程,但是如果项目组以外的人看到了项目,想要提交一个“拉取请求”获取该功能的代码,那么他就不得不“分叉”首先是主代码存储库,然后提交一个“拉取请求”。这个没有开发权限的人叫做没有提交代码的权限,有提交代码的权限英文叫做commit permission。

这是开源软件管理的过程。开源软件的代码更新和错误修复使用此过程。

比特币是一套开源软件。一开始只有一个代码库,是中本聪建立的,叫做BiTCOin。后来很多人“分叉”比特币并提交“拉取请求”,也有一些人干脆自己“分叉”,独立出去形成一个新的分叉。

比特币的开源软件有很多分叉,最有名的有bitcoincore、bitcoin unlimited、bitcoin classic、bitcoinXT、Bcoin...

第二章软件版本互联网上的“分叉”也叫“去中心化开发”

比特币有这么多的版本,有这么多的分叉,所有这些不同的版本在比特币网络的实际运行过程中都可以相互交互。兼容,同时运行这些软件不会导致比特币网络分裂。我们将这些不同的相互兼容的版本称为相互竞争的实现。

多个版本的软件实现相同的功能,每个版本都有自己的用户,这就是软件版本之间的竞争。

这些不同的版本还可以有一些额外的独特功能,只要它们不影响与其他版本的兼容性。

在同一网络上运行多个版本有很多好处。最重要的软件特性的变化和协议,由于需要多个版本的兼容性开发,所有竞争的开发者都必须相互审查和测试所有的实现代码,代码质量会更高。并且由于全网多个版本的存在,单个版本的漏洞不会导致全网崩溃。

比特币网络是多个版本的网络同时共存,开发者相互竞争。这就是发展的去中心化。

第三章比特币区块链“协议升级”常被误称为“分叉”

比特币网络将部署一项称为“协议”升级的新功能。

我们更新手机和电脑上的软件。这是一个非常简单的过程。只需下载新版本的软件,然后覆盖安装即可。

由于比特币网络的目标是全网众多节点达成共识,比特币网络需要实现新的大版本升级,激活全网新的大功能。特殊措施。

所有影响共识的新功能都必须采取特殊措施,防止升级过程中出现共识失败。其中,比特币区块链最重要的共识是矿工广播区块和交易格式必须是共识,即所有矿工节点可以相互识别和接受区块和交易的格式。

最重要的措施是确保整个网络中的绝大多数节点都准备就绪,然后同时激活新的功能。这就要求每个节点使用的软件都具备向整个网络发送和接收特定信号的能力。

但是这个过程并不是很简单,而且大部分重大升级都有共识失败的风险。即使因为各方利益不同,升级过程中也会有人恶意宣扬共识失败。

如果共识失败,比特币区块链可能有两条甚至多条链。这是一个“分叉”,也称为“分叉”。

比特币的主要协议升级有两种思路,一种叫做“Hard Fork(硬分叉)”,一种叫做“Soft Fork(软分叉)”。

硬分叉和软分叉都是升级比特币协议的方式,并不一定会导致比特币分裂成两条链。分裂只是升级失败的结果。

大家常说的“比特币分叉”,并不是大多数意义上的“比特币分叉”,而是“比特币协议升级”。

第四章比特币区块链“协议升级”失败可能导致“分裂”

再次强调,硬分叉和软分叉都是比特币协议升级的方法,并不一定会导致比特币分裂成两条链,分裂只是升级失败的结果。

硬分叉和软分叉都可能失败,都可能导致分裂。但只要管理好,大家统一升级,就没有问题。

如果升级失败,导致两条链,在大多数情况下,通过社区的努力是可以修复的。小算力往往挖不出块,往往会回到大算力链去挖矿,分裂再统一。

如果两条链继续存在怎么办?那么对于用户来说有两种币种,对于矿工来说,要考虑哪条链适合挖矿。事实上,以太坊在分裂成两条链后,发展得非常好。

第五章结论

这个叉子和那个叉子不一样。