摘要:
区块链系统采用全复制的数据存储机制, 为每个节点保留整个区块链的完整副本, 系统扩展性差. 同时由于区块链系统中拜占庭节点的存在, 导致传统分布式系统中使用的分片方案不能被直接应用于区块链系统中. 本文结合纠删码和拜占庭容错算法, 使每个区块的存储消耗由 $ O\left(n\right) $ 降到 $ O\left(1\right) $ , 增强了系统的可扩展性. 本文还提出了对区块数据进行划分的方法, 在降低存储冗余的同时减小对查询效率的影响. 提出了无需网络通信的编码块存储方法, 降低了系统存储和通信开销. 还提出了区块链节点加入和退出的动态重编码方法, 既保证系统的稳定性, 又降低了系统重编码开销. 最后, 在开源区块链系统CITA上实现, 并通过充分的实验, 证明系统可扩展性、可用性和存储效率提升.
中图分类号:
尹芙蓉, 朱承宇, 赵斌, 张召. 基于CITA区块链的纠删码分片存储实现[J]. 华东师范大学学报(自然科学版), 2021, 2021(5): 48-59.
Furong YIN, Chengyu ZHU, Bin ZHAO, Zhao ZHANG. Erasure code partition storage based on the CITA blockchain[J]. Journal of East China Normal University(Natural Science), 2021, 2021(5): 48-59.