The definition of a node can change depending on the context. When it comes to computer or telecommunication networks, nodes can act either as a redistribution point or as a communication endpoint. Usually, a node consists of a physical network device, but in some cases virtual nodes are used.
A network node is a point where a message can be created, received or transmitted. In the article, we will discuss the different types of nodes in Bitcoin: full nodes, supernodes, miner nodes, and SPV clients.
Bitcoin nodes
Diving into the context of blockchains, which are designed as distributed systems, we can say that a network of computer nodes allows Bitcoin to be used as a decentralized peer-to-peer (P2P) digital currency. As such, it is designed to be censorship-resistant and not require an intermediary for user-to-user transactions (no matter how far in the world they are).
And blockchain nodes act as a point of communication that can perform various functions. Any computer or device that connects to the Bitcoin interface can be considered a node in the sense that they interact with each other in some way. These nodes can also transmit information about transactions and blocks in a distributed network of computers using the peer-to-peer Bitcoin protocol. However, each computer node is defined according to its specific functions, so there are different types of Bitcoin nodes.
Full notes
Full nodes are the ones that really support and secure Bitcoin and are essential to the network. These nodes can also be called full-cycle validation nodes, as they participate in the process of verifying transactions and blocks against the system's consensus rules. In addition, full nodes can commit new transactions and blocks to the blockchain.
A full node typically downloads a copy of the Bitcoin blockchain with each block and transaction, but this is not a requirement to be considered a full node (a scaled-down copy of the blockchain can be used instead).
A full-fledged node can be created using various software implementations, but the most common and popular is Bitcoin Core. Here are the minimum requirements to run a full Bitcoin Core node:
A desktop or laptop computer with the latest version of Windows, Mac OS X, or Linux.
200 GB of free disk space.
2 GB of memory (RAM).
A high-speed Internet connection with a download speed of at least 50 KB/s.
Unlimited connections or connections with high upload limits. Full online nodes can upload 200 GB per month and download 20 GB per month. You also need to download about 200GB when you first run a full node.
Your full noda should work at least 6 hours a day. It is even better if the node will work constantly (24/7).
Many volunteer organizations and users are using full Bitcoin nodes to help the Bitcoin ecosystem. As of 2022, there are more than 10,000 public nodes running on the Bitcoin network. Note that this number only counts public nodes, which refer to open Bitcoin nodes that are visible and accessible (listening nodes).
In addition to public nodes, there are many other hidden nodes that are not visible. These nodes are usually firewalled through hidden protocols such as Tor, or simply because they have been configured so that the connection cannot be "eavesdropped".
Open nodes (supernodes)
In essence, a supernode is a full-fledged public node. It communicates and provides information to any other node that chooses to connect to it. So, a supernode is, in fact, a redistribution point that can act as a data source and as a communication bridge.
A trusted supernode usually runs 24/7 and has multiple connections established, transferring blockchain history and transaction data to multiple nodes around the world. Therefore, a supernode will probably need more computing power and a better internet connection compared to a full node that is hidden.
Miner nodes
To be able to mine Bitcoin in the current competitive environment, it is necessary to invest in specialized mining equipment and software. These mining programs (software) are not directly related to Bitcoin Core and run in parallel to mine Bitcoin blocks. A miner can work alone (solo miner) or in groups (pool miner).
While full nodes of solo miners use their own copy of the blockchain, pool miners work together, each contributing their own computing resources (hash power). In a mining pool, only the pool administrator should run a full node, which can be called a miner pool full node.
Light or SPV customers
Also known as simplified payment verification (SPV) clients, light clients are those that use the Bitcoin network but don't actually act as a full node. Therefore, SPV clients do not contribute to the security of the network because they do not store a copy of the blockchain and do not participate in the process of verifying and confirming transactions.
SPV is a method by which a user can verify whether certain transactions have been added to a block or not without having to download all the block data. Thus, SPV clients rely on information provided by other full nodes (supernodes). Light clients work as endpoints and are used by many cryptocurrency wallets.
Client and mining nodes
It is important to note that running a full node is not the same as running a full mining node. Although miners have to invest in expensive mining hardware and software, anyone can run a node with a full validation cycle.
Before attempting to mine a block, a miner needs to collect pending transactions that have previously been recognized as valid full nodes. The miner then creates a block candidate (with a group of transactions) and tries to mine that block. If a miner manages to find a valid solution for its candidate block, it broadcasts it to the network so that other full nodes can verify the validity of the block. Consequently, consensus rules are defined and enforced by a distributed network of validating nodes, not by miners.
Results
Bitcoin nodes interact with each other through the Bitcoin network P2P protocol and thus guarantee the integrity of the system. A node that tries to commit fraudulent activities or spread incorrect information is quickly recognized by honest nodes and disconnected from the network.
Although there is no financial reward for running a node through a full validation cycle, this action is highly recommended as it ensures user trust, security, and privacy. Full nodes guarantee compliance. They protect the blockchain from attacks and fraud (for example, from double spending). In addition, a full node does not need to trust others and allows the user to have complete control over their money.