主页 > imtoken钱包开发 > 准确解释比特币“分叉”的含义

准确解释比特币“分叉”的含义

imtoken钱包开发 2023-01-17 05:54:25

比特币分叉币有价值吗_比特币分叉币有哪些_比特币分叉影响

第0章简介

最近,比特币又要“分叉”了。 不懂的人特别害怕这个东西,常常把“劈”字等同于“分裂”。 其实这个词有很多深意,下面我来详细分析一下。

Chapter 1 代码层面的“fork”才叫“fork”

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

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

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

同事A复印了一份文件,然后添加了自己要采购的东西,然后上传到共享文件中,申请经理审批。 同事B、C、D也复印了一份,加上自己想买的东西,申请审批。

部门经理认可了A的采购方案,认为合理,便将A的需求合并到自己的申请表中。 同意B的方案后,他认为不合理,拒绝了B的要求,直接将B的方案单作废。 然后继续批C和D的。 合并或丢弃。

然后B生气了,觉得不合理,绕过部门经理,直接给公司递了采购申请。

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

部门经理立项写采购申请表。 他自己的部分写完后,将文档上传到共享云端,形成了一个主代码仓库。

然后ABCD的四个同事“分支”这个文档(中文翻译成branch),把自己想要的特性添加到分支中,然后向主代码提交一个申请,叫做“pull request”,在里面叫做“request”中国人 。 申请将您自己的修改合并到主代码库中。

然后作为主要开发人员的经理将批准“拉取请求”。 如果合格,他会把这部分代码合并到主代码库中。 这个过程叫做“merge”,中文翻译成“合并”。

如果主开发者认为这个“pull request”不合理,他就会拒绝,英文叫做“Close”。 但是如果提这个“pull request”的人觉得自己是对的,那他可以独立出去,别再跟这个经理玩了,自己立一个项目,取个不同的名字,然后自己合并代码。 这样就形成了“叉子”,中文翻译成叉子。

以上是一个所有参与者都有开发权的过程,但是如果项目组外的人看到这个项目,想提交一个特性代码“pull request”,他必须先更新主代码仓库“forks”,然后提交“拉取请求”。 这个没有开发许可的人叫not having the right to submit code,有提交代码的权利英文叫commit permission。

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

比特币是一套开源软件。 一开始只有一个代码仓库,是中本聪建立的,叫比特币。 后来,很多人“分叉”了比特币,提交了“pull requests”。 有些人只是简单地“分叉”了自己。 ”,并独立出去,形成新的分叉。

现在比特币这个开源软件有很多分叉,最著名的有bitcoin core, bitcoinunlimited, bitcoin classic, bitcoin XT, Bcoin...

Chapter 2 软件版本上的“分叉”也叫“去中心化开发”

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

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

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

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

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

第三章 比特币区块链“协议升级”不一定“分叉(分裂)”

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

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

因为比特币网络的目标是在全网众多节点之间达成共识,所以比特币网络需要进行新的大版本升级,并在全网激活新的重大功能,这需要一些特殊的措施。

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

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

但这个过程并不是很简单,大多数重大升级都存在共识失败的风险。 甚至因为各方利益不同,一些人会在升级过程中恶意推动共识失败。

如果共识失败,比特币区块链可能有两条或更多条链。 这就是“分裂”,也叫“分叉”。

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

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

大家常说的“比特币分叉”,绝大部分意义上不是指“比特币分裂”,而是指“比特币协议升级”。

第四章 比特币区块链“协议升级”失败或导致“分叉(分裂)”

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

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

并且万一升级失败,导致两条链,大多数情况下还是可以通过社区的努力修复的。 小算力往往挖不出区块,倾向于回到大算力链上挖矿,分裂后再统一。

如果这两条链永远持续下去怎么办? 对用户来说,有两种币比特币分叉币有哪些,对矿工来说,需要思考适合挖矿的链是哪条。

也有故意“分裂”比特币的“分叉”。 发起者的出发点是创造另一个硬币。 因为比特币代码是开源的,发起人只需要复制代码,添加自己想要的功能,然后去挖矿就可以独立了。 这种“分叉”相当于“分裂”。

第 5 章任何人都可以在比特币区块链上发起“分叉(分裂)”

事实上,比特币代码是开源的,所以任何人都可以复制代码,修改一些功能,然后发布自己的版本。 只要有矿工挖,没有其他矿工,你自己去挖,就能分出一条链来。

事实上,任何一种山寨币都可以看作是比特币的“分叉(分裂)”,比如LTC,就是从比特币的零区块高度分裂出来的一种山寨币。

今年4月26日,也有人在比特币区块高度463604处发起了对比特币的“分叉(拆分)”,凡持有该高度或之前币种的均可1:1分配。 一种叫做 btx 的货币。 该币的大部分规则与比特币BTC相同,只是区块大小为20M比特币分叉币有哪些,隔离见证。

比特币迄今为止最著名的“分叉(分裂)”就是BCC。 8 月 1 日,在区块高度 478558,比特币分裂为一种名为比特币现金 BCC 的货币。 块大小为 8M,没有隔离见证功能。 在此高度之后持币的用户将按1:1分配BCC。

8月24日,在区块高度481824,比特币再次发起“分叉”,激活隔离见证,但这次并没有带来分裂。 而这次“分叉”是Segwit2x的前半部分,下半部分,计划在11月进行2x升级,区块高度494784,大概在2017年11月18日左右。“分叉”是否等同于“分裂” ” 届时,我们拭目以待。

现在有人计划在 10 月 25 日对比特币进行“分叉(拆分)”,试图创造一种名为比特币黄金的货币。

第六章结论

forking,splitting,真是傻傻分不清楚。