比特币扩容为什么选择2MB?

2016-07-01 15:44 来源:巴比特 阅读:6437
扩容之争路线、隔离见证、2M硬分叉、闪电网络的争论持续已有时日,近日,社区又有人提出“终结者计划”,扩容问题再掀轩然大波。比特币扩容问题是怎么来的?扩容为什么选择2MB?硬分叉方案可行吗?本文摘选自《区块链:从数字货币到信用社会》(中信出版社)一书,作者为比特大陆软件研发总监潘志彪。

扩容之争路线、隔离见证、2M硬分叉、闪电网络的争论持续已有时日,近日,社区又有人提出“终结者计划”,扩容问题再掀轩然大波。比特币扩容问题是怎么来的?扩容为什么选择2MB?硬分叉方案可行吗?本文摘选自《区块链:从数字货币到信用社会》(中信出版社)一书,作者为比特大陆软件研发总监潘志彪。

潘志彪(1)

数年来,随着比特币的蓬勃发展,比特币交易数量越来越多,而单个区块体积有1MB的最大值限制,因此区块空余空间显得越来越小。如图所示,区块体积中位数在2015年里得到了翻番,从1月份的292KB快速增长至12月份的749KB。

 

比特币区块体积

比特币区块体积大小(来源:区块元blockmeta.com)

 

扩容问题在2015年得到了充分的重视与讨论,在2015年06月左右陆续推出了诸多扩容方案,代表有BIP100,BIP101,BIP102,BIP109,BIP248   等若干方案(表X)。

 

编号

扩容方案

BIP100

由矿工们进行投票,将新的区块建议上限值写在Coinbase交易中,新的值在当前的基础上有20%的上下浮动空间。全网80%的算力参与可激活新的大小。

BIP101

自2016年起始,立即提升限制值为8MB,然后每两年翻番并持续至2036年,届时区块体积限制值为8.2GB。

BIP102

体积限制一次性的从1MB提升至2MB。

BIP103

每个特定周期增长4.4%,折合年增长率为17.7%,直至2063年7月,届时体积约为1.4GB。

BIP109

全网75%的算力可激活,体积限制提升至2MB。

BIP248

2016年将体积限制提升至2MB,18年至4MB,20年至8MB。

 

虽然提出来各种方案,但基本可以划分为两类:长期规则派与短期搁置派。长期派偏理想、规则型,一口气敲定便不再折腾,典型代表 BIP101/103,设定一个增长规则,便不再调整。短期派则认为未来不可预测,固定的规则过于简单暴力的解决问题,希望设置一个短期数年方案暂时先避 开,搁置至未来解决,代表为BIP100,但由于投票过程复杂,后简化为BIP102/109等,而BIP248则一口推迟至2020年,近几年就简单采 取翻番增长。

自2015年06月以来,经过了大半年来的大范围的反复讨论,目前长期规则派基本完败。2015 年12月比特币香港扩容会议由Pieter Wuille提出了隔离见证(Segregated Witness)之后,扩容问题甚至已经简化为仅升级至2MB,但陷入了关于实施时间点的争论之中。

一个看似简单的扩容技术问题,却引发比特币社区花了大半年时间,开了数次全球技术会议、私下打无数口水仗,却依然未有明确定论。其背后深刻原因是,区块限制值上调是无法真正解决比特币扩容问题的。

扩容问题

总的来说,根据对比特币网络的理解,有两个划分:清算系统,现金系统。

清算系统

比特币区块链是全球的、分布式的、有限容量的、代价昂贵的系统。每一笔交易的价值含量是不一样的,当块容量不够用时,我们应该保障高价值的交易进块。高价值的交易有意愿有能力支付足够高的网络手续费,从而获得足够高的优先级进块。

随着比特币的繁荣,交易数量会越来越大,有限的块容量会使得低价值的交易(例如发送1分钱)永远无法进块,因为低价值的交易不可能支付高网络手续费。进而网络退化为清算系统,低价值含量交易被赶出,这些交易由第三方记账系统进行代替完成。

在闪电网络出现之前,第三方记账系统主要是链外钱包提供商。用户信任某第三方钱包平台,把比特币存入其中,同一平台用户之间转账仅带来账户余额变更,并不会产生比特币交易。

现金系统

现金系统意味着所有交易均应该进入区块,那么当块容量不够用时,则应该及时提高块体积限制,对系统进行扩容。短时间可能发生交易入块堵塞,但长期来看所有交易应该均可以入块。人人都享有比特币系统带来的巨大便利和优势。

扩容大小的选择

我们进行一个简单的估算,假设每个交易大小为512字节,手续费单位为0.0004/KB。那么有如下表格:

交易/秒

单个块体积

块手续费

全年块体积

1

0.3 MB

0.12 BTC

15 GB

3

0.9 MB

0.36 BTC

47 GB

10

3 MB

1.2 BTC

150 GB

100

30 MB

12 BTC

1.5 TB

1,000

300 MB

120 BTC

15 TB

10,000

3 GB

1,200 BTC

150 TB

100,000

30 GB

12,000 BTC

1,500 TB

根据VISA在2015年的记录,全年共产生92,064百万笔支付交易,折合比特币网络数据:

交易/秒

单个块体积

块手续费

全年块体积

2,920

897 MB

358 BTC

47 TB

 

若提高区块体积限制至30MB,最大的问题不是CPU计算能力瓶颈,而是块的传播与存储。

30MB的块可能会导致全网孤块率和空块率大幅上升,一年产出1.5TB的区块链数据也超出大部分节点机器的硬盘容量。基于这1.5TB的数据,区块链浏览器、钱包服务商等则可能膨胀10倍达到15TB,对于目前来说已经远超普通机器/数据库的磁盘容量。

诚然,这些数据对与中性化的系统而言,并不具有多么大的挑战性,但对于一个全球分布式系统而言,则非常具有挑战。会极大削弱节点数量,提高开发接入门槛,使得比特币变得中心化。

扩容争论的最后,还是倾向于2MB,使得升级过程更加可控一些,风险更低一些。


声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文

相关阅读