收稿日期: 2021-08-07
网络出版日期: 2021-09-28
基金资助
国家自然科学基金 (U1811264, U1911203, 61972152)
Erasure code partition storage based on the CITA blockchain
Received date: 2021-08-07
Online published: 2021-09-28
区块链系统采用全复制的数据存储机制, 为每个节点保留整个区块链的完整副本, 系统扩展性差. 同时由于区块链系统中拜占庭节点的存在, 导致传统分布式系统中使用的分片方案不能被直接应用于区块链系统中. 本文结合纠删码和拜占庭容错算法, 使每个区块的存储消耗由
尹芙蓉 , 朱承宇 , 赵斌 , 张召 . 基于CITA区块链的纠删码分片存储实现[J]. 华东师范大学学报(自然科学版), 2021 , 2021(5) : 48 -59 . DOI: 10.3969/j.issn.1000-5641.2021.05.005
Blockchain system adopts full replication data storage mechanism, which retains a complete copy of the whole block chain for each node. The scalability of the system is poor. Due to the existence of Byzantine nodes in the blockchain system, the shard scheme used in the traditional distributed system cannot be directly applied in the blockchain system. In this paper, the storage consumption of each block is reduced from O(n) to O(1) by combining erasure code and Byzantine fault-tolerant algorithm, and the scalability of the system is enhanced. This paper proposes a method to partition block data, which can reduce the storage redundancy and affect the query efficiency less. A coding block storage method without network communication is proposed to reduce the system storage and communication overhead. In addition, a dynamic recoding method for entry and exit of blockchain nodes is proposed, which not only ensures the reliability of the system, but also reduces the system recoding overhead. Finally, the system is implemented on the open source blockchain system CITA, and through sufficient experiments, it is proved that the system has improved scalability, availability and storage efficiency.
Key words: blockchain; erasure code; Byzantine fault tolerance; storage scalability
1 | CASTRO M, LISKOV B. Practical byzantine fault tolerance [C]//Proceedings of the Third Symposium on Operating Systems Design and Implementation. 1999: 173-186. |
2 | WOOD G. Ethereum: A secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper, 2014, 151, 1- 32. |
3 | BURCHERT C, DECHER C, WATTENHOFER R. Scalable funding of bitcoin micropayment channel networks. Royal Society Open Science, 2018, 5 (8): 180089. |
4 | DANG H, DINH T T A, LOGHIN D, et al. Towards scaling blockchain systems via sharding [C]// Proceedings of the 2019 International Conference on Management of Data. 2019: 123-140. |
5 | AL-BASSAM M, SONNINO A, BANO S, et al. Chainspace: A sharded smart contracts platform[EB/OL]. (2017-08-12) [2021-07-05]. http://arXiv.org/pdf/1708.03778.pdf. |
6 | REED I S, SOLOMON G. Polynomial codes over certain finite fields. Journal of the Society for Industrial & Applied Mathematics, 1960, 8 (2): 300- 304. |
7 | LIN W K, CHIU D M, LEE Y B. Erasure code replication revisited [C]//Proceedings of the Fourth International Conference on Peer-to-Peer Computing. IEEE, 2004: 90-97. |
8 | 贾大宇, 信俊昌, 王之琼, 等. 区块键的存储容量可扩展模型. 计算机科学与探索, 2018, 12 (4): 525- 535. |
9 | DAI M, ZHANG S, WANG H, et al. A Low Storage Room Requirement Framework for Distributed Ledger in Blockchain[J]. IEEE Access, 2018(6): 22970-22975. |
10 | XU Y, HUANG Y. Segment blockchain: A size reduced storage mechanism for blockchain. IEEE Access, 2020(8): 17434-17441. |
11 | PERARD D, LACAN J, BACHY Y, et al. Erasure code-based low storage blockchain node [C]//2018 IEEE International Conference on Internet of Things and IEEE Green Computing and Communications and IEEE Cyber, Physical and Social Computing and IEEE Smart Data. IEEE, 2018: 1622-1627. |
12 | QI X, ZHANG Z, JIN C, et al. BFT-Store: Storage partition for permissioned blockchain via erasure coding [C]// 2020 IEEE 36th International Conference on Data Engineering. IEEE, 2020: 1926-1929. |
/
〈 |
|
〉 |