编者按:本文来自链闻ChainNews,撰文:BitcoinMagazine,翻译:BitcoinM,星球日报经授权发布。11月15日晚,比特币现金硬分叉顺利完成,诞生出BCHA和BCHN两条链。实际上,比特币现金本身也是从原生比特币分叉出的一条链,而作为「加密货币之王」的比特币到底有多少分叉呢?下面,就让链闻和大家一起回顾下吧。首先,我们需要了解一个概念,即:什么是所谓的分叉?「分叉」这个词会让人感到有些困惑,实际上,加密货币和区块链世界里许多不同类型的「分叉」,它们的含义也各不相同,具体包括:代码库分叉
代码库分叉是软件实现的「代码副本」,代码库分叉通常是指对原始代码库进行调整。在比特币中,代码库分叉可以与比特币协议完全兼容,也可能导致意外的区块链分叉,或是建立一个全新的加密货币。区块链分叉
当区块链被拆分成两个版本的交易历史记录时,就会发生区块链分叉,发生这种情况可能有多种原因,有的是预料之中,有的是预料之外,需要视具体情况而定。区块链分叉会导致产生多种结果,有可能会出现单个孤立区块,也有可能出现全新的加密货币。硬分叉
硬分叉是一种协议升级,一些协议规则可能会在硬分叉后被放宽,也可能被删除。如果所有用户都升级,那么硬分叉不会导致区块链分裂。尤其是在比特币的情况下,有人认为除非所有用户都进行升级,否则「已升级」的协议根本不应该被称为硬分叉,而是应该被称为「新加密货币」或「分叉币」。软分叉
软分叉也是一种协议升级,其主要功能是强化或添加协议规则。软分叉升级可能会导致区块链分叉,但拥有大多数算力的一方会强制执行软分叉,继而确保网络遵循相同的交易历史。一般来说,矿工激活的软分叉(MASF)由算力触发,用户激活的软分叉(UASF)则是由用户触发。灰色地带
虽然上面四个分叉术语和定义覆盖了目前加密货币市场上已有的「分叉」类型,但现实环境其实非常复杂。比如,硬分叉和软分叉之间的区别似乎并不明显,加密社区有时甚至分不清该把哪种分叉视为协议升级。不仅如此,在某些情况下业内专家对「分叉」类型也持有不同意见,有的出于性动机、有的想重写交易历史,结果导致比特币分叉更加令人困惑。
接下来,让我们进入正题,看看比特币到底有多少分叉?中本聪于2009年发布了第一版比特币代码库,由此正式推出比特币。然后,比特币被称为「Bitcoin」。该代码库的后代被更名为「BitcoinCore」,有时也被称为「Satoshi客户端」。常规比特币区块链分叉
当两个或多个矿工同时找到有效区块时,比特币区块链将分叉成两个分支。按照比特币分叉设计,这些区块链分支会在一个分支链变长时立即解析,此时较短的那个分支链就会被放弃。即使在今天,这种情况也经常发生。比特币首次软分叉
比特币第一次软分叉协议升级禁用了协议功能OP_RETURN,从技术上讲,这是一次用户激活的软分叉,即UASF。但在比特币早期阶段,只有中本聪一个人「实际控制」比特币协议规则,因此这次升级并没有引起区块链分叉。比特币首次硬分叉
比特币的第一次硬分叉协议升级增加了一项新功能OP_NOP,这次分叉其实也是由中本聪自己决定的。但是,并非所有人都认为本次升级是一次真正意义上的硬分叉,因为这次分叉并没有导致区块链拆分。比特币区块链无意分叉
当比特币网络不同部分看到不同的交易历史、并且情况无法自动解决时,就会发生无意区块链分叉。这种类型的区块链分叉通常是由软件错误或其他技术问题引起的,也是比特币可能遇到的最大短期故障之一。幸运的是,区块链无意分叉在比特币历史上仅发生过两到三次,而且每次都通过社区协调后顺利解决,也没有造成太大损失。BitcoinKnots
BitcoinKnots是比特币核心代码库分叉的首个典型示例,代码库分叉是一种软件实现的「代码副本」,因此并不会引起区块链分裂。事实上,BitcoinKnots与BitcoinCore完全兼容——前者只是提供了不同功能而已。Libbitcoin
Libbitcoin是一个在不同代码库中完全重现比特币协议的分叉示例,它不是BitcoinCore代码库分叉,但是同样与BitcoinCore完全兼容。比特币历史上第一次矿工激活的软分叉(MASF)
P2SH升级可以说是比特币历史上第一次矿工激活的软分叉(MASF),尽管后来矿工激活的软分叉使用了更纯粹的、基于算力的升级机制,但都没有引起区块链分叉。BIP148客户端
BIP148客户端是BitcoinCore代码库分叉的另一个示例,BIP148客户端强制执行了一个用户激活的软分叉,以便激活「隔离见证」协议升级,目前可能已经与BitcoinCore和其他比特币客户端不兼容了。BitcoinABC
BitcoinABC是比特币核心代码库分叉的另一个示例,但是BitcoinABC进行了一定程度的分叉调整,以确保在某个时间点与BitcoinCore和其他比特币客户不兼容。BitcoinABC正式脱离比特币,创建「BitcoinCash」
2017年8月1日,BitcoinABC与BitcoinCore和其他比特币客户端不再兼容。从此之后,BitcoinABC创建了一种全新的加密货币,称为「BitcoinCash」,即比特币现金。BTC1
BTC1也是BitcoinCore的一个代码库分叉,该分叉同样与BitcoinCore和其他比特币客户端不兼容。但是BTC1有一个特定目的,即为新的比特币协议「Segwit2x」部署硬分叉升级。比特币历史上第一次用户激活的软分叉(UASF)
BIP148客户端分叉其实并没有获得足够的社区支持,这是因为它希望脱离比特币来创建新的加密货币,但最终升级到相应系统的矿工屈指可数,因此BIP148客户端仍然与其他比特币客户端兼容。许多人认为该协议升级是第一个「真正意义上的」用户激活的软分叉(UASF),因为该分叉不是由开发人员决定,而是从基层用户运动孕育而生的。BitcoinClashic
BitcoinClashic是一个全新的BitcoinABC版本,旨在通过硬分叉升级到比特币现金协议。实际上,大多数比特币现金用户都已完成升级并认可了新协议名称为「BitcoinCash」。但是,仍有一小部分用户选择继续使用第一个版本的比特币现金协议,这部分用户将此分叉的加密货币命名为:「BitcoinClashic」。BitcoinCoreSq
2018年初,大多数BitcoinClashic社区采用了BitcoinClashic客户端的一个代码库分叉,该分叉被称为BitcoinCoreSq,与现有的BitcoinClashic客户端不兼容,结果再次创建了一个全新的加密货币,但BitcoinClashic社区却故意将其命名为「BitcoinCore」。需要注意的是,BitcoinCoreSq和/或真正的BitcoinCore软件客户端、和/或真正的BitcoinCore加密货币、以及和/或真正的Bitcoin协议都不兼容。BitcoinClashic存在了一段时候后,现在已经被完全废弃。Segwit2x宣告失败
由于多种原因,加密社区几乎没有人采用BTC1,结果导致BTC1不仅无法「升级」比特币协议,甚至无法在市场上继续作为一种全新加密货币而存在。比特币黄金、比特币钻石、数十个其他比特币分叉币
在BitcoinABC通过区块链分叉成功创建比特币现金之后,加密社区从中看到成功先例,于是许多比特币「分叉币」开始出现。实际上,比特币现金之所以能够成功分叉主要是因为比特币社区长期存在分歧,但随后出现的那些「分叉币」大多是为了分叉而分叉,他们只是认为分叉是创建另一个新加密货币的「好方法」,仅此而已。BitcoinSV
BitcoinSatoshi’sVision是BitcoinABC的代码库分叉,但该加密货币对协议进行了调整,旨在确保未来某个时间点将与比特币现金协议不兼容。BitcoinABC和BitcoinSV分道扬镳
2018年,由于比特币现金社区内部分歧愈演愈烈,BitcoinABC和BitcoinSV决定从现有比特币现金协议中分离。尽管有时会被称为「BitcoinCashABC」,但BitcoinABC几乎在各个方面都优于BitcoinSV,因此加密社区现在所说的「比特币现金」其实指的就是BitcoinABC,而当年分叉过程中的BitcoinSV之后仍被加密社区称为「BitcoinSV」。BitcoinDark
BitcoinDark是BitcoinCore的一个代码库分叉,该分叉推出了一款同名加密货币:BitcoinDark。像莱特币和许多其他山寨币一样,BitcoinDark从一开始就把代码库调整为与比特币协议完全不兼容。因此,BitcoinDark是一种全新的加密货币,并不能被看作是一种区块链分叉,只是这个加密货币的名字里恰好有「比特币」而已。如今,BitcoinDark似乎已经不复存在了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。