Skip to main content

Full Node | Bitcoin Glossary | Mapping Bitcoin

Full Node

Protocol

Also known as: fully validating node

A Bitcoin node that downloads and independently validates every block and transaction against the complete set of consensus rules. Full nodes enforce the protocol without trusting any third party and contribute to network decentralization and security.

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.
  • 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.