Scalaris | An upgraded version of Tendermint
Scalaris | An upgraded version of Tendermint
Scalaris | An upgraded version of Tendermint
  • Scalaris: High-Performance, Leaderless, Parallel, and MEV-Mitigated Consensus Framework
  • Overview
    • What is Scalaris?
    • Introduction
    • Background
    • DAG-based Consensus
    • Narwhal: Achieving Scalability and Throughput
    • The Bullshark Protocol
      • Fairness and Garbage Collection in DAG-Based BFT
    • Mysticeti: Enhanced Consensus Protocol for Scalaris
      • DAG Structure
      • Consensus Protocol
        • Decision Steps
        • Commit Phase
        • Summary
    • Scalaris Framework
      • Parallel Consensus
      • Scalaris Architecture
        • Compatibility with ABCI and Cosmos SDK
        • Support for EVM Execution
        • Support for Move Language
      • MEV Mitigation in the Scalaris Framework
        • Understanding MEV Attacks
        • MEV in Old BFT-Based Blockchains
        • Scalaris Framework Mitigation
      • Parallel Transaction Execution for EVM in Scalaris Framework
        • Challenges with Parallel Execution
        • Parallel Transaction Executor (PTE)
        • General Scheme
        • Modular Architecture
        • Construction Process of Transaction DAG
        • DAG Execution Process
    • Conclusion
  • Guides
    • Install Scalaris
    • Quick start
  • Apps
    • Using ABCI-CLI
    • Getting started
    • Indexing transactions
    • Application architecture guide
  • Core
    • Using Scalaris
    • Configuration
    • Running in production
    • Metrics
    • Validators
    • How to read logs
    • Subscribing to events via Websocket
    • Block structure
    • RPC
    • Block sync
    • State Sync
    • Mempool
    • Light client
  • Network
    • Docker compose
  • Tools
    • Debugging
    • Benchmarking
  • Spec
    • Core
    • ABCI++
    • Consensus
    • Light client
    • P2C
    • RPC
    • Blockchain
  • Scalaris Quality Assurance
  • RPC
Powered by GitBook
On this page
  1. Overview
  2. Scalaris Framework
  3. Parallel Transaction Execution for EVM in Scalaris Framework

Challenges with Parallel Execution

PreviousParallel Transaction Execution for EVM in Scalaris FrameworkNextParallel Transaction Executor (PTE)

Last updated 11 months ago

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.