我们知道,影响区块链交易性能的主要因素包括共识机制、交易验证、广播通信、信息加解密等几个环节。从这些环节入手,我们可以得到一些提升性能的方法。
共识机制
从PoW到PoS再到DPoS和各种BFT类算法,共识机制不断创新,区块链平台性能也得到大幅提升。
交易验证
从交易验证机制角度出发,目前有几种优化处理方式:
1)闪电网络(Lightning Network)和状态通道(State Channels),这两种策略是保持底层的区块链协议不变,将交易放到链下执行,通过改变协议用法的方式来解决扩展性问题。链下的部分可以用传统的中心化的分布式系统实现,性能具有可扩展性。在这种策略下,分布式账本上只是记录粗粒度的账本,而真正细粒度的双边或有限多边交易明细,则不作为交易记录在分布式账本上。缺点是存在中心化的系统。
2)分片处理(sharding),以太坊项目正在研发中的分片(shard)方案的总体思路是每个节点只处理一部分交易,比如一部分账户发起的交易,从而减轻节点的计算和存储负担。
3)多链架构(Multi-chain)的思路则是将原本的一条链分成多条链,每条链都负责部分计算和存储业务,并且有可扩展性,即链的数量可以随着业务量和数据的增加而增加,系统的总体性能随着链的数量的增加而提升,系统的存储空间也能随着链的数量的增加而扩大。
广播通信
P2P网络是区块链的核心技术之一,因此P2P网络通信的效率对性能的影响非常重要。为了能改善广播通信性能,需要提高节点机器的物理配置,提供高速网络连接,并采用减少广播的共识算法,如DPoS等。
信息的加解密
信息的加解密是区块链的关键环节,主要是哈希函数和非对称加密两类算法。区块链系统中可以采用更高性能的加密算法以提升交易验证的性能。