Merkle Tree Updates with Partial Node Recalculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The computation-intensive process of updating a Merkle tree due to the insertion of new leaf nodes leads to poor data processing performance, with redundant calculations of intermediate nodes, especially when dealing with large amounts of data.

Innovation Solution

Optimize the Merkle tree structure by avoiding the creation of parent nodes for leaf nodes without sibling nodes and non-leaf nodes without sibling nodes, reducing the number of nodes that need to be calculated during updates, particularly by inserting new leaf nodes at odd positions without updating the non-leaf node layer and creating new non-leaf nodes only when necessary at even positions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a traditional Merkle tree structure is used and a new leaf node is inserted, then the Merkle tree can be updated to include new data, but a large number of intermediate nodes and the root node need to be updated, resulting in computation-intensive process and poor data processing performance

Engineering Contradiction:
Improveability to update Merkle tree with new dataVSAvoiddata processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the Merkle tree update process into two independent parts: the leaf node layer and the non-leaf node layer. When a new leaf node is inserted at an odd position, only the leaf node layer is updated, while the non-leaf node layer remains unchanged. This segmentation allows the system to maintain data adaptability while significantly reducing computational complexity and improving processing performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by updating only the necessary portion of the Merkle tree. Instead of updating all intermediate nodes and the root node when inserting a new leaf node, the system updates only the leaf node layer when the new node is at an odd position, and only creates new non-leaf nodes when necessary (even positions). This partial update approach reduces redundant calculations while maintaining tree integrity.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If all intermediate nodes are updated when inserting a new leaf node, then the Merkle tree maintains its verifiable data structure property, but redundant calculations are performed, increasing computational burden

Engineering Contradiction:
Improveverifiable data structure propertyVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the unnecessary update operations from the traditional Merkle tree insertion process. By identifying that intermediate nodes do not need to be updated when a new leaf node is inserted at an odd position, the system removes these redundant calculations while preserving the essential verifiable data structure property through the root node and affected non-leaf nodes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the update parameter from 'all nodes must be updated' to 'only necessary nodes are updated'. The system dynamically determines which nodes need updating based on the insertion position: odd positions require only leaf node updates, while even positions require creation of new non-leaf nodes. This parameter change optimizes computational resource usage while maintaining data structure reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4383644B1Data processing method and apparatus based on merkle tree
Publication Date: 2025.07.16 BEIJING VOLCANO ENGINE TECH CO LTD
  • EP4383644B1 patent drawingFigure 1
  • EP4383644B1 patent drawingFigure 2
  • EP4383644B1 patent drawingFigure 3A~3B

AI summary

The present disclosure relates to a data processing method and apparatus based on a Merkel tree, the method optimizes the structure of the Merkel tree so that when generating a Merkel tree to be updated based on the original service data and inserting a new leaf node into the Merkel tree, no parent node is created for a leaf node without a sibling node and a non-leaf node without a sibling node; specially, when there is new service data, a corresponding new leaf node is created and inserted into the leaf node layer; if the new leaf node is located at an odd position in the leaf node layer, the non-leaf node layer does not need to be updated; if the new leaf node is located at an even position in the leaf node layer, a new non-leaf node is created and inserted into the non-leaf node layer.