图0:一文读懂比特币分叉是怎么回事

文 | 景辰

比特币即将分叉

自从今年7月14日以来,分叉便成为笼罩在比特币上空的一朵乌云,为了防止由于分叉导致的比特币充值或提现被回滚和重放攻击,OKCoin币行和火币网方面纷纷表示平台在8月1日前后将停止比特币的充值和提现。

过去的几天已经经过了BTC1的部署、对BIP91开始投票以及BIP141的截止,而今天比特币则将迎来新一轮考验,从UTC时间8月1日12点20分左右开始,即北京时间8月1日20点20分左右,ViaBTC将为其矿池的一部分矿工提供一种选项——将算力引导至一个名为Bitcoin ABC的新型的、有争议的软件客户端。

如果足够多的矿工接受这种选项,结果将会导致比特币区块链的永久性分歧,并会创建一种称为Bitcoin Cash或BCC的新型加密货币,而如果比特币真的分裂为一种或多种比特币,OKCoin等币行表示也将会把分裂出来的各种比特币按拥有权提供给所有客户,并且逐步上线所有新种类的比特币的交易,但同时也有币行表示将不会支持分裂出的币种。

分叉的影响

比特币的历史上,确实发生过“真分叉”,那个时候所有的矿池马上就会协商确定,同步那一条链(通常是最长的哪条链),而抛弃掉短链。鱼池曾经就在被抛弃的短链上挖过矿,最后不得不放弃,重新去同步达成共识的最长链,出现过经济损失。

比特币的底层软件代码如果走向分裂,可能会生成一种被称之为“比特币现金”的虚拟货币。数字货币持有者可能由此获得一笔“意外之财”,分叉前的所有比特币持有者将免费获得同等数量的比特币现金。比特币现金可用于交换法定货币或其他数字货币,但目前尚不确定分叉会否发生,也不清楚因分叉而出现的新币会价值几何。

早就出过多次分叉危机

虽然说比特币从来不曾分过叉,但在这几年的发展中,比特币却曾有过多次接近分叉的危机时刻:

2013年3月,比特币Core开发组发布了一个有BUG的版本0.8,新旧版本出现了冲突,比特币当时分叉成了二十多个区块,然后,大家很有默契的退回了0.7版本,这一次比特币没有分叉。

2014年初,比特币矿池Ghash.io的算力浩浩荡荡的逼近了50%,也就是说全球有一半的比特币算力是他的,这使得理论上Ghash.io将会拥有攻击系统的能力。然后全球矿池开了个小会,大家苦口婆心的劝说Ghash.io降低算力,而Ghash.io也表态不希望算力继续上升,矿工也自发撤出,系统再次安全了,自然也没有分叉。

到了2015年7月,国内的几个大矿池连续挖出了5个低版本区块,这几乎会造成事实上的分叉,因为连续挖到6个区块理论上就可以分叉了,而国外矿池没有承认,然后他们最终集体放弃了这几个区块,这次比特币还是没有分叉。

这次为什么比特币要分叉

如果你仅仅是比特币投机者,不是区块链技术研究者,可能看到这里依然一头雾水,什么是比特币分叉?

比特币分叉,准确来将应该叫做区块链分叉。

区块链分叉是怎么产生的呢?

这还要从区块链的自身的设计说起。

比特币的世界里就是一笔一笔的交易,所谓交易就是我向你转了一个比特币这个事件,而区块链里的区块就是用来记录这些交易信息的存储空间,比特币是每十分钟产生一个区块,目前区块的大小是1M,假设每笔交易大概需要1KB,那么1M最多能容纳 1024 / 1 = 1024 笔交易,那么每秒只能容纳1.7笔交易。试想一下,如果现在几十亿人使用的支付宝每秒只能接受2笔交易,还能满足需求吗?

那么比特币是固定死了必须是1M的大小吗?

答案是否定的,比特币最初区块大小是32M,中本聪并无意限制区块大小,只是当初使用的人少,每个区块大小只有几KB的大小,为了避免浪费计算资源,同时为了避免DDOS攻击以保证比特币系统的安全运行,中本聪临时将区块大小限制为1M,以当时的比特币交易量来说,这1MB足够使用并且还绰绰有余。

