Pipelining in Ouroboros
To understand what pipelining is, letβs first define the term block propagation. Block propagation means that block-producing nodes distribute information about new blocks across the network.
Pipelining improves block propagation times. The goal is for blocks to be propagated to peers within five seconds. Pipelining enables this by giving nodes the ability to pre-notify their downstream peers of an incoming block, enabling the peer to pre-fetch the new block body.
The research presents an idea to propagate block bodies before having fully validated them. This takes the block body validation work out of the critical path of block propagation and allows for the time spent on validation to be overlapped with sending the block to the next peer in the network. This reduces block propagation time, which further allows for block size increase or Plutus improvements among others. Consequently, the bigger the block, the more transactions and Plutus scripts it can carry, which also influences the blockchainβs throughput. These upgrades are planned to be applied to Cardano during Vasil hard fork event.
Last updated