The definition of what a node is may vary depending on the context used. When it comes to computer or telecommunications networks, nodes offer different proposals, acting either as a redistribution point or a communication terminal. Typically, a node is represented as a device on a physical network, but there are some specific cases in which virtual nodes are used.
Simply put, a network node is the point where a message can be created, received or transmitted. Therefore, we will discuss the different types of Bitcoin nodes: full nodes, super nodes, mining nodes and SPV client nodes.
Os nodes do Bitcoin
Diving into the context of blockchains – which are designed as distributed systems – a computer network is what makes it possible to use Bitcoin as a Peer-to-Peer (P2P or peer-to-peer) decentralized digital currency that is resistant to authorities. since conception and does not require an intermediary to be transacted by users (no matter the distance between them).
Therefore, the nodes of a blockchain network are responsible for acting as a communication point that can have different functions. Any computers or devices that connect to the Bitcoin interface can be considered nodes in the sense that they communicate with each other in some way. These nodes are also capable of transmitting information regarding transactions and blocks within a computer network when using Bitcoin's peer-to-peer protocol. However, each computer is defined according to its particular function, so there are different types of nodes within Bitcoin.
Full nodes
Full nodes are those that really provide support and security to Bitcoin, being essential to the network. These nodes are also known as full validating nodes as they participate in the process of verifying blocks and transactions following the rules of the consensus algorithm. Full nodes are also capable of relaying new blocks and transactions to the blockchain.
Typically, a full node downloads a copy of the Bitcoin blockchain containing each block and transaction, but this is not a requirement to become a full node (a reduced copy of the blockchain can be used in place of the full one).
A Bitcoin node can be established through different software implementations, but the most popular and used way is Bitcoin Core. These are the minimum requirements to run a Bitcoin Core full node:
Desktop or notebook computer running the latest version of Windows, Mac OS X, or Linux.
200GB free HD space.
2GB memory (RAM)
High-speed internet connection and upload rate of at least 50 kB/s.
An internet connection with a high bandwidth limit for uploads. Full nodes can reach or even exceed the 200GB/month and 20GB/month download range. And you also need to download ~200Gb once you start your full node.
A full node must be active for at least 6 hours every day. It's even better if you leave it running continuously, 24 hours a day, 7 days a week.
Some voluntary organizations and users are running Bitcoin full nodes as a way to help the ecosystem. We currently have approximately 9,700 public nodes running on the network. Note that this number only includes public nodes, which refers to nodes that are listed as visible and accessible (or receptive nodes).
In addition to public nodes, there are several others that are invisible (non-receivable nodes). These nodes usually operate behind a firewall, through protocols such as Tor, or simply because they have been configured not to receive connections.
Nodes receptíveis (super nodes)
Essentially, a receiver node or super node is a full node that is publicly visible. It communicates and delivers information to any other node that establishes a mutual connection. Consequently, the super node is basically a redistribution point that can function as an information source and communication bridge at the same time.
A trusted super node typically runs every day and has multiple connections established, transmitting blockchain information and transactions to multiple nodes around the globe. For this reason, a super node will probably require greater computing power and internet connection than a full node that remains hidden.
Mining nodes
To be able to mine Bitcoins in the current very competitive scenario, interested parties need to invest in specialized equipment and programs for this purpose. These mining programs (software) are not directly related to Bitcoin Core and must be run in parallel to attempt to mine Bitcoin blocks. A miner can choose to work alone (lone miner) or in groups known as mining pools.
While solitary full node miners use their own copy of the blockchain, pool miners work together, each contributing their individual computing power (hashpower). In a mining pool, only the administrator needs to meet the requirement of running a full node – known as pool miner's full node.
Lightweight or SPV customers
Better known as Simplified Payment Verification or SPV clients, lightweight clients are those that use the Bitcoin network, but do not act as full nodes. Therefore, SPV clients do not contribute to network security simply because they do not have a copy of the blockchain and are not part of the transaction verification and validation process.
In short, SPV is the method by which a given participant can check whether or not some transactions were included in a block, without having to download the full information about it. Therefore, SPV clients depend on the information provided by other full nodes (super nodes). Lightweight clients function as communication terminals and are used by several cryptocurrency wallets.
Clients vs mining nodes
It is important to note that running a normal full node is not the same thing as running a mining full node. While miners need to invest in extremely expensive computer parts and programs, anyone can run a simple full node. Furthermore, before attempting to mine a block, the miner needs to gather a number of pending transactions that have previously been accepted as valid by full nodes. Then, the miner creates a candidate block (with a group of transactions) and tries to mine that block. If the miner manages to find a valid solution to the mathematical proof of that block, he transmits it to the network and the other full nodes check the validity of that block. Therefore, consensus rules are determined and protected by the distributed network of validated blocks and not by miners.
Final considerations
Bitcoin nodes communicate with each other via the network's P2P protocol and, in doing so, guarantee the integrity of the system. A node that acts dishonestly or tries to propagate incorrect information is quickly discovered by honest people and ends up being disconnected from the network.
Despite the fact that running a validation full node has no financial reward, it is highly recommended to take this action in order to provide trust, security and privacy for all network users. Full nodes ensure that the rules are always followed. They protect the blockchain against attacks and fraud (such as double spending). In addition, a full node does not need to trust others and allows the user full control of their money.
