区块链(特别是公链)要落地,做到真正的普及和应用,需要解决交易的吞吐量和时延问题,这称作“可扩展性” (Scalibility)。物流中,就是一个运输工具一次能装载多少货物,用什么样的方式进行运输,汽车灵活机动,船运装载量大成本低,但时间慢,飞机速度快但运输体量小成本高。在区块链的应用上,主要是一个区块包含的交易数量(由区块大小决定)和传播时间(区块越大,时间越长,安全性越低)的问题。
目前比特币的交易吞吐量大约是每秒7笔,以太坊20笔,而中心化的网络结算如VISA是每秒数万笔。现在的区块链网络不能满足人们对于金融的实际需求,更不能支撑其它的商业应用。
到目前为止解决区块链可扩展性问题有四种尝试:
1. 增大区块,这个方法简单直接,产生的问题就是延时导致的安全性低;
2. 用新的共识机制,通过提高出块效率去解决交易量的问题,但它不够去中心化,这个方面的代表是EOS;
3. 分片,通过限制交易的类别与范围来锁定共识的范围,缺点就是技术复杂,无法满足多元化的需求;
4. 构筑状态通道网络,这个是对主链扩容的补充,缺点是受制于主链通道的容量和速度。

讨论EOS的文章很多,分片以及构筑状态通道能否大规模应用存疑,重点看下增大区块的可行性。
BCH的由来,主要是利益之争。而随着时间的发展,网络越来越发达,设备与技术迭代加快,区块增大后的副作用随着时间慢慢消失。
区块大小与区块同步时间与传输延迟上成正比,P2P网络的节点是离散化分布,不同地方网络速度不一样,因此对区块的下载和传播时间不同。区块越大,同步时间及传输时间也会相应增大,关于区块变大后的问题在《比特币区块变大后产生的问题是什么》里有阐述。
比特币网络通过离散化来构建网络安全,节点增多,其安全系数越高,越难以被实行51%的全网算力攻击。现行网络里面运行比特币全节点的有一万多个,这些全节点全部是同步完整的比特币区块链数据,可以完成单笔的交易验证。在这1万多个全节点之外,还有很多的钱包、手机APP采用的是轻钱包模式,它们的节点数量庞大(上千万的比特币地址),但是这些轻钱包无法独立验证交易,它们需要对接全节点进行验证,也就是说,真正承担交易验证安全的还是这一万多个全节点。然而,这些全节点大部分不开放交易验证,所以轻钱包的软件的开发者会构建自己的服务器来提供交易验证和查询服务,造成的隐患就是轻钱包并不知道其他完整的全节点,为它提供交易验证的全节点如果遇到攻击,对应的轻钱包安全性也会受到威胁。
到了今天,比特币网络已经联通手机、物联网设备、其他一些智能设备并将他们纳入到节点的安全体系里面来,这些情况是比特币的设计者没法预料的。随着手机的普及使用及手机容量达到100G以上,比特币手机APP可以间接的执行比特币网络交易验证功能。
SPV钱包(简单的支付确认),指下载一个完整的区块头(最长链),然后对应每一笔交易,下载到对应包含该笔交易的区块进行验证。这样的SPV轻钱包,需要有几百兆的空间保存完整的区块头,区块头的增长大概只有完整区块交易数据的1/4000,同时SPV钱包可以保存一定比例的完整区块,轻节点之间可以像全节点一样进行交互,也就是说数量最大的以千百万计的轻钱包节点也可以参与网络的底层安全,进行交易完整的验证,使比特币网络的安全更上一层楼。
这种几百上千万节点组成的点对点网络,节点为了验证一笔交易,只下载包含这笔交易的区块,几百兆的大小,现在的手机完全能满足轻钱包的这种功能。
随着5G的普及、手机在硬件和软件上的突破,下载和传播的时间会大大改善,区块变大后的不利因素就会消失了。
网友评论