Bitcoin Full Node: Key Concepts
Let's explore the main components and connections of a bitcoin full node
1. Full Node Basics
A Full Node downloads and verifies all blocks and transactions on the Bitcoin network
2. Inbound/Outbound Connections
-
Inbound Connections:
-- Initiated by external nodes connecting to your node.
-- Accepts up to 117 connections from other nodes requesting data. -
Outbound Connections:
-- Initiated by your node connecting to external nodes.
-- Establishes 8 outbound connections for data synchronization.
3. Core Components
- Chain State: Tracks UTXOs (Unspent Transaction Outputs).
- Blocks DB: Stores all block data.
- Mempool: Temporary storage for unconfirmed transactions.
4. Communication Protocols
- RPC: Allows local applications to interact with the node.
- HTTP & GUI: Provides user interfaces for interaction.
- ZMQ: Asynchronous messaging for transaction/block notifications.
5. Banlist & Whitelist
- Banlist: Blocks nodes with suspicious behavior.
- Whitelist: Grants special permissions to trusted nodes.
Upcoming Posts
- MuSig
- MuSig2
bitcoind
client has a-maxconnections
configuration option. Setting-maxconnections=N
specifies the total number of connections, including both incoming and ourbound connections (the default is 125, 8 outbound and 117 inbound)Make it as wild and technical as possible!