What Is Turbine in Solana?
Turbine is Solana’s block propagation protocol. Instead of the leader sending the entire block to every validator, Turbine breaks blocks into shreds and distributes them through a tree-like network topology. This reduces the bandwidth required by the leader and speeds up block distribution.
How Turbine works
- The leader breaks a block into shreds (small data packets)
- The leader sends shreds to a small group of validators (the first layer)
- Each validator in the first layer forwards shreds to a group in the next layer
- This continues until all validators have received the block
The tree structure means the leader only needs to send each shred once to a small set of peers. Each subsequent layer multiplies the reach exponentially.
Shreds and erasure coding
Blocks are split into data shreds and recovery shreds using Reed-Solomon erasure coding. Even if some shreds are lost in transit, validators can reconstruct the full block from a subset of received shreds. This provides resilience against packet loss without requiring retransmission.
Neighborhoods
Validators are organized into neighborhoods (groups) based on their stake weight. Higher-staked validators are placed closer to the leader in the tree, ensuring they receive blocks first. This prioritization is important for consensus because higher-staked validators’ votes carry more weight.
FAQ
How fast does Turbine propagate blocks? Turbine aims to deliver blocks to all validators within 200–400 ms, depending on network conditions and the number of hops in the tree.
What happens if a validator in the tree drops shreds? Erasure coding allows downstream validators to reconstruct the block from partial data. If too many shreds are lost, validators request retransmission.
Updated: