摘要

区块链全节点需要存储完整的账本,不能满足数据快速增长的需求,其存储扩容成为当前研究热点之一。现有最优研究成果虽然结合分片和RS(Reed-Solomon)纠删码技术,降低了存储开销,实现了数据可恢复,但存在网络开销较高和跨节点数据请求效率较低的问题。因此,提出了一种基于社区发现和局部恢复码(Local Reconstruction Codes, LRC)的区块链存储扩容方案,一定程度上解决了这些问题。首先改进现有基于传导性的社区发现方法,在此基础上提出了一种区块链节点分组方法,使平均连接速度更快的节点分为一组,有效地缩短了跨节点请求区块的响应时间;然后采用了更优的LRC码来替代RS纠删码,利用更少的原始数据实现单点故障数据恢复,降低了网络开销。大量实验结果表明提出的存储方案在保持目前最优方案的数据恢复能力和存储开销的基础上,能有效减少网络开销和跨节点请求区块的时间。