Blockchain Historic State Storage Using Error Correction Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed ledger systems (DLSs) face inefficiencies in storage due to the large size of blockchain data, with every node storing an entire copy, leading to storage space issues and data inequality, while maintaining data equality and processing efficiency is desirable.
Innovation Solution
Implementing error correction coding on historic state data, dividing it into encoded data sets, hashing, and storing hash values, allowing nodes to delete the original data sets, thereby reducing storage needs and 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 blockchain data is divided into multiple segments through erasure coding, where the original data is split into k data chunks and n-k parity chunks. Nodes store only specific segments rather than complete copies, reducing individual storage requirements while maintaining collective data availability across the network.
Solution Approach 2:
Instead of storing complete data copies, nodes store encoded fragments and parity information. The system creates virtual copies through regenerative coding, where any k out of n chunks can reconstruct the original data, eliminating the need for full redundant storage at each node.
2Quantity of substance
If nodes store less blockchain data, then storage space is reduced, but data security and authenticity verification become more difficult
Solution Approach 1:
The system pre-computes and stores erasure coding parity chunks alongside data chunks before any potential data loss or corruption occurs. This proactive approach creates a cushion of redundant information that enables recovery from failures without requiring nodes to store complete backup copies, thus maintaining security with reduced storage.
Solution Approach 2:
Erasure coding acts as an intermediary mechanism between the original data and storage nodes. Instead of nodes directly storing complete data copies, the encoding process transforms data into a form that distributes information across multiple nodes with built-in error detection and correction capabilities, enhancing security while reducing storage burden.
3Quantity of substance
If error correction coding is applied to historic state data, then storage efficiency improves, but computational complexity increases
Solution Approach 1:
Erasure coding is applied in advance to historic state data before it becomes critical for current operations. By pre-processing and encoding older state data, the system reduces future computational burdens during data retrieval and verification, as the encoding work is already completed and distributed across the network.
Solution Approach 2:
The system applies different storage strategies to different types of data: recent state data that requires frequent access is stored in conventional formats, while historic state data is subjected to erasure coding for optimized storage. This localized approach to quality control balances computational complexity with storage efficiency based on actual data access patterns.
Data Source
AI summary
Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for communicating and sharing blockchain data. One of the methods includes determining historic state data associated with one or more blocks created prior to a current block on a blockchain; performing error correction coding of the historic state data to generate encoded historic state data; dividing, based on one or more predetermined rules, the encoded historic state data into a plurality of data sets; selecting one or more data sets from the plurality of data sets based on the one or more predetermined rules; hashing the one or more data sets to generate one or more hash values corresponding to the one or more data sets; storing the one or more hash values; and deleting, by the blockchain node, the one or more data sets.


