一张图了解比特币分叉史

201904102238231.jpg

下文有一张比特币分叉图总结。虽然没有涵盖到所有的分叉,但图中展示了至今为止的一些最重要的分叉。


什么是比特币分叉?

“分叉”这个词有时会让人不好理解,因为不同类型的“分叉”代表着不同的东西。


代码库分叉

代码库分叉是软件实现代码的副本。代码库分叉通常是对原始代码库进行的调整。在比特币上,代码库的分叉意味着生成可以与比特币协议完全兼容的代码。它们可能会导致区块链的分叉,或者形成一个全新的数字货币体系。


区块链分叉

当区块链上出现两个版本的交易历史记录时,就会发生区块链分叉。发生这种情况的原因有很多,可以是预期之内的,也可以是预期之外的。结果需要根据具体情况来看,可能会导致一个孤立区块或一个全新的数字货币体系。


硬分叉

硬分叉是一种协议升级,它可以放宽或删除规则。如果所有用户都进行升级,那么硬分叉就不会导致区块链的分叉。尤其在比特币上,一些人认为,除非所有用户都升级,否则“升级”的协议根本不应该被称为硬分叉,而应该称为一种新的数字货币或“分叉币”。


软分叉

软分叉是一种协议升级,它可以收紧或添加规则。软分叉的升级可能会导致区块链的分叉,但是大部分哈希算力的强制执行将最终聚合相同的历史交易记录。哈希算力可以让矿工激活软分叉 (MASF),而用户也可以激活软分叉 (UASF)。


灰色地带

虽然不同的名词间有所区别,但比特币分叉的情况其实很复杂。硬分叉和软分叉之间的区别往往不是很明显,有时甚至根本不清楚什么要进行协议升级。时至今日,业内专家对某些事件的分类仍存在分歧。有些纯粹出于政治动机而试图改写历史的分叉,会让情况变得更为复杂。


201904102238242.jpg


图中关键信息


比特币核心

比特币诞生于2009年,当时中本聪发布了第一个比特币代码库。然后,它被称为“比特币”(或者,更具体地说,第一个版本的“比特币0.1.0”)。同一代码库的后期被重新命名为“比特币核心”,有时也被称为“中本聪客户端”。


常规区块链分叉

当两个或更多的矿工同时挖到有效区块时,比特币的区块链会分叉成为两个分支。按照设计的规则,只要一个分支变长,这些分叉就会分解,此时较短的分支就会被丢弃。哪怕是今天,这种情况也经常发生。


第一次软分叉

比特币的第一个软分叉协议升级后禁用了协议特性的OP_RETURN。从技术上讲,这是一个UASF,但在早期,实际上只是中本聪在制定协议规则。升级没有导致区块链分叉。


第一次硬分叉

比特币的第一次硬叉协议升级增加了一个新功能OP_NOP,而且也是由中本聪指定的。然而,并不是所有人都认为这次升级实际上是一个硬分叉。从结果来看,它没有导致区块链分叉。


意外的区块链分叉

在比特币网络的不同部分看到不同的交易历史,并且通常不会自动解决的时候,就会出现意外的区块链分叉。这种类型的区块链分叉通常是由软件缺陷或其他技术问题引起的,并且是比特币可能经历的最大短期故障之一。幸运的是,在比特币的历史上,这种事情只发生过两三次,每次都是通过社区协调解决的,并没有造成太大的破坏。


比特币结 Bitcoin Knots

比特币结是比特币核心代码库分叉的一个例子。代码库分叉的是代码的副本,而不会引起区块链分叉。比特币结的设计初衷是与比特币核心保持兼容——它只是提供了不同的功能,可以理解为相互兼容又能提供不同功能的比特币钱包软件。


Libbitcoin

Libbitcoin是在不同的代码库中完全重新实现比特币协议的一个例子。它不是一个比特币核心的代码库分支,但它的设计目的是保持与比特币核心兼容。


第一次MASF

P2SH升级可以说是第一个MASF,尽管后来的MASF使用了一种更纯粹的基于哈希算力的升级机制。它没有导致区块链分叉。


BIP148客户端

