# 比特币的分叉币逻辑

By [Metaon](https://paragraph.com/@endto) · 2022-03-20

---

![](https://storage.googleapis.com/papyrus_images/18343e164733924fcb791b5f70a2807161c26a7d47eb1d21e5529bed31561d0c.png)

1.“分叉”是什么

1.1. 分叉的一般定义 分叉（fork）是在软件开发的过程中，复制了一份代码并进行了修改，都称为分叉，即改出来的代码视为原来代码的一个分支。这是一种非常普遍的行为，在开源社区，任何开源代码都是公开的，任何人可以拷贝一份回来自己改，改出来一个不同的分支版本。把分支版本上传后，在你的分支版本基础上，其他人还可以继续分叉。

随着分叉的增多，一个软件的分叉呈现树形结构，有些软件因为参与开发的人很多，呈现出枝繁叶茂的分叉树形态。

1.2. 分叉的一般意义 1.2.1 版本管理的意义 在一个版本里面有很多修改，这个版本的差异跟上一个版本就会很大，一个版本有10个修改，跟有10个分叉，每个分叉有一个修改，从软件工程的角度，可以精确测试每个修改的变动，便于定位错误、测试、修订。因为开源社区，对同一份代码进行修改的人不同，而且互相不认识，所以不需要征得原作者同意，直接分叉出来，即可获得一份自己具有修改权限的分叉版本，等开发出来好用的功能代码，再提交给原作者审核合并到他的发行版本里面，或者自己独立发行。

1.2.2 迭代改进开发的意义 我们人类对未知的探索需要有大量的摸索、试错、实验，我们无法预设一条完美路径，然后去走，在科学创造、技术研发领域，真实情况是万箭齐发，全面探索，然后最后撞到“大运”，发现（发明）了有用的东西。分叉允许不同的思路和方法并行探索，任何人都可以去探索一条路子，扩大我们未知的知识图谱，因为人类认知的天然缺陷，我们无法完美预见未来，所谓伟大的发明，都是一将功成万骨枯。在技术史上，我们看到很多大企业及其利益联盟展开的史诗级的技术研发，投入了巨量的资源，经过充分的技术和市场论证，结局仍然是遭遇史诗级的彻底失败，这是开源运动得以兴起的原因之一。

1.2.3 开源社区社会化协作的意义 开源软件社区的协作是一种共产主义式的社会化生产，如果没有版本管理和分叉，是进行不下去的。以github为代表的开源代码托管平台，提供了完整的代码库版本和分叉权限管理功能，让全社会所有人，都可以从上面获得代码，并进行开发劳动、上传代码。不同的分叉独立探索，也可以合作，探索的成果还可以共享，探索的过程以子分叉的形式进行，而好的成果被合并形成主干分叉版本。

1.2.4 多样化的版本满足差异化的需求 以Linux为例，有Ubuntu、Debian、Centos、redhat、fedoro等大的分类版本，还有桌面版、服务器版、嵌入式版、精简版、稳定版、测试版、不稳定版、预览版等等的子分类版本。这些不同的linux满足了不同场景的差异化需求。这类版本介绍在网上的信息很多，这里就不详细展开阐述。

1.3 比特币分叉的特点 比特币是由软件实现的，而且也是开源的。比特币的代码一样是枝繁叶茂的各种分叉。任何人都可以修改代码，形成自己的分叉。这些比特币的代码分叉，有一些功能会被纳入”共识版本”，被所有比特币的使用者所使用，而有些代码无法进入“共识版本”，只用于少数范围内的测试调试。

决定哪些代码纳入共识版本的因素有：

技术社区的代码严格审计和论证 算力投票 节点投票 这些因素决定了绝大部分使用者同意的代码，才是共识版本。每一次共识版本的升级，都通过以上因素决定，到目前为止，比特币已经发布过几十次共识版本，相对于最初的版本，里面包含了至少几百项的改动和改进。

我们知道，比特币不仅仅是一种软件，我们更多的是把比特币当成一种“币”，如果每一种版本里面的“币”都不同，那么哪个是比特币，这个问题就产生了，而这对于比特币的“货币属性”是有极大的影响的，“币”的基础属性要求就是稳定和一致，随便印的币，会造成流通混乱，最后无法被信任使用。比特币通过“共识版本”解决这个问题，我们认为共识版本的比特币就是比特币。

代码不断迭代，共识版本有多个，如果不同的共识版本都是互相兼容的，老版本和新版本可以同时使用，所有的版本都保存同一种币，即比特币。而如果共识版本前后不兼容，麻烦就来了，老版本和新版本不能同时使用，新老版本保存两种不同的币。面对这种麻烦，可以争论到天昏地暗，上升到哲学层面去展开，包括什么忒修斯之船之类的哲学理论，都未必能够解决。

因为技术、哲学没法为这个问题提供确定性的标准，所以，基于现实（政治）考虑，目前比特币的共识版本升级已经确立了“永远软分叉”的技术升级路线，即每一个新版本必兼容老版本的共识版本。这不是某个人或组织主观的标准定义，而是多方政治博弈形成的事实上的形势。即一个新版本的（候选）共识版本如果不兼容老版本，导致老版本和新版本会形成2种币，那么这个共识版本基本上无法通过成为共识版本。详细的阐释见【论比特币“永远软分叉的开发路线”】

不用上升到哲学层面去解释，任何版本的比特币钱包，均只保存一种币，即比特币。是比特币获得“币”属性增强的有效手段，包含“存续时间信用”、“稳定形态表现信用”、“不可造伪信用”，这些属性对于货币都是极其重要的。

否则的话，比特币就很可能会成为“一种点对点的在线支付记账软件”，而不是“一种币”。理解这两者之间的差异，对理解比特币的分叉有至关重要的意义。“币”是什么，大部分人也许不能精确解释，但是绝大部分人都能感觉到“币”是什么。本文无意陷入经济学、哲学议题，只是对现状的关注和分析。

比特币的代码上的分叉是随意进行的，但能够被选择进入“共识版本”的代码，必须经过强有力的“共识决策”过程，不兼容的版本会产生两种币，乃至多种币，比特币的分叉已经超越了代码分叉、软件分岔的涵义，我们在谈论比特币分叉币逻辑和历史，不是讲比特币代码分叉的逻辑和历史，而是讲绕开共识版本制造“分叉币”、伪装共识版本、共识版本争议等分叉币的逻辑和历史。

1.  比特币的分叉币历史 2.1 分叉币的种类 任何复制了比特币代码，在做了修改之后发布的币种，均可称为分叉币。比特币的分叉币有以下三类：
    

第一类：Block 0分叉 复制比特币的代码并修改进行分叉，但从Block 0重新开始挖矿，“新币”和比特币没有交集，早期的莱特币、狗狗币、域名币、点点币，都属于这一类。

第二类：Block x分叉 复制比特币的代码并修改，同时复制比特币的区块数据，在某个区块高度继续开挖新币，“新币”在block x之前的币属于旧币的持有者，而新币由矿工新挖。

比特币现金(Bitcoin Cash）、比特币糖果（Bitcoin Candy）、比特币披萨（Bitcoin Pizza）、比特币上帝（Bitcoin God）、比特币信仰（Bitcoin Faith）、比特币钻石（Bitcoin Diamond）、比特币黄金（Bitcoin Gold）、比特币原子（Bitcoin Atom），都属于这一类。

第三类：原链分叉币 原链分叉币其实不是分叉币，它是“被分叉币”，是非常特殊的一种存在。目前为止，比特币并不存在原链分叉币，其它币种出现原链分叉币有ETC（ETH的原链）和BCC（BCH的原链），因为ETC已经硬分叉升级了，原链也不存在了，而BCC是目前唯一存在的原链分叉币，是我们研究的一个对象。A币分叉出B币，然后B币使用了A币的名字，这时候好像产生了一种新币X，其实它就是原来的A。

第四类：不存在的分叉币 针对比特币可能发生的分叉，交易所会上线“期货”分叉币，充值1个BTC到交易所，可以兑换为1个BT1、1个BT2，然后两个币分别可以交易，这种分叉币其实并不存在，只是交易符号，bitfinex在2017年开过2次这样的盘子，其中Segwit 2X的分叉最后没有发生，所交易的B2X直接注销，也就说买了B2X这个交易符号的分叉币，在截止之日，如果没有事实上发生分叉，这种分叉币期货直接归零。BCH和BSV分叉的时候也有类似的期货，如果到期之后BSV取消了，没有创造出来，也是类似这种情况。

2.2 第一类分叉币的历史 比特币在2009年产生，而在2011~2013年期间，已经有了数千种币，这些币大部分只是复制比特币的代码，并作了一小部分的修改，甚至只是改一个名字，就发布出来了。所以这些币，都可以视为比特币的分叉币。这类分叉币主要是复制比特币的代码，修订算法，发行总量等参数，各自的主链独立，但都没有复制比特币的区块数据，而是重新从block 0开始挖矿。这类分叉币均各自独立命名，各自规划各自的开发路线，被市场视为全新的币种，在2015年之后，随着用以太坊发行Token的兴起，有一些币种放弃主链条成为了以太坊上面的Token存在。

这一时期创造的币，在市值前100百名以内的，只有莱特币、狗狗币等寥寥无几的品种，其他大部分因为找不到存在的意义，已经走向消亡或式微。

2.3 第二类分叉币的历史 2017年，以大矿工为主导的BCH分叉，是第二类分叉币的第一个品种，之后在一年内这一类分叉币冒出来45个品种甚至更多。这类分叉，因为将block x之前的“新币”空投给了比特币持有者，也因此获得了一些比特币的用户。

这两年创造的这批分叉币，大部分同样因为找不到存在的意义，已经走向消亡和式微。

2.4 “比特币”夺名分叉的历史 所有的分叉币都有独立的名字，但是有一些分叉币展现出了宏大的理想，期望领先实现比特币的目标，并取代比特币的名号。在2017年BCH出现之后，它的名字是bitcoin cash，接着出现了BCH才是真正的比特币这个呼声，类似的呼声现在还有BSV才是真正的比特币。因此，展开了比特币夺名分叉的历史，这里面包含了一系列轰轰烈烈，甚至可歌可泣的奋斗历程。

我们知道，软件的分叉可以枝繁叶茂，Linux分为Ubuntu、Debian、Centos、Redhat等几大分支，每个分支还有很多细小的分支，但是这些分支都没有夺名的动机，都可以和平共处，共用Linux的内核，这种开源软件的名字，应该没有商标所有权的问题，没有任何一个公司、个人、组织拥有Linux、比特币的法律商标专利权。在软件分叉里面没有发生的问题，在币圈发生了，也证明了，币圈的分叉跟软件的分叉是有显著的差异的，在夺名的背后，是因为“币”的属性更要强于其软件的属性。

“名”本质上是虚无的，但对于“币”而言，“名”有现实上的意义，因为有了意义，便产生了争夺。从软件的角度，Ubuntu、Debian、Centos、Redhat都可以称自己为linux，没有毛病，同理，一千种分叉币，其实也可以称自己为比特币，也没有毛病。差别在于比特币是要花钱去买的，而linux是可以无偿使用的，所以比特币之“名”必然只能属于一种币，而不能属于多种币，用软件的思维套在“币”上，矛盾出现了。

2.4.1 夺名动机的来源 比特币夺名的动机其实来源于比特币自身，比特币类似一个魔戒，它采用数学系统实现自身属于胜者的定义，算力最强者获得出块奖励。这种奖励系统背后的意图是制造一个博弈论上的囚徒困境，矿工拼死争夺比特币，但产出恒定，迄今为止，比特币的算力已经上涨千亿倍（12位数），但是10分钟一个块(统计学上的意义）没有变，矿工投入更多，所得没有增加，而且不增加还会吃亏，这类始于各国的军事竞赛，增加军备不会扩大领土面积，但是不增加也不行。比特币有一个解决“拜占庭将军的难题”的理论，使矿工可以合作团结出块，但却设置囚徒困境，使矿工无法达成同步减低算力的共识（现实中同步裁军也很难进行）。

深陷囚徒困境的大矿工联合部分利益群体开启了一项冒险事业，即重造一个比特币，以及发起夺名运动，这群比特币的囚徒发起了进攻。这第，是夺名动机的来源，不过矿工很快发现，重造一个比特币，消灭一个比特币，等于重现了原来的囚徒困境，两币齐挖、多币齐挖貌似更好。

归根结底，这是由于利益格局造成的动机，其他的各种理由和说法，都是服务于这个动机的。当有人发现夺名有好处的时候，就会夺名，当发现夺名没有实质好处的时候，就会取消夺名，今天夺名的动机已经从大矿工转移到了交易市场的投机者身上。在未来，一旦有人发现，树立比特币的唯一性正宗地位，具有潜在的利益，原来主张夺名的人，也完全可能转变为支持全力消灭分叉币。总而言之，随着形势风向多变，追求利益最大化的本质动机没有变。币圈的极端主义很多都是伪极端主义，根本靠不住，形势一变，完全可能来个180度大转弯。

在2016-2017年的时候，有一群人找各种理由让比特币硬分叉，表面上看起来是主张某种技术路线，产生了大量的争论，这些争论表面上看也是技术争论，但是我们知道，从来不会有人带领1000个不懂技术的人去linux社区争论内核的CPU线程优化机制，应该采取何种方式为佳。出现这种情况，解释来解释去的，归根结底是有深刻的改变利益格局的考虑，假如有人想好了，就是要制造两个比特币，一边一个，那么硬分叉原链算力高，他就会去挖新链，反过来新链算力高，他就会去挖原链。对于意图突破囚徒困境的大矿工而言，用什么版本不重要，分叉成两个比特币很重要。

2.4.2 夺名的最佳时机 比特币的产生是空前的，而后要再造一个比特币，显然很难，通过分裂然后进行夺名，则相对可行。夺名的最佳时机点，在于比特币有一个共识版本要进行升级，且这个共识版本里面包含了两种可能性（由算力或节点投票选择)，选择的结果互相不兼容，也就是硬分叉的升级。在升级的时刻，算力兵分两路，分别选择两种可能性，最终产生了两种币，而且用的是同一版本的节点客户端，一个共识版本的客户端对应两条链条，谁是真正的比特币？可能彻底混乱了，谁是原链？谁是新链？开始吵翻天，在这种混乱之中，产生了一个极佳的操纵时间窗口，包括舆论、算力、节点都可能被引导，利用这个机会，营造出决斗的场面感，某一方利益群体可以一举夺下比特币名号。

所以说，强制性的客户端升级、同时存在不兼容的多种升级选项，都是风险，有人把这种观点称为硬分叉恐惧论，不管怎么表述，这种担忧是客观存在的。共识版本不能包含不兼容的选项，包含不兼容的选项，则无法形成共识版本，所以在一个共识版本里面，要写入两种区块大小的标准，且互不兼容，在社区有基本的理性的前提下，看不到通过的希望。

2.4.3 比特币夺名的发展 比特币在2017年最终确立了软分叉的升级路线，分裂无望，于是BCH直接出现了。BCH出现一段时间，开始有人把BTC定义为BCE，然后也没把BCH称呼为BTC，更多的是称呼为BCH，这种思路脑洞是有点大的，但也挺新奇，让人看到感觉眼前一亮，我有时也在网上搜集BCE的信息。还有人把BTC称为Bitcoin Core，后来真有人做了一个币称为Bitcoin Core。

到了2019年，分叉自BCH的BSV出现了，BSV并没有主张自己是正宗的BCH，而是主张自己是正宗的BTC，在很多关于BSV的文章的前面，一般可见这么一句话：下文的BTC指的是BSV的BTC，不是那个你懂的BTC的BTC。这个逻辑浅显易懂，比BCE有了很大的进步。

2.4.4 比特币之名的标准是什么？ 没有谁能够规定哪种币应该叫做比特币，这其实是一种约定成俗，所有人都同意某种币称为比特币，其实也没有人反对，一小部分主要另外一种币是比特币，就要经过奋斗乃至战斗，去争取其他人的支持，让他主张的那种币被绝大部分人认为是比特币，比特币对此没有意见，而这类人除了有发财的想法之外，其实也没有其他的想法来实现他的目标。

哪种币应该持有比特币之名没有一个硬性的标准，比特币的创立者（早就跑路了）也没有制定这个标准。在比特币圈子里面，主要有以下各种说法：

最强算力的链条是比特币 累积最长工作量的链条是比特币 存在时间最长的链条是比特币 挖矿难度最高的链条是比特币 最多节点支持的链条是比特币 交易量最多的链条是比特币 市值最高的链条是比特币 其实这些说法，也没有绝对的共识，后来又有了支持大区块才是比特币的说法，BCH的区块大小为8MB，后来逐步扩容为32MB，而BSV一步到位扩大到了128MB，大有以区块大小论比特币的感觉。这些逻辑，总归是有一部分人相信的，所以只要有人信了，就有市场，所以在夺名运动中，只要有一个逻辑有人认可，就会有人想办法迎合这个逻辑，BCH直接延用BTC的难度系数，这样看起来它就很像是比特币的一次共识版本硬分叉，但它改了难度调整方式，迅速下降了难度，又有点不像了。BCH因为宣传了大区块的好处，逐步扩容到32MB，但实际区块利用率只有0.3MB。

这些关于比特币的标准，我们不知道哪种靠得住，夺名者也很难自圆其说，有些说法如同儿戏。

从常识角度，凡是“币”在稳定性和一致性方面有很刚性的需求，这是其信用价值的基础，比如白金，各方面指标比黄金好，但是黄金毕竟流行千年，在货币信用这方面，黄金是强于白金的。比特币因为有先发优势，且逐步确立了永远软分叉的技术路线，大体上来说，其各项指标优势，只要没有被全方位超越，其积累的时间信用极有可能成为事实上的标准。

1.  关于原链分叉币的探讨 3.1 原链分叉币的特殊性 在币圈原链分叉币的出现是非常麻烦的事情，如【论比特币的永远软分叉开发路线】所言，永远软分叉从技术上可以规避原链分叉币的出现，而硬分叉的升级，每一次都可能会导致原链分叉币的产生。
    

我们今天看到，其实产生的原链分叉币也不多，是因为原链分叉币的产生有几个前提条件：

原链分叉只能发生在共识版本升级期间 比特币任何一个共识版本的升级经过广泛的社区化讨论和论证，在没有新的共识版本推出之前，或者推出的共识版本里面没有需要决定激活的修订选项，所有矿工只能挖原链一种选择。比特币具有去中心化的形态，不能随便推出一个版本就成为比特币共识版本，上一次扩容升级，争论了整整2-3年，最后软件发布了，还耗费了整整一年多完成了算力投票、激活，而且这还是软分叉升级，共识版本里面并没有存在不兼容的选项。在比特币领域，共识版本的硬分叉升级，已经有6年没有发生了，且可以预见接下来相当长时间也不会发生。而在BCH和BSV阵营，也在对硬分叉的升级路线进行反思，不排除也会转变升级方式，所以原链分叉的产生机会其实不多。

共识产生了分歧或分裂 算力投票都是有成本的，一般来说矿工倾向于抱团作战，投入相同的成本分别获得两种币，差价数十倍，显然，都会扎堆去挖高价的币。挖矿都是真金白银的投入，因此除非有非常显著的分歧，否则分叉币很难诞生出来。有很多时候，分歧本身并不重要，而是有人期望有分歧，这跟现实一样，挑起战争的一方都会宣称自己是正义的，而结束战争的手段也必然是战争，利益格局的变动，哈希战争目前还看不到完全消停的时刻。

需要有足够大的算力支撑 比特币的算力难度是13位数，有50E的算力投入，才能够10分钟挖出来一个块，BCH的算力难度是12位数，有2.5E的算力投入，才能够10分钟挖出来一个块。要知道1E=1000P，1P=1000T，而现在顶级的矿机算力为50T/台，这样的矿机有100万台在挖比特币，5万台在挖BCH。而比特币的算法是2016个块调整一次难度（约14天），一条分叉链条，难度系数没有调整，要出块需要很大的算力支撑。新链条（硬分叉）可以修改降低难度，或者自动调节难度的机制，而原链条是老版本代码，总得用原来的难度继续往下挖。如果只有10%的难度投入，那么需要140天~280天时间才能够恢复正常出块，技术10%成本是巨大的，算力获得的产出奖励也变小了。如果是1%，那么难度调整的周期长达1400天~2800天。

BCH对于比特币而言是新链条（硬分叉），难度系数不变，但采用了EDA机制，进行难度调节，这是其能较快恢复出块的原因（在算力低的情况下）。而后该链条在下一次硬分叉升级的时候，继续出块，也是依赖了这个机制，目前使它成为了一条原链。

3.2 原链分叉币的开发价值 比特币的分叉历史上，“币思维”是完全占据主导位置的，而“开发思维”、“技术思维”是其次的，如上所述，更多的分叉、更多的开发路线，对于比特币的研发而言，是百花齐放，多路探索，从进化论角度，这增加了获得成功的概率。

用“技术思维”和“开发思维”去看待每一条链条，都可以进行摸索，而且有其独特的开发价值。比特币的创新是突破性质的，但是我们知道人类的突破性创新，都是厚积薄发，哪来天天有革命性的成果，无数细微的迭代累积和生态化反，最终可能产生有价值的应用场景，即使没有找到有价值的应用场景，任何技术的探索都可以成为人类知识库的储备。中本聪正是在密码学领域寻找到了新的应用场景，并将之实现，在他没有实现之前，不能说这些数学的知识储备毫无意义。币圈的各种经验主义、教条主义，与这些朴素的发展观有矛盾，都是需要批判和反思的，以求进步。

随着我们对“币思维”的总结和反思，技术中立论、知识中立论有必要重新得到认真的看待。

3.3 原链分叉币的治理策略 分叉币之间的斗争是客观存在的，类似军阀混战时期，还没有一种强而有力的“主义”，可以实现求同存异，将各种势力统战到一个目标里面。比特币社区已经是一个大型“组织”，稳定的路线和激进的路线的并行探索本不矛盾，放大到整个社会，其实比特币仍然是很“弱小”的一个APP，绝大部分人并没有实际使用比特币，作为一种社会化的实验，比特币社区的实践范围应该是面向整个社会的大社区，而不应该着眼于所谓币圈的小社区。

分叉币的纷争，很多都是币圈小社区内的乱战，给社会造成的观感是混乱，对于面向社会的大社区这个概念而言，没有太多的增益。通过对分叉币的研究，我们认为很多币的产生是基于自私，但是自私也是一种力量的来源，而且这种来源稳定且充沛，使很多事务不会流于乌托邦式的空想。换个角度说，这也是比特币发展起来的主要力量来源。基于现实的考虑仍然是第一位的，新一阶段的社区治理策略在这个基础上，可以实践一些更包容，更符合个体利益、小社区利益、大社区利益、以及整个人类社会利益的治理模式，按需使用通证，面向技术，面向价值，面向未来，打破狭隘的单一币思维，所谓原链和新链、分叉，均可以包容并发，更加开放。当然回归现实，这不是靠批判的武器来实现，而是需要通过实打实的武器的批判，来推动这一转变的发生。

---

*Originally published on [Metaon](https://paragraph.com/@endto/eDoLwBOWC0zmHF9UZ9SD)*
