BEGINNER_DOC_014 // BEGINNERS / NODE
NODE
A Bitcoin node is a computer running Bitcoin software that independently validates
every transaction and block according to the consensus rules. Nodes are the enforcers of the
protocol. Miners produce blocks, but nodes decide which blocks are valid. Without nodes, there
is no network. Running your own node means trusting no one.
WHAT_A_FULL_NODE_DOES
VALIDATION CHECKLIST — EVERY BLOCK AND TRANSACTION
For every transaction received:
✓ All referenced UTXOs exist and are unspent
✓ Input amounts ≥ output amounts (no inflation)
✓ All signatures are cryptographically valid
✓ Script execution returns TRUE
✓ No double-spend in same block
For every block received:
✓ Block hash < current target (valid proof of work)
✓ Correct block header format and version
✓ Merkle root matches all included transactions
✓ Timestamp within acceptable range
✓ Block size within limits
✓ Coinbase reward ≤ subsidy + fees
NODE_TYPES
Archival Full Node
FULL HISTORY
Stores the complete blockchain from the Genesis Block to the current tip. Can serve historical block data to peers and new nodes syncing for the first time.
Storage: ~650 GB (full chain, 2024)
Validates: Every block and transaction ever
Serves: Historical data to new nodes
Software: Bitcoin Core (default configuration)
Pruned Full Node
SPACE-SAVING
Validates the full blockchain during initial sync but discards old block data after verification, keeping only the utxo-set/">UTXO set and recent blocks.
Storage: ~10–20 GB (configurable)
Validates: Full validation (same security as archival)
Trade-off: Cannot serve historical blocks to other nodes
Config: prune=550 (in bitcoin.conf — size in MB)
A pruned node has identical security to an archival node. It simply cannot help bootstrap new nodes joining the network.
Mining Node
BLOCK PRODUCTION
A full node with mining software attached. Builds candidate blocks and coordinates with ASICs to find valid proof-of-work hashes.
Components: Full node + mining software (e.g. braiins OS)
Block template: getblocktemplate RPC call
Submits: Valid block to the network via submitblock
WHY_RUN_YOUR_OWN_NODE
VERIFY, DON'T TRUST
Without a full node, you rely on someone else's node to tell you your balance and confirm transactions.
Your own node eliminates that trust.
STRENGTHEN THE NETWORK
Every additional node makes Bitcoin more decentralized and resilient.
More nodes mean more copies of the truth, harder to censor or corrupt.
NOT YOUR NODE, NOT YOUR RULES
FULL NODES ENFORCE CONSENSUS · MINERS PRODUCE BLOCKS · NODES DECIDE WHAT'S VALID
TERMINOLOGY_INDEX
Full Node
A node that validates every block and transaction against all consensus rules independently.
Pruning
Discarding old validated block data to save disk space, while keeping the UTXO set.
IBD
Initial Block Download. The process of syncing from the Genesis Block to the current tip when first starting a node.
Consensus Rules
The rules all nodes agree on. Blocks or transactions that break them are rejected, regardless of hash power.
Bitcoin Core
The reference implementation of Bitcoin. The most widely used full node software.
UTXO Set
The database of all unspent outputs, kept in RAM by full nodes for fast validation.