我是一个刚入门区块链的小白,当听说比特币分叉的风险之后,只知道会产生一种新的货币,但是对于比特币将产生怎样的影响无法判断,因此没敢买入比特币。不知道有多少人和我一样,因为不懂不敢买入,甚至因为恐慌而抛售比特币的。再看看目前比特币的价格,我们除了懊悔自己错过了Bitcoin的买一送一,是否还能做些什么来挽回呢?
答案很简单,那就是去学习更多比特币相关知识,让自己对于以后出现的风险和机会能够真正掌握在自己手中。正如李笑来老师所说,面对一把锁时,我们一直盯着锁是无法将它打开的,唯有去其他地方寻找开锁的钥匙。
到底什么是分叉,为什么会出现分叉,BIP91、BIP141、BIP148、SegWit2x是什么意思,都是需要自己做的功课。
1.什么是分叉?
分叉可以分为硬分叉和软分叉。所谓硬分叉是指,区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块。软分叉是指,当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。打个比方说明,软分叉就好比是对一条路进行阔宽,而硬分叉是放弃之前的路,而在其旁边重新修一条新路。
硬分叉在区块链中的表现是,原本一条区块链拆分成两条或多条区块链。就如在2016年6 月 18 日,THE DAO发生盗币,为了挽回损失,只好选择硬分叉的方式,分裂出了ETH和ETC。
2.为什么比特币会出现分叉?
比特币之所以会出现分叉,是因为各方对底层协议的分歧而产生的。就如开国际会议一样,各国都有自己的打算,要想最终达成协议是很困难的。当前比特币区块大小为1M,每秒最多处理7笔交易【按平均每笔交易占用250KB,10分钟产生一个新区块计算,每秒交易次数=1000000KB/250KB/(10min*60s)=6.6667≈7】。而且这个还只是理论上的,根据最新产生的区块480318,交易数仅仅为2557,比我假设的4000低了不少,图中可以看出,之前产生的区块甚至更低。
这样的设置在创立之初还能维持比特币的正常交易,但随着现在交易量和交易频率的大幅提升,严重滞后于发展需要。于是,为了解决这一问题,出现了两派人马。一派是比特币Core团队,另一派是扩容派。
比特币Core团队支持部署隔离见证(Segregated Witness,Segwit),即通过将交易信息和验证信息分离,腾出空间,解决比特币网络交易吞吐量问题,变相达到区块扩容的效果。这就好像线下购物和线上购物的区别,线下购物时,每完成一笔交易必须包括以下过程:支付、收钱、找零、提货、确认交易,而在线上购物的体验是,只要你把钱打给支付宝之后,卖家就直接发货给你,仅有支付、拿货这两个步骤,而其他步骤则是通过之后的操作完成,并不耽误你提货这一终极目标。因此,这样的过程使得交易效率提升了。
与比特币Core团队敌对的势力是扩容团队。扩容团队的人员主要由矿工组成,他们的主张是直接扩大每个区块的容量,以达到提高交易次数的目的。但是这样做的后果是可能产生硬分叉的风险,并且Core团队认为,随着区块容量的提升,整个交易记录会变得过于庞大,超出普通人能承受的地步,最终只能由大公司和机构来保存大帐本记录,进而失去了比特币去中心化的本意。目前大帐本大小越为200GB,如果容量扩大一倍,那基本要占到普通电脑硬盘容量的一半了,并且如果朝着这一趋势发展下去,后果是不堪设想的。
3.BIP91、BIP141、BIP148、SegWit2x是什么意思?
要解释以上概念,首先需要知道BIP是什么意思?
WIKI对BIP的解释如下:
Bitcoin Improvement Proposal(BIP) is a design document for introducing features or information to Bitcoin. This is the standard way of communicating ideas since Bitcoin has no formal structure.
BIP称为比特币改进提案,就是通过提出功能或信息的设计文档,帮助比特币提升,但是必须注意的一点是,这个设计文档只是提案,因此需要通过投票,获得大部分人的认可后才能实施。只有处于Active和Final状态的BIP才是被大众认可的,以下是BIP的流程图。进入https://github.com/bitcoin/bips中,可以查询截至目前的BIP提案。
还有一点想说明的是,BIP之后的数字大小并不代表提案创建的先后顺序,我觉得这也是大多数小白容易造成误解的地方。例如BIP91的创建时间是在2017年5月22日,BIP141的创建是在2015年12月21日,而BIP148则创建于2017年3月12日。如果注意到此次比特币分裂的话,都应该看到过BIP91、BIP141、BIP148这几个提案,他们之间的关系是什么呢?
通过查询BIP141,可以看到BIP141提案的标题是Segregated Witness (Consensus layer),目前隔离见证的实现就是由BIP141定义的。BIP141通过BIP9定义的激活方式激活,持续两周时间里95%的算力在区块数据中发出bit1支持信号。
BIP148是用户激活软分叉(User Activated Soft Fork,UASF),专门用于触发BIP141。2017年8月1日后,任何执行BIP148的Bitcoin软件,都将拒绝所有不包含bit1信号的区块。如果BIP148获得大多数矿工的支持,那么所有部署BIP141的节点将看到超过95%的区块包含bit1信号,意味着SegWit将激活。如果BIP141无法得到大多数矿工的支持,那么比特币将出现硬分叉。因为利益双方互不相让,使得最终结局无法预料。为了达成双赢的局面,有人提出了SegWit2x,又被称为纽约共识,即SegWit+2M区块扩容的解决方案,共识中约定先SegWit软分叉,后2M硬分叉的方式完成扩容升级。这是一个折中的方案,对扩容派来说实现了扩容,对Core团队来说2M的区块链大小也是能够接受的。但问题是,SegWit2x与BIP141和BIP148互不兼容,SegWit2x接受的支持信号是bit4,为了实现兼容,BIP91出现了。BIP91方案就是既接受bit1信号也接收bit4信号,让两者实现兼容,只不过BIP91的激活阈值由95%变为了80%。
看下SegWit Timeline,7月21日BIP91开始投票,如果BIP91在8月1日前锁定并激活,那么BIP148便宣告失败,暂时避免硬分叉的风险。比特币之前跌破13000元,还记是从什么时间开始回涨的吗?就是在7月21日BIP91被锁定之后开始的。
明明硬分叉的风险已暂时结束,为什么又出现了BCC呢?可以说这是一个人为事件,为了应对BIP148失败,中国挖矿和芯片制造商比特大陆提出了针对BIP148遭遇失败的应急预案:UAHF(User Activated Hard Fork),通过户激活硬分叉克隆出一条新链来,BCC由此诞生。BCC不仅不包含隔离见证,而且区块大小也被扩容到了8M。
从SegWit Timeline上可以看出,对于比特币来说,此次的分叉只是小考,之后2M的扩容才是更大的考验,结局将会朝着什么方向发展让我们拭目以待。
参考资料:
1.BIP91: The SegWit Activation "Kludge" That Should Keep Bitcoin Whole:https://bitcoinmagazine.com/articles/bip91-segwit-activation-kludge-should-keep-bitcoin-whole/
2.结合Segwit2x和BIP141,BIP91会是解决扩容问题的最佳选择吗?:http://www.8btc.com/segwit2x-explain
3.UASF/Segwit2x Scenarios and Timelines:https://medium.com/@jimmysong/uasf-segwit2x-scenarios-and-timelines-1a540336c4be
4.什么是硬分叉,什么是软分叉,什么是共识?:http://www.8btc.com/tan90d97
5.近期UASF(BIP148),UAHF(BCC)等扩容分叉解读:http://www.8btc.com/uasf-vs-uahf