Continuous Block Pipeline
In typical layer 2 architecture, as little as 8% of the blocktime is spent on execution. Here is what the flow looks like:
- C. Consensus deriving L1 transactions and new block attributes.
- E. Execute derived L1 transactions and L2 transactions from mempool.
- M. Merkelize the chain state and execution results to complete the block header.
In traditional systems, these steps are executed sequentially, leading to inefficient use of block time. A typical block pipeline for an L2 with a one-second block time and large state. The block gasLimit
will be limited by how much gas can be processed in the time allocated to execution; however, in this system, execution accounts for only a minority of the block-building pipeline. In practice, C consumes 40-80% of the small block time, and as the state grows, M consumes up to 60% of the remaining execution time (12-36% of the total blocktime).
RISE's Continuous Block Pipeline (CBP) introduces a parallelized block pipeline with concurrent stages and a Continuous Execution (CE) thread. This allows for:
- Concurrent execution of transactions. The CE thread monitors the Mempool for transactions and executes them in multiple block segments, no longer waiting for consensus to request a new block.
- Continuous state root computation. State root computation occurs concurrently with execution.
- Optimized mempool processing. A new mempool structure balances latency and throughput by pre-ordering transactions to minimize shared states and maximize parallel execution.
RISE Continuous Block Pipeline.
This results in significantly improved block production efficiency compared to traditional sequential approaches. In practice, CBP allows for transaction execution close to 100% of the available time, compared to as low as 8% in worst-case scenarios for traditional systems.
The CBP ensures one thing: if there are transactions in the mempool, the execution client is executing (i.e, CBP ensure that transactions are continuously being executed).