一、为何要扩容?
一般我们所理解扩容是什么呢?即当某个容器或承载物不足以支撑或承载现有事物需求时,我们通过扩大容器的容量或承载物的体积来满足日益增长的需求,从而缓解当前容器或承载物所受压力的一种手段。区块链扩容也是如此,在比特币诞生之初比特币创始人中本聪并没有特意限制区块的大小,区块最大可以达到32MB,当时平均每个区块大小为1~2KB。
有人认为区块链大小上限过高容易造成计算机资源的浪费,还容易发生DDOS攻击(至于什么是DDOS攻击不懂的可以参读此文DDoS攻击方式和原理),因此为了保证比特币系统的安全与稳定,中本聪决定临时将区块大小限定在1MB。
那时比特币用户少,交易量也没有那么大,并不会造成区块拥堵,然而2013年至今随着比特币价格的直线上升,用户越来越多因此造成比特币网络拥堵,用户交易费用上升的问题逐渐涌现出来。到现在,比特币区块链上最高时有几十万笔交易积压,比特币的平均交易费用比 2010 年 9 月上涨了 376 倍,每秒 7 笔交易的处理速度已经明显无法满足用户需求,比特币社区开始探索如何给比特币“扩容”。
二、如何扩容?
即通过修改比特币底层代码,从而达到提高交易处理能力的目的。
比特币扩容本身发展和设计方案有两种,即第一层和第二层扩容技术。· 第一层扩容技术即改进区块链自身,把区块链自身变得更快、容量变得更大,总的来说就是改变区块链共识部分的内容。· 第二层扩容技术目的是把计算移到链下,即通过侧链的技术加以解决问题。
三、关于扩容的相关协议
1、BIP1002015 年 6 月,由前 Bitcoin core 开发员兼 Bitpay 员工 Jeff Garzik 提出,他建议移除 1MB 区块上限,保留 32MB 的限制,在这个基础上增加一个浮动的块大小限制,矿工们通过代码(‘BV’+BlockSizeRequestValue into coinbase scriptSig, e.g)来投票决定区块的大小。协议中规定连续 12000 个区块中 90%的矿工投票同意就可以激活该方案。2、BIP1022015 年 6 月 23, Jeff Garzik 又提出 BIP102,这个协议很简单,他建议 一次性将区块扩大到 2MB。只要主链中有超过 95%的区块表示支持该协议就能够被激活。值得注意的是 Jeff Garzik 2014 年离开 bitcoin core,2015 年 10 月创立 Bloq。3、BIP1012015 年 6 月,由前 bitcoin core 首席开发员兼比特币基金首席科学家 Gavin Andresen 提出,他建议 将区块的初始大小设为 8MB,之后随时间变化而线性改变区块大小 。起始时间戳为 2016-01-11 00:00:00 UTC(1452470400),每 63,072,000 秒 (两年,忽略闰年) 增大一次区块,直到 2036 – 01 – 06 00:00 UTC(2083190400)。区块最大可增加到 8,192MB。该协议的激活方式是,在主链中连续 1000 个区块中有 750 块使用 BIP101 规定的版本号(0x20000007)。激活时间为第 750 个区块产生的时间戳,并且有两周的缓冲时间。4、BIP1092016 年 1 月,Gavin Andresen 又提出了 BIP109 方案。该方案建议将比特币区块增加到 2MB,并且当支持算力超过 75%时被激活。协议规定,矿工将区块的版本号设置为 0x10000000 以示支持。5、BIP1032015 年 7 月 21,由 bitcoin core 开发者,Blockstream 联合创始人 Pieter Wuille 提出,他建议 将区块上限设为最近 11 个区块大小的中位数,或者利用代码 GetMaxBlockSize(pindexBlock->pprev->GetMedianTimePast()) 来控制区块的大小 ,从 2017 年 1 月到 2063 年 7 月,每 97 天调整一次,幅度不超过 4.4%。6、BIP1052015 年 8 月 21,由 bitcoin core 开发员 BtcDrak 提出,他建议区块以现有 1MB 为起点,矿工每创建一个块他们通过投票决定增加或者减少这个块的大小 ,最大幅度是当前区块的 10%。期望增加区块大小的矿工投票时需要额外提高挖矿的难度。7、BIP1062015 年 8 月 24,由比特币开发者 Upal Chakraborty 提出,建议 每 2000 个区块为周期动态调整大小 。如果 90%的区块达到了上限的 90%, 区块体积扩大两倍,如果 90%的区块小于上限的 50%, 则区块体积减半。8、BIP141(隔离见证)2015 年 12 月,由 Ciphrex 的联合创始人兼首席技术官 Eric Lombrozo, 比特币技术爱好者 Johnson Lau 和 BlockStream 的联合创始人 Pieter Wuille 提出,他们都是 bitcoin core 的开发员。他们建议 移除比特币交易过程中的签名字段,将交易和签名分离开,这样就可以在不扩大区块大小的情况下实现“变相扩容”,也称为技术性扩容方案。在持续两周时间里有 95%的算力在区块数据中发出 bit1 支持信号,该方案将被执行。9、BIP148(用户激活软分叉)由于BIP141一直被矿工阵营反对,为了推进隔离见证的升级,2017年3月,由自称“Shaolinfry”的匿名社区成员提出,他建议将由矿工决定是否进行升级更改比特币网络,转向由用户、交易所、支付处理商等来决定。该协议将原本由算力决定的锁定信号交给由全网节点来决定 。约定激活日期为 8月1日,如果在8月1日前现有的隔离验证没有激活,升级了 BIP148 的节点将会拒绝没有发送 bit1 信号的区块。该方案被认为是扩容问题中最激进和最具争议的一个。10、BIP91为了避免在 8 月 1 日出现比特币分叉的局面,2017 年 5 月,由比特币开发者 blockstream 的支持者 James Hilliard 提出一个兼容性的新方案BIP91。该协议实质上是一个兼容 BIP141 的 BIP148 方案,但是激活阀值在 80%。如果 80%的算力在持续两天内支发出支持信号,它就会被锁定。该协议可以使得无论通过 BIP91 还是 BIP148 升级后的节点互相兼容,能够同时接受 bit1 和 bit4 的信号。意味着无论 core 阵营支不支持纽约共识,只要纽约共识的签署算力(超过了 80%)支持该方案,那么比特币的分裂就暂时能够被避免。该协议也是目前最有望执行的方案。
四、扩容结局
比特币现在分裂成为大区块Bitcoin Cash(BCH),和隔离见证。隔离见证现在是市场上公认的比特币。而大区块币被冠名为比特现金。可以预见的往后的发展方向,比特币将会以链下交易为主。包括闪电网络、侧链。这两个新东西目前不成熟,但是被很多人寄于厚望的。比特币将会大量发展隔离见证交易,并在隔离见证的基础上做更多的衍生技术。最有可能是以技术推动比特币往前发展。比特现金将会以链上交易为主,重点发展货币功能,以降低交易摩擦为主要方式,以获利更广泛的链上用户量为主要发展方向。