What Are Nodes?
Distributed ledger technology gave birth to a whole new use of computers, and with it came a new dictionary to learn. When learning this contemporary technology, one of the most common things you’ll learn about is nodes.
Nodes are essential to the infrastructure of blockchain. They are the very basis of the distributed ledger - they are the distributed ledger and its infrastructure. Generally, nodes are a participant in a blockchain network that act as either a redistribution point or a communication endpoint. But not all nodes are the same, they serve different functions. A network node is a point where a message can be created, received, or transmitted.
We’re going to take a deeper look into why nodes are necessary, how they function, and the different types of nodes:
Consensus Mechanisms and Nodes
Bitcoin, Ethereum, Aptos, and other cryptocurrencies are controlled by a central entity, therefore they aren’t controlled by one central server or even a group. They work by being a peer-to-peer network that people interact with, and nodes serve to purpose that.
In order for a decentralized blockchain to work, copies of the blockchain are stored across all participants of the network, who then must come to agreement that this list is valid and correct. The process of everyone on the network coming to agreement on the current state of the network is called “achieving consensus”. To go farther in-depth on the topic of how consensus protocols work, check out our full article on the subject.
Blockchain networks require a large number of participants, and consensus mechanisms ensure that these participants are in compliance with the established rules in a blockchain system. Different blockchain networks employ different consensus mechanisms in order to do this. The most common are Proof-of-Work and Proof-of-Stake.
Proof-of-Work (PoW) is the original consensus algorithm that was introduced by the very first cryptocurrency - Bitcoin. It consists of two main ideas: (1) Each miner must respond to quite complex challenges in order to prove honesty, and (2) the result of each computation should be checked quickly and easily. Miners operate nodes that solve arbitrary mathematical puzzles and generate millions of hashes per second to find the winning hash via computing power. Each block contains the previous block’s hash, ensuring that the chain cannot be changed. The block is then broadcast to other nodes on the network, which must come to consensus.
As blockchain technology developed, Proof-of-Stake (PoS) was introduced as an alternative consensus mechanism. The main idea is that network participants operate nodes and stake their own resources in order to find hashes and discourage malicious activity. Nodes with larger stakes are more likely to find the next block, and once the block is found and created, it is broadcast to the entire network for consensus. We have a huge guide on different types of consensus mechanisms if you’re interested in learning more.
Functions of Nodes
Once a block of transactions is broadcast to the entire network of nodes to be added to the blockchain, the nodes either accept or reject it based on the validity of the transactions. When a new block is accepted by a node, it is saved and stored on top of the existing blocks. Nodes have three main functions:
- To determine whether a block of transactions is valid, and accept or reject it
- To save and store block data and thus, store blockchain transaction history
- To broadcast and transmit this stored data with other nodes that need to synchronize with the blockchain
Some nodes perform all of these functions, others only perform some. Let’s take a look at the different types of nodes and their functions.
Types of Blockchain Nodes
Full nodes are computers that store and synchronize a copy of a network’s entire blockchain history. They are indispensable to the network as their main task is to engage in the process of verifying transactions and blocks in accordance with the system’s consensus rules. They are also able to relay new transactions and blocks to other nodes and the blockchain, thereby performing every node function mentioned in the last section. Full nodes also vote on proposed changes to the network and participate in governance on PoS networks.
Full nodes can be either public, known as masternodes, or private. Public nodes are visible and accessible. Private nodes are not visible, and are usually operating behind a firewall or through hidden protocols like Tor, or they were not configured to listen for connections.
While all miners must operate full nodes, not all full nodes are miners. Miners must invest in specialized mining hardware and programs in order to mine blocks. They need to know the entire transaction history of the blockchain in order to create new blocks and verify them, creating the need for them to operate full nodes. The rules for consensus are determined and secured by the distributed network of nodes, and anyone is able to operate a fully validating node without being a miner.
Light Nodes/SPV clients
Light nodes or lightweight nodes do not act as a full node, they do not store a full copy of the blockchain. They only download blockheaders, which save users significant download time and storage space. Lightweight nodes are used for simple payment verification (SPV), which is the method through which a user can check whether some transactions were included in a block or not without having to download the entire block data. These nodes rely on data provided by full nodes in order to function.
A supernode, also known as a masternode or listening node, is a full node that is publicly visible. They validate and record transactions, and transmit that data to multiple nodes around the world. Any node that decides to establish a connection with it can be provided with information from it and communicate with it. Supernodes are typically available 24/7, have a lot more RAM than other nodes, and have several established connections. They generally require more computational power and a better internet connection in comparison to full nodes that are hidden. Running a supernode on a PoS network requires locking away you own funds in the form of the network’s native token, and therefore can earn users a share of the network’s rewards.
For networks that aren’t fully decentralized, such as Delegated Proof-of-Stake and Proof-of-Authority, authority nodes are used. Depending on the network, either the development team or the community via voting will decide how many authority nodes are needed and who will run them. Authority nodes function the same as full nodes on other networks.
Lighting nodes are inherent to the Bitcoin blockchain, and their main function is to establish a connection between users outside of the blockchain, which enables “off-chain transactions.” Lightning transactions reduce the load on the network and allow for much faster and cheaper transactions.
How to Set Up and Run a Node
Anyone can run a node for a network, and generally the more nodes a network has, the more decentralized and secure the network is. In order to set up a node you must:
- Choose the blockchain network you would like to join
- Depending on the network, decide if you would like to operate a full node, or light node. If you operate a light node, you will generally be part of a mining pool on PoW, or be a part of a staking pool on PoS. The administrator of the pool operates the full mining node.
- Start running the node
In order to run any kind of node, you will need the necessary hardware, which could be just a small computer. You can either host the node in the cloud via services like Google Cloud or Amazon Web Services, or run the node on your local device. The downside to running a node on a local device is that it requires a lot of hard disk space and RAM.
Without nodes, the blockchain network simply wouldn’t exist. They are an integral part of the ecosystem, and understanding their functions is essential to understanding how the blockchain works and becoming more knowledgeable about the network you’re using. Nodes ensure that the rules of the network are being followed and protect the blockchain against attacks and fraudulent activity. A node that commits any malicious activity is quickly recognized by the rest of the nodes and disconnected from the network. Healthy, honest nodes are the basis of the peer-to-peer network and allows users to trust a blockchain without any central authority.