Caduceus Basics

Parallel Execution

2min

Caduceus smart contract platforms allow parallel execution through an innovative underlying virtual machine architecture called the Parallel Execution Engine that can support peak transaction rates of up to 100,000 per seconds.

By intelligently examining aggregate results of smart contract activity, the Caduceus engine creates a pre-execution transaction state, analyzing the dependence of transactions to form a definitive read-write set that can be conclusively and securely persisted to the state machine. This places Caduceus in a league of its own, marking superior performance over sequential processing blockchains such as Ethereum or Tezos.

Parallel execution is further assisted by Caduceus' GPU computing power of the verifier nodes and the GPU computing power of the underlying DHT network nodes.

The system schedules the VM contract execution corresponding to each transaction request and collects the resultant transaction set. If there is a conflict between read-write sets, the parallel execution process is repeated. This process leads to the building of the DAG in the form of a 10-dimensional hypercube, aforementioned in the Consensus chapter.

Progressive state changes in parallel
Progressive state changes in parallel


Later versions of the execution engine adopt CUDA accelerated EVM/WASM, enabling greater acceleration of transactions in parallel and creaing read-write sets with greater efficiency.



Visualising Transactions and States

A visualisation can help us understand transactions and how they lead to state changes under a parallel execution system. Transactions that occur (T1, Tn) lead to changes in the state of the DAG-based state machine. A state change can proceed from the occurance of one transaction (S1). When more transactions are added to the DAG graph, the state may be perceived to change to a new state (S2).

States when aggregated can be conceptualized as leading to entirely new states - in this case, denoted as S3.

You may note that both T1 and T2 executed in parallel lead to the conceptual S1 state. This implies that multiple transactions can lead to a single conceptual state.

The diagram further depicts T3 changing the overall state. In theory, if one more transaction is added and validated, it will change the overall state.

Updated 25 Mar 2024
Doc contributor
Did this page help you?