但现在近十年的时间过去了,使用比特币的人越来越读懂,1M区块大小带来了严重的问题,现在由于比特币区块大小的限制,致使比特币网络中积压了过多的交易,使得交易确认异常缓慢,最慢的情况下,你给你的朋友转账一笔比特币,他可能在三天后才收到你的转账,此时,你要么等待,要么支付更高的交易费用,当然,即使你支付更高的交易费用后,依然需要等待。

为了解决上述问题,大家一致决定要对区块进行扩容,然后就出现了两种略有冲突的方法,这就是所谓的分叉:软分叉和硬分叉。

图1:一文读懂比特币分叉是怎么回事

分叉到底是怎么回事?

一种方案是软分叉。

在原有的比特币网络里面进行优化修改bug提升区块的容量,比如改成2M、4M或者8M、16M,其中以SegWit闪电网络为主流解决方案,通俗的说,就相当于一条主路上堵车,开发团队就再建造一条辅路,帮助主路分流拥堵。

这是一种温和的解决方式,能让原有的比特币网络和软分叉之后的网络进行兼容,比特币的主要交易还在主链上。当然,软分叉存在缺点,那就是治标不治本,只能解决暂时的拥堵问题,执行软分叉后,也仅能保持数年内网络的通畅,未来还需要不断扩容,对系统稳定性有影响。

另一种方案是硬分叉。

重新升级比特币系统,通过代码形式将区块的高度彻底改变,以bitcoin unlimited为主流解决方案。通俗的说,就相当于一条主路上堵车,我们直接弃用这条路,找个地方,做一个地上地下立体交通枢纽,新车都走这套交通系统,这套系统改变了比特币网络的区块大小,优化了网络的处理速度。

但是硬分叉同样存在缺点,那就是不兼容原有的比特币系统,这就要求现在比特币网络所有的人都要支持硬分叉,若有部分人不支持硬分叉,比特币网络将会出现两个版本,也就产生了两个比特币,这两个比特币所存在的区块链形成竞争关系,这种内耗会导致价格波动较大,会导致比特币未来的局势不明朗。

图2:一文读懂比特币分叉是怎么回事

那为啥一直没有分叉呢?

众所周知,区块链是由点对点的去中心化节点共同维护的,这里没有可以说了算的权威机构,区块链的有序运转靠的就是大家的共识,即对于哪些交易是可以接受的、哪些节点具有记账权等关键事宜,有一套公认的标准。这套标准是部署在区块链底层协议中自动化执行的,由大多数人投票决定。

面对扩容问题时,每当有人问起,你对扩容怎么看,你支持Core还是Classic,扩容的事怎么解决?几乎所有的人都会说,社区不能分裂,扩容问题的解决要靠社区的共识,众说纷纭……

在以太坊分叉之前,很多人受够了漫长的争论,心里在想,Core开发者真是傲慢,要是真分叉了,我是支持Core呢,还是支持Classic?然后,以太坊就分叉给你看了,一方面ETH价格大幅回落,一方面ETC伤而不死。

以太坊就那么货真价实的分裂了,但是比特币社区的人生怕比特币也分了叉,自己手里的资产会打折,一面看以太坊的笑话,一面心里暗自庆幸,一面对着傲慢的Core一句话也不敢说,争论是大家唇枪舌剑好不热闹,但是一旦到做决定的时候,都把头埋在沙子里,仿佛危机就消失了。

这场景就像是《武林外传》里的同福客栈,本来客栈可以招待100位客人,但是有一天要举办武林大会,来了1000多个人,这就住不下了。客栈要发展,股东来投票,共同作为客栈的股东,佟掌柜认为应该盘下对面的面馆改建;吕秀才认为给客房打个隔断做成单间也可以;白展堂却认为应该让出价高的客人住,那些出不起价钱的去睡大街就好了……

由于大家都不控股,争吵不休,于是十年了,到现在武林外传也没有拍续集。

那到底还分不分了?

吵吵这么半天,我这吃瓜群众瓜都快吃完了,你们到底还分不分了?

