- https://www.helius.dev/blog/turbine-block-propagation-on-solana
- https://homes.cs.washington.edu/~tessaro/papers/dds.pdf
- https://arxiv.org/abs/2110.04371
- https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction
- https://docs.anza.xyz/consensus/turbine-block-propagation#layer-assignment----weighted-selection
Turbine is Solana's Block propagation mechanism, allowing all validators to receive the most updated state promptly
Turbine was specifically designed to mitigate the stress of egress from the leader to the network.
At a high level, the turbine breaks blocks into smaller chunks (shreds) and sends those shreds through a hierarchy of nodes.
- Confirmed block: Super majority
- Finalized block: Confirmed and 31+ confirmed block built on top.
Shred propagation
- Create block
- Break block into sub-blocks called shreds via shredding
- Split data into MTU-size
- Generates recovery shards via Reed-Solomon
Turbine Tree
Structured network topology used by Solana to facilitate the efficient propagation of shards. In other words, it allows for the mitigation of the stress of egress from the leader to the network.