What Are Bitcoin Nodes?
In the Bitcoin network, nodes create, receive, or transmit messages. Running a fully validating node helps ensure network health, protects against attacks and fraud, and enables users to control their money without relying on third parties. Miners’ nodes are responsible for processing transactions and creating new blocks. SPV clients integrated into crypto wallets operate with minimal resources and provide a simplified way of verifying Bitcoin transactions without needing to download the entire blockchain.
Basics
Depending on the context, a node can serve as a redistribution point or a communication endpoint in computer and telecommunication networks. Typically, a node is a physical network device, but virtual nodes may also be employed in certain circumstances.
A Bitcoin node is a point within a network infrastructure where messages can be generated, received, or forwarded. The four types of Bitcoin nodes are full nodes, supernodes, miner nodes, and SPV clients.
Bitcoin Nodes
The distributed system of computer nodes enables Bitcoin to operate as a decentralized peer-to-peer digital currency. Blockchain nodes act as communication points that perform various functions and facilitate transactions without intermediaries, making the system censorship-resistant.
Any device that connects to the Bitcoin interface can be considered a node, as they communicate with each other and transmit information about transactions and blocks within the distributed network using the Bitcoin peer-to-peer protocol. However, each node has specific functions, so there are different types of Bitcoin nodes.
Full nodes
Bitcoin full nodes play a crucial role in securing the network and ensuring its proper functioning. These nodes, also known as fully validating nodes, are responsible for verifying transactions and blocks against the system's consensus rules. In addition, they can relay new transactions and blocks to the blockchain.
While it is common for full nodes to download a complete copy of the Bitcoin blockchain, this is not a requirement. It is possible to use a reduced copy of the blockchain instead. The most widely used software implementation for establishing a full node is Bitcoin Core, which requires a desktop or laptop running a recent version of Windows, Mac OS X, or Linux.
To run a Bitcoin Core full node, you will need at least 200GB of free disk space, 2GB of memory, and a high-speed internet connection with upload speeds of at least 50 kB/s. An unmetered connection or one with high upload limits is preferable since online full nodes may use up to 200 GB/month of upload and 20 GB/month of download. When you first start your full node, you will need to download around 200GB of data.
It is recommended to run your full node for a minimum of six hours a day, but it's even better if you can run it continuously (24/7). Many volunteer organizations and users run full Bitcoin nodes to support the ecosystem. As of 2023, over 17,000 public nodes are running on the Bitcoin network. Please note that this number only accounts for public nodes, which are visible and accessible, known as listening nodes. Hidden nodes, also known as non-listening nodes, are not visible to the network and can operate behind firewalls or using protocols that enable anonymous communication on the internet like Tor.
Listening Nodes (Supernodes)
Full nodes that are visible and accessible to other nodes in a network are called listening nodes or supernodes. These nodes act as data sources and communication bridges and are responsible for transmitting the blockchain history and transaction data to other nodes in the network. In essence, supernodes are redistribution points that help establish connections between nodes.
Supernodes usually require better computational power and a more reliable internet connection than hidden nodes. They are typically run 24/7 and have multiple established connections, allowing them to provide information to any node that decides to connect with them. Running a supernode helps enhance the network's reliability and efficiency.
Miners’ Nodes
To start mining Bitcoin, it's necessary to buy specialized mining hardware and programs. These mining programs are separate from Bitcoin Core and operate alongside it to mine Bitcoin blocks. Miners can choose to work alone as solo miners or as part of a pool.
Solo miners use their copy of the blockchain on their full nodes, while pool miners combine their computational resources or hashpower. In a mining pool, only the pool administrator needs to run a full node, also known as a pool miner's full node.
SPV clients (Lightweight)
Cryptocurrency wallets often use Simplified Payment Verification (SPV) clients, also known as lightweight clients, to access the Bitcoin network. Unlike full nodes, SPV clients do not maintain a copy of the blockchain and do not engage in transaction verification or validation thus not contributing to the network’s security. Instead, they rely on other full nodes (supernodes) to provide information about transaction inclusion in a block. Essentially, SPV clients work as communication endpoints and are used to check transaction status without downloading the entire block data.
Client vs. Mining Nodes
Running a full node is not the same as running a full mining node. Unlike mining, fully validating nodes can be run by anyone and do not require expensive hardware or software.
When a miner attempts to mine a block, they first collect valid pending transactions from full nodes. Then, they compile the transactions into a candidate block and begin mining it. Once a valid solution is found, the miner broadcasts the block to the network for other full nodes to verify its validity. The consensus rules are established and maintained by the distributed network of validating nodes, not by the miners.
Conclusion
Bitcoin nodes communicate with each other through the Bitcoin P2P network protocol, ensuring the system's integrity. Dishonest nodes that try to propagate incorrect information or misbehave are quickly detected by honest nodes and disconnected from the network. Running a fully validating node contributes to the network's health and provides a safer and more trustworthy environment for Bitcoin transactions. Despite not offering financial rewards, full nodes guarantee that the rules of the network are being followed, protect against attacks and frauds (such as double-spending), and allow users to be in control of their money without relying on third parties.