Blockchain Data Storage Using Error Correction Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed ledger systems (DLSs) face challenges in reducing storage space requirements while maintaining data equality and processing efficiency, as they often store entire copies of large blockchain data, leading to inefficiencies and potential data inequality among nodes.
Innovation Solution
Implementing error correction coding (ECC) to encode block data, dividing it into multiple data sets, hashing each set, and storing only a portion along with hash values, allowing nodes to retrieve missing data from other nodes while ensuring data authenticity and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If every node stores an entire copy of the blockchain, then data equality is maintained, but storage space consumption increases significantly
Solution Approach 1:
The patent divides the blockchain data into multiple segments and distributes them across different nodes using error correction coding. Each node stores only a portion of the data (k out of n segments) rather than the complete blockchain, reducing storage requirements while maintaining data availability through distributed reconstruction.
Solution Approach 2:
The patent uses error correction coding to create redundant copies of data segments. Instead of storing complete blockchain copies on all nodes, the system generates encoded versions of data segments that can be reconstructed from multiple copies distributed across nodes, maintaining data integrity with reduced storage.
2Quantity of substance
If a few shared nodes store the entire copy of the blockchain, then storage space is saved for other nodes, but data inequality is created
Solution Approach 1:
The patent implements differential data storage where different nodes store different portions of the blockchain data based on their roles and requirements. Full nodes store complete data for consensus, while light nodes store only necessary segments for specific operations, creating appropriate data inequality that optimizes resource usage.
Solution Approach 2:
The system dynamically adjusts data storage requirements based on node types and operational needs. Nodes can selectively store different data segments depending on their function in the network, allowing flexible data distribution that maintains equality where needed and optimizes storage where appropriate.
3Reliability
If error correction coding is performed on block data, then data security and authenticity are improved, but processing time increases
Solution Approach 1:
The patent performs error correction coding in advance during block creation and distribution. The encoding process is completed before data needs to be accessed or verified, so that when nodes retrieve and validate data, the security measures are already in place without adding delay to subsequent operations.
Solution Approach 2:
The error correction coding is applied continuously to all blockchain data as it is generated and transmitted, ensuring that security protection is an ongoing process rather than a one-time operation. This continuous encoding maintains data integrity throughout the blockchain's lifecycle without requiring additional processing steps later.
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 based on error correction code. One of the methods includes determining, by a blockchain node, block data associated with a current block of a blockchain; performing error correction coding of the block data to generate encoded data; dividing, based on one or more predetermined rules, the encoded data to a plurality of data sets; storing, based on the one or more predetermined rules, one or more data sets of the plurality of data sets; hashing each of rest of the plurality of data sets to generate one or more hash values corresponding to the rest of the plurality of data sets; and storing the one or more hash values.