Blockchain Transaction Verification via Merkle Proof Branches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current blockchain systems require significant data storage to verify transactions, which can be inefficient and impractical, especially when needing to prove that a transaction was included in a blockchain without the blockchain being alive.

Innovation Solution

The method involves generating minimal evidence by identifying blocks containing transactions and creating a branch of a hash tree for each block, using Merkle proofs to demonstrate transaction inclusion, thereby reducing the data required for verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire blockchain is stored to verify transaction inclusion, then verification reliability is improved, but data storage requirements increase significantly

Engineering Contradiction:
Improveverification reliabilityVSAvoiddata storage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary components for verification from the complete blockchain. Specifically, it stores transaction hashes and selective block headers (such as genesis block and tip block) rather than the entire blockchain, allowing verification of transaction inclusion without maintaining all blockchain data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The verification process is segmented into discrete components: transaction hashes are stored individually, block headers are selected and stored separately, and verification proceeds by reconstructing the hash chain through these segmented elements rather than processing the continuous entire blockchain.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If minimal evidence is stored for transaction verification, then data storage efficiency is improved, but verification complexity increases

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidverification complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing transaction hashes and selective block headers during transaction inclusion. This preliminary preparation enables simpler verification later, as the hash chain elements are already computed and stored, reducing the complexity of the actual verification process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces hash values as intermediary elements that mediate between the transaction data and the verification process. Transaction hashes serve as compact intermediaries representing entire transactions, and block header hashes serve as intermediaries representing block states, simplifying the verification complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

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 minimizes the amount of data needed to validate transactions, allowing for efficient proof of transaction occurrence without storing the entire blockchain, enhancing data management and storage efficiency.

Implementation Method 1

generating a branch of a hash tree of the set of transactions for each of the one or more blocks

Methodology Applied
Scientific EffectCryptographic hashing:

Data Source

PatentUS11196543B2Minimum evidence calculation in blockchain transactions
Publication Date: 2021.12.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11196543B2 patent drawing
  • US11196543B2 patent drawing
  • US11196543B2 patent drawing

AI summary

An example operation may include one or more of generating evidence for a set of transactions, wherein the generating of the evidence comprises identifying one or more blocks containing one or more of the transactions in the set of transactions, and generating a branch of a hash tree of the set of transactions for each of the one or more blocks.