Blockchain Data Storage via Erasure Coding and Node Capacity Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing blockchain networks face challenges in efficiently storing data due to varying storage capacities among nodes, leading to issues with decentralization and the inability of nodes with limited storage to participate fully. Additionally, Byzantine nodes can cause data loss and accessibility issues.
Innovation Solution
A method for storing blockchain data using error correction coding, where block data is divided into subblock datasets and parity datasets, and these are stored proportionally to the storage capacities of nodes, ensuring Byzantine fault tolerance and efficient use of storage space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If erasure code is used to distribute and store ledger data in participant nodes, then storage space is saved, but nodes with relatively small space cannot participate in the blockchain network due to continuously increasing ledger size
Solution Approach 1:
The patent segments the ledger data into multiple shards and distributes them across different nodes based on their storage capacities. This segmentation allows nodes with varying storage spaces to participate in the blockchain network, as each node only needs to store the shards assigned to it rather than the entire ledger.
Solution Approach 2:
The patent applies local quality by assigning different storage responsibilities to different nodes based on their individual capacities. Nodes with larger storage spaces handle more data, while nodes with smaller storage spaces handle less data, creating a differentiated storage architecture that accommodates heterogeneous node capabilities.
2Reliability
If duplicatively store ledger data in respective nodes, then data availability is ensured, but computing power and storage space requirements increase significantly
Solution Approach 1:
Instead of storing complete duplicate copies of the ledger in each node, the patent segments the ledger into shards and distributes them across nodes. This reduces the storage burden on each node while maintaining data availability through the distributed shard structure.
Solution Approach 2:
The patent uses erasure coding to create encoded copies of the ledger data that can be distributed across nodes. These encoded copies maintain the ability to reconstruct the original ledger data while requiring less storage space per node compared to full duplicates.
3Quantity of substance
If erasure code divides original data into k units and adds m parity bits, then storage space is reduced, but nodes must be provided with different storage spaces creating inequality
Solution Approach 1:
The patent implements local quality by assigning different numbers of shards to different nodes based on their storage capacities. Nodes with larger storage spaces receive more shards, while nodes with smaller storage spaces receive fewer shards, creating an equitable distribution that respects individual node capabilities.
Solution Approach 2:
The patent introduces dynamic storage allocation where the distribution of shards across nodes can be adjusted based on changing storage capacities and network conditions. This dynamic approach allows the system to adapt to node additions, removals, and capacity changes while maintaining fair and efficient storage distribution.
Data Source
AI summary
Disclosed herein are a method and an apparatus for storing blockchain data based on error correction code. The method for storing blockchain data based on error correction code includes dividing block data to be stored into multiple subblock datasets, generating parity datasets corresponding to the block data, and storing the subblock datasets and the parity datasets in proportion to storage capacities of the blockchain data storage nodes.


