Challenges with Parallel Execution

The traditional transaction execution process in blockchains, such as Ethereum, operates in a sequential manner. This involves the following steps:

  • The execution module sequentially processes each transaction from the block.

  • The latest world state is updated after each transaction is executed, ultimately reflecting the state after the entire block is processed.

  • The execution of the next block depends on the final state from the current block, necessitating a sequential, single-threaded process.

This sequential execution model is not conducive to parallel execution due to several conflicts:

  • Account Conflict: Concurrently processing the balance or other attributes of an account by multiple threads can lead to inconsistencies.

  • Storage Conflict of the Same Address: Simultaneous modifications to the storage of the same global variable by different contracts can cause conflicts.

  • Cross-Contract Call Conflict: When contracts depend on the deployment or execution order of other contracts, parallel execution without proper sequencing can lead to errors.

2024 Scalaris