Orphan Pool Data Structure for Blockchain Transaction Deadlock Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Blockchain nodes face a deadlock problem when validating transactions, as they repeatedly try and fail to validate child transactions with unavailable or orphan parent transactions, leading to inefficiencies in transaction processing.

Innovation Solution

A computer-implemented method and data structure, referred to as an 'orphan pool', are used to represent and organize orphan transactions. This involves maintaining a directed graph of nodes and edges, where each node represents an orphan or unavailable transaction, and edges represent the spending of outputs. The orphan pool is updated by adding or removing nodes based on the availability of parent transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If blockchain nodes continuously attempt to validate child transactions with unavailable parent transactions, then transaction validation thoroughness is improved, but processing efficiency deteriorates due to repeated failed validation attempts

Engineering Contradiction:
Improvetransaction validation thoroughnessVSAvoidtransaction processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts orphan transactions from the main validation pipeline and places them in a separate orphan pool. This isolation prevents the validation pipeline from repeatedly attempting to validate transactions that cannot be validated yet, thereby maintaining validation thoroughness for valid transactions while eliminating wasted processing cycles on orphan transactions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary classification of transactions upon receipt, identifying orphan transactions before they enter the validation pipeline. By marking and separating these transactions in advance, the system prevents future validation attempts until parent transactions become available, thus avoiding repeated failed validations and improving overall processing efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If blockchain nodes maintain a complete transaction validation queue, then transaction processing completeness is improved, but system complexity increases due to managing orphan transaction dependencies

Engineering Contradiction:
Improvetransaction processing completenessVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the transaction management system into two distinct components: the main validation pipeline for valid transactions and the orphan pool for transactions with unavailable parents. This segmentation simplifies the overall system by clearly defining the role and state of each transaction type, reducing the complexity of managing transaction dependencies while ensuring complete processing of all transactions.

Inventive Principle:
Principle #1Segmentation

3Productivity

If blockchain nodes isolate orphan transactions from the validation pipeline, then transaction validation efficiency is improved, but information flow between transactions is restricted

Engineering Contradiction:
Improvetransaction validation efficiencyVSAvoidinformation flow between transactions
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism where the orphan pool continuously monitors the validation pipeline for newly validated parent transactions. When a parent transaction becomes available, the system automatically detects this change, retrieves dependent orphan transactions from the pool, and adds them to the validation queue. This feedback loop ensures continuous information flow and maintains transaction processing efficiency without losing inter-transaction information.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250053546A1Data structure for orphan transactions
Publication Date: 2025.02.13 NCHAIN LICENSING AG
  • US20250053546A1 patent drawing
  • US20250053546A1 patent drawing
  • US20250053546A1 patent drawing

AI summary

A computer-implemented method performed by a blockchain node and comprising: maintaining a data structure representing orphan transactions, wherein an orphan transaction is a blockchain transaction having at least one parent transaction that is an unavailable transaction and/or at least one parent transaction that is a different orphan transaction, wherein an unavailable transaction is a transaction that is not available to a validation pipeline of blockchain node, and wherein: the data structure comprises a directed graph of nodes and edges, wherein each node of the graph represents either a respective orphan transaction or a respective unavailable transaction, wherein each edge connecting a respective parent node to a respective child node represents the spending of an output of the respective transaction represented by the respective parent node by an input of the respective transaction represented by the respective child node.