科普:什么是链上扩容和链下扩容?
区块链项目里,很多人对 比特币 (BTC)最为熟悉。然而,比特币网络每秒最多只能处理7笔交易,超过的交易只能按顺序排队等着。
最拥挤的时候,有超过15万笔的 比特币 交易在排队等候处理(注1)。也许,你会嘀咕:这种性能的比特币怎么和微信、支付宝PK呢?
确实,这个问题——扩容,早已成为区块链(不仅仅是比特币)的重点优化方向。
那我们需要多高性能的区块链呢?
很多人会把Visa、或者双11时淘宝的峰值交易处理速度作为区块链的性能优化目标。
事实上,在一些特殊场景下,这个性能也可能是不够的,比如将区块链应用于物联网时,对终端和设备的实时访问控制需求,就需要极高的数据传输和处理速率。
因此,如果要用区块链来构建价值传递网络,有人认为它的性能至少应该以 目前整个互联网信息的数据实时处理速度 为目标(包括每秒200万封邮件、6.5万次google搜索、7.2万次youtube视频等、以及53TB的数据流程。数据出处见注2),这已经绝非简单只用每秒处理量(TPS)来要求了。
如何在目前 区块链 有限处理能力的基础上进行提升呢?
这其中存在着巨大的挑战和机会,近几年,众多扩容方案纷纷登台亮相,总体上,它们都来自于两大阵营: 链上扩容 和 链下扩容 。
链上扩容
最先登台的是链上扩容派,也常被称为layer-1扩容。
所谓链上,顾名思义,就是直接在区块链上动手术, 直接修改区块链的基础规则,包括区块大小、共识机制等。 拿修路打个比方,如果车多路堵了,最直接的就是把原来的双向二股车道扩充成四股,再不够就改成六股、八股。
比特币现在每秒只能处理7笔,直接原因是出块慢、区块容量小,那就把出块速度提高、区块变大。
比如 莱特币(LTC),在比特币代码基础上,把出块速度从平均10分钟左右,提高了4倍到每2.5分钟出块 ;还有比特币现金(BCH),也是在比特币基础上,把区块从1M大小直接提到32M,处理能力提高了32倍;还有采用相对复杂的分片方案,把原来全网共同处理每一笔交易,优化成多个小组并行运作,在同样的时间干更多的活,等等。
链上扩容这种方式比较直接,不过也和道路直接扩充一样,有点折腾,或者说很难一步到位。 好不容易实现了扩容,更高性能需求的应用场景又出现了,需要不断地超越自己。而且,因为所有交易仍然需要在区块链这个分布式系统中进行数据同步,整个网络的性能瓶颈会取决于其中单台服务器的处理性能。
所以,通常会认为链上扩容方案在性能上会存在难以逾越的天花板。
链下扩容
于是,从2018年开始,涌现了越来越多的链下扩容方案,也常被称为 Layer-2扩容方案。
链下扩容和链上扩容是相对的,链下扩容阵营换了种思路,他们不直接改动区块链本身的规则(区块大小、共识机制等),而是 在其之上再架设一层来做具体的活,只将必要信息、或需要共识参与( 如数据出错、发生纠纷时 )时才与区块链进行信息交互和传播。因为扩容本质上没有发生在区块链上,因此这类方案被直观地称为链下扩容。
仍然拿道路扩容打比方的话,链下扩容不是在原有道路上扩充,而是在现有路线上架个可以四通八达的高架、或者隧道,普通汽车都上那儿开,原来的路不到万不得已尽量不用。
链下扩容方案中,大量的事务通常只在参与节点间直接交易,不会进行全网传播,效率直接取决于节点间的网络性能,显然效率更高。而且因为没有全网广播 ,信息不能公开可查,通常隐私性也更高。
因此,链下交易性能不受原有区块链性能的影响,链下扩容的性能目标没有最高,只有更高。
链下扩容主要包括 状态通道、侧链 等解决方案, 闪电网络 就是链下扩容的代表选手之一。
在闪电网络中,交易双方可直接构建通道,之后便可在通道内点对点实现任意多笔零确认的交易,只需要在通道开启和关闭时才跟区块链“打个招呼”,在全网传播确认即可。
它不需要修改比特币的共识算法,比特币网络从每笔交易的处理者,后退一步,仅处理少量关键交易,或在交易出现纠纷时进行处理以“主持公道”。这样的工作量现有性能即可满足。
当然,链下扩容也并非完美,其方案也伴随着是否会带来中心化、或者数据可能会被修改等等疑虑。
不过,作为普通用户,通常不会考虑具体采用了哪种解决方案的。随着区块链商业应用场景的落地,哪些解决方案能更好地解决问题,并且不影响使用体验,就很可能会在扩容方案中胜出。
你更看好链上扩容还是链下扩容,还是两者都看好?为什么? 欢迎在留言区留言。