Smart Contract Asynchronous Data Read Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Smart contracts in blockchain systems execute sequentially, leading to slow execution speeds due to the need to perform each step in a serial manner, which increases processing time.

Innovation Solution

Implementing asynchronous parallel execution by using asynchronous variable function names and statements, allowing data read requests to be transmitted to multiple memories without waiting for previous results, thereby dividing the execution into phases that can run concurrently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential execution is used to ensure data consistency and reliability, then execution reliability is improved, but execution speed deteriorates

Engineering Contradiction:
Improveexecution reliabilityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent divides the smart contract execution into multiple phases (data reading phase, computation phase, data writing phase) and further segments data reading into parallel sub-requests. By segmenting the execution flow and identifying independent parallelizable operations within each phase, the system achieves both parallel execution speedup and maintained reliability through structured phase management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-organizing the execution into defined phases and pre-identifying parallelizable data reading operations. The system prepares the execution structure in advance, setting up phase boundaries and parallel request templates before actual execution, which enables efficient parallel processing while maintaining consistency through pre-established phase transitions.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If sequential step-by-step execution is performed to ensure correctness, then execution correctness is improved, but processing time increases

Engineering Contradiction:
Improveexecution correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the execution into distinct phases (data reading, computation, data writing) with clear boundaries. Within the data reading phase, it further segments independent data access operations into parallel sub-requests that can execute simultaneously. This segmentation reduces processing time by eliminating sequential wait states while maintaining correctness through phase-based ordering guarantees.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic parallel execution within the data reading phase, where multiple data reading requests are issued concurrently based on runtime conditions. The system dynamically adjusts the degree of parallelization by issuing multiple sub-requests when data dependencies allow, thereby reducing processing time while maintaining correctness through dynamic dependency tracking.

Inventive Principle:
Principle #15Dynamics

3Productivity

If parallel execution is implemented to increase execution speed, then productivity is improved, but system complexity increases

Engineering Contradiction:
Improveexecution speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent manages complexity by segmenting parallel execution into structured phases with clear entry and exit points. Each phase has a specific purpose (data reading, computation, writing) and well-defined transition conditions. This phased segmentation simplifies the control logic compared to fully arbitrary parallel execution, as each phase handles a specific subset of operations with predictable interactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces phase transitions as intermediary control mechanisms that mediate between parallel data reading operations and sequential computation/writing phases. These phase boundaries act as intermediaries that synchronize parallel operations, collect results, and prepare for the next phase, thereby managing system complexity through structured intermediate states rather than direct unstructured parallelism.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If asynchronous parallel requests are sent to multiple memories, then execution speed is improved, but coordination complexity increases

Engineering Contradiction:
Improveexecution speedVSAvoidcoordination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments memory access operations into phase-specific sub-requests with clear scoping. Each phase handles a specific subset of memory operations with defined data dependencies. This segmentation reduces coordination complexity by limiting the scope of parallel coordination to within-phase operations rather than global coordination across all operations, making the asynchronous parallel execution more manageable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12141165B2Smart contract-based data processing method, apparatus, device, and storage medium
Publication Date: 2024.11.12 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US12141165B2 patent drawing
  • US12141165B2 patent drawing
  • US12141165B2 patent drawing

AI summary

A data processing method, apparatus, and device based on a smart contract, and a storage medium can improve execution speed of a smart contract and reduce a running time. A contract call request used for executing a transaction service is acquired. An asynchronous variable statement corresponding to the asynchronous variable function name in a smart contract is also acquired. A first memory and a second memory associated with the first variable parameter are queried based on the first asynchronous variable statement. A data read request is transmitted to the first memory and a separate data read request is transmitted to the second memory in an asynchronous request manner indicated by the first asynchronous variable statement to obtain first to-be-read data and second to-be-read data used for executing the transaction service.