2.4 Bitcoin Blockchain: Bitcoin Nodes and Network
Bitcoin Network
Bitcoin is an ad hoc network with a random topology
The protocol runs on TCP 8333
All the nodes are treated equally in the Bitcoin network
New nodes can join the network anytime, and the non-responsive nodes are removed after 3 hours
Bitcoin Network Node
Nodes in the Bitcoin network may take on different roles depending on the functionality they support
A full Bitcoin node is a collection of four functions:
Nodes in the Bitcoin network may take on different roles depending on the functionality they support
Wallet
Miner
Networking routing node
Full Blockchain
Types of Bitcoin Nodes
Reference Client (Bitcoin Core): Contains a wallet, miner, and full Blockchain database, and network routing node on the Bitcoin p2p network
Full Blockchain Node: Contains a full Blockchain database and network routing node on the Bitcoin p2p network
Solo Miner: Contains a mining function with a full copy of the Blockchain and a Bitcoin p2p network routing node
Lightweight Wallet: Contains a wallet and a network node on the Bitcoin p2p protocol without a Blockchain
Pool Protocol Servers: Gateway routers connecting the Bitcoin p2p network to nodes running other protocols such as pool mining or Stratum nodes
Mining Nodes: Contains a mining function without a Blockchain but with a Stratum protocol node or other pool mining protocol nodes
Lightweight Stratum Wallet: Contains a wallet and a network node on the Stratum protocol without a Blockchain
Joining Bitcoin Network
There are certain special nodes in the Bitcoin network called seed nodes which have a list of addresses
Joining nodes ask for the list of addresses from the seed node
In response to the node’s request to join the network, the seed node sends them the address list
The joining node picks up an address from the list and joins the network
The newly joined nodes then get the most recent Blockchain from their peers
Bitcoin Network
Bitcoin is an ad hoc network with a random topology
The protocol runs on TCP 8333
All the nodes are treated equally in the Bitcoin network
New nodes can join the network anytime, and the non-responsive nodes are removed after 3 hours
Bitcoin Network Node
Nodes in the Bitcoin network may take on different roles depending on the functionality they support
A full Bitcoin node is a collection of four functions:
Nodes in the Bitcoin network may take on different roles depending on the functionality they support
Wallet
Miner
Networking routing node
Full Blockchain
Types of Bitcoin Nodes
Reference Client (Bitcoin Core): Contains a wallet, miner, and full Blockchain database, and network routing node on the Bitcoin p2p network
Full Blockchain Node: Contains a full Blockchain database and network routing node on the Bitcoin p2p network
Solo Miner: Contains a mining function with a full copy of the Blockchain and a Bitcoin p2p network routing node
Lightweight Wallet: Contains a wallet and a network node on the Bitcoin p2p protocol without a Blockchain
Pool Protocol Servers: Gateway routers connecting the Bitcoin p2p network to nodes running other protocols such as pool mining or Stratum nodes
Mining Nodes: Contains a mining function without a Blockchain but with a Stratum protocol node or other pool mining protocol nodes
Lightweight Stratum Wallet: Contains a wallet and a network node on the Stratum protocol without a Blockchain
Joining Bitcoin Network
There are certain special nodes in the Bitcoin network called seed nodes which have a list of addresses
Joining nodes ask for the list of addresses from the seed node
In response to the node’s request to join the network, the seed node sends them the address list
The joining node picks up an address from the list and joins the network
The newly joined nodes then get the most recent Blockchain from their peers