BIP148客户端是比特币核心代码库分叉的另一个例子。BIP148客户端被调整为强制执行的UASF,以便激活隔离证协议的升级。它可能与比特币核心和其他比特币客户端变得不兼容。


比特币ABC

比特币ABC是比特币核心代码库分支的另一个例子。然而,比特币ABC进行了调整,以确保它在某个时间点与比特币核心和其他比特币客户端不兼容。

Bitcoin ABC从比特币中分叉出来,并创造出了“比特币现金”

2017年8月1日,比特币ABC与比特币核心等比特币客户端发生冲突。在此过程中,它创造了一种新的数字货币,称为“比特币现金”。(虽然该信息在这张图中并没有显示,但比特币现金现在也包括了几个客户端——不仅仅只是比特币ABC。)


BTC1

BTC1也是一个比特币核心的代码库分支,经过调整后,确保了它与比特币核心以及其他比特币客户端不兼容。然而,BTC1的目的是为新的比特币协议“Segwit2x”部署硬分叉升级。换句话说,它的目标是让所有比特币用户都改用Segwit2x协议,并把这个协议称为“比特币”。


第一次UASF

如果当时BIP148客户端没有获得足够的支持,它就会放弃比特币原链,从而创建一种新的数字货币。然而,由于有足够多的矿工升级了他们的系统,BIP148的客户端仍然与其他比特币客户端兼容。许多人将此协议升级视为第一个“真正的”UASF:它不是由开发人员决定的,而是源于草根用户的运动。


Bitcoin Clashic

这是一个新的Bitcoin ABC发行版,旨在从硬分叉到升级的比特币现金协议。大多数比特币现金用户确实升级了这种新协议,并将其命名为“比特币现金”。然而,一小部分用户选择继续使用最早的比特币现金协议,并为这种加密货币取了一个新名字:“Bitcoin Clashic”。


比特币核心(尚未实现)

2018年初,Bitcoin Clashic社区中的大多数人都采用了Bitcoin Clashic客户端的一个代码库分支,名为Bitcoin Core Sq。这与现有的Bitcoin Clashic客户端不兼容,所以这又一次创造了一种新的数字货币。该软件故意和“比特币核心Bitcoin Core”的名字相混淆,实际上Bitcoin Core Sq和Bitcoin Core的数字货币、Bitcoin Core软件客户端、比特币协议并不兼容,是不同的产品。虽然Bitcoin Clashic也存在了一段时间,但现在它已经完全被抛弃了(主要是被比特币核心所取代)。


Segwit2x的失败

由于种种原因,几乎没有人采用BTC1。它不仅未能“升级”比特币协议,甚至没有能继续作为一种新的数字货币。


比特币黄金、比特币钻石和几十种分叉币

在Bitcoin ABC开创了一个通过区块链分叉创造比特币现金的相对成功的先例之后,一系列所谓的“分叉币”都陆续问世。比特币现金诞生于比特币社区内部长期存在的分歧,而其他比特币分叉币则普遍认为区块链分叉是一种发行新币的好方法。


Bitcoin SV

中本聪的愿景(Bitcoin SV)是比特币ABC的一个代码库分支,但经过调整,比特币SV确保了它在某个时间点与比特币现金协议并不兼容。


Bitcoin ABC和Bitcoin SV的分歧

2018年,比特币现金社区内部出现分歧,导致比特币ABC和比特币SV都脱离了现有的比特币现金协议。比特币ABC方面的分裂几乎在各个方面都更大,并自称为“比特币现金”(Bitcoin Cash),不过现在它也被称为“比特币现金ABC”。比特币SV方面的分裂称其为“比特币SV”。新的数字货币及其主要实现,现在都使用“比特币SV”这个名字。)


Bitcoin Dark

Bitcoin Dark是比特币核心的一个代码库分支,同时它形成了一种同名的数字货币:Bitcoin Dark。与莱特币和其他许多数字货币一样,这个代码库从一开始就被调整为与比特币协议完全不兼容。因此,它是一种全新的数字货币,而不是区块链的分叉,只是碰巧在其名字中使用了“比特币”。如今,Bitcoin Dark已经销声匿迹了。

0 个评论

要回复文章请先登录注册