Blockchain Data Storage Using Shared Nodes and Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed ledger systems (DLSs) face challenges in reducing data storage requirements while maintaining data equality and processing efficiency, particularly due to the large size of state and block data that need to be stored across nodes in blockchain networks.

Innovation Solution

Implementing error correction coding (ECC) and hashing techniques to encode block data, dividing it into multiple data sets, and storing only selected portions along with hash values, allowing nodes to share and retrieve data efficiently, with shared storage nodes handling historic state data to reduce storage burden.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If every node stores an entire copy of the blockchain, then data equality is maintained, but storage space consumption increases significantly

Engineering Contradiction:
Improvedata equalityVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides blockchain data into two segments: current state data stored by every node to maintain data equality, and historic state data stored only by shared storage nodes to reduce storage consumption. This segmentation allows nodes to store only essential data while relying on shared nodes for historical information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Shared storage nodes perform multiple functions: they store historic state data, provide data retrieval services to other nodes, and maintain data availability across the network. This multi-functionality reduces the storage burden on regular nodes while preserving data equality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If shared storage nodes store the entire blockchain, then storage space is reduced for other nodes, but data inequality is created

Engineering Contradiction:
Improvestorage space consumptionVSAvoiddata equality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Different nodes have different storage responsibilities based on their roles. Regular nodes maintain current state data locally to ensure data equality and processing efficiency, while shared storage nodes specialize in storing historic state data. This local quality differentiation resolves the contradiction between storage reduction and data equality.

Inventive Principle:
Principle #3Local quality

3Reliability

If error correction coding is applied to block data, then data reliability is improved, but computational complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies error correction coding selectively rather than to all data. ECC is applied to current state data and certain critical block data that require high reliability, while historic state data stored by shared nodes may use different protection mechanisms. This partial application reduces computational complexity while maintaining necessary reliability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11016962B2Blockchain data storage based on shared nodes and error correction code
Publication Date: 2021.05.25 ADVANCED NEW TECHNOLOGIES CO LTD
  • US11016962B2 patent drawing
  • US11016962B2 patent drawing
  • US11016962B2 patent drawing

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 determining block data and current state data associated with a current block of a blockchain; sending the current state data to one or more shared storage nodes of a blockchain network; performing error correction coding of the block data to generate encoded block data; dividing, based on one or more predetermined rules, the encoded block data into 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 data set of remaining data sets of the plurality of data sets to generate one or more hash values corresponding to the remaining data sets; and storing the one or more hash values and the current state data.