区块链是Web3.0的基石,而目前区块链最需要解决的问题就是每秒交易能力(TPS)的问题,而这个解决方案就被为区块链扩容方案。
大家可能会听到关于区块链扩容方案的各种专有名词(术语),后续我们会逐步介绍,这样看到一些术语的时候,不至于会被搞晕掉。今天先介绍关于Layer 0/1/2扩展。
Layer 0 扩展是指在共识层面扩展,其实单个区块链的TPS=每区块容纳的交易数/出块时间。 与其他的(算力、存储)无关,因此我们可以在共识层面要么扩大每区块容纳的交易数,要么缩短区块的时间,就可以实现TPS的扩展。但是这个调整受到网络带宽、节点的计算能力的限制,不能无限扩展。
BTC诞生(2009年)时,全球的网络带宽有限,所以中本聪选择出块时间是15分钟,区块大小是1M;而以太坊完成(2015年)时,网络和CPU的情况提高了很多,因此以太坊选择的是15秒出块时间。 所以当EOS一开始说出块时间是0.5毫秒的时候,被业内的技术人员讥笑了一阵子,再好的网络状况也不可能达到这个出块水平!
Layer 1扩展是指在实现层面扩展,目前主要的实现方案就是分片方案。分片的原因是大家发现,区块链每秒交易能力慢的主要原因就是所有的节点都做了一样的事情:要么出块、要么验证系统中的其他块,因此系统中节点的增加并不能导致性能的增加。因此分片的理念就是分工,能不能让网络中的一些节点做一部分的工作,另外一些节点做另外一部分的工作。
分片技术是最有希望的区块链扩展技术,但是技术难度极大,因为完全的分片技术包括通信、存储、交易和网络四个方面的分片,还要面对分片后的安全问题,带宽膨胀问题和不同分片间数据的一致性问题。检查某个分片方案是否有效的最简单的方法就是看这个方案中,负载(网络、存储、CPU)最重的节点的最低要求,如果这个要求是普通的家用计算机都能够满足的,说明这个方案是有前途的,否则就是实验性质的。
Layer 2 扩展就是指链下扩展,是指再建立一条链分担一部分交易工作,然后每隔一段时间把结果返回到主链上锁定的方案。这个方案天然存在两大缺陷,无法满足实际的应用:
1) 如果是两个账户之间有大量的交易,方案有效,如果两个帐户之间大部分是一次性交易,此方案就无效。原因是如果大量的一次性交易存在的话,基本上链上的每次交易的结果都需要存回主链上,每个交易还是要消费一个主链交易,仍旧会消耗大量的主链TPS;
2) 链下扩展的链如果是去中心化的,该链仍旧存在TPS问题;如果是非常中心化的,那就失去了链外扩展的意义--如果是中心化的,那不就是现在的交易所么?平时交易在交易所里,需要时再提币回链上。
Layer 2扩展在未来是Layer 1扩展的补充,什么时候呢?当单个Layer 1能够满足一些应用的时候,比如说支持宝的TPS峰值是65万(2020年); VISA设计是18000,实际是4000等。这时候,每个应用可以发行自己的链,链内的通证体现了这个应用的服务价值;然后不同的应用(不同的通证)之间,通过一个基础链进行价值的交换。这时候,这些应用链都可以看成是基础链的Layer 2 扩展。
备用公众号欢迎关注!
领取专属 10元无门槛券
私享最新 技术干货