Docs
Pipeline Transaction Processing

Pipeline Transaction Processing

Optimizing the transaction processing procedure and related components is the key for improving the throughput rate for the overall system. For this purpose, Rooch utilizes a pipeline structure to achieve parallel transaction execution.

Diagram

The role of Sequencer and Proposer are decoupled into two different nodes:

  • Sequencer is mainly responsible for verifying and ordering all the incoming transactions; the output is formed as a transaction stream, which will then be sent to the Proposer
  • Proposer is responsible for executing all the transactions received from Sequencers, as well packing transactions into blocks and calculating the final state for each block

The proposer executes all the transactions in a block in parallel, utilizing a simlar approach introduced by BlockSTM (opens in a new tab).