分叉是指对区块链协议或基本规则集进行更改时发生的开源代码修改。这是一种复制现有代码并对其进行修改以创建新产品的方法。通常,当管理区块链协议的社区在提出改进区块链功能和设计的提案后出现分歧时,就会发生分叉。[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 年,由于一个有争议的事件,即 DAO(去中心化自治组织)黑客攻击,以太坊被硬分叉成 以太坊经典。最初,在以太坊网络被黑客攻击后,该分叉试图扭转黑客攻击。但是,以太坊社区对如何处理这种情况的分歧导致了它的硬分叉,从而创建了以太坊经典。2022 年 9 月,以太坊区块链从 工作量证明 (PoW) 共识机制转变为 权益证明 (PoS) 共识机制。这使得 ETHPoW (ETHW)(一种与 The Merge 不同的 PoW 区块链)上线。[2][12]
2017 年,由于对扩展解决方案存在分歧,比特币现金被分叉,导致形成了不同的社区和链。比特币社区认为比特币交易应该更便宜、更快。此外,他们认为应该保持较小的区块大小以保持去中心化。比特币现金的目标是帮助更多的矿工以可持续的方式参与并竞争区块奖励,而不会牺牲即时成本和速度优势。[2]