Everywhere on the Internet or in courses delivered by experts, Blockchain is referred to as a shared immutable ledger. But have you ever wondered who exactly shares this ledger? Who maintains the decentralized ecosystem of a Blockchain? Apart from the commonly known concepts like cryptography, consensus, hashing algorithms, and a distributed ledger, one of the most integral parts of a Blockchain ecosystem is nodes.
Before getting into the concept of Blockchain nodes, let us first understand the need for understanding what nodes are. Imagine that you are a soccer fan. You know about the rules of soccer, you have some favorite players and you have a favorite team. You are always excited to watch a soccer match of your favorite team and enjoy watching them perform. However, have you ever wondered, what if there was no playground? If there was no place for the players to play, how would you enjoy it?
In this example, the players can be thought of as different Blockchain platforms, the teams refer to different types of Blockchains such as public, private or hybrid, and the playground refers to Blockchain nodes. At a very high level, Blockchain nodes allow the Blockchain to execute.
Let’s take a deep dive into Blockchain nodes, their purpose, need, and application.
Enroll Now: Enterprise Blockchains Fundamentals Course
What Is the Purpose of Blockchain Nodes?
The main purpose behind having a Blockchain application is to ensure the integrity of data and provide credibility to the network. These properties are maintained by sharing the same ledger amongst different systems, distributed globally.
The concept of Blockchain states that every block that contains data is connected cryptographically to the next block. If you change or modify any block, all the subsequent blocks have to be changed as their value or their hash depends on the previous block.
However, if this cryptographic chain of blocks was present at a single location, any hacker could change the value of all the blocks. In order to sustain the integrity of data, the Blockchain is a distributed network that shares the same copy of ledger or data among multiple systems.
This is the reason why every Blockchain network requires globally distributed systems to be truly decentralized.
If the ledger of any one system is changed, the ledger on the other systems acts as proof of the integrity of data. Therefore, the availability of these systems or Blockchain nodes is what allows it to be distributed and trustworthy. Without nodes, Blockchain is just a database secured with cryptographic hashing!
Regardless of the Blockchain being public or private blockchain, a globally distributed network is essential for the perseverance of the data, achieved by saving the transactional record on the Blockchain nodes. The immutable record on nodes is the reason behind the unquestionable auditability of data or transaction records on Blockchain.
Moreover, having different Blockchain nodes across the global network allows the network to be resilient towards any centralized attacks or even from any natural calamities.
Even if a whole nation gets destroyed due to any reason, all it needs is one Blockchain node to provide the Blockchain ledger to the network.
What Are Nodes?
Depending upon the purpose served, the definition of nodes varies from application to application. In context to a Blockchain network, nodes are the electronic devices connected to the network and possessing an IP address. Generally, nodes are the communication endpoints which means that any user or application that wants to interact with the Blockchain does so through nodes. Therefore, nodes are also a point of communication redistribution.
It is a common misconception that all nodes are thought to provide the same functionality or even all the users interacting with the Blockchain are often considered to be a node.
There are two things to be considered here. One, every device connected to the Blockchain network is not necessarily a node. Two, every node on the Blockchain network does not carry out the same functionality.
Nodes are classified based on distinct roles played inside the Blockchain ecosystem. While generally, a node is responsible for maintaining the transaction record of the Blockchain, there are other nodes that are not required to keep this record.
The different roles played by nodes in a Blockchain network are defined by the requirements of that particular Blockchain network.
For instance, the Corda Blockchain has two types of nodes, one for the client and one for the digital notary that validates the transactions.
Another prominent example is the Hyperledger Fabric Blockchain Network that requires multiple roles to provide a modular architecture. This includes a node for a Membership Service Provider, Users, Endorsers, Anchors, and more such entities.
The purpose of defining different roles is to allow the Blockchain to operate in a seamless fashion as every node is responsible for completing a defined number of tasks.
What Does a Blockchain Node Do?
Depending upon the Blockchain, there can be innumerable roles based on certain tasks but the basic functions of a node come down to:
- Accepting or rejecting transactions
- Managing the transactions and their validity
- Storing the cryptographically linked blocks
- Acting as a point of communication.
Let us take a deep dive into the common tasks that a node is usually responsible to complete:
Processing A Transaction
Any transaction done on the Blockchain is sent to nodes of that Blockchain network. Based on their roles, some nodes take part in the consensus algorithm of the network to validate the transaction and some nodes are just responsible for keeping the record.
In this scenario, the node receives a transaction, accepts or rejects the transaction, records the data, and sends the data back to the peers. Sometimes, the node is required to share this data with other nodes to maintain the synchronization. This is how blockchain records transactions.
Nodes are not only responsible for maintaining the Blockchain but also to support its growth. Every new block of data which has to be added to the Blockchain is basically added to the node’s storage. Nodes add blocks to the Blockchain and then sync up to maintain a single copy of the ledger. The process of block creation and transaction validation, however, is done through the consensus algorithm.
Nodes ensure that users have unabated access to the Blockchain ledger. If you have been to any Blockchain explorer such as Etherescan to view various transactions happening over the Ethereum network or to get details of a transaction based on its transaction id, you are actually interacting with a node. The block explorer is just an interface that connects with a node and fetches data from the node.
Therefore, nodes are responsible for providing access to the data that has been stored on the Blockchain. However, this is based on the assumption that the node is actually storing the data because as mentioned earlier in this article, there are different types of nodes in Blockchain.
Curious about how blockchain nodes operate and record the transactions? Here’s a guide to how does blockchain work, which will answer all of your questions.
Types of Nodes in Blockchain
Blockchain node types depend upon the requirements of a Blockchain. However, there are two prominent types of nodes in Blockchain:
1. Full Nodes
When we search for any random thing on google, the search results come from the nearest server that maintains all that information. In a similar sense, full nodes maintain all the transaction records in the Blockchain and are considered as the servers of Blockchain.
Furthermore, the full nodes are a part of the Blockchain’s governing model. While there can be different governance models, usually a Blockchain undergoes any upgrades or improvements only after a majority of full nodes agree to it. Therefore, the full nodes have voting power in the Blockchain.
It is important to understand that there are certain situations where a large number of full nodes agree to certain modifications in the Blockchain but they still do not make a majority. For instance, 55% of nodes may agree to a certain modification while 45% of nodes do not. In such cases, there is a possibility of a hard cryptocurrency fork which means that the Blockchain is split into two. The old Blockchain will work as it did and the new Blockchain will work with the proposed changes by the 55% full nodes.
Full nodes are further categorized as:
i) Pruned Full Nodes
These nodes have a defined memory limit to hold the data. In essence, there is no limit to how many blocks can be added to the Blockchain but there is a limit to how many blocks can be stored by a full node.
Pruned full nodes download the blocks to maintain the Blockchain ledger. When it reaches a particular limit, it deletes the oldest blocks to make room for the new blocks to preserve blockchain size. However, the old blocks are not entirely deleted as their essential metadata and sequence in the Blockchain are still present in order to maintain the basic principles of Blockchain.
ii) Archival Full Nodes
These are the most commonly found full nodes in a Blockchain. They maintain the full Blockchain in their database. The only major difference between an archival full node and a pruned full node is the available memory space.
Archival nodes are further divided into the following categories:
In a public Blockchain, anyone can join the network and become a node by synchronizing their system with the Blockchain data. However, there are many cases where access to data needs to be maintained. In such a case, the Blockchain needs to be governed by certain authorized entities.
This is where authority nodes are used. The name for these nodes comes from the fact that they are in control or responsible for authorizing other nodes to join the Blockchain network.
In some Blockchain platforms, authority nodes can even be responsible for defining other nodes’ access to a particular data channel. For instance, the doorman service in Corda or the Membership Service Provider in Hyperledger Fabric will maintain digital identity for every node.
For some consensus algorithms such as the Proof-of-Work, some nodes are required to solve complex mathematical functions to validate a transaction on the network. Such validation tasks require significant computational power and energy consumption. Therefore, the nodes created to specifically carry out the process of mining are called miner nodes.
Want to know more about blockchain nodes? Enroll in our blockchain courses and learn about blockchain ecosystem, architecture and working principles.
Masternodes are full nodes that do not possess the power to add new blocks to the Blockchain but only maintain the Blockchain ledger and validate the transactions.
Just as miner nodes, there are other nodes responsible for validating a transaction on the network to maintain the consensus algorithm. In one of the most prominent algorithms, Proof-of-Stake, these nodes are required to stake their money, validate the transaction, and then get rewarded for the process.
In staking, the node is selected according to some pre-defined rules such as coinage or time spent on the network. The selected node is then allowed to validate a transaction and earn an incentive. These nodes do not require high computation power and are called staking nodes.
2. Light Nodes
Remember the google search example in the full nodes? The server in your local area does not keep all the information. This server keeps just the relevant information based on recent activities so that you can get faster access to data. However, if you search for something new, this server has to fetch data from the main server.
This is what a light node does.
A light node stores and provides just the necessary data to accommodate daily activities or faster transactions. They are not involved in validating the blocks and just stores the Block headers. These are also called Simplified Payment Verification nodes (SPV nodes).
These were the most prominent types of nodes in Blockchain that you should know about. However, there are some other Blockchain node types that need to be mentioned:
Specific to some Blockchains, super nodes are created to carry out some special tasks. For instance, implementing a blockchain protocol change or maintaining the Blockchain rules is done by a super node.
Congestion in a Blockchain network is a common situation that leads to delayed transactions. This is what led to the creation of lightning nodes. These nodes create a separate network with a user and the transactions are pushed to the main Blockchain. This allows the transactions to be instantaneous and also reduces the cost of transactions as the load on the network is reduced.
The role played by nodes in a Blockchain network is similar to the role played by servers on the Internet. Whether you are a student, a developer, solutions architect, researcher, consultant, business owner, or anyone related to the Blockchain world, understanding the concept of nodes is a must.
For instance, a business owner needs to understand Blockchain nodes because the cost and infrastructure for creating a Blockchain application depend heavily on the node requirement. For blockchain architects, understanding Blockchain nodes allows them to create the optimized solution by leveraging factors such as node availability, node’s computational power, and more.
In a nutshell, every Blockchain application depends upon the Blockchain nodes as much as they depend on consensus algorithms or cryptographic techniques.