Blockchain Transaction Processing with Dual Thread Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current blockchain systems face inefficiencies in processing large volumes of data and transactions, requiring significant computational and storage resources, especially as they scale, and existing methods do not effectively leverage CPU and I/O requirements.

Innovation Solution

A system with two thread pools is implemented, where one pool handles blockchain transactions in parallel using multiple threads, and the second pool handles I/O operations asynchronously using coroutines, allowing for concurrent processing without waiting for prior operations to complete.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If blockchain systems process large volumes of transactions, then transaction throughput increases, but computational resource consumption increases

Engineering Contradiction:
Improvetransaction throughputVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the transaction processing system into multiple independent threads, each capable of processing transactions autonomously. The thread pool divides incoming transactions among multiple worker threads, enabling parallel processing without requiring each thread to consume full computational resources, thus improving throughput while managing resource consumption efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces asynchronous I/O operations that operate in a different execution dimension from CPU-bound transaction processing. By using coroutines for storage operations while maintaining CPU threads for transaction logic, the system achieves concurrent execution in multiple dimensions, improving overall throughput without linearly increasing computational resource consumption.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If blockchain systems store large amounts of data, then data capacity increases, but storage resource requirements increase

Engineering Contradiction:
Improvedata capacityVSAvoidstorage resource requirements
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent segments storage operations into independent I/O tasks handled by dedicated threads in the thread pool. Each storage operation (read, write, delete) is processed autonomously by available threads, distributing storage resource requirements across multiple workers rather than requiring a single high-capacity storage system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements asynchronous I/O operations that continue executing storage tasks without blocking the main transaction processing flow. Coroutines enable storage operations to proceed in the background while transaction processing continues uninterrupted, maintaining continuous useful action in both processing and storage dimensions.

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If blockchain systems increase processing speed, then transactions per second increase, but block generation latency increases

Engineering Contradiction:
Improvetransactions per secondVSAvoidblock generation latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements a buffer mechanism that temporarily stores incoming transactions before they are processed by the thread pool. This preliminary action allows the system to smooth out processing peaks and valleys, maintaining consistent processing speed while preventing block generation delays caused by sudden transaction surges.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs periodic block generation intervals where transactions accumulated during each interval are packaged into blocks at regular intervals. This periodic action decouples continuous transaction processing from discrete block creation, allowing high transaction throughput while maintaining predictable and controlled block generation latency.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP3970009B1Blockchain transaction processing systems and methods
Publication Date: 2023.11.22 ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
  • EP3970009B1 patent drawingFigure 1~2
  • EP3970009B1 patent drawingFigure 3
  • EP3970009B1 patent drawingFigure 4

AI summary

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for processing blockchain transactions. An example of a system for processing blockchain transaction includes a storage subsystem including one or more storage devices that store blockchain data, and one or more processors configured to support a first thread pool and a second thread pool. The second thread pool is dedicated to the storage subsystem. The system receives M blockchain transactions and executes N blockchain transactions out of the M blockchain transactions using K threads of the first thread pool in parallel. For blockchain transactions distributed to each one of the K threads, one or more coroutines are used for each blockchain transaction so that the blockchain transactions are executed asynchronously using the coroutines. A blockchain block is generated to include the M blockchain transactions and added to a blockchain stored in the storage subsystem.