Would you like to learn about blockchain but feel it is too complicated?
This article provides an essential overview of blockchain nodes. It describes what they are and how they work.
I wrote this article to be accessible to a wide audience. You might need patience to stay with the topic, but you don't need special skills to understand it.
Why are blockchain nodes relevant?
Web3 is a growing topic and is becoming more relevant year after year. While many connect it to meme coins, the technology is solid and resilient.
And, as you will see, blockchain nodes play a central role in how they work.
Blockchain is hard to grasp. For this reason, it is useful to understand its fundamentals well.
If you understand blockchain nodes well, you will better understand their advanced aspects.
Why should you listen to me?
I have been working with financial technologies for more than 15 years. I have worked on crypto projects and DAOs. I am also the founder of a Web3 data community.
There is a lot of content out there about blockchain nodes. It is often fragmented, confusing, and full of jargon. I have been researching it for weeks and broke it down to make it easy for you to understand.
What you will learn
By the end of this article, you will learn about the following:
- What is a blockchain node
- How do blockchain nodes work
- The types of blockchain nodes
Things I do NOT cover here:
- Advanced topics like consensus mechanisms and layer 2s
- Token price and meme coins
So, let's jump into it!
What is a blockchain node?
Device vs Client
A blockchain node is a computer program that participates in the blockchain network.
It needs a device to run on. The device can be anything, like a server, a laptop, a cloud instance, a mobile phone, a printer, or a Raspberry Pi.
This device then runs one or more clients, pieces of software that do the action.
To simplify, we will call a computer and the client it runs as a single entity, a 'node'.
These nodes are the building blocks of the blockchain.
To understand them, first, we need to discuss blockchains.
What is a blockchain?
It is not always clear what we mean by a 'blockchain'. To simplify, we use the following definition:
A blockchain is a cryptographically linked append-only distributed ledger. It verifies, orders, and records data via a consensus protocol.
This is a mouthful.
From a user point of view, the important thing is this:
- You can record a piece of data on the blockchain which it will store forever.
- If the chain also has a virtual machine, like Ethereum, you can execute smart contracts on it.
This is the core promise of a blockchain. While there are other uses, those rely on this core promise.
So, how do nodes help the blockchain to achieve it?
How do blockchain nodes work?
Nodes achieve the goals of the blockchain via the verification flow. It is the process by which nodes 'verify, order, and record data'.
Here are its phases and the role of nodes in them:
1. Transaction flow
Nodes verify and broadcast incoming transactions:
- The user signs a transaction and sends it to a node
- Node verifies the transaction
- Node broadcasts the transaction to the mempool
- Other nodes also validate the transaction
2. Block creation flow
Nodes propose blocks, select the winning one, and propagate it in the network:
- Validators/Miners select transactions from the mempool
- They create a candidate block
- The network picks the winning block based on the consensus mechanism.
- They broadcast the winning block to other nodes
3. Chain maintenance
Nodes verify new blocks and maintain the shared state of the chain:
- Other nodes receive and verify new blocks
- They append the block to their local chain
- The longest chain becomes the new reality
So, nodes need to fulfill these actions. But, different blockchains solve this in different ways, using different types of nodes.
Also, blockchains do many other things as there are more and more blockchain use cases. As it turns out they often set up special node types for these use cases.
Let's review them.
The types of blockchain nodes
It is hard to give a neat overview of node types. There are many types of nodes. And, different blockchains often use different terms for them.
Here we roughly grouped them into categories based on the function they fulfill.
Core functions
Nodes need to validate new transactions and maintain the transaction history.
The simplest case has one node type, the 'full node'. It keeps the full history of the blockchain and verifies new transactions.
This is rarely the case nowadays.
Scalability
A common issue with blockchains is that they are hard to scale. The following node types try to address this:
- Light node: keeps block headers and just-in-time proofs, and relies on full nodes
- Pruned node: keeps security and consensus guarantees but discards historical data
- Super-node: relays or aggregates traffic
- Lighting node: maintain off-chain payment channels
- Data availability nodes: maintains blockchain data for other nodes
Consensus
Consensus nodes take over the block creation and consensus creation work. Some blockchains (e.g. Ethereum) also have nodes, especially for validator management.
- Mining node: create blocks in a Proof-of-Work system
- Validator/staking nodes: create blocks in a Proof-of-Stake system
- BFT Consensus node: runs Byzantine Fault Tolerance rounds for block verification
- Authority node: signs blocks in a Proof-of-Authority system
- Master node: acts as a service & governance layer
- Super-node: acts as elected or designated validator in Delegated Proof-of-Stake systems
- Beacon nodes: manage validators
Virtual Machine
Blockchains with virtual machines often use specialized nodes to run smart contracts. These are 'Execution nodes'.
Data collection and serving
Blockchains are not optimized for data operations. They are append-only data structures with very inefficient querying capabilities. They also cannot verify data outside the chain. The following nodes try to address this:
- Archive node: keep the full history together with states for audit and analytics
- Indexer node: extracts and processes on-chain data to off-chain DBs
- Oracle node: feeds external data on-chain
Operations
The following nodes support the functioning of the blockchain in important ways:
- RPC nodes: allows applications to interact with the blockchain
- Bootnode or seed node: serves peer list for new nodes to access others
- Routing nodes: they support communication between nodes
Multi-chain and Layer 2
Some blockchains allow layer 2s or have built-in capabilities to address interoperability. They also do this with nodes:
- Collator nodes: builds blocks for parachains
- Watcher / Observer node: Monitors Layer 2 chains
Summary and further topics
We reviewed the essentials of blockchain nodes. As you can see, nodes play a central role in blockchains. Reviewing the nodes helps us to better understand blockchains and their differences.
If you want to learn more, here are some topics:
- Consensus mechanisms
- Working with blockchain node data
- Integrating blockchain nodes into your application
If you have questions about the topic, don't hesitate to reach out!