Streaming Asynchronous Execution
ACP-194 decouples consensus from execution, enabling parallel processing and dramatically improving C-Chain throughput.
Traditional blockchains have a bottleneck: consensus waits for execution, execution waits for consensus.
What if they could run in parallel?
Execution fragments consensus. The proposer runs the VM before proposing. Every validator re-executes to verify — a complete repeat of execution. The dashed lines represent verification: validators must fully re-run the VM to confirm correctness. Execution happens twice per block, yet only one result matters.
Execution blocks everything. The proposer executes before proposing. Every validator re-executes to verify. Consensus pauses for the VM, the VM pauses for consensus. Block N+1 cannot start until Block N fully settles.
Consensus Stream
FIFO Queue
Execution Stream
Consensus orders transactions and validates gas payment without running the VM. The queue buffers accepted blocks while execution drains them. Results stream to clients immediately as each transaction completes.
Two streams running in parallel. Consensus accepts transactions into a queue. Execution drains it. No waiting, no blocking. Every accepted transaction executes — gas bounds validated at acceptance. Results stream to clients immediately. Settlement follows 5 seconds later.
Faster block acceptance. Saturated execution. Instant receipts.
Gas is the clock.
ACP-176 introduced the gas rate R = 30M gas/sec. SAE uses R to convert gas consumed into elapsed time.
Budget for worst case, pay for what you use.
If you can cover the maximum possible cost, your transaction is guaranteed to execute. You only pay for actual gas used.
See results instantly.
Get transaction results the moment they execute — no waiting for settlement.
Two engines, full speed.
Consensus and execution run in parallel. No more waiting for one to finish before starting the other.
What this enables
When paired with Simplex and DKG (Distributed Key Generation)
Real-time VRF
Consensus artifacts become available during execution. Expose a verifiable random function for provably fair on-chain randomness.
Encrypted mempool
Sequence transactions before revealing contents. Front-running and MEV extraction become significantly harder.
*Streaming async execution is required to implement these features.
Is this guide helpful?