Blockchain Transaction and Block Verification with Adaptive DoS Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Blockchain systems face challenges in verifying the validity of transactions and blocks, particularly in public and permissionless networks, where Denial-of-Service attacks can occur due to the lack of a trusted entity, making it difficult to distinguish between benign and malicious requests.
Innovation Solution
An apparatus and method for verifying transaction and block validity using a processor, memory, and communication device, which employs membership lists and threshold-based validation to filter and adjust the number of transactions or blocks processed, reducing resource consumption by invalid entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If transactions and blocks are verified without a trusted entity in public blockchain systems, then openness and permissionless participation are achieved, but the system becomes vulnerable to Denial-of-Service attacks where peers can continuously deliver potentially invalid blocks or transactions
Solution Approach 1:
The system performs preliminary actions by maintaining membership lists of valid transactions and blocks before actual verification occurs. When a new transaction or block is received, the system first checks whether it exists in the membership list, allowing rapid identification of valid entries without performing full verification for each one.
Solution Approach 2:
The membership list acts as an intermediary mechanism between the decentralized peer network and the verification process. Instead of every peer independently verifying all transactions from scratch, the membership list serves as a pre-computed reference that mediates the validation process, reducing the computational burden on individual nodes.
2Reliability
If all received transactions and blocks are verified without filtering, then complete validation is achieved, but resource consumption increases due to unnecessary verification of invalid entries
Solution Approach 1:
The system extracts and separates valid transactions and blocks into a dedicated membership list, removing them from the general pool of received data. This allows the system to quickly identify and process only the valid entries that need full verification, while ignoring invalid entries that are already filtered out by their absence from the membership list.
Solution Approach 2:
The membership list is populated in advance with valid transactions and blocks through preliminary verification processes. This pre-computed structure enables subsequent rapid filtering of invalid entries before full verification occurs, significantly reducing the computational resources required for each verification operation.
3Ease of operation
If the number of transactions and blocks to be verified is fixed, then processing simplicity is maintained, but the system cannot adapt to varying network conditions and attack patterns
Solution Approach 1:
The system dynamically adjusts the number of transactions and blocks to be verified based on real-time network conditions and verification results. When the ratio of valid to invalid entries changes, the system modifies its verification strategy, allowing flexible adaptation to varying network conditions while maintaining operational simplicity through automated adjustment.
Solution Approach 2:
The system incorporates feedback mechanisms where verification results are used to update the membership list and adjust future verification parameters. This feedback loop enables the system to learn from past verification outcomes and adapt its behavior to current network conditions, improving both simplicity and adaptability simultaneously.
Data Source
AI summary
An apparatus for verifying validity of transactions and/or blocks includes: a processor, a memory, and a communication device, wherein the processor executes a program stored in the memory to perform: verifying validity of a predetermined number of transactions and/or blocks among a plurality of transactions and/or blocks received from at least one peer in a blockchain system; and determining an increase or a decrease of the predetermined number according to a verification result of the predetermined number of transactions and/or blocks is provided.


