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