Decentralized organizations and structures are the new hope of humanity for a better future. Why do people believe that Web3 can handle challenges that the Web2 era failed? There are multiple reasons for that. People admire decentralized solutions for disrupting the old order of vertical structures, eliminating unnecessary intermediaries, and empowering each participant in their equal part of Something Bigger.
To become a part of a decentralized world, you can walk many ways: just use the 3rd party existing infrastructures to trade digital assets, connect to the decentralized networks to get use of their data, or build a whole new business on the blockchain. Regardless of your goals, you need to know everything about the theoretical basis of a blockchain network. We’re here to help you with it as blockchain node DevOps engineers. So, let’s jump right into it!
What makes blockchain a decentralized technology is its irreplaceable components—nodes—and the way they function and interact within the network. Node infrastructure is a way of organizing connections to run a decentralized network. But before we dive deeper into the layers of abstraction, let’s get to the nuclear component of the blockchain.
It is a hardware disk space, commonly a physical server or a cloud resource, wrapped in software. Simplified, it has two main parts: a memory that contains the whole story of the blockchain it belongs to, and a consensus mechanism—an algorithm the node uses to validate the transactions. This is how blockchain grows and updates with new information.
Memory |
Consensus Mechanism |
Blockchain data:
|
Proof of Work (PoW) Proof of Stake (PoS) Delegated Proof of Stake (DPoS) Proof of Authority (PoA) Byzantine Fault Tolerance (BFT) Proof-of-Elapsed-Time (PoET) Proof of Capacity (PoC) Proof of Burn (PoB) |
The combination of these two parameters creates different types of nodes. The blockchain memory contains a ledger of verified transactions. Each node has a synchronized copy of this ledger.
And it’s a core feature that blooms with many of the strong sides of blockchain.
They are the knots of the blockchain network: storing info, interconnecting, providing additional features, and generating events like transaction verification. These decentralized “cells” make the network alive. Until at least one node is on, the whole network is viable and the data is secured. And as there’s no problem with getting public access to the node—the log of the whole infrastructure is transparently on the plate.
Decentralization
Security
Transparency
As you may guessed, the blockchain node infrastructure contains various types of nodes. Depending on their purpose and memory volumes, we can have a few classifications and a bunch of types:
Classification |
Type of node |
Description |
By functionality |
Full |
Stores the entire blockchain history, validates transactions, and participates in consensus. |
Light |
Light nodes store only the latest block headers and rely on full nodes for historical data. Less resource intensive but less secure. |
|
Authority |
Pre-selected, trusted node in a permissioned blockchain responsible for transaction validation. Faster transaction speeds but less decentralized. |
|
Archive |
Stores historical data but doesn't participate in consensus. Useful for historical analysis. |
|
Sentry |
Monitors the network for malicious activity and relays information to full nodes. |
|
By permission |
Public |
Anyone can join and participate in the network. |
Permissioned |
Requires permission to join and participate in the network. Used in private blockchains. |
|
By network role |
Miner |
Validates transactions and adds new blocks to the chain (PoW only). |
Validator |
Validates transactions and adds new blocks to the chain (PoS and other). |
|
Relay |
Forwards transactions between nodes. |
|
By implementation |
SPV |
A lightweight node that verifies only transactions relevant to itself. |
Master Nodes |
Provide additional functionalities like instant transactions and private transactions. |
New types of nodes constantly appear to serve different tasks of apps and projects running on blockchain. Another thing that influences the growth of node variety is that new blockchain networks develop daily.
It’s a perfect “LEGO” for playing with technologies where you can make any “block” for your future bigger creation.
But separate building blocks will be just a pile of materials if there is nothing to tie them together. The infrastructure has elements of blockchain node management, connections, and rules of how everything should act. Depending on the scale of blockchain implementation and blockchain node architecture—if it’s the whole network or a project with API integrations running on it—infrastructures might be extremely different. But here’s what they all have in common:
These non-sleeping scribers have lots of work to do. They are busy with transaction verification, then put verified data into new blocks and validate them using the cryptographic hash to seal them making it impossible to rewrite the data. Again, they participate in a consensus mechanism agreeing on the state of the blockchain by following complex procedures and rituals. Some of them just store data, ALL the data, petabytes of information. And others—care about relaying this information with maximum efficiency and speed. And all these tasks are related to the events INSIDE the network.
But no blockchain exists in a vacuum, so there are a bunch of external missions for nodes:
So quite a bit additional junctions and connections can cause delays or data leaks. Their caregivers have to invent ways of improving node infrastructure to make it flawless. The main pain relievers that are in the spotlight for today are:
These tools help to fit the right space volume for the demand of traffic and avoid the delays caused by the overflow. Example, PredictKube.
Decentralized structures need to be protected with the implementation of the best practices of 100% availability and reliability. Example, JSON RPC Caching Proxy.
These tools are dedicated to simplifying access to the vast fields of blockchain data and utilizing it for various purposes. Like Blockchain ETL.
Of course, it’s just the tip of the iceberg and there are multiple spheres where blockchain gets everyday improvements.
The whole process you’ll go through will generally look like this:
Choose a blockchain → Pick a node type → Check requirements and docs → Download software → Configure → Run → Sync → Congrats, you’ve got the node!
In practice, everything is not that even because of the disturbing variability of blockchains and dedicated software.
Let’s take a look at a simplified example (Solana validator node) to go through this on a more practical side as an engineer would do that.
1. Choose your software:
Solana utilizes the solana-validator for running validator nodes.
2. Download and install:
Head over to the Solana Labs documentation for instructions on building or acquiring solana-validator. Installation typically involves using tools like cargo to build the software from the source.
3. Configure:
Solana validator nodes require a more complex configuration process compared to Bitcoin Core. Here's a breakdown of some key conceptual settings (actual configuration involves command-line arguments):
4. Run:
Here's an illustrative code snippet showcasing a basic solana-validator command with some placeholders:
Here's an illustrative code snippet showcasing a basic solana-validator command with some placeholders:
Bash
solana-validator \
--identity /path/to/your/validator-keypair.json \
--ledger /path/to/ledger-storage \
--rpc-port 8899 \
--entrypoint <cluster_entrypoint_address> \
--voting-disabled # Disable voting for a validator node (optional)
5. Participation:
Once launched, your Solana validator node will participate in the network by:
If you’re as excited about Solana as we are, be sure to check out our thread on Solana transaction optimization. We’re writing about this promising blockchain a lot.
Well, the node can’t be launched on your smartphone, YET! But you can launch some tools like mobile wallets, blockchain explorers, and mobile dApps that give you access to the needed functions without running a node on your device.
Another way to get your hands on the node using only your internet connection from a smartphone is to search for reliable providers that will prepare it for you.
We know how to make blockchain work for you and don’t allow your infrastructure to go out of control. Our engineers are always ready to help.
As for our good tradition, we invite you to visit our cases page, where you can apply your new blockchain theory knowledge to decipher our experience.
If you’re looking for mentorship in blockchain, you may find someone who can help in our Web3 chatting lounge or just drop us a line directly.
As always, thank you for reading 🙂