Blockchain Transaction Validation Using Bloom Filter Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As the block height increases in a blockchain network, validating transactions becomes time-consuming and storage-intensive due to the need to maintain a dictionary of all past transaction IDs and perform frequent checks for duplicate transactions.
Innovation Solution
A method utilizing a Bloom filter to quickly determine if a transaction is valid by generating a data string from past transaction IDs, where a false output indicates validity, and only accessing a dictionary when the filter returns true, thereby reducing the need for time-consuming dictionary searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dictionary of all past transaction IDs is maintained for validation, then transaction validity can be ensured, but validation time and storage requirements increase as block height increases
Solution Approach 1:
The patent segments the validation process into two stages: first a rapid Bloom filter check that provides immediate feedback, and only if needed, a secondary dictionary lookup. This segmentation allows most transactions to be validated quickly without accessing the full dictionary, thus reducing validation time while maintaining reliability.
Solution Approach 2:
The Bloom filter serves as an intermediary data structure between the transaction and the full transaction ID dictionary. It provides a probabilistic pre-check that filters out most invalid transactions before they reach the dictionary, acting as a mediator that reduces the burden on the dictionary while ensuring validation accuracy.
2Reliability
If a dictionary of all past transaction IDs is maintained for validation, then duplicate transactions can be detected, but storage area increases as block height increases
Solution Approach 1:
The patent segments the storage requirement into two parts: a compact Bloom filter data structure that occupies minimal space, and the full dictionary that is only accessed when necessary. This segmentation dramatically reduces the storage area required for routine validation operations while maintaining the ability to detect duplicates when needed.
Solution Approach 2:
The Bloom filter uses a probabilistic approach with acceptable false positive rates, trading off absolute certainty for significantly reduced storage requirements. This allows the system to use a lightweight, space-efficient data structure for the majority of validation cases.
3Measurement precision
If every transaction is checked against the dictionary, then validation accuracy is maintained, but processing speed decreases
Solution Approach 1:
The Bloom filter performs a preliminary check before the dictionary lookup is initiated. This preliminary action filters out the vast majority of transactions that don't require dictionary verification, allowing the system to maintain high validation accuracy for the few cases that need it while dramatically improving overall processing speed.
Solution Approach 2:
The system applies partial verification using the Bloom filter for all transactions, and only applies the full dictionary verification when the Bloom filter indicates it might be necessary. This partial action approach maintains accuracy where needed while improving overall throughput.
Data Source
Figure 1
Figure 2
AI summary
In this method for validating a transaction in a blockchain network, validation speed is increased. A first node 101 receives a transaction (tx) (S201). The first node 101 gives the received tx as an input to a Bloom filter (S202). The Bloom filter is generated on the basis of past one or more txs included in a blockchain. When the Bloom filter returns true, the first node 101 searches a dictionary by using txid of the to-be-validated tx as a key, and determines presence or absence thereof (S203). The dictionary is generated on the basis of one or more txs included in past blocks on which consensuses were formed. When a search result of the dictionary is false, it is determined that a to-be-validated transaction is valid, and also when the Bloom filter returns false, it is determined that the to-be-validated tx is similarly valid (S204).