The leader cannot send a full block to everyone
Every Solana slot has a scheduled leader. That leader receives transactions, executes them, records the result into entries, and produces the block data other validators must replay.
A naive broadcast model would make the leader send one complete copy of the block to every validator. The model scales poorly. As blocks grow and the validator set expands, the leader's outbound bandwidth becomes the bottleneck for the entire network.
The protocol changes the shape of the work. The leader sends small pieces into a relay tree. Each recipient passes its piece to more peers, spreading bandwidth across the validator set.
transactions
↓
slot leader executes and records entries
↓
block is split into data shreds + recovery shreds
↓
Turbine tree relays each shred across validators
↓
validators reconstruct, replay, vote, and expose stateThe Solana Foundation's original Turbine description compares the design with BitTorrent: distribute pieces through peers instead of making one source serve every complete copy. The current validator implementation has evolved since that early design note, but the core constraint remains the same.
Shredding turns a block into network-sized pieces
The leader does not wait for one monolithic block file and then upload it. It continuously turns block entries into smaller packets called shreds.
There are two types:
| Shred type | Contains | Purpose |
|---|---|---|
| Data shred | Serialized block entries | Carries the block data validators replay |
| Recovery shred | Reed-Solomon parity | Reconstructs missing members of an erasure batch |
Data and recovery shreds are grouped into erasure batches. A receiver does not need every original data packet if it has enough total shreds from that batch. The recovery material can reconstruct missing data.
Operationally, the distinction matters. Packet loss does not immediately become a missing block. Reed-Solomon coding gives the fast propagation path room to lose some packets without stopping replay.
The packet format, reconstruction, and decoding path are covered in What Are Solana Shreds?. The propagation network carries those shreds.
The Turbine tree distributes bandwidth
Validators independently derive a tree-like topology for each shred from the same cluster and stake data. The leader sits at the root. Validators near the top receive from the leader or another early node and retransmit to peers below them.
slot leader
/ | \
validator validator validator
/ | \ ... / | \
peers peers peers peers peers peersThe diagram is deliberately simplified. It is not one permanent tree for the epoch. The ordering is based on a stake-weighted shuffle, and individual shreds can take different paths. Distinct paths make it harder for one bad relay or one failed link to suppress the same part of every block.
Higher-stake validators are more likely to appear near the top. Placement near the root is not a latency perk sold to an RPC customer. It is a consensus-oriented propagation choice: reach a large amount of voting stake early, then continue fanning out across the rest of the cluster.
The relay tree does not remove bandwidth cost. It distributes that cost across the validator set and makes packet loss recoverable.
One shred, four stages
Following a single shred makes the mechanism easier to reason about.
1. The leader creates and signs it
The broadcast stage packages entries into a shred with slot and index information plus the integrity data needed by validators. Modern shred variants use Merkle proofs and support retransmitter authentication in the validator implementation.
2. The leader selects the first recipients
The Turbine topology determines which validators should receive that shred first. The leader transmits to the first layer instead of every validator.
3. Recipients verify and retransmit it
A receiving validator checks the shred, discards duplicates it has already seen, stores useful data, and forwards the shred to the peers assigned below it in the tree.
4. Receivers reconstruct the erasure batch
Once a validator has enough data and recovery shreds, it can recover missing members, rebuild entries, and feed them into replay. It does not need every packet to arrive through the original path.
The pipeline overlaps. Leaders are still producing later shreds while validators relay and reconstruct earlier ones. Overlapping work lets the propagation layer reveal transactions before a full slot is assembled.
Turbine and Repair solve different failure modes
Reed-Solomon coding handles ordinary loss inside a batch. It cannot recover a batch when too few useful shreds arrive. Repair takes over at that point.
| Path | Traffic model | Role |
|---|---|---|
| Turbine | Proactive push and retransmit | Fast path for new block data |
| Erasure recovery | Local reconstruction | Rebuild missing data from received parity |
| Repair | Request and response | Fetch specific shreds still missing after propagation |
Repair is a fallback, not the normal first path. It adds a request round trip and starts after the receiver detects a gap. The Solana Foundation's February 2023 outage report describes what happens when Turbine becomes saturated and validators lean heavily on the slower Repair path: block propagation and finalization degrade together.
The incident also shows why duplicate filtering and bounded retransmission matter. A relay network that forwards repeated packets without effective deduplication can consume the capacity meant for new shreds.
Turbine is not gossip, replay, or consensus
Several Solana subsystems sit close together but should not be collapsed into one concept.
| System | Primary job |
|---|---|
| Gossip | Shares cluster metadata, contact information, votes, and liveness data |
| Turbine | Propagates block shreds from the current leader |
| Repair | Retrieves missing ledger shreds |
| Replay | Executes received entries and verifies the resulting state |
| Tower BFT | Uses stake-weighted votes and lockouts to select a fork |
Receiving a shred means data from a leader reached you. It does not mean the transaction succeeded during replay. It does not mean enough stake voted for the slot. It does not mean the slot will survive as the canonical fork.
The central safety rule for first-seen infrastructure is: propagation is evidence, not settlement.
Why Turbine matters to low-latency readers
JSON-RPC and Geyser expose data after more validator work has happened. A shred receiver sits further upstream, while the block is still moving through the cluster.
earlier, less settled
raw shred arrival
decoded shred entries
processed validator state
confirmed state
finalized state
later, more settledThe opportunity is not that Turbine gives every observer the same timestamp. Arrival depends on the source, its place in the propagation graph, network distance, packet loss, and decoder performance. Two feeds may see the same shred at different times.
A useful low-latency service therefore does more than connect to one source:
- Ingests from independent shred paths.
- Deduplicates by slot, shred index, and integrity identity.
- Keeps the earliest valid arrival.
- Reconstructs incomplete erasure batches.
- Decodes entries without blocking later packets.
- Reconciles every signal against processed and confirmed state.
Source diversity and physical placement improve the chance of seeing a valid copy early; they do not change the protocol's confirmation rules.
Read the block while it is still moving.
rpc edge combines multiple shred sources, reconstructs and decodes entries, then streams first-seen transactions beside the Solana cluster.
What to measure in a shred pipeline
Do not label a feed "low latency" from one timestamp. Instrument the full path:
slot and shred index
source identifier
source receive timestamp
first valid receive timestamp
duplicate count by source
erasure batch completion timestamp
entry decode timestamp
first processed observation
first confirmed observation
fork outcome
missing and repaired shred countsFrom those fields, track:
- Source lead time: how often and by how much each source arrives first.
- Batch completion time: first shred to sufficient shreds for reconstruction.
- Decode delay: sufficient batch to usable transaction data.
- Repair dependence: share of batches that require explicit Repair.
- Fork discard rate: first-seen signals that do not survive.
- p50 and p99 end-to-end delay: median alone hides packet-loss and repair tails.
The trading metric is not raw packet arrival. It is time from first valid network observation to a decision the strategy can safely make.
How to use pre-confirmation data safely
Shred-derived data is useful when your system treats uncertainty as an input.
- Tag the source and commitment. Never let pre-confirmation data look like settled state.
- Make actions reversible where possible. A first-seen event may disappear with its fork.
- Reconcile asynchronously. Compare the signal with processed, confirmed, and finalized streams.
- Expire stale opportunities. A late reconstruction should not trigger an old trade.
- Separate detection from landing. Early reads still need a fresh blockhash, fee policy, and delivery path.
The reference architecture in Building an HFT Data Pipeline on Solana shows how to combine the signal, state, execution, and reconciliation stages. For execution, pair the read path with the fee policy from Solana Priority Fees Explained and a leader-aware transaction sender.
The hardware constraint is becoming more visible
At the network layer, protocol throughput becomes packet processing. More block capacity means more shreds to create, transmit, verify, retransmit, and reconstruct.
The Solana Foundation's 2026 note on high-performance validators calls Turbine the primary constraint as planned block capacity rises from 60 million to 100 million compute units. It reports that a highly staked validator can approach 150,000 outbound packets per second during aggressive fanout.
Those are validator-side numbers, not a promise about an RPC feed. The packet rates explain why NIC queues, kernel networking, CPU pinning, packet loss, and bare-metal access affect propagation performance. A virtual CPU upgrade cannot compensate for a saturated or distant network path.
The takeaway
The propagation layer bridges block production and cluster-wide replay. The leader shreds its output, validators fan those packets through a stake-weighted tree, erasure coding absorbs ordinary loss, and Repair fills the remaining holes.
Application developers have a clear boundary. Shreds can expose transactions earlier than processed or confirmed APIs, but they carry propagation truth, not settlement truth. Build the speed advantage at the Turbine layer, then reconcile it through replay and commitment before treating it as final.