任何软件都需要不断更新以解决问题或提高性能。 在加密货币领域,这些更新被称为“分叉”。
由于加密货币是去中心化的网络,因此网络中的所有参与者(被称为节点)都需要遵循相同的规则才能正确地协同工作。 这套规则被称为“协议”。
一份协议中的典型规则包括区块链中每个区块的大小,矿工挖到每个新区块所得的奖励等等。
加密货币领域中有两种类型的分叉,软分叉和硬分叉,但这两种分叉都从根本上改变了加密货币协议的工作方式。
软分叉
软分叉是一种向后兼容的加密货币协议的更新。 这意味着,只要它们不破坏新的协议规则,未更新的节点仍然能够处理交易并将新的区块广播到区块链。
让我们想象一个软分叉,它制定了一个新的规则,将区块大小从3mb降低到2mb。 旧的节点仍然可以处理交易并将2mb或更小的新区块上链,然而如果旧节点尝试将大于2mb的区块广播到网络中,新的节点则会因为该区块违反了新规则而将它拒绝。这样的话,旧节点会被激励以更新协议,因为旧的节点不如更新的节点高效。
硬分叉
硬分叉是与先前版本不兼容的加密货币协议的更新,意味着未更新到新版本的节点将无法处理交易或将新区块广播到区块链。 硬分叉可用于变更或改进现有协议,甚至可用于创建新的独立协议和区块链。
让我们想象一下一个将区块大小从2mb增加到4mb的协议更新(硬分叉)。 如果一个更新的节点尝试将一个3mb的区块上链,则旧的未更新节点不会将该区块视为有效而将它拒绝。
视情况而不同,硬分叉可以是计划好的或是有争议的。
在一个计划好的分叉中,参与者会自愿升级他们的软件以遵循新规则而抛弃旧版本。未更新的参与者则会留在几乎无人使用旧链上进行挖矿。
但是如果分叉是有争议的,也就是说社区内有关于此升级的分歧,协议通常被分叉为两个不兼容的区块链——两种不同的加密货币。 两个区块链都会有自己的社区,而开发人员沿着他们认为最正确的道路上开发。
由于分叉基于原来的区块链,因此原版区块链中的所有交易也会被复制到新的分叉中。 举例来说,如果你有100个叫做Coin A的加密货币,并且一个基于该加密货币的硬分叉创建了一个名为Coin B的新加密货币,你还将获得100个Coin B。
由于加密货币的开源特性,随着越来越多具有不同目标的个人和组织进入该领域,分叉将继续作为加密货币发展不可或缺的一部分。