The definition of a node can vary significantly depending on the context in which it is used. When it comes to computer or telecommunications networks, nodes can serve different purposes, either as a redistribution point or a communication endpoint. 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 at which a message can be created, received, or transmitted. Next, we will discuss the different types of Bitcoin nodes: full nodes, supernodes, mining nodes, and SPV clients.
Nodes of Bitcoin
Diving into the context of blockchains, which are designed as distributed systems, the network of computing nodes is what makes it possible for Bitcoin to be used as a decentralized peer-to-peer (P2P) digital currency that is censorship-resistant by design, and does not require an intermediary to be transacted from one user to another (no matter how distant they are in the world).
Therefore, blockchain nodes are responsible for acting as a communication point that can perform different functions. Any computer or device that connects to the Bitcoin interface can be considered a node in the sense that they communicate in some way with each other. These nodes can also transmit information about transactions and blocks within the distributed network of computers by using Bitcoin's peer-to-peer protocol. However, each computer node is defined according to its particular functions, which is why there are different types of Bitcoin nodes.
Full nodes
Full nodes are those that actually support and provide security to Bitcoin and are essential to the network. These nodes are also known as full validation nodes as they are involved in the process of verifying transactions and blocks against the system's consensus rules. Full nodes can also broadcast new transactions and blocks to the blockchain.
Typically, a full node 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 reduced copy of the blockchain can be used instead).
A Bitcoin full node can be established through different software implementations, but the most used and popular is Bitcoin Core. These are the minimum requirements to run a Bitcoin Core full node:
Desktop or laptop computer running a recent version of Windows, Mac OS X, or Linux.
200 GB of free disk space.
2GB of memory (RAM).
High-speed Internet connection with upload speeds of at least 50 kB/s.
An unmetered connection or a connection with high load limits. Full nodes at can reach or exceed 200 GB/month upload usage and 20 GB/month download usage. You will also need to download ~200 GB when you first start your full node.
Your full node must run at least 6 hours a day. Even better if you run it continuously (24/7).
Many organizations and volunteer users are running Bitcoin full nodes as a way to help the Bitcoin ecosystem. Currently, there are approximately 9,700 public nodes running on the Bitcoin network. Note that this number only includes public nodes, which refers to listening Bitcoin nodes that are visible and accessible (also known as listening nodes).
In addition to public nodes, there are many other hidden nodes that are not visible (unheard nodes). These nodes typically operate behind a firewall, through hidden protocols like Tor, or simply because they were configured not to listen for connections.
Listening nodes (Supernodes)
Essentially, a listener node or supernode is a full node that is publicly visible. It communicates and provides information to any other node that decides to establish a connection with it. Therefore, a supernode is basically a redistribution point that can act as both a data source and a communication bridge.
A trusted supernode typically runs 24/7 and has multiple connections established, transmitting blockchain history and transaction data to multiple nodes around the world. For that reason, a super node will likely require more computing power and a better internet connection compared to a full node that is hidden.
Miners' nodes
In order to mine Bitcoins in the current competitive scenario, one has to invest in specialized mining hardware and software. These mining programs (software) are not directly related to Bitcoin Core and run in parallel to test and mine Bitcoin blocks. A miner can choose to work alone (Solo Miner) or in groups (Mining Pool).
While solo miners' full nodes make use of their own copy of the blockchain, mining pools work together, each contributing their own computational resources (hashpower). In a mining pool, only the pool administrator must run a full node, which can be referred to as the mining pool full node.
Light customers or SPV customers
Also known as Simplified Payment Verification (SPV) clients, light clients are those that make use of the Bitcoin network but do not actually act as a full node. Therefore, SPV clients do not contribute to the security of the network because they do not maintain a copy of the blockchain and do not participate in the transaction verification and validation process.
In short, SPV is the method by which a user can verify whether or not some transactions were included in a block, without having to download the entire block data. Therefore, SPV clients rely on information provided by other full nodes (supernodes). Thin clients work as communication endpoints and are used by many cryptocurrency wallets.
Client vs Mining Nodes
It is important to note that 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 can run a full validator node. Additionally, before attempting to mine a block, a miner must collect pending transactions that were previously accepted as valid by full nodes. The miner then creates a candidate block (with a set of transactions) and tries to mine that block. If the miner manages to find a valid solution for that block, they broadcast it to the network and the other full nodes will verify the validity of the block. Therefore, the consensus rules are determined and ensured by the distributed network of validator nodes and not by the miners.
Conclusion
Bitcoin nodes communicate with each other via Bitcoin's P2P network protocol and in doing so ensure the integrity of the system. A node that misbehaves or attempts to spread incorrect information is quickly recognized by honest nodes and disconnected from the network.
Despite the fact that running a full validator node does not provide financial rewards, it is highly recommended because it provides trust, security, and privacy to users. Full nodes ensure that the rules are followed. They protect the blockchain against attacks and fraud (such as double spending). Additionally, a full node does not need to trust others and allows the user to be in full control of their money.

