2016年1月20日,中国人民银行在京召开了数字货币研讨会,来自人民银行、花旗银行和德勤公司等国内外科研机构,针对如何建立数字货币的发行、流通和结算体系,国家如何发行加密电子货币等专题进行了研讨和交流,人民银行行长周小川出席会议,副行长范一飞主持会议,会后公告宣布将推出数字货币。
2月21日,香港数码港。来自比特币矿工以及Bitcoin Core的代表发布并达成了比特币的扩容共识,同意以下几点:
“我们同意隔离见证会继续以软分叉的方式积极地进行开发,预计在未来两个月按原有时间表来发布。
我们会继续和整个比特币社区一同公开开发一个基于隔离见证改善之上的安全硬分叉。出席比特币圆桌会议的Bitcoin Core开发者同意:在隔离见证发布后三个月之内,会去实现一个这样的硬分叉,作为提案提交个Bitcoin Core。
这个硬分叉应该会包括一些技术社区正在讨论中的功能,包括:增加非隔离见证数据至2MB左右,而总体积不超过4MB。该硬分叉只会在获得整个比特币社区广泛支持的情况下才会实行。
Bitcoin core在发布了一个包含上述硬分叉代码的版本之后,才会在生产环境中运行隔离见证。
在可见的将来,我们只会运行和Bitcoin core共识协议兼容的系统,这个系统未来最终会包括隔离见证和上述硬分叉。
我们一致致力于开发出能够有效地运用区块空间的扩展技术,例如Schnorr多重签名等。
基于以上内容,时间节点预计如下:
2016年4月,隔离见证发布;2016年7月,硬分叉的代码开发完成,可供使用;2017年7月,如果能够得到社区的广泛支持,硬分叉生效”。
这是比特币史上扩容之争在香港达成的共识(简称香港共识),从2015年5月暴露在公众视野,到2017年11月纽约共识宣布中止,历时2年6个月。
中本聪最初的代码对每个区块的容量最高限制是32MB,比特币运行之后实际区块大小都在0.5KB以内。2010年7月,中本聪在没有任何说明的情况下,将容量限制设置为最大1MB。
2010年10月3日,比特币开发者Jeff Garzik发帖建议将容量限制提高到7.1MB,提出修改代码,回帖的Theymos说这样该会导致软件版本不兼容,中本聪看到回复说“这样是会不兼容,我们可以等以后需要的时候再改”。
2010年12月,维基解密事件爆发后,中本聪消失后将比特币的开发权限交给了Gavin Andresen,接手之后把比特币代码迁移到Github,并将代码开发管理权限分别给了另外4名开发者,直到2014年4月,Gavin Andresen将“首席开发者”身份和权限转给了WIadimir J. van der laan,自己辞去比特币核心维护者身份,保留了比特币基金会“首席科学家“的身份。
首席开发者的角色是负责监督项目的各个方面,并负责协调发布,到现在一共有三位首席开发者:
1,Satoshi Nakamoto,2009.1.3 — 2011.2.232,Gavin Andresen,2011.2.23 — 2014.4.73,Wladimir J. van der laan 2014.4.7 — 至今
比特币项目在更名Bitcoin Core,其核心拥有PGP密钥维护人员有:
1,Wladimir J. van der laan2,Pieter Wuille3,Jonas Schnell4,Marco Falke5,Samuel Dobson
2013年2月,Jeff Garzik的扩容帖子再次被人顶起来,当时区块大小为150KB,应该考虑扩容问题了,此后关于区块上限、垃圾交易、硬分叉、手续费等主题进行讨论。
2014年8月,Adam Back、核心开发者Gregory Maxwell、投资人Austin Hill、核心开发者Pieter Wuille、Matt Corallo等人创立了比特币技术公司Blockstream,侧重于侧链和闪电网络技术。
2015年1月,比特币区块实际大小达到0.3MB,考虑到开发测试周期扩容问题迫在眉睫,比特币内部核心开发团队一直未能达成区块扩容共识。
2015年5月,Gavin Andresen公开正式提出建议,在2016年3月1日将区块限制扩大到20MB。接着Jeff Garzik提出BIP100提案,矿池在区块链上投票,每个难度周期根据投票结果,获取75%算力的同意区块扩大或缩小容量,每次最多更改5%。
Gavin Andresen和Mike Hearn提出BIP101提案,建议先扩容至2MB,然后每两年翻倍,在Bitcoin Core版本之外,创建Bitcoin XT节点版本中实现20M扩容,XT版本是2012年建立的与Core兼容的比特币全节点版本。
2015年6月,来自中国矿池的Antpool,F2Pool,BTCChina,BW.COM和Huobi.com达成共识,支持BIP100,反对BIP101,同意将区块大小扩大到8M。
比特币核心开发者Wladimir J. van der Laan, Cory Fields, Luke Dashjr, Jonas Schnelli, Gregory Maxwell及blockstream在内的成员表示应该保持1MB上限,然后使用第二层方案来处理交易容量(SW+LN方案),联名信中称自己致力于比特币的开发、服务于比特币社区,过去5年中完成了超过50次代码的升级。考虑到比特币的重要性,他们要在保障安全的前提下扩容。
2015年8月,主推区块扩容的Bitcoin XT在Reddit的r/bitcoin上引起热议,社区管理员Theymos认为r/bitcoin陷入了混乱,宣布对其管制,强调Bitcoin XT是对Bitcoin Core的分裂,将会是一个山寨币(Altcoin),并反对这种分裂行为,禁止讨论扩容相关的问题,禁止发布Bitcoin XT相关的内容。
对于崇尚自由,一贯宣扬去中心化和反对管制的比特币社区,Theymos的行为受到激励的批评和抵制,为了对抗言论管制,获得扩容问题的讨论空间。Roger Ver和Magma Hindenburg建立了Reddit的r/btc板块。
但Core核心开发者则对Theymos的言论管制表示支持,Core凭借掌控bitcointalk.org和Reddit r/bticoin以及bitcoin.org官网的实际控制取得绝对优势,并把站错边的Coinbase从比特币官网除名,社区禁言。
Bitcoin XT面对比特币Core、Theymos、中国矿工的反对,Mike Hearn绝望的宣布“比特币已死,这个去中心化的货币已经失败,系统已经完全被少数人控制,变得拥堵、昂贵,无法和传统金融体系竞争,而社区也完全被控制。”
他认为Core对扩容采取了拖延战术,中国矿工和创业公司拒绝XT的理由是“我们在等Core在12月份扩容”。Core在8月和12月分别举办了两次“扩容会议”都无果而终,而主推扩容的Coinbase和比特币中国这些公司才如梦初醒,感觉上当了。
Mike的声明使他立刻成为比特币社区的公敌,他卖掉了所有的比特币,切底离开比特币。
2016年1月,Gavin Andresen与Jeff Garzik和Peter Rizun建立了一个新的开发组Bitcoin Classic,继续推进扩容。此时的区块实际容量达到0.7MB,并频繁出现1MB并满块的情况,扩容的紧迫性成为包含中国矿工在内的整个社区的共识,绝大部分意见领袖表达了对扩容的支持。
Bitcoin Classic很快获得了Antpool和BW.COM矿池在内50%以上算力的支持,并计划在算力支持达到75%的时候进行硬分叉升级至2MB,以应对即将到来的拥堵。
Classic与Core形成激烈的竞争,Blockstream的首席执行官Austin Hill对Gavin Andresen、Classic和中国矿工十分不满,说道:“一大批建立在比特币上的公司,享受着开发者社区的辛勤劳动成果,没有说声谢谢,反而说我不喜欢你的颜色,所以我要抛弃你”。
2016年1月23日,中国矿工聚会达成“92共识”,在90%以上的算力支持下扩容2MB的共识,总体认同Classic的扩容方案,但要求算了75%提高到90%,并强调“不战争、不分裂”为前提实现扩容。会议上,比特大陆吴忌寒和Haobtc吴刚提出各个公司应该派出人员参与比特币开发,培养自己的Core开发人员,为比特币开发做贡献,提升自己在Core中的话语权,稀释Blockstream的影响力。
2016年1月28日,Gavin Andresen提出比特币改进建议BIP109提案,建议扩容到2MB,75%的算力投票通过即实施。在“92共识”和BIP109的基础上,为了避免分裂,2月21日与香港召开会议,中国矿工与Core开发者、Blocksteam CEO Adam Back达成协议,双方同意继续实施隔离见证软分叉,Core在隔离见证之后通过硬分叉将区块扩容到2MB。作为代价,中国矿工承诺只支持Core版本。
香港共识的中国矿工抛弃了Classic以换取Core的扩容承诺,但是在香港参加会议的Core成员回去后就受到了指责,在香港共识协议上签字的Adam Back签署了自己的名字,并不代表公司。中国矿工感觉受到了欺骗,吴忌寒直接在Twitter上警告Core,不会在没有2MB硬分叉代码的情况下实施Segwit。
2016年5月,比特币区块大小已经达到1MB,手续费开始提高。社区开始重启Classic扩容方案,澳大利亚人Craig S.Wright(CSW)开始声称自己是中本聪,然后CSW向Gavin Andresen出示了一些原始中本聪的某些证据。
随后Gavin Andresen公开宣布CSW是中本聪,BBC对CSW展开了调查,自证中本聪最好的方法就是证明自己拥有中本聪挖矿地址的私钥,方法至少有两种:
1,按预先讲好的方式挪动中本聪的比特币;2,对一条新的信息用中本聪的私钥进行签名,公开验证;
5月3日,CSW承诺挪动中本聪的比特币,但5月4日在给Gavin Andresen和BBC记者当面操作时,突然宣布比特币的一个早期安全漏洞会使他转移比特币面临巨大的风险,Gavin Andresen告诉他这个漏洞已经解决,然后CSW突然离开房间,再也没有回来。随后,CSW发布了一篇道歉信,出于安全考虑不愿证明自己拥有中本聪私钥。
CSW的假签名事件对Gavin Andresen和Classic扩容造成了致命的打击,整个比特币社区都认为CSW是骗子,而Gavin Andresen是帮凶。他和他为扩容做的一切努力都被蔑视。就这样,Gavin Andresen失去了社区的信任,不得不宣布退出Core开发组,Wladimir J. van der laan删除了Github上对Gavin Andresen和Jeff Garzik的提交访问权限。
Core核心开发者Gregory Maxwell和Mark Friedenbach等人公开反对香港共识,在社区上,GregoryMaxwell公开斥责参加香港会议的成员是笨蛋。
现在,扩容之争变成Core和中国矿工之间的竞争了。
为了推进扩容和免受Core的阻扰,Classic参与者Peter Rizun联合Andrew Clifford、Andrew Stone等人组建了Bitcoin Unlimited(BU)在2015年11月26日发布了BUIP1,开始在Core控制的BIP之外开发。
8月,BU收到50万美元的捐助后,注册为非赢利组织。总体上,BU延续了BIP100和BIP109的基本路线,允许矿工动态标注区块大小限制,通过矿工的“Emergent Consensus”实现区块弹性扩容。
比特币交易所Bitfinex被攻击,黑客盗走了近12万枚比特币,约合6000万美元。
9月,在Blockstream、BTCC、Kraken和Bitfury组织的扩容会议上,作为赞助商的之一的BU提出的四个提案,都被拒绝在会议上发布。
9月25日,扩容支持者在三藩市召开《总本聪愿景:开发与扩容会议》,会上重点由BU成员介绍了其路线及主要改进:Emergent Consensus、Xthin blocks 、Xpedited Bolck Reply。参会和支持这一系列会议的包括Roger Ver、Jeff Garzik、Emin Gun Sirer、Peter Rizun、Andrew Clifford、Amaury Sechet等人,Gavin Andresen明确表示支持BU。
BU成了整个比特币扩容派的希望,与Classic不同的是,BU很快获得比特大陆投资的Viabtc矿池创始人杨海波的支持,很快Roger Ver也创建了Bitcoin.com矿池,宣布支持BU。BTC.TOP创始人江卓尔、比特大陆的蚂蚁矿池也宣布支持BU。
在明确反对区块扩容之后,Core的“隔离见证+闪电网络”方案逐渐清晰。先通过软分叉实现隔离见证,然后上线闪电网络,在闪电网路上承接比特币网络的支付功能。
11月,Core放出Segwit代码。12月,提交BIP141并要求大家开始投票,激活线为95%,投票位是bit-1。
隔离见证的基本思想是把交易的签名和交易内容分开,并在原区块之外有三个好处:
1)消除交易延展性。交易与签名在一起的情况下,哈希出的交易ID可以在保证签名有效的情况下哈希出现新的交易ID。采用隔离见证分离交易信息和签名,可以使交易ID唯一,消除延展性问题。
2)推进闪电网络,通过消除延展实现交易ID唯一,可以使闪电网络及其他一些应用的开发更加容易。
3)扩大30%容量,由于签名置于区块之外,能够使1M区块容纳更多交易,相当于区块扩大到1.3M。
在香港共识失败之前,比特币社区对Core提出的隔离见证是普遍支持的,但是Core在香港共识失信后,反对隔离见证的人增多。社区的分歧点除了扩容和隔离见证外,还有硬分叉,Core(Gregory Maxwell)认为如果提高区块容量上限需要硬分叉升级,即升级后的版本与之前的版本不兼容,如果部分节点不升级将会导致区块链分叉成两个链,这样操作风险太大,而隔离见证则通过软分叉来实现升级更安全。
支持区块扩容的都支持硬分叉,但支持隔离见证的也有很多支持硬分叉,因为隔离见证的代码规模本来就很大,软分叉为了兼容之前的版本需要增加更多的代码,从而增加了复杂性,技术债务越积越多。
BU起来之后,扩容派和Core派表示都不再妥协了。一个更加严峻的分歧已经无法回避了,比特币交易网络拥堵,手续费增长10倍的情况下,比特币硬分叉问题变得十分尖锐。
2017年,比特币牛市启动之初,整个社区弥漫着期盼、恐慌、焦虑、愤怒等各种情绪,比特币会不会直接崩盘?