Road Map
Since the validator is a large project, we broke it down into individual core components:
Gossip
: The entry point of the network where nodes discover other nodes, share metadata about what ports are open, etc.AccountsDB
: An optimized database to represent the state of the blockchain at a specific slot, including the state of all the accounts.Turbine
: The networking protocol that distributes blocks throughout the cluster as shreds.Repair
: Detects which shreds are missing and requests them from other nodes in the clusterLedger
: A database that stores every transaction from every block and the results of executing those transactions.SVM/Runtime
(Solana Virtual Machine): An execution environment that updates on-chain accounts by processing transactions with on-chain programs.TowerBFT
: A consensus protocol that manages votes and forks to know the head of the chain.Replay
: Executes transactions from recent blocks to validate them, vote on them, and update AccountsDB.RPC
: Responsible for serving on-chain data to other clients using remote-procedure calls including account balances, transaction statuses, and more.Proof-of-History
: A proof of the passage of time using a verifiable delay function at the heart of consensus.TPU - Block Production
(Transaction Processing Unit): Find the optimal transaction ordering to pack into a block based on specific read/write locks and priority fees.