Blockchain State Tree Segmentation for Storage Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
Data Source
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.


