Blockchain Erasure Coding for Lower Node Storage Burden
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Blockchain networks face challenges in efficiently storing and retrieving large amounts of data, leading to storage inefficiencies and data inequality among nodes, which can result in security risks and high computational resource consumption.
Innovation Solution
Implementing error correction coding (ECC), specifically erasure coding, to encode blockchain data, allowing each node to store a portion of the data and retrieve the rest from other nodes, ensuring data integrity and reducing storage burden while maintaining computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If every node stores an entire copy of the blockchain, then data completeness is ensured, but storage space consumption increases significantly
Solution Approach 1:
The blockchain data is divided into multiple fragments using erasure coding technology. Each node stores only a portion of the fragmented data rather than the complete blockchain, reducing individual storage requirements while maintaining network-wide data completeness through distributed reconstruction capability.
Solution Approach 2:
Instead of storing complete copies of the blockchain on every node, the system creates encoded copies through erasure coding where n data blocks are transformed into n+k encoded blocks. Any n blocks can reconstruct the original data, allowing nodes to store smaller portions while ensuring data availability.
2Quantity of substance
If a few shared nodes store the entire copy of the blockchain, then storage burden on individual nodes is reduced, but data security risk increases due to data inequality
Solution Approach 1:
The system segments blockchain data into multiple fragments and distributes them across all nodes through erasure coding. This eliminates data concentration on specific nodes, ensuring that no single node holds the entire blockchain, thereby preventing single-point failures and enhancing overall data security.
Solution Approach 2:
All nodes are given equal storage responsibilities by distributing encoded data fragments uniformly across the network. Each node stores approximately the same amount of data, creating data equality and preventing the formation of centralized data repositories that would create security vulnerabilities.
3Quantity of substance
If ECC is performed on blockchain data, then storage efficiency and data equality are improved, but computational resource consumption increases
Solution Approach 1:
Erasure coding is performed in advance during the block generation and distribution process, rather than being computed on-demand. This preliminary encoding transforms data into fragments that can be efficiently stored and later reconstructed without requiring intensive computation at the time of data retrieval or validation.
Solution Approach 2:
The system adjusts the erasure coding parameters (such as the ratio of data blocks to parity blocks) to optimize the balance between storage efficiency and computational overhead. By carefully selecting coding parameters, the system achieves significant storage savings while keeping computational resource consumption within acceptable limits.
4Reliability
If new blockchain nodes are added to the network, then network capacity and security are enhanced, but storage burden on existing nodes increases
Solution Approach 1:
When new nodes join the network, the existing fragmented and encoded blockchain data is redistributed across the expanded node set. Each existing node continues to store its allocated fragments without needing to increase its storage capacity, while new nodes receive their own portions of the encoded data, allowing network expansion without increasing individual storage burdens.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for storing blockchain data. One of the methods includes receiving a request for performing error correction coding (ECC) to one or more blocks of a blockchain, obtaining the one or more blocks based on blockchain data received from at least one blockchain node of the blockchain network, and performing ECC of the one or more blocks to generate one or more encoded blocks, wherein a code rate of the one or more encoded blocks equals a minimum number of honest blockchain nodes required by the blockchain network and a total number of blockchain nodes of the blockchain network.