What are nodes?
The definition of a node may vary depending on the context in which it is used. For example, when it comes to computer networks or communication networks, nodes may serve different purposes as they represent a redistribution point or an endpoint connection. Typically, a node consists of a physical network device, but there are some specific cases where virtual nodes are used.
Simply put, a network node is a point where a message can be created, received, or transferred. Here we will discuss the different types of Bitcoin nodes which are: Full Nodes, Super Nodes, Miner Nodes, and SPV clients.
Bitcoin Nodes
Entering the context of the blockchain designed as distributed systems, the network of computing nodes makes it possible to use Bitcoin as a decentralized digital currency operating on a peer-to-peer system and resistant to censorship by design, without requiring third parties to mediate between users (regardless of the distance between them in the world).
Therefore, blockchain nodes are responsible for acting as a connection point that can perform various functions. Any computer or device that connects to the Bitcoin interface can be considered a node in that it communicates with each other in some way. These nodes are also capable of transmitting information about transactions and blocks within the distributed network of computers using the Bitcoin peer-to-peer protocol. However, each node is defined according to its specific functions, so there are different types of Bitcoin nodes.
Full Nodes
Full nodes are those that support and provide security for Bitcoin and are indispensable. These nodes are also referred to as full verification nodes because they engage in the process of verifying transactions and blocks according to the system consensus rules. Full nodes can also relay new transactions and blocks to the blockchain.
Typically, a full node downloads a copy of the Bitcoin blockchain with every block and transaction, but this is not a requirement to be considered a full node (as a reduced copy of the blockchain can be used instead).
A full Bitcoin node can be created using various software applications, but the most common and popular is Bitcoin Core.
This is the minimum requirement to run a full node for Bitcoin Core:
A computer or laptop with the latest version of Windows or Mac OS X or Linux.
200 GB of available disk space.
2GB of memory (RAM).
High-speed internet with upload speeds of at least 50 KB/s.
An open connection or a connection with high upload limits. Full nodes may reach an upload usage of up to 200 GB per month or more and a download usage of up to 20 GB per month. You will also need to download about 200 GB when starting the full node for the first time.
The full node must be run for at least 6 hours a day. It is also better to run continuously 24/7.
Many voluntary organizations and users run full Bitcoin nodes as a way to support the Bitcoin system. Currently, there are approximately 9700 public nodes operating on the Bitcoin network. Note that this number only includes public nodes that refer to visible Bitcoin nodes that can be seen and accessed (also known as listening nodes).
In addition to public nodes, there are many other hidden nodes that are invisible (non-listening nodes). These nodes usually operate behind a firewall using hidden protocols like Tor, meaning they are configured not to listen for connections.
Listening Nodes - Super Nodes
Essentially, a listening node or super node is a full node that is generally visible. It communicates and provides information to any other node that decides to establish a connection with it. Thus, the super node is essentially a redistribution point that may act as a data source and a connection bridge.
Typically, a trusted super node operates 24/7 and has many established connections as it transmits the blockchain record and aggregated transactions to multiple endpoints around the world. For this reason, a super node may require greater computational power and better internet connectivity compared to hidden full nodes.
Miners’ Nodes
To be able to mine Bitcoin in the current competitive state, one must invest in specialized mining hardware and software. These mining programs are not directly related to Bitcoin Core but are executed in a manner similar to trying to mine Bitcoin blocks. A miner may choose to operate solo or in pools.
While full nodes for individual miners use their own version of the blockchain, group miners (mining pools) work together so that each contributes with their own computing resources (hashpower).
In a mining pool, only the group administrator needs to run a full node, which can be referred to as a full node for mining pool users.
Lightweight or SPV Clients
Simplified Payment Verification (SPV) Clients or lightweight clients are light clients that use the Bitcoin network but do not actually operate as full nodes. Therefore, SPV clients do not contribute to the security of the network as they do not maintain a private copy of the blockchain and do not participate in the verification and confirmation of transactions.
In summary, SPV is the way for a user to verify whether certain transactions have been included in a block or not, without the need to download the entire block data. Thus, SPV clients rely on the information provided by other full nodes (super nodes). Lightweight clients serve as endpoints and are used by many cryptocurrency wallets.
Client vs Mining Nodes
It is important to note that the meaning of running a full node is not the same as running a full mining node. While miners have to invest in expensive mining hardware and software, anyone is capable of running a full verification node. Moreover, before attempting to mine blocks, miners need to collect pending transactions that have been previously accepted as valid by full nodes. After that, the miner creates a candidate block (with a set of transactions) and attempts to mine this block. If the miner manages to find a valid solution for this block, they broadcast it to the network and other full nodes will validate the block. Therefore, the consensus rules are determined and secured through the distributed network of verification nodes and not miners.
Closing
Bitcoin nodes communicate with each other through the Bitcoin P2P network protocol, and by doing so, they ensure the integrity of the system. A misbehaving node or one attempting to disseminate incorrect information is quickly identified by honest nodes and then separated from the network.
Despite the fact that running a full verification node does not provide financial rewards, it is highly recommended because it provides trust, security, and privacy for users. Full nodes ensure compliance with the rules. They protect the blockchain from attacks and fraud methods such as double-spending. Additionally, full nodes do not need to trust others and allow the user complete control over their funds.