可扩展性,一直是区块链领域最值得探讨的问题之一,也是区块链想要实现Web3.0愿景,为亿万用户提供安全可靠服务时所需要攻克的技术难题。那区块链为什么需要扩容?它解决了什么问题?又是如何实现的?
区块链为什么需要扩容
简单理解扩容,它就像是某个容器或者是承载物,已不能支撑日益增长的需求时,需要通过扩大容量或者承载面积,从而缓解当前所受压力。
区块链扩容也是如此,缓慢的交易处理速度会造成大量冗余,降低整体网络性能。虽然目前区块链主流平台都在努力提高每秒的交易量,但相比于Visa这类动辄每秒上万的吞吐量(TPS)仍相形见绌。因此,如何在保证区块链安全性的情况下,有效提升区块的吞吐量,即实现区块链扩容,为区块链技术大规模应用落地提供技术支撑。
从技术的角度来看,目前关于区块链扩容的解决方案主要有两个方向:链上(on-chain)扩容及链下(off-chain)扩容。
什么是链上扩容?
链上扩容,即第一层( Layer1)扩容,指的是直接发生在区块链上,通过改变区块大小或数据结构从而达到提高处理交易能力的解决方案,比如分片、隔离见证,都是典型的链上扩容方案。
分片Sharding,是区块容量大小的一种解决方案。通常情况下,每个节点和区块链网络都包含区块链的完整副本,分片是一种允许节点具有完整的区块链的部分副本的技术,以提高整体性能和稳定速度。通俗理解,就好像从班主任判所有课的作业变成数学老师只判数学作业,语文老师只判语文作业一样,节省了时间。
隔离见证Segregated Witness,是通过把占用大量存储空间的区块的数字签名重新放置到不同的记录中,使每个区块能进行更多的交易,以达到扩容的目的。区块链上不仅记载了每笔转账的具体信息,还包括了每笔交易的数字签名以核实交易的合法性。矿工在打包区块的时候需要用数字签名来验证每笔交易,确认无误之后才会将该笔交易记录在区块里。但对于用户不需要验证信息,且每个比特币记录大小被限制在1MB,每 10 分钟记录一次新的记录,所以通过隔离见证转移签名以扩大区块空间
链上扩容这种方式比较直接,但很难一步到位,或者说好不容易实现了扩容,更高性能需求的应用场景又出现了,需要不断地去超越。而且,因为所有交易仍然需要在区块链这个分布式系统中进行数据同步,整个网络的性能瓶颈会取决于单台服务器的处理性能。于是,越来越多的链下扩容方案涌现出来,提供了一种新的解题思路。
什么是链下扩容?
链下扩容,即第二层( Layer2)扩容,是在不直接改动区块链本身的规则(区块大小、共识机制等)基础上,再架设一层只将必要信息、或需要共识参与(如数据出错、发生纠纷时)时才与区块链进行信息交互和传播。
如果将区块链比作一条公路的话,链下扩容不是在原有公路上进行修改扩建,而是基于现有路线架设四通八达的高架或是隧道,使得大部分汽车都在新的高架上开,原来主路不到万不得已尽量不用。
在链下扩容方案中,大量的事务通常只在参与节点间直接交易,不会进行全网传播,显然效率更高。而且因为没有全网广播,信息不能公开可查,通常隐私性也更高。此外,链下交易性能不受原有区块链性能的影响,实现的性能目标也有更高的可能。
闪电网络(Lightning Network),是一种比特币链下扩容方案。闪电网络是一种允许加密货币的交易即时发生和成本降低的技术,它使一般在比特币网络中需要等待区块确认的交易瞬间完成。闪电网络是通过设置一个可扩展的微支付通道网络,双方都可以用各自的私钥访问,实现快速交易支付,然后将地址保存到公链中,通过智能合约的方式,证明该笔存款的多少属于谁。
雷电网络(Raiden Network),则是以太坊链下扩容解决方案,它使得使用以太坊技术的加密货币能够即时和低成本交易。交易双方只要在链上存在交易信道,就能在链下根据被锁定的余额进行高频、双向的即时确认交易,将这样多个通道形成的支付路径构成“雷电网络”。
目前无论链上扩容还是链下扩容,都有一些技术上突破,也给区块链的大规模应用奠定基础。