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