What a cell is to an organism– the basic building block of blockchain
From Control to Participation
Once you start to delve into blockchain, you’ll quickly come across this term: Node. While utterly essential to the blockchain ecosystem, the concept of a node itself may be hard to pinpoint. So let’s get into it.
Nodes are the basic unit of a computer network. In other words, any device connected to this network can be called a node– whether it’s a computer, a printer or a smartphone! This extends to other devices making up the network including routers, hubs or servers, making it exceedingly tricky to define in one word.
Nodes play a role in organizing data within a network and delivering that data to other nodes or users. All decentralized applications (dApps) on a blockchain, such as MetaMask, need to access data from that blockchain in order to respond to user requests, i.e. querying token balances, sending transactions, or receiving block data. This can be easily done by receiving data from the nodes that make up the blockchain in question.
So if organizing and sharing data is the basic role of a node, when taking a high level look at the industry, we can notice there is a considerable difference in terms of agency in network participation. In a typical online business, a company operates a server and monopolizes data within the nodes, effectively controlling the network singlehandedly. In the new blockchain-based internet, popularly referred to as Web3, there is no centralized entity managing the servers. Instead, anyone in the world who joins the network becomes a node and can access data from all blocks making up the blockchain. This is what is meant by Web3’s decentralized and distributed nature.
So, what is a node?
Nodes make up the entirety of the blockchain network, allowing it to exist similar to how cells and neural networks power our bodies.
In simpler terms, we can say that every node is an independent computer that runs blockchain client* software. Interconnected across the network, these nodes work together to create blocks (data), verify transactions, and provide and store verified data.
*Client: A computer that receives information from a server connected to the network. In other words, a computer that is dependent on a host when two or more computers communicate with each other.
Think about all the cells making up the human body– red blood cells, skin cells, bone cells, muscle cells, stem cells. Each with a different name and different role to play. The reason it can be so hard to define nodes in one sentence is that roles vary depending on the blockchain network and context.
This article will examine the various types of nodes based on their client implementations, focusing on how they serve different purposes and provide different functions.
Let’s dive into it!
Classified by data availability
First, nodes can be classified into four main categories based on the number of blocks (data) they hold. This ultimately changes the range of functions they can perform within the network. The four types include Full Nodes, Archive Nodes, Pruned Nodes, and Light Nodes.
Full Node: the gateway to accessing all data
A full node stores all transactions that have been executed on the blockchain, recording all blockchain data from the very first block (commonly referred to as the ‘Genesis block’) up until the most recent block. This node type is characterized by the fact that it continuously synchronizes blockchain data to keep itself up to date.
Full nodes essentially act as a gateway for receiving the latest transactions from other nodes, or passing on the transactions received from users onto other nodes. Since a full node contains all of its own records, it is capable of verifying certain transactions without any assistance from other nodes.
However, this also means the disk space required to operate a full node is substantial. Downloading the entire dataset can also take a considerable amount of time.
Archive Node: preserving all past data
An archive node is an enhanced implementation of a full node that not only stores the same data as full nodes, but also retains all previous states of the blockchain. While a typical full node excludes states that existed before the most recent 128 blocks (in the case of Ethereum), an archive node preserves the state of all blocks. It’s therefore possible to query* past balance information via the History Methods*, or to view all blocks and re-run their entire transaction history.
Archive nodes are typically operated by entities with specific purposes that require querying arbitrary historical data. For example, they may need to request a token balance from a previous state, track the activity of a particular user, or re-run a transaction’s history.
However, operating archive nodes requires even higher technical expertise and operational costs than operating full nodes. For instance, running an Ethereum archive node currently requires storing over 14TB of data. And it’s critical to ensure that the synchronization state is always maintained properly to prevent data corruption (which takes a much longer time to recover from).
*Query: A request from a client (user) to the database for a specific piece of data.
*History Method: Used to acquire the historical record of all blocks including block headers, block bodies, uncle blocks and transaction receipts.
Pruned Node: setting the scope of data storage
When dealing with nodes built using the Cosmos SDK, you’ll often encounter the term “Pruned Node.” Pruned nodes, as the name suggests, refers to the pruning of data. Instead of preserving all blockchain data like full nodes, this type has the ability to selectively store the data it needs.
💻 When launching a Cosmos SDK-based node, configuration files named "app.toml" and "config.toml" are created in the "/config/" directory. Within the "app.toml" file, there are min-retain-blocks and pruning options, each of which determines how much block data and state data are pruned from the node.
Nodes with special pruning conditions, such as “keep only a few blocks, or a few state” are classified as pruned nodes. According to this criterion, pruned nodes with certain conditions can actually resemble full and archive nodes, as well as light nodes– which we’ll get to next.
*Cosmos SDK: A generalized framework that simplifies the process of building dApps on Cosmos.
Light Node: increasing network scalability
The requirement to maintain all this data in order to participate in a blockchain network can be a major constraint on network expansion or mass adoption. On the other hand, if all a node has to do is simply propagate data to the network and process user requests, its main role is to act as an intermediary.
This is exactly what light nodes do: they only contain certain data from blocks, namely the block headers*. This means they can propagate transactions but cannot validate them alone as validator nodes do, so they usually rely on full nodes for individual verification. Although this dependency on external data verification is disadvantageous, the low operating cost is a significant benefit.
💡 The concept of light nodes comes from Bitcoin. Back then, they were known as a Simplified Payment Verification (SPV) nodes or lightweight nodes, characterized by maintaining only a subset of the blockchain and verifying transactions via SPV.
*Block header: Each block consists of a block header and block body. The block header and block body compare information to check for any tampering. For example, the Bitcoin block header contains the hash values of the current and previous block, the version of Bitcoin that created the block, the Merkle root, timestamp, current mining difficulty, and nonce. The content stored in the header may vary depending on the network.
Classified by purpose
Nodes can also be categorized based on the reason for their existence on the network, i.e. what role they play. This category includes RPC Nodes, Validator Nodes, and Seed Nodes.
RPC Node: node-to-node communication
RPC nodes come up most often in services that provide Node API*. It generally refers to a full node that has the capability to respond to Remote Procedure Call (RPC) requests.
📞 Remote Procedure Calls (RPCs) serve as a form of communication that enables a program (client) to request a service from a program located on another computer (server) on a network. In other words, it's a software communication protocol that a program can use to request something from a program on another computer without having to understand the network's technical details. RPC allows processes on remote systems to be called in the same way as local processes.
For instance, a dApp usually needs to query or update blockchain data to provide its services. In this scenario, based on the RPC client-server model above, the dApp is a client and the server acts as an RPC node.
*Node API Service: A service that allows dApp developers to use the blockchain platform by accessing data directly, without having to operate a node themselves.
Validator Node: validating data and creating blocks
A validator node is a full node that possesses the ability to validate new transactions submitted to a specific chains’ mempool*. To accomplish this, it holds a private key that allows it so sign transactions, thereby marking them as valid. This service is rewarded every time a new block is created.
The term and concept of a validator node are primarily found in consensus algorithms based on Proof-of-Stake (PoS). In blockchains that utilize Proof-of-Work (PoW) — like Bitcoin — these nodes are typically referred to as “mining nodes.” You can learn more about mining nodes here.
*Mempool: A list of pending transactions that have been submitted to the network, but not yet confirmed and added to a block on the blockchain.
Seed Node: the network’s phone directory
A seed node, put simply, acts as a phonebook within a blockchain network. In order for a new node to join the network, it must connect to one of the seed nodes, which will provide it with a list of IP addresses of active nodes on the network. Once the new node receives this list, it is able to start synching with the network.
In this way, the seed node provides the resources to connect to the network but doesn’t have the configuration of a typical node. Its primarily role being IP tracking, all it needs to do is maintain constant connection. Although it is referred to as a node, it’s easier to conceptualize these as an address book that redirects nodes.
👩🏻💻 The term was first introduced on the Bitcoin network; within Ethereum-compatible chains, they're usually referred to as Bootnodes and perform the same function.
As we’ve seen above, nodes that perform various roles within the network can be classified into full, archive, or light based on the amount or type of data they contain. For example, a node that has all the data to fulfill its role of responding to RPC requests can be described as both an RPC node and full node.
Wrapping Up
Our bodies are made up of countless cells. Each cell performs a different function depending on its role, enabling us to move, feel, and think. Just like cells — which we cannot see, but allow us to exist — nodes are connected and constantly communicating with each other to keep blockchain running.
Today we live in a world where the boundaries between what is online and offline have become somewhat irrelevant. We take it for granted that we can send and receive messages, and view complex financial transactions with a single click– but we don’t often stop to wonder how this experience is possible.
When we talk about the next generation of industries built on blockchain, we can ask ourselves the same question. How on earth is something that is as natural to us as breathing supposed to be implemented on top of a blockchain?
The properties of a node are properties of the blockchain. Once you start learning about nodes, you can start to understand how the way we engage with the network is changing, and how blockchains are solving the problems of scalability and trust.
This was by no means an extensive foray into nodes, and in some ways, we’ve barely scratched the surface. That being said, we’ll continue to deliver materials to help onboard everyone who wishes to learn about the immense shifts occurring at the forefront of technology. We hope this introduction to nodes — the cells of a blockchain system — helped you get one step closer to understanding and envisioning the future of the internet.
About All That Node
All That Node, powered by DSRV, is a multi-chain node and data provider service that has supported numerous developers and companies since 2021. With DSRV’s expertise in Web3 infrastructure, developers can focus on their projects without the hassle of Dev/NodeOps, uptime, scaling, and other concerns. All That Node handles nearly 1 billion requests per month on over 25 networks worldwide.
Keep up to date with All That Node!
Written by
Owen Hwang, Product Manager, DSRV All That Node Team (Twitter @journeywith_eth)
Edited by
Domitille Colin, Brand Communications Manager (Twitter @domitille_marie)
Hyunjie Yu, Brand Marketer, DSRV Brand Marketing Team (Twitter @CathyYu220314)
Designed by
Heeyoung Moon, Brand Designer, DSRV Brand Marketing Team