Blockchain Hash Truncation for Data Size Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As blockchain networks grow in size over time, they become increasingly cumbersome, leading to slower operation and transmission difficulties due to large data sizes, necessitating a method to reduce data size without compromising immutability.
Innovation Solution
Implementing hash truncation within blockchain systems by generating multiple Merkle roots for different hash sizes, allowing for the reduction of hash values stored in blocks while maintaining immutability, with the ability to truncate hash values and store only the necessary data reference values in block headers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the blockchain operates permanently without archiving or data reduction, then the immutability and completeness of the chain is maintained, but the data size becomes prohibitively large over time
Solution Approach 1:
The patent extracts only the essential verification elements (Merkle roots) from the full transaction data, storing these condensed representations in block headers while retaining the ability to verify transactions without storing all original data. This allows data reduction while maintaining immutability through the extracted Merkle root proofs.
Solution Approach 2:
The patent changes the parameter of hash representation by storing full hash values initially, then transitioning to storing only truncated hash values or Merkle roots in block headers. This parameter change from full hashes to condensed Merkle roots enables significant data size reduction while preserving verification capability.
2Productivity
If the blockchain data size increases over time, then more transactions are recorded, but the operation speed and transmission efficiency decrease
Solution Approach 1:
The patent creates condensed copies of transaction data in the form of Merkle roots that are stored in block headers. These Merkle roots serve as verification copies that allow nodes to confirm transaction inclusion without storing or processing the full transaction data, thereby improving operation speed while maintaining transaction capacity.
3Productivity
If the blockchain data size increases, then more transactions are stored, but the difficulty of transmission due to limited bandwidth increases
Solution Approach 1:
The patent extracts essential verification information (Merkle roots) from full transaction data and stores only these condensed representations in block headers. This extraction reduces the amount of data that needs to be transmitted across the network while preserving the ability to verify transaction inclusion, thereby simplifying transmission complexity.
4Reliability
If full hash values are stored in every block, then complete transaction verification is enabled, but the overall blockchain file size becomes prohibitively large
Solution Approach 1:
The patent creates condensed copies of transaction verification data in the form of Merkle roots stored in block headers. These Merkle roots enable complete transaction verification without requiring storage of full hash values in every block, significantly reducing storage requirements while maintaining verification accuracy.
Solution Approach 2:
The patent changes the storage parameter from full hash values to condensed Merkle roots in block headers. This parameter change enables verification accuracy to be maintained through Merkle proof mechanisms while dramatically reducing the storage requirement by avoiding redundant full hash storage in every block.
Data Source
AI summary
A method for reducing file size of a blockchain through hash truncation includes: receiving a plurality of blockchain transactions; generating a first Merkle root of a first Merkle tree comprised of a first hash of each of the plurality of blockchain transactions; generating a second Merkle root of a second Merkle tree comprised of a second hash of each of the plurality of blockchain transactions, where the second hash is a truncation of the first hash for the respective blockchain transaction; generating a new block comprised of a block header and the first hash of each of the plurality of blockchain transactions, the block header including at least a timestamp, the first Merkle root, the second Merkle root, and a block reference value associated with a prior block in a blockchain; and transmitting the generated new block to a plurality of additional nodes in the blockchain network.


