Bloom Filter for Blockchain Block Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing blockchain verification process is inefficient due to the need for multiple hash verifications to confirm that a previous block is part of the chain, which requires processing thousands of hash checks, especially when dealing with large numbers of blocks.

Innovation Solution

Implementing a probabilistic filter, such as a Bloom filter, within each data block to store probabilistic hashes of all previous blocks, allowing for a one-step verification by checking if a hash of a previous block is included in the filter stored in a newer block.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional hash verification of all blocks in sequence is performed to verify that an older block is part of the chain, then verification reliability is improved, but processing time and computational resources increase significantly

Engineering Contradiction:
Improveverification reliabilityVSAvoidverification processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing a probabilistic filter (e.g., Bloom filter) containing hashes of all previous blocks within each data block. This allows verification to be performed in a single step by checking if the target block's hash exists in the pre-prepared filter, eliminating the need for sequential verification through all intermediate blocks while maintaining verification reliability.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If traditional hash verification of all blocks in sequence is performed, then verification accuracy is improved, but computational resources and energy consumption increase

Engineering Contradiction:
Improveverification accuracyVSAvoidcomputational energy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential verification information (hashes of previous blocks) and stores it in a compact probabilistic filter structure within each data block. This extraction allows verification to be performed by checking a small subset of pre-computed hashes rather than performing full sequential verification, significantly reducing computational energy consumption while maintaining verification accuracy through the probabilistic nature of the filter.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If a probabilistic filter is stored in each data block to enable one-step verification, then verification speed is improved, but device complexity increases

Engineering Contradiction:
Improveverification speedVSAvoiddata block structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent uses a probabilistic filter (such as a Bloom filter) which is a space-efficient data structure that copies only the essential hash information of previous blocks into each data block. This copying approach enables one-step verification by allowing nodes to check if a block's hash exists in the filter without needing to access or verify all intermediate blocks, thereby improving verification speed while managing data block structure complexity through the use of compact probabilistic data structures.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11151123B2Offline verification with document filter
Publication Date: 2021.10.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11151123B2 patent drawing
  • US11151123B2 patent drawing
  • US11151123B2 patent drawing

AI summary

An example operation may include one or more of obtaining a machine-readable code from a first document among a set of documents, extracting a probabilistic data structure from the machine-readable code which includes probabilistic hashes accumulated from the set of documents, determining whether a document hash of a second document is included within the probabilistic data structure, and in response to a determination that the document hash is included within the probabilistic data structure, outputting a notification indicating the second document is included in the set of documents.