Nodes, mining & validator operations

archive node

An archive node is a full node that never throws away the past. A blockchain's history is a long sequence of states — at block 5,000,000 your account held one balance, at block 6,000,000 a different one — and an archive node keeps the complete reconstructed state at every single height, not just the latest. Picture a librarian who not only knows what every book says today but has photographed the entire library after each edit ever made, so they can show you exactly how any shelf looked on any past day.

The distinction matters because a normal ('pruned') full node does NOT store all of this. A full node still verifies every block from genesis and holds the current state, but to save disk space it prunes old intermediate state tries, keeping only roughly the last 128 blocks of historical state plus the data needed to follow the chain head. Both kinds of node give exactly the same security — they independently check every rule — but a pruned node simply cannot answer 'what was this contract's storage at block 4,000,000?' because it deleted the trie nodes that would let it. An archive node can, because it retained every historical trie.

The cost is storage. On Ethereum a pruned full node fits in a few hundred gigabytes to roughly a terabyte, but an archive node (with a client like Geth or Erigon) runs into multiple terabytes and grows continuously, since it stores the full historical state trie for every block. Archive nodes are therefore not about security but about data availability for tooling: block explorers, indexers, analytics dashboards, tax software, and any service that must answer arbitrary historical queries like eth_getBalance at an old block, debug_traceTransaction, or eth_call against a past state all need an archive node behind them.

A common misconception is that 'archive' means more trustworthy or more decentralization-critical. It does not. The chain's security comes from many independent full nodes re-validating the rules; you only need a handful of archive nodes in the world to serve historical lookups. Modern clients (notably Erigon, with its flat key-value storage layout) have made archive nodes far smaller and faster than the early multi-terabyte Geth archives, which is why historical data is now far more accessible than it once was.

A DeFi dashboard wants to chart a user's Aave debt at the end of every day last year. It cannot ask a pruned node, because that node deleted those old states. It instead calls eth_call with a 'block' parameter set to each day's last block against an archive node, which replays the contract at that exact historical state and returns the answer.

Archive vs. full is about how much history is kept, not about security: a pruned full node validates every block just as rigorously and is what actually decentralizes the network.