What is a Cluster?
A cluster is defined by:- Shared genesis block - All validators start from the same initial state
- Common ledger - Validators maintain and extend the same blockchain
- Gossip network - Validators communicate via peer-to-peer gossip
- Consensus participation - Validators vote on blocks and achieve finality
docs/src/clusters/index.md:1
Cluster Types
Solana maintains several public clusters for different purposes:Mainnet Beta
The production cluster for real economic activity:- Real SOL tokens - Actual economic value
- Persistent - Ledger is never reset
- Permissionless - Anyone can join as a validator
- High stability - Runs thoroughly tested releases
docs/src/clusters/available.md:128
Mainnet Beta is called “beta” because the Solana protocol is still evolving. However, it’s a production environment with real economic value.
Testnet
Stress testing environment for core contributors:- Test tokens - No real value
- Latest features - Runs newest software releases
- Performance testing - Focus on network limits and stability
- May reset - Ledger can be reset for testing
docs/src/clusters/available.md:71
Devnet
Development cluster for application developers:- Test tokens - Free tokens from faucet
- Stable - Runs same version as mainnet (usually)
- Developer friendly - For testing dApps and integrations
- May reset - Occasionally reset for upgrades
docs/src/clusters/available.md:17
Creating a Cluster
To create a new cluster:-
Generate genesis config - Define initial state
- Mint account (initial token supply)
- Bootstrap validator identity
- Stake distribution
- Cluster timing parameters
-
Start bootstrap validator - First validator initializes ledger
- Loads genesis configuration
- Creates initial bank state
- Begins producing blocks
-
Join additional validators - Other validators connect
- Download genesis from bootstrap node
- Sync ledger from network
- Begin voting on blocks
docs/src/clusters/index.md:10
Joining a Cluster
Validators join through the gossip network:Gossip Protocol
Gossip enables decentralized cluster membership:- Push messages - Broadcast new information to peers
- Pull messages - Request updates from random peers
- Automatic propagation - Information spreads to all nodes
- Eventually consistent - All nodes get the same information
docs/src/clusters/index.md:16
Registration Process
- Connect to entrypoint - Contact any existing cluster node
- Exchange contact info - Share IP addresses and ports
- Gossip propagation - Contact info spreads to all validators
- Sync ledger - Download and replay blockchain history
- Begin voting - Start participating in consensus
docs/src/validator/gossip.md:1
Required Information
Validators advertise via gossip:- Identity - Validator public key
- TPU address - Where to send transactions
- TVU address - Where to send shreds
- Gossip address - For cluster communication
- RPC address - For client queries (optional)
- Vote account - For consensus participation
- Stake - Amount of SOL delegated
docs/src/validator/gossip.md:16
Transaction Flow
Clients send transactions to the cluster:- Client submits - Transaction sent to any validator’s TPU
- Forwarding - Non-leaders forward to current/next leader
- Leader processes - Leader executes and bundles into blocks
- Broadcast - Leader sends blocks to all validators via Turbine
- Validation - Validators replay transactions and vote
- Confirmation - Supermajority votes provide finality
docs/src/clusters/index.md:20
Confirmation and Finality
Solana achieves subsecond confirmation:Confirmation Process
Confirmation is the time from leader timestamp to supermajority recognition:- Leader timestamps entry with PoH
- Leader signs and broadcasts block
- Validators receive and validate
- Validators vote on valid blocks
- Leader observes 2/3+ stake voting
docs/src/clusters/index.md:24
Scalable Confirmation
Solana scales confirmation through:- VDF timestamps - Proof of History provides ordering
- Batch propagation - Turbine distributes blocks efficiently
- Recursive retransmit - Tree structure for peer-to-peer relay
docs/src/clusters/index.md:30
Commitment Levels
Clients can query different commitment levels:- Processed - Transaction executed, not yet voted on
- Confirmed - 2/3+ stake voted on the block
- Finalized - 32+ confirmed blocks built on top (max lockout)
runtime/src/commitment.rs:1
Most applications use “confirmed” commitment, which provides strong guarantees in about 400ms while allowing for rare rollbacks in extreme network conditions.
Cluster Timing
Clusters operate on fixed time intervals:- Slot - ~400ms, time for one leader to produce a block
- Epoch - 432,000 slots (~2 days), period for stake/leader recalculation
- Tick - ~6.25ms, PoH timestamp granularity
Leader Scheduling
Leaders are scheduled deterministically:- Stake calculation - Sum stake at epoch boundary
- Leader generation - Deterministic algorithm assigns slots
- Stake proportional - More stake = more leader slots
- Advance notice - Schedule known for current and next epoch
leader-schedule/src/lib.rs:1
Stake and Voting
Stake Accounts
Validators receive delegated stake:- Delegation - Stakers delegate SOL to validator vote accounts
- Warmup/Cooldown - Stake activates/deactivates over epochs
- Rewards - Both validator and delegators earn inflation rewards
- Slashing - Stake can be slashed for malicious behavior (planned)
docs/src/consensus/stake-delegation-and-rewards.md:1
Vote Accounts
Each validator has a vote account:docs/src/consensus/stake-delegation-and-rewards.md:46
Cluster Performance
Key performance characteristics:- Throughput - 50,000+ TPS on mainnet
- Confirmation - 400ms for confirmed commitment
- Finality - ~13 seconds for finalized commitment
- Block time - 400ms slots (variable based on leader)
- Fee cost - ~$0.00025 per transaction (varies with demand)
Next Steps
- Learn about Proof of Stake mechanics
- Understand validator anatomy
- Explore consensus in depth