Blockchain State Tree Segmentation for Storage Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed blockchain networks face high computational and storage burdens due to the need for each node to process the entire network's transactional load and store large content-addressed state trees, which reduces efficiency in traversing and updating state data.

Innovation Solution

Implementing a method that stores blockchain data in two separate databases: one for location-addressable key-value pairs and another for a state tree structure, where leaf nodes store hash values instead of actual account states, reducing storage consumption and improving traversal efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If content-addressed state trees are used to store blockchain data, then data integrity and immutability are ensured, but storage space grows very large and traversal efficiency significantly reduces

Engineering Contradiction:
Improvedata integrityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent segments the state tree storage into two separate databases: a state tree database storing only the tree structure and hash values, and a state object database storing actual account state data. This segmentation allows the state tree to remain compact for efficient traversal while state objects are stored separately, resolving the contradiction between maintaining data integrity through complete storage and reducing overall storage volume.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the actual account state data from the state tree structure and stores it separately in the state object database. The state tree database retains only the essential tree structure and hash values needed for verification and traversal, while the extracted state objects are stored independently. This extraction reduces the volume of the state tree database while maintaining data integrity through preserved hash references.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If every node stores an entire copy of the world state, then data completeness is maintained, but computational and storage burden of each node becomes very high

Engineering Contradiction:
Improvedata completenessVSAvoidcomputational and storage burden
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments world state storage across two databases, allowing nodes to store only essential state tree structure and hash values in the state tree database, while state object data can be retrieved from the state object database as needed. This segmentation reduces the quantity of data each node must permanently store while maintaining data completeness through on-demand retrieval.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces hash values as intermediaries between the state tree database and state object database. Nodes can verify data completeness by checking hash values in the compact state tree database without storing all actual state data, reducing storage burden while maintaining the ability to verify completeness through the intermediary hash references.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the state tree structure grows large with many nodes, then all account states are captured, but the height of the tree increases and traversal efficiency significantly reduces

Engineering Contradiction:
Improveaccount state coverageVSAvoidtraversal efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts actual state data from the tree structure and stores it separately, allowing the state tree database to maintain a compact structure with reduced height. The extracted state objects are stored in the state object database, enabling the tree to remain shallow and efficient for traversal while still capturing all account states through separate storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent moves state object storage to a different dimension (separate database) rather than embedding it within the state tree structure. This dimensional separation allows the state tree to remain compact and shallow for efficient traversal, while state objects are accessible through a different storage dimension that doesn't increase tree height or complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly reduces storage costs and enhances data processing efficiency, especially in large blockchain networks with hundreds of millions of accounts, by minimizing the height and complexity of the state tree and allowing faster updates and retrievals.

Implementation Method 1

hashing the updated account state to generate a hash value of the updated account state

Methodology Applied
Scientific EffectHashing:

Data Source

PatentUS11556516B2Distributed blockchain data storage under account model
Publication Date: 2023.01.17 ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
  • US11556516B2 patent drawing
  • US11556516B2 patent drawing
  • US11556516B2 patent drawing

AI summary

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for blockchain data storage. One of the methods includes receiving a transaction associated with a blockchain network; determining, after the transaction is performed, an updated account state of a blockchain account involved in the transaction; adding, to a history state object database and after a current block is appended to a blockchain associated with the blockchain network based on performing a consensus algorithm, the updated account state, a hash value of the updated account state, an account identifier (ID) of the blockchain account, and a block ID of the current block; and updating, based on the hash value of the account state, the account ID, and the block ID, a state tree stored in a history state database.