日前,Qtum量子链针对区块链可扩展性问题以及交易处理效率低下的问题,提出了名为“SCAR”的区块链扩容共识算法,能够进一步降低区块链底层网络的要求,该算法已公布便引起海外近万名区块链开发者的关注以及转发。
据悉,SCAR可以找到用户体验与资源存储之间的平衡点,使之与其他共识算法相比拥有更高的效率及灵活性。
背景介绍
诸如PoW(Proof of Work)、PoS(Proof of Stake)等传统的区块链公式算法,为了减少分叉保证网络的稳定性,通常区块的间隔在10秒以上。例如Ethereum的区块间隔时间是15秒,Qtum是144秒,Bitcoin是10分钟。过高的区块间隔时间,导致了用户等待交易确认的时间较长,不利于实时支付等应用。
而一些联盟链的共识算法,例如DPoS 通过投票选出超级节点来执行共识算法,可以将区块间隔时间降到甚至1秒以内。但这样带来的问题就是block的数量过多,对网络带宽和数据存储都带来了很大的压力。运行一个全节点,甚至仅下载block header的轻节点,都对节点设备的性能有较高的要求。
对于区块链的大多数商业应用而言,如征信上链、商品溯源等,对于区块链的写操作通常是周期性的。即每天的部分时间交易量较大,其余时间交易量小。对于这样的场景,如果始终维持高速的区块产出,对于网络和存储资源都是较大的浪费,而仅需要保证在网络高峰时段系统有较高的性能即可。
因此,我们提出了 SCAR(Scalable Consensus Algorithm)可伸缩共识算法。SCAR的思想是根据区块链网络的负载,动态地调节参数,在高性能和低负载之间找到平衡,从而实现性能可伸缩。
SCAR 共识算法描述
以下将介绍SCAR算法的一种实现方式。
这种实现方式在联盟链的基础上,通过交易量来动态地更新区块间隔,从而实现了区块链性能的可升缩。需要注意的是,SCAR算法的核心思想是根据负载动态地调整区块链的性能,所以实现方式并不局限于本文所提出的这种,更多的实现有待进一步地探索。
SCAR共识算法由三个步骤组成:
以上可得SCAR共识算法的优点在于:
1. 由超级节点执行共识,block间隔可以极大程度缩短,交易确认快。
2. block间隔根据网络负载动态调整,空闲时候间隔变长,降低带宽和硬盘压力。
3. 当低于半数的超级节点出现故障的时候,新的block仍然能够产出,系统鲁棒性强。
总结
从本质上来说,SCAR能够支持在联盟链的基础上,通过交易量来动态地更新区块间隔,从而实现了区块链性能的超灵活的特性,SCAR算法的核心思想是根据负载动态地调整区块链的性能。
SCAR在保证区块链性能的同时,尽可能节省了带宽和硬盘的消耗,并支持动态调整链上参数,相比其他共识算法更加的高效和灵活,在大规模的商业应用中会有更大的优势。