Nonce Table Mitigates Blockchain Transaction Collisions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrent transactions in blockchain networks often fail due to nonce collisions, where multiple nodes use the same nonce, leading to invalidation and failure of transactions.

Innovation Solution

A nonce table with pre-populated nonces is implemented, where each nonce slot is associated with a status, allowing for initialization, fetching, releasing, and resetting of nonce values to prevent collisions by preempting used nonces and ensuring their availability for subsequent transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If concurrent transactions are processed using nonces, then transaction processing capability is improved, but nonce collisions occur causing transaction failures

Engineering Contradiction:
Improvetransaction processing capabilityVSAvoidtransaction success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system pre-generates and stores a pool of nonces in advance before transactions are processed. This preliminary action ensures that when concurrent transactions occur, available nonces are already prepared and can be assigned without collision, thus maintaining both high transaction processing capability and success rate.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The nonce management is segmented into distinct components: a pre-generated nonce pool, a nonce assignment mechanism, and a collision detection system. This segmentation allows each component to handle specific aspects of nonce management independently, improving overall system reliability while maintaining processing speed.

Inventive Principle:
Principle #1Segmentation

2Reliability

If nonces are pre-populated in a nonce table, then nonce collision is avoided, but system complexity increases

Engineering Contradiction:
Improvenonce collision avoidanceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The nonce table automatically manages its own nonce pool by pre-generating nonces and assigning them as needed. The system self-regulates nonce allocation without requiring complex external coordination or manual intervention, thereby improving reliability while keeping the complexity manageable through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The nonce table acts as an intermediary between the transaction processing system and the blockchain network. It absorbs the complexity of nonce management internally, providing a simple interface to transaction processors while handling the complex tasks of nonce generation, allocation, and collision prevention in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If nonces are released and reused after failed transactions, then resource utilization is improved, but potential for reuse conflicts arises

Engineering Contradiction:
Improvenonce availabilityVSAvoidnonce reuse safety
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system implements feedback mechanisms that monitor transaction outcomes. When a transaction fails, the system receives feedback about the failed nonce and adjusts its reuse strategy accordingly. This feedback loop ensures that nonces are safely released and reused only when appropriate, maintaining both resource utilization and reuse safety.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The nonce reuse policy is dynamic rather than static. The system adaptively determines when to release and reuse nonces based on real-time transaction status and system conditions. This dynamic approach allows the system to maximize nonce availability while maintaining safety by adjusting reuse timing based on actual transaction outcomes.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3552167B1Utilizing nonce table to resolve concurrent blockchain transaction failure
Publication Date: 2021.05.05 ADVANCED NEW TECHNOLOGIES CO LTD
  • EP3552167B1 patent drawingFigure 1
  • EP3552167B1 patent drawingFigure 2
  • EP3552167B1 patent drawingFigure 3

AI summary

Implementations of the present disclosure include initializing a nonce table comprising a plurality of nonce slots, each nonce slot being associated with a nonce index and a status, and storing a respective nonce value; receiving a request for a nonce value from an application, and in response, requesting a nonce value from the nonce table; receiving a nonce value in response to the request, a status of a nonce slot corresponding to the nonce value being set to occupied; and in response to a transaction using the nonce value being one of successful and failed, executing one of: releasing the nonce value within the nonce slot and setting the status to unoccupied, if the transaction is successful, and setting the status to unoccupied, if the transaction failed.