Overview
A full node is a computer running Bitcoin software that independently verifies every transaction and block against Bitcoin's complete consensus rules. Full nodes do not trust any other participant in the network; they validate everything themselves. Running a full node is the most sovereign way to interact with Bitcoin, as it removes dependence on third parties for transaction verification and blockchain data.
What a Full Node Does
Incoming Block
│
▼
┌──────────────────────────────────────────┐
│ FULL NODE VALIDATION │
├──────────────────────────────────────────┤
│ ✓ Block header hash below target │
│ ✓ Block timestamp within acceptable range│
│ ✓ Block size within weight limit │
│ ✓ First transaction is valid coinbase │
│ ✓ All transactions are valid │
│ ✓ No double-spent inputs │
│ ✓ All signatures verify correctly │
│ ✓ Output values do not exceed inputs │
│ ✓ Correct block reward amount │
│ ✓ Script execution succeeds │
│ ✓ ... (hundreds of consensus rules) │
└──────────────────┬───────────────────────┘
│
┌───────┴───────┐
│ │
Block Valid Block Invalid
(add to chain) (reject & ban peer)
Why Run a Full Node
- Trustless verification: You verify your own transactions without relying on anyone else
- Privacy: You do not leak your addresses or transaction history to third-party servers
- Network health: More full nodes mean greater decentralization and resilience
- Rule enforcement: Full nodes enforce consensus rules, preventing miners from creating invalid blocks
- Vote with your node: In contentious protocol changes, full nodes signal which rules they accept
Hardware Requirements
Running a full node has become increasingly accessible:
Minimum requirements (approximate):
- Storage: ~700 GB (full blockchain, growing ~60 GB/year)
OR ~10 GB if running in pruned mode
- RAM: 2 GB minimum, 4+ GB recommended
- CPU: Any modern processor
- Bandwidth: ~200 GB/month upload
- Internet: Always-on connection recommended
Full Node vs. Other Node Types
- Full node vs. SPV: SPV nodes only download block headers and verify transactions using Merkle proofs. They trust miners for consensus rule validation.
- Full node vs. pruned node: A pruned node validates everything like a full node but discards old block data to save disk space. It cannot serve historical blocks to other nodes.
- Full node vs. archival node: An archival node keeps the entire blockchain and serves historical data to peers. All archival nodes are full nodes, but not all full nodes are archival.
Popular Full Node Software
- Bitcoin Core: The reference implementation, written in C++
- btcd: An alternative full node implementation in Go
- Bitcoin Knots: A Bitcoin Core fork with additional configuration options
- Node-in-a-box solutions: Umbrel, RaspiBlitz, Start9, and myNode provide user-friendly interfaces for running nodes on dedicated hardware
Common Misconceptions
- Running a full node does not require mining. Full nodes validate and relay but do not create new blocks.
- You do not need to keep your full node running 24/7 for personal use, though it benefits the network. When you start your node, it will catch up with blocks it missed.
- A pruned node provides the same security guarantees as a non-pruned full node. The only difference is that pruned nodes cannot serve historical blocks to new peers.