B++ Logo

Node Types & Architecture

Bitcoin nodes come in different types, each with different capabilities, resource requirements, and trust models. Understanding node types helps you choose the right setup for your needs.

Node Types

Full Nodes

Full nodes download and validate the entire blockchain:

Characteristics:
- Downloads ~600GB+ blockchain data
- Validates all transactions and blocks
- Maintains complete UTXO set
- Maximum security and privacy
- Requires significant resources

Use cases:

  • Maximum security
  • Privacy-sensitive applications
  • Contributing to network
  • Development and testing

Pruned Nodes

Pruned nodes validate everything but don't store full history:

Characteristics:
- Validates all blocks
- Stores only recent blocks (~2GB)
- Maintains UTXO set
- Good security, lower storage
- Can't serve historical data

Use cases:

  • Limited storage space
  • Still want full validation
  • Don't need historical data

Archival Nodes

Archival nodes store complete blockchain history:

Characteristics:
- Full blockchain storage
- Can serve historical data
- Maximum storage requirements
- Useful for research/analysis

Use cases:

  • Blockchain analysis
  • Historical data access
  • Research purposes
  • Public services

SPV (Simplified Payment Verification) Nodes

SPV nodes download only block headers:

Characteristics:
- Downloads ~80 bytes per block
- Minimal storage (~50MB)
- Relies on full nodes
- Less privacy
- Faster sync

Use cases:

  • Mobile wallets
  • Lightweight clients
  • Limited resources
  • Quick setup

AssumeUTXO (Faster Initial Sync)

AssumeUTXO (in Bitcoin Core 26+) allows a new node to start from a snapshot of the UTXO set at a recent block height instead of verifying every block from the genesis. The node downloads a signed snapshot (from a built-in or external source), loads the UTXO set, and then syncs only the remaining blocks to the chain tip. This can reduce initial sync time from days to hours. The node still performs full consensus validation for all blocks it downloads; the trust is only that the snapshot is correct at that height, and the BIP process and built-in defaults are designed to minimize risk. Useful for pruned and full nodes that want to reach tip quickly, then optionally verify history in the background.

Block-Relay-Only Connections

Block-relay-only is a connection mode where the node does not exchange transaction (inv, mempool) data with that peer, only blocks and compact blocks. This reduces privacy leakage (peers cannot directly tie your transactions to your IP) and bandwidth. Bitcoin Core uses some block-relay-only outbound connections by default.


Code Examples

Checking Node Type


Comparison

FeatureFull NodePruned NodeSPV Node
Storage~600GB+~2GB~50MB
ValidationCompleteCompletePartial
PrivacyMaximumMaximumReduced
Sync TimeDaysDaysMinutes
BandwidthHighHighLow
SecurityMaximumMaximumReduced

Choosing a Node Type

Use Full Node If:

  • You need maximum security
  • Privacy is critical
  • You're developing Bitcoin software
  • You want to contribute to network

Use Pruned Node If:

  • Storage is limited
  • You still want full validation
  • You don't need historical data

Use SPV Node If:

  • You're on mobile device
  • Storage is very limited
  • You accept reduced privacy
  • You need quick setup


Resources