分!而且还提出来好多个方案:

BIP141:

当前的隔离见证激活方案是由BIP141定义。这个方案币圈的人都很熟悉,就是在持续两周时间里95%的算力在区块数据中发出bit1支持信号。不过目前它的算力支持率只有30%左右,这也是为什么有人提出其它激活方案的原因。

BIP148:

BIP148就是用户激活软分叉,目的是触发BIP141的激活条件。

在8月1日这天,比特币BIP148软件会拒绝不包含bit1信号的区块。也就是说如果大多数矿工运行这个软件,他们会拒绝那些少数没有运行这个软件的矿工挖出的区块。因此,这些矿工会拥有最长的链,最终运行BIP0141的节点会在链上看到超过95%的区块包含bit1,这样隔离见证的激活条件就触发了。

然而如果BIP148没有得到大多数矿工支持,那么比特币就会一分为二,产生两种比特币。

SegWit2x:

SegWit2x是由一些比特币公司和80%的矿工在Consensus2017会议上签署的协议。

SegWit2x的内容包含隔离见证的激活和区块体积扩大至2MB。不过激活方式不同,它也是由矿工算力决定,不过算力要求是80%,而不是95%。而且这种方式不适用bit1数据发出信号,而是使用bit4。这意味着不同方案的隔离见证激活时间和激活环境不同,这让节点的隔离见证区块中继策略混淆,可能导致分裂。

BIP91:

BIP91通过让SegWit2x 和BIP148产生兼容性从而避免分裂。它与BIP148在某种程度上有相似,就是BIP91拒绝没有Bit1隔离见证信号的区块,这样BIP141就会被兼容。不过它没有设置激活时间,而是由算力触发。BIP91会拒绝非隔离见证区块,如果80%的算力在持续两天内支发出第一次支持信号,它就会被锁定。这种支持信号使用bit4发出,这样纽约共识就可以激活(80%算力用bit4发信号),同时激活现有的隔离见证方案。如果这些在8月1日前完成就会和BIP148兼容,因为BIP148也会拒绝非bit1区块。

在比特币的分叉这个事件上,经过长时间的磨合,目前在各方的努力下,具有妥协性的BIP91方案已经出现,并得到矿工的支持。BIP91方案是抢在8月1日前锁定隔离见证,并可兼容BIP148协议。意味着,只要BIP91在8月1日前成功激活,届时,无论是运行BIP91协议的节点(支持矿工的提案)也好,运行BIP148协议的节点(支持Core团队的提案)也罢,双方是互相兼容的。

而从时间上看,下面会发生这些事:

8月1日:BIP148激活

8月1日是矿工能够避免分裂的最后机会。

在8月1日0:00(UTC) ,所有的BIP148节点会拒绝没有支持隔离见证的区块。如果Bitcoin Core的BIP141或BTC1的BIP9没有及时被锁定或激活,那么比特币就会分裂。此时,矿工还有机会避免分裂,那就是选择支持BIP148。这会保证他们所挖的区块链是最长链,同时使用BIP141激活隔离见证。

8月4日:Bitcoin ABC可能会出现

8月4日可能会出现一种新的比特币“Bitcoin ABC”,最近比特大陆宣布,如果8月1日前BIP9没有被激活且BIP148有存活的迹象,会执行“应急计划”:“Bitcoin ABC”,Bitcoin ABC在8月1日前会共享比特币区块链历史,在8月1日后的几天里,比特大陆会秘密地在这个区块链上挖矿,它可能会有一些协议上的改变,如提高区块大小。

8月15日:BIP148可能会更改PoW算法

8月15日可能出现另外一种新的比特币,我们暂时称之为“新Pow比特币”或“新挖矿算法比特币”。BIP148让用户激活软分叉而不是矿工,用户会拒绝不支持BIP141的区块,理想情况下是大多数矿工支持它,然后只存在这一条链,不过到目前,没有多少矿工支持USAF。如果矿工支持率很低,有些人可能会执行硬分叉来改变挖矿算法。这就相当在BIP148链上把当前的ASIC矿机淘汰了。这可能会让算力再次回到家庭电脑的CPU或GPU挖矿上。

