全新

通过即将推出的 IQ.wiki API,将专家精选的加密货币和区块链知识集成到您的应用中。

0% read

Fork

Fork

分叉(Fork)是一种开源代码修改,每当的协议或基本规则集发生变化时就会发生。它是复制现有代码并对其进行修改以创建新产品的一种手段。通常,分叉发生在区块链协议的管理社区在提出改进区块链功能和设计的提案后产生分歧时。[1][2][3]

概述

当社区对区块链协议引入变更时,就会发生分叉。因此,链会发生分裂,产生一个次级,该区块链保留了原始链的所有历史数据,但开始了一条截然不同的轨迹。许多区块链分叉是由于对嵌入特性的分歧而发生的。然而,分叉通常是为了在网络中实施根本性变革,或创建一个具有与原链相似特征的新资产。一般来说,分叉具有“共同历史”,因为在分裂之前,旧链和新链上的交易记录是完全相同的。[2][4]

分叉的分类

分叉基本上分为两类:代码库分叉(从现有的区块链代码库创建一个新的独立项目或版本)和运行中区块链分叉(将正在运行的进一步分为两部分)。运行中区块链分叉又分为两种类型:意外分叉(由于软件故障或哈希率异常波动导致网络分裂成两个或多个方向后,区块链中出现扩展分支)和故意分叉(当节点运营商选择启动自己的区块链并刻意在其上生成区块时)。故意分叉进一步分为两类:(对加密货币协议进行的重大更改,与以前的版本不兼容)和软分叉(对协议进行的修改,保持向后兼容性)。[1][5][6][7]

代码库分叉涉及复制软件实现的源代码,通常涉及对原始代码库进行调整。在的背景下,代码库分叉可以分为三类:兼容代码库分叉、分叉和新创建。这些区别说明了比特币生态系统中代码库分叉可能产生的多样化结果。[1][8]

兼容代码库分叉

这些分叉涉及对比特币软件代码库进行更改,同时保持与现有比特币协议的完全兼容。它们通常引入新功能或改进,而不会导致区块链分裂。[8]

区块链分叉

某些代码库分叉以不向后兼容的方式改变了比特币协议。这可能导致“区块链分叉”,即网络分裂成两条独立的链,每条链遵循不同的规则集。如果分叉获得足够的支持,随后可能会导致新加密货币的创建。[8]

新加密货币创建

在某些情况下,的代码库分叉可能非常重大,以至于创建了一个拥有自己区块链的全新。这些分叉通常涉及对协议、共识规则或底层技术的重大更改,从而诞生了一种独特的数字货币。[8]

运行中区块链分叉

运行中的确实可能发生分叉,即软件和协议规则最初相同,但在区块链历史的特定点上,链分裂成两个独立的部分。发生这种情况的原因多种多样,包括共识规则的差异、社区内的分歧或软件升级。当这种分叉发生时,会导致两条具有各自交易历史的独立链,每条链都可能独立发展,可能有不同的节点、矿工和用户支持其中一方。决定遵循或支持哪条链通常取决于网络参与者的偏好以及社区内达成的共识。在运行中区块链的背景下,分叉可能由于两个主要原因发生:意外分叉和故意分叉。[1]

意外分叉

意外分叉也称为“临时分叉”,发生在矿工几乎同时发现新区块时,导致创建了两个独立的区块链。在此期间,网络中多条链共存,并开始通过扩展各自的区块序列来竞争成为主导链。网络中的一些参与者可能会接受并继续在其中一组矿工开采的区块基础上进行构建,从而从该点开始形成一条独特的链。其他人可能会选择遵循替代区块。随着这些竞争链的推进,一场决定哪条链能长得更长并积累更多区块的竞赛随之展开。随着时间的推移,较长的链不可避免地会胜出并超过较短的链,从而导致区块链网络合并为单一的统一链。这是因为网络中的所有节点都会汇聚到较长的链上,将其视为合法且公认的版本,使其成为区块链交易和历史的最终账本。[1][9][10]

故意分叉

故意分叉也称为永久分叉或个人分叉,发生在开发人员刻意更改的共同规则或协议,从而导致创建新时。故意分叉主要有两种类型,可以根据区块链协议的向后兼容性和新区块创建的时间进行分类:

  • 向后兼容的故意分叉:在这种类型的故意分叉中,对区块链协议所做的更改是向后兼容的,这意味着它们不会破坏现有区块链的功能。旧链和新链可以共存,用户可以选择升级到新协议或继续使用旧协议。
  • 非向后兼容的故意分叉:在这种情况下,对区块链协议所做的更改不具有向后兼容性。这会导致永久性的分裂,通常被称为“硬分叉”,从而创建两条具有不同规则和交易历史的独立链。用户和矿工必须选择支持哪条链,这可能导致两种不同加密货币的诞生。

刻意链分裂的成功在很大程度上取决于是否有庞大的社区支持新币。如果没有足够的兴趣或支持,新代币的价值可能会跌至零,可能会停止。相反,如果有一个重要的社区支持新币,两种资产都可以继续发展并共存。在某些情况下,故意分叉可能一直无法解决,导致两条链无限期共存,并有效地将网络分裂成两个独立的社区。[1]

故意分叉分为两类:硬分叉和软分叉。和软分叉都是升级和演进区块链网络的机制,但它们对网络的影响以及参与者之间所需的共识程度有所不同。[1][9][10]

硬分叉

是对区块链协议的刻意且重大的更改。这可能由于协议升级、共识规则更改或引入新功能等各种因素而发生。当硬分叉发生时,通常会导致永久发散为两条独立的链,每条链遵循自己的一套规则。用户和矿工必须选择支持哪条链,这可能导致创建两种不同的加密货币。[1]

软分叉

软分叉是对区块链协议的向后兼容更改。这意味着引入的新规则仍被运行旧软件版本的节点所接受。在这种情况下,区块链不会分裂成两条独立的链。相反,网络在单一链上继续运行,但运行更新软件的节点会执行新规则,而运行旧软件的节点虽然保持兼容,但可能不会执行这些更改。[1]

示例

2012年,Gavin Andresen创建了的第一个分叉,即第一个主要的区块链分叉,被称为 Bitcoin XT。该分叉旨在增加比特币的区块大小限制。然而,它没有获得在比特币网络上实施所需的足够支持,到2016年,它已经停滞不前。[5][11]

以太坊

2016年,由于一起被称为 (去中心化自治组织)黑客攻击的争议性事件,硬分叉为。最初,在以太坊网络被黑客攻击后,分叉试图撤销黑客攻击。然而,以太坊社区在如何处理这种情况上的分歧导致了其硬分叉,创建了以太坊经典。2022年9月,以太坊区块链从(PoW)转向了(PoS)共识机制。这使得 ETHPoW (ETHW)——一个源自“合并”(The Merge)的独特 PoW 区块链——上线运行。[2][12]

比特币现金

2017年,由于在扩容方案上的分歧,发生了分叉,导致形成了不同的社区和链。社区认为比特币交易应该更便宜、更快捷。此外,他们认为应该保持较小的区块大小以维护去中心化。比特币现金的目标是帮助更多矿工以可持续的方式参与并竞争区块奖励,同时不牺牲即时的成本和速度优势。[2]

发现错误了吗?

参考文献 (12 来源)

首页分类维基MC事件词汇表