Probabilistic Blockchain Verification via Merkle Mountain Ranges

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current blockchain verification mechanisms, such as SPV protocols, impose significant resource burdens on light clients due to the need to download and verify large numbers of block headers, especially as blockchains grow, and are vulnerable to adversarial attacks and high latency in communication between light and full nodes.

Innovation Solution

A method and system that utilize a probabilistic verification protocol allowing light clients to randomly sample a logarithmic number of block headers from multiple full nodes, leveraging a Merkle mountain range data structure to efficiently verify interactions and determine the validity of the longest blockchain, reducing data requirements and preventing adversarial cheating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If light clients download and verify all block headers to ensure blockchain validity, then verification reliability is improved, but resource consumption (storage, bandwidth, computation) increases significantly

Engineering Contradiction:
Improveverification reliabilityVSAvoiddata volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the verification process into two independent components: (1) verifying block headers to confirm blockchain validity, and (2) verifying transaction inclusion using Merkle proofs. This segmentation allows light clients to perform header verification separately from transaction verification, reducing the need to download and store all block data while maintaining verification reliability through the use of cryptographic proofs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the essential verification elements (block headers and Merkle roots) from the complete blockchain data, allowing light clients to work with a minimal subset of data. By extracting only the necessary components for verification rather than processing the entire blockchain, the system reduces data volume requirements while preserving verification capability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If light clients use SPV protocol to download only block headers, then resource consumption is reduced, but verification security deteriorates due to vulnerability to adversarial attacks

Engineering Contradiction:
Improvedata volumeVSAvoidverification security
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary action by having full nodes pre-compute and store Merkle mountains ranges and their corresponding proofs before light clients need verification. This pre-computation allows light clients to receive ready-to-verify proofs without requiring multiple rounds of interaction or additional computational effort, thereby enhancing security while maintaining low resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces Merkle mountain ranges as an intermediary data structure that bridges the gap between block headers and transaction proofs. This intermediary structure allows light clients to verify transaction inclusion without directly accessing the full blockchain data, providing a secure verification mechanism that works with minimal data while protecting against adversarial attacks through cryptographic guarantees.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If multiple rounds of communication are used in sampling protocols to verify block headers, then verification accuracy is improved, but communication latency increases

Engineering Contradiction:
Improveverification accuracyVSAvoidcommunication latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent eliminates the need for multiple communication rounds by having full nodes pre-compute Merkle mountain ranges and their proofs in advance. Light clients can verify block headers and transaction inclusion in a single communication round by receiving these pre-computed proofs, thereby maintaining high verification accuracy while dramatically reducing communication latency.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If light clients store and process large numbers of block headers, then ability to verify any past transaction is improved, but device resource constraints (storage, bandwidth, computation) are exceeded

Engineering Contradiction:
Improvetransaction verification capabilityVSAvoidresource requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential verification elements (Merkle mountain ranges and proofs) from the complete blockchain data, allowing light clients to verify any past transaction using a minimal subset of data. This extraction approach reduces storage requirements from gigabytes to kilobytes while maintaining the ability to verify any transaction through cryptographic proofs.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses cryptographic copies (Merkle proofs) of transaction data instead of storing the actual transaction data. These proofs are compact representations that allow verification without requiring the original large datasets, enabling light clients with limited resources to perform comprehensive transaction verification.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11468044B2Optimizations for verification of interactions system and method using probability density functions
Publication Date: 2022.10.11 VISA INTERNATIONAL SERVICE ASSOCIATION
  • US11468044B2 patent drawing
  • US11468044B2 patent drawing
  • US11468044B2 patent drawing

AI summary

A method comprises a client device receiving a verification request comprising an interaction identifier and generating a random sampling of a number of block headers. The random sampling according to a random distribution generated based on a probability density function. The client device can query two or more full nodes for random samplings of block headers. The client device can receive the random samplings of block headers from the two or more full nodes and compare samplings of block headers received from two or more full nodes. The samplings of block headers are the random samplings of block headers. The client device can verify at least one block header of the samplings of block headers, then determine that a blockchain maintained by at least one of the two or more full nodes is valid in response to verifying the at least one block header of the samplings of block headers.