作者:江卓尔
利益相关:莱比特矿池(占莱特币全网40%算力)创始人,BTC/LTC矿工,BTC/LTC屯币者
在扩容争议中,有一种观点认为区块大小不能无限增加,否则最后只有Google才能运行全节点(full node),这将导致比特币的中心化。听起来似乎很有道理,但这个观点其实是机械且片面的。
1、比特币需要的终极带宽并不高
很多人都忽视了一点,就算全人类都使用比特币,产生的交易对计算机来说也是极其有限的。
假设在遥远的未来(比如30年后),有25亿人使用比特币,每人每天产生2笔交易,每笔交易225字节,那么每个区块大小就是25亿人*2笔*225字节/每天144区块=7.45GB。
7.45GB区块需要7.45GB/600秒=12.7MB/S=101Mbps的平均传输带宽,假设比特币使用带宽不超过10%,那就需要1Gbps的带宽。这即使在今天,也不是特别夸张的宽带,更不用说在30年后了。
我们从1990年代拨号的K级别带宽,到2000年代ADSL的M级别带宽,再到2010年代光纤的G级别带宽。即使不考虑未来技术,现在实验室中单条光纤最大速度也达到了43T(腾讯《43Tbps网速新纪录诞生》)。我们有充足的理由展望,未来30年内有很大可能普及T级别带宽。
因此我们可以得出
结论1:在未来T级别带宽面前,比特币需要的终极带宽(0.1G)微不足道。
2、现有带宽领先比特币需求十倍以上
现在比特币区块刚填满1MB,而带宽领先比特币需求十倍以上,即使是被防火墙阻挡的中国矿池,都认为可以接受8MB区块大小。(2015年6月《矿池技术研讨会——区块扩容草案》 )
并且这个8MB是有很大提升潜力的,矿池现在不愿接受更大区块,是因为更大区块将导致矿池挖块孤立率上升。如果新块传遍全网需要12秒(区块间隔600秒的2%),那在新块传播的过程中,还没收到新块的矿池就有1%的几率挖出另一个冲突块,这两个冲突块中必然有一个被孤立,这将导致0.5%的孤立率。
矿池一般按理论产出给矿工付款(PPS模式),仅收取3%左右的矿池费,这3%中还要承担孤立和攻击损失,支付服务器和人工成本。假设这些成本占2%,那矿池利润只有1%,只要轻微的1%孤立率上升,就将导致矿池亏本。
虽然现在普及的10M网络在1分钟内可以传输75MB的区块,但矿池实际上只能用前几秒到十几秒来传输新块,因此只能接受8MB的区块。但我们通过改进挖矿协议,削峰填谷,解决区块需要突发传输的问题后,可以十倍地提高区块大小潜力,改进方法有:
① 区块头先行(headers-first)方案 :矿池在收到80字节的区块头后,就可以根据区块头挖下一个块,在挖的过程中再慢慢等整个区块传输完成。
② 瘦区块(Thin Blocks):每个交易实际上在全网被广播了两次,交易发出时一次,新区块传播时又一次。通过可逆式布鲁姆查找表(IBLT)等技术,区块在广播时可以利用节点中已存储的交易信息,这将减少90%新区块传播时所需的数据量。
③ 弱区块(Weak blocks):矿池在开始挖块时就先广播正在挖的区块数据,挖成功后只要广播挖块证明,大大减少延迟。
这些改进方案在《Bitcoin Classic2016年路线图》 中均已列出,技术上不存在难点,其中的“区块头先行方案”国内矿池甚至已经联合使用了一段时间。
因此我们可以得出
结论2:现有带宽可承受8-80MB的区块大小,比现有的区块大小领先10-100倍。
3、在中期目标上,带宽增速明显领先于用户增速
在现在和未来的两个端点,带宽都远远领先区块大小,但在中间的某个时间点,区块增速有可能超过带宽增速吗?我们用数据说话:
区块大小的年增长率从长期来看逐步下降,早期一年能增加500%~800%,现在一年只能增加50%~100%,几年后可能最多就20%~30%了。全球人口是有限的,在快速膨胀期过后,越到后期的用户增速必然越慢。
而技术的步伐是不会放慢的,在过去的二十年中,带宽平均每年增长50%(尼尔森定律),CPU平均每年增加60%(摩尔定律)。在可以预见的未来,我们还有大量的技术储备可用,从T级别光纤到石墨烯处理器再到量子计算机,我们没有理由认为带宽会在现在10-100倍领先的基础上,反而被用户增长超过。
我们可以举一个中期目标:比特币交易达到VISA 2014年409亿笔的级别,那么每个区块大小就是409亿笔*225字节/365天/每天144区块=170MB。
矿池通过协议优化,对区块传输进行削峰填谷,可以将可承受区块从8MB扩大到80MB,再加上带宽增加,170MB是一个几年之内就能达到的目标。而比特币几年内是肯定不可能到VISA级别的,最乐观估计恐怕也得20年。
因此我们可以得出
结论3:在中期目标(VISA级别)上,带宽增速明显领先于用户增速。
4、除了带宽,CPU和存储会是瓶颈吗?
首先存储肯定不是瓶颈,虽然8GB的区块看起来很大,但中本聪在白皮书第7章Reclaiming Disk Space(回收硬盘空间)中已经给出了解决方法,节点可以删除旧区块,这对比特币安全不会造成任何影响。
Bitcoin Core 0.12.0版就提供了修剪模式,用户可以删除无用的旧区块,把现在区块数据从60GB缩减到2GB甚至更低。
CPU更不是瓶颈了,领先幅度更大,即使是4年前的CPU都足以处理20年后VISA级别的区块。Gavin在20MB大区块测试中,使用2012年产电脑处理194MB的区块用了250秒。听起来好像挺勉强,但最近升级的libsecp256k1签名验证库能把签名验证提速7倍,也就是说优化后只需要35秒。
并且Gavin在测试里指出:一个“新”区块里的绝大部分交易其实都是“旧”交易,节点在收到交易广播时就验证过签名,因此这35秒CPU使用是平均分布在10分钟的区块间隔中。也就是说,20年后VISA级别的区块大小,仅仅占用了4年前电脑5% CPU使用率,这还有什么好担心的呢?
5、万一暂时出现了用户增加到超过带宽的情况,怎么办?
这并没有什么问题,主链网络确实装不下这么多交易时,交易就会被挤到闪电网络、离链结算等其他渠道,这是正常的市场行为。就好比车堵到一定程度,就会有一部分人被挤去坐地铁。
但不能反过来说,将来用户增速有可能超过带宽,所以比特币现在就先自我阉割,大幅修改中本聪设计的,经过6年验证的成熟架构,把日常交易强行赶到闪电网络上,把主链阉割成一个结算网络,这是极其荒谬的。
6、区块扩容与牛市
最后说点题外话。价值决定价格,比特币要有人用才有价值,用比特币的人越多,比特币价值就越高。只有中本聪自己玩的比特币是没有价值的,如果全人类都使用比特币,比特币的总市值或将比肩黄金,把7万亿美元的黄金总市值除以2100万币,就是一币200万元。
把这图再贴一次
① 2011年4月的暴涨,内因是前一年区块增速从103%暴涨到866%。
② 2013年1月的塞浦路斯行情,内因是前一年区块增速不减反增到702%。塞浦路斯事件只是个引子,就算没有塞浦路斯事件,也会有通浦路斯事件来引爆牛市。
③ 2016年2月,我们可能已经站在一次牛市的起点——不减反增的104%区块增速(需求增加)和产出减半(供给减少)的叠加,其意义不言而喻。
我们和牛市之间,只剩下一块绊脚石。



发文时汇率行情:比特币标准价格 买价:¥2781.48 卖价:¥2780.56 (来源:好比特币,有利息的钱包)