8月中旬到8月末:隔离见证锁定

如果矿工通过BIP141、BIP91、BIP148中的任何一个避免了分裂,那么隔离见证最迟会在8月中旬到8月末被锁定。锁定意味着所有隔离见证客户端会在下一个难度周期开始执行新的规则:再过两周。此时,如果你是想要使用新特性且最高安全的用户,你有两周的时间来升级支持隔离见证的软件。如果分裂没有避免,情况就有点复杂了。在8月中旬,可能存在四种比特币:148比特币、新挖矿算法比特币、Bitcoin ABC 、原始比特币。

8月末到9月中旬:隔离见证激活

如果分裂被避免了,隔离见证会在这段时期被激活,如果你运行着兼容客户端,你可以使用新特性,并保持最高安全性。如果分裂没有被避免,情况就很复杂了,此时难以预测。

10月末到11月中旬:SegWit2x硬分叉

今年末(或明年初),SegWit2x的硬分叉会发生。精确地说是,在隔离见证锁定后三个月BTC1 客户端会激活硬分叉,这会提高区块体积,也就是说BTC1 客户端会与其他没有硬分叉代码的客户端不兼容。不过目前看来,并不是所有人都支持硬分叉,Core开发社区几乎算是拒绝了这个方案,还有一些公司和用户也不支持这个方案。因此,这可能会导致再次分裂。理论上这会出现第五种比特币,不过之前的那四种比特币不一定都会存活到这个时候。

如何知道是否分叉了?

BtcForkMonitor(网址:https://www.btcforkmonitor.info/)是一个跟踪潜在的比特币分叉的站点。如果它检测到分叉,它承诺将在网站顶部弹出一份红色通知。

图3:一文读懂比特币分叉是怎么回事

该网站的开发人员正在同时运行Bitcoin ABC和Bitcoin Core节点,因此他们可以比较两个客户端,并查看每条链上有多少区块,并且互相做出对比。

尽管如此,由于btcforkmonitor是一个独立的网站,它提供的信息可能会不准确。所以,除非你想运行自己的150 GB Bitcoin ABC全节点,否则和其他来源(例如其他运行完整节点的人)一起监控或许是更好的选择,你还可以在社交媒体上随时关注他们的更新。

再说一下竞争币

自比特币诞生以来,模仿比特币的,创新区块链的,实验新的共识机制的,各种各样的实验层出不穷,数目以百计。但币圈的人从来没有怕过,似乎已经司空见惯。

币圈的人从来不怕竞争币,倒是对比特币的分叉怕得很。想一想原因也不复杂。竞争币不会直接影响比特币的价格,所以他们不会担心。可是比特币的分叉势必会给比特币的价格带来巨大波动,前车后辙,以太坊珠玉在前,这是最明显不过的预期。所以他们就担心了,一直在说不要不要。

比特币社区变大了,人们的追求不一样,执念不一样,对比特币的期许也不一样,强行绑在一起同床异梦,所谓南辕北辙,所谓缘木求鱼,大概就是这个意思了。说书的还没见过不分叉的开源社区。有分叉才有选择,有选择才是市场经济嘛。

而在刚刚结束的大佬云集的Finwise纷智·全球区块链上海峰会上,对于比特币分叉问题也做了深入的探讨,但是对于上文提到的BCC的地位,则有嘉宾将其定位为山寨币、竞争币,被列为了莱特币之列,同时,已经有若干大交易所公开声明不承认、不支持BCC的交易了。

虽说比特币是去中心化的,但是现在越来越由各大掌握算力的矿池说了算了,哪有小散表达观点的机会?小散户只管看着就好了。究竟是否分叉而言, 很简单,矿池大佬们开个会:说你是你就是不是也是;说不是就不是是也不是。

结论要留给市场,要留给时间。

一切都是刚刚开始……

余下全文(1/3)

本文最初发表在www.jianshu.com,文章内容属作者个人观点,不代表本站立场。

分享这篇文章:

请关注我们:

发表评论

电子邮件地址不会被公开。 必填项已用*标注