上一个故事里面我们提到,2017年中旬Bitcoin Unlimited的多次崩溃让大区块扩容路线的推进陷入困境;一些持中立态度的社区成员开始往Core团队倾斜,一些大区块支持者则更加坚定扩容的决心。为了打破这种极端对立的局面,重仓比特币的DCG创始人Barry Silbert率先站出来,联合业内主要公司及开发者于2017年5月21日在纽约召开会议。会中,来自22个国家的58家公司达成大家所熟知的“纽约共识”,赞成先部署隔离见证再将区块大小提升至2MB的绑定式扩容方案SegWit2x。
签署纽约共识的比特币社区参与者(资料来源:网络)
不过这个缺少了关键群体Bitcoin Core团队支持的扩容共识,依然避免不了比特币网络走向分裂的可能。果不其然,22日晚上在共识协议还未公布之前,Core开发者James Hillard便抢先提交BIP 91提案,将实施SegWit的UASF的投票阈值从原定的95%降低至80%,并支持再次调整。和纽约共识相同,BIP 91亦旨在激活隔离见证;但不同的是,后者不支持2 MB硬分叉扩容。而且凑巧的是,该提案使用的算力投票标记与纽约共识还未公布但已决定使用的投票标记一样,都设定为bit-4。
2017年5月22日,James Hillard于Github上发布的BIP 91
2017年5月23日,DCG公司公布的共识协议
同样的投票位,让大家很难分辨发出bit-4信号的投票者,究竟是支持BIP 91,还是支持SegWit2x。另一方面BU的彻底失败、SegWit在莱特币主链上的顺利部署,在某种程度上来说增强了Core和SegWit的社区基础。随着社区对强制激活隔离见证的UASF支持声的提高,让没有Core团队支持且缺乏连续开发经验及技术优势的纽约共识显得格外脆弱。当时对2MB硬分叉扩容能否如期进行持有悲观态度的比特大陆创始人吴忌寒,为了防备纽约共识不了了之,于2017年6月24日发布针对UASF的紧急应对方案UAHF,并在一个多月后正式执行硬分叉,上线支持大区块扩容的Bitcoin Cash。
截图源自:比特大陆博客
不过这个当时被戏称为纽约共识备胎的分叉币,刚开始时并没有获得过多的支持,扩容派的精力绝大部分还是放到了SegWit2x推进上。但是前半部分隔离见证成功激活之后,后半部分2 MB硬分叉扩容的推进却陷入困局。因为在混淆投票中达成BIP 91激活目标并成功锁定隔离见证之后,Bitcoin Core随后表示将发布不再支持SigWit2x节点的0.15.0版客户端。也就是说,坚持执行2 MB扩容就等于分裂比特币,不想分裂就必须放弃2 MB扩容。
这种互不相容的态度,逼着社区参与者做出选择,霎时间双方的斗争进入新高潮。同月17日支付服务商BitPay宣布下载SegWit2x公测版,遭到bitcoin.org网站除名;随后SegWit2x的主要开发者Jeff Garzik也被移出Core在Github的代码库。虽然Jeff多次强调纽约共识只是一次升级,为了避免分叉恐慌还添加了重放保护;但是此前支持SegWit2x的社区成员却开始反水,包括鱼池、比特币电商交易平台OpenBazaar、Civic公司等等在内的领域参与者出于各种各样的原因相继退出共识协议。
这些主要利益群体的抛弃加速了纽约共识的崩塌,而9月份Bitcoin Core 0.15.0版本的正式发布以及2 MB扩容时限的临近,让社区成员迎来了终极抉择时刻。为了应对即将分裂的局面,包括Coinbase在内的交易所及支付平台皆提前做出应对预案。不过最后这些方案没有用上,因为11月9日那天SegWit2x项目主要负责人BitGo总裁Mike Belshe以邮件正式宣布终止SegWit2x。
至此以不分裂为前提的SegWit2x走向终结,同时也把标志着历时三年扩容战争的结束。坚持小区块的Core党获得了胜利,比特币扩容路线全力朝着闪电网络等链外交易发展。而比特币社区大部分参与者也逐渐接受了这一设定,不再强调扩容与比特币的支付功能,开始将其视作数字黄金。至于像Roger Ver、吴忌寒这些坚定大区块扩容的支持者则转向BCH,延续其支付系统的发展愿景。
往期回顾:(四十六)Bitcoin Unlimited的崛起与惨败
下期预告:(四十八)最先采用GPU矿机的比特币矿工
以上所述就是小编给大家介绍的《Core党与扩容派的终极决裂》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程的逻辑
马俊昌 / 机械工业出版社 / 2018-1-1 / 99
Java专家撰写,力求透彻讲解每个知识点,逐步建立编程知识图谱。本书以Java语言为例,由基础概念入手,到背后实现原理与逻辑,再到应用实践,融会贯通。 全书共六大部分,其要点如下。 第一部分(第1~2章)讲解计算机程序的基本执行流程与元素,以及数据背后的二进制表示,帮读者掌握编程的基本概念。 第二部分(第3~7章)讲解面向对象的编程原理与逻辑,涉及类、继承与多态、接口与抽象类、异......一起来看看 《Java编程的逻辑》 这本书的介绍吧!