Architecture overview

⏱️ ~15 min 📊 Solana Core · Level 1

One path from signed transaction to a settled outcome: which subsystems touch the bytes, and in what order. Hover each step for crate hints. Hard terms link to the glossary. Next: TPU & gossip sketch.

Transaction → finalization (validator view)

Client / wire TPU ingress Leader record Propagation TVU + replay Consensus
1. Build & sign
Wallet / program builds a transaction and applies digital signatures.

Responsibility

Off-chain client; not part of the validator binary.

2. Submit
Send to a validator (RPC, QUIC to TPU, or relay). This is still “outside” the core pipeline until packets are ingested.

Typical crates / dirs

  • rpc/, client/, quic-client/ — entry surfaces
3. TPU: fetch → verify → bank
Ingress dedupes packets, verifies signatures in batches, then the banking stage schedules work. If this node is the leader for the slot, it executes against the live bank; otherwise it may forward toward the leader.

Responsibility

Hot path for acceptance + ordering into entries on the leader.

  • core/src/fetch_stage.rs
  • core/src/sigverify_stage.rs
  • core/src/banking_stage.rs
4. PoH + entries → shreds
Leader stamps batches on the PoH sequence, serializes entries, then slices them into shreds for broadcast.

Responsibility

Deterministic streaming format for what the cluster will replay.

  • ledger/, poh/, entry/
5. Propagate
Shreds fan out via the turbine tree; gossip carries metadata, peers, and votes—classic P2P overlay work.

Typical crates

  • turbine/, gossip/
6. TVU: ingest & repair
Followers receive shreds, fill gaps (repair), and assemble per-slot windows before replay.

Typical crates

  • core/src/repair/, core/src/window_service.rs (evolving names—verify in your rev)
7. Replay
Replay verifies shred coding and runs transactions deterministically through the VM / bank—same ordered inputs → same state (SMR-style replication).

Typical crates

  • ledger/src/blockstore_processor.rs
  • runtime/, programs/
8. Tower votes
Validators cast fork-choice votes weighted by stake; lockouts favor sticking with the replayed fork they already endorsed.

Typical crates

  • core/src/consensus/, vote/
9. Confirm & root
Supermajority confirmations and advancing root mean your transaction’s slot is buried under collective votes—practical finality for apps (persisted in the ledger / blockstore).

Note

“Optimistic confirmation” vs rooted: different certainty thresholds; both sit after replay + voting.

Memory trick: TPU produces; TVU verifies and catches up. PoH orders the leader stream; Tower picks which fork is real among validators.

← Back to Solana Core