in-solana by Supanode

What Is Shred in Solana?

A shred is the smallest unit of block data in Solana’s Turbine propagation protocol. Blocks are split into shreds (typically around 1,228 bytes each) for distribution across the validator network. Shreds are the raw data packets that validators receive and reassemble into full blocks.

Types of shreds

TypeDescription
Data shredsContain actual block data (transactions, entries)
Coding shredsContain Reed-Solomon erasure coding parity data for recovery

Erasure coding means validators can reconstruct missing data shreds from coding shreds. A typical erasure coding rate allows reconstruction from roughly two-thirds of the total shreds.

Shred lifecycle

  1. The leader produces a block and breaks it into data shreds
  2. Coding shreds are generated from data shreds using erasure coding
  3. Shreds are signed by the leader and distributed via Turbine
  4. Receiving validators verify signatures and reassemble the block
  5. Validators store shreds in the blockstore (ledger)

ShredStream

ShredStream is a Jito service that forwards raw shreds directly to subscribers with minimal latency. This is used by trading bots and searchers who need to see new block data as early as possible, before the full block is assembled and available via RPC.

FAQ

How many shreds are in a block? It varies with block size. A typical block contains hundreds to thousands of shreds depending on the number of transactions.

Can I access raw shreds via RPC? No. Standard RPC methods return assembled blocks and transactions. Raw shred access requires ShredStream or connecting directly to the validator’s Turbine layer.

Updated: