Blockchain Historic State Storage Using ECC and Hash Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed ledger systems (DLSs) face inefficiencies in storage due to the large size of blockchain data, leading to 'data inequality' and high storage space consumption, as every node stores an entire copy of the blockchain, including infrequently used historic state data.
Innovation Solution
Implementing error correction coding (ECC) on historic state data, dividing it into encoded data sets, hashing, and storing hash values while deleting the original data sets, allowing nodes to share and retrieve encoded data efficiently, 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 two segments: current state data (stored locally by every node) and historic state data (stored externally by dedicated nodes). This segmentation allows nodes to maintain data equality for current operations while reducing local storage requirements by referencing historic data externally through content-addressable storage.
Solution Approach 2:
The patent implements a copying mechanism where historic state data is replicated across dedicated storage nodes rather than requiring every node to store complete copies. Nodes can retrieve historic data from any storage node that contains the required data segment, maintaining data availability while reducing overall network storage redundancy.
2Ease of operation
If every node stores an entire copy of the blockchain, then data access is independent, but storage resource efficiency decreases
Solution Approach 1:
The patent merges the functions of full nodes and storage nodes into a hybrid architecture. Nodes can operate as both computation nodes (accessing current state data) and storage nodes (storing historic state data segments). This merging allows the network to share storage resources while maintaining data access independence through the content-addressable storage mechanism.
3Quantity of substance
If shared nodes store the entire copy of the blockchain, then storage space is reduced, but data inequality is created
Solution Approach 1:
The patent creates universal data segments through content-addressable storage where each historic state data segment serves multiple purposes: it can be retrieved by any node that needs it, it can be stored by any storage node, and it maintains the same accessibility as if every node had a complete copy. This universality eliminates data inequality while reducing storage space requirements.
4Quantity of substance
If historic state data is stored externally, then local storage is reduced, but data retrieval complexity increases
Solution Approach 1:
The content-addressable storage system operates on a self-service principle where nodes automatically locate and retrieve historic state data segments based on their content hashes without requiring complex manual coordination. The system autonomously manages data placement, retrieval, and verification, reducing the operational complexity despite the distributed external storage architecture.
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 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 one or more encoded historic state data; dividing, based on one or more predetermined rules, the encoded historic state data to 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.