Isolated Merkle Tree for Permissioned Blockchain Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In private or consortium blockchain networks, light-weight nodes may receive inconsistent Merkle trees due to limited access permissions, leading to errors as they do not possess an accurate representation of the block, especially when only permitted to read certain transactions.
Innovation Solution
A blockchain node generates an isolated Merkle tree by removing inaccessible transactions from the original Merkle tree while maintaining the root hashes of removed branches, ensuring the isolated tree is consistent with the full Merkle tree and allowing light-weight nodes to verify transactions without accessing unauthorized data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Object-affected harmful factors
If light-weight nodes query blockchain nodes for blocks with permission-based filtering, then data privacy is protected, but the Merkle tree consistency is compromised leading to verification errors
Solution Approach 1:
The Merkle tree is segmented into two distinct structures: a full Merkle tree containing all transactions for completeness, and a filtered Merkle tree containing only visible transactions for privacy. Each node receives the appropriate tree type based on its permissions, resolving the conflict between privacy protection and verification consistency.
Solution Approach 2:
The system introduces an intermediary mechanism where the blockchain node acts as a mediator that generates and provides different Merkle tree representations to different node types. This intermediary approach allows light-weight nodes to verify their visible transactions without exposing them to transactions they lack permission to access.
2Object-affected harmful factors
If light-weight nodes receive filtered Merkle trees with removed transactions, then unauthorized data access is prevented, but the nodes cannot accurately verify block integrity
Solution Approach 1:
Instead of having light-weight nodes attempt to verify against a full Merkle tree they cannot access, the system inverts the approach by providing them with a specially constructed filtered Merkle tree that is mathematically consistent with the full tree. This inverted approach allows verification to proceed correctly within the constraints of permissioned access.
Solution Approach 2:
The system changes the parameter of Merkle tree composition based on node type and permissions. For light-weight nodes, the Merkle tree parameter is adjusted to include only visible transactions while maintaining structural consistency, enabling accurate verification without unauthorized data exposure.
3Ease of operation
If all nodes receive the full Merkle tree, then verification is simplified, but light-weight nodes gain access to transactions they should not see
Solution Approach 1:
The system applies local quality by tailoring the Merkle tree content to the specific needs and permissions of each node type. Full nodes receive the complete Merkle tree for comprehensive verification, while light-weight nodes receive filtered versions containing only their visible transactions, optimizing both verification simplicity and privacy protection for each node category.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Implementations of the present specification include receiving, by a blockchain node in the blockchain network, a request to read a particular block of the blockchain, wherein the request is received from a light-weight node of the blockchain network and includes an identity of the light-weight node, and wherein the particular block includes an original Merkle tree associated with the particular block; identifying, by the blockchain node, permissions associated with the identity of the light-weight node; generating, by the blockchain node, an isolated Merkle tree based on the original Merkle tree included in the block, the isolated Merkle tree including only transactions from the original Merkle tree that are determined to be accessible by the light-weight node based on the identified permissions, wherein the isolated Merkle tree is consistent with the original Merkle tree; and sending, by the blockchain node, a response to the light-weight node including the isolated Merkle tree.