Running blockchain nodes: theory, features and expertise of the Avivi team
30 November 2023
next articleThe basis of any decentralized network is a node — a collection of hardware devices and software that stores a complete copy of the decentralized network and processes data. Ensuring the principle of decentralization is impossible without a large number of nodes, because if for some reason only one working node remained, it would already be not a network, but an ordinary centralized system based on the client-server principle.
However, a large number of nodes working in parallel and interacting with each other form a decentralized environment with a distributed database. Each blockchain has its own requirements for nodes and features of their operation, but the principle of basic nodes is practically the same for all of them. Nodas provide their owners with many advantages, but at the same time they cause a lot of trouble and expenses, so in order to profitably keep a nodе, you should have certain knowledge and be ready for different situations. However, the effort is worth the reward, so now we will tell you what it takes to be a successful nodеrunner.
The main functions of nodes and their varieties
Today, we will mostly talk about full nodes — independent and functional components of the network core, each of which performs everything necessary for the existence of the blockchain. The main functions of a complete node include:
-
Checking the formed blocks for their storage or rejection;
-
Saving transaction history;
-
Data relay to synchronize the network and preserve the integrity of the database;
-
Connecting to the blockchain.
The variety of functions assigned to a complete node determines its inherent technical characteristics. Despite the inflated expectations of newcomers, as of today we are not talking about any sky-high indicators and are quite accessible to many users. You can deploy a node both on a rented service and on a physical one, like any other server. For example, at the end of 2023, when we are writing this article, for nodе Ethereum criteria look like this:
Minimum characteristics: |
Recommended: |
4-8 GB of RAM 2 TB SSD |
Intel NUC 7 gen and above, Processor x86 Ping — 500 ms |
And for the TRON blockchain like this:
Minimum characteristics: |
Recommended: |
32 GB RAM 2.5 TB SSD |
CPU 16 cores Bandwidth: 100M |
It is worth noting that for full node synchronization Ethereum requires at least 1 TB of free disk space, and this amount steadily increases as the number of entries in the decentralized database grows. Also, SSDs should be used for nodes, which provide a higher speed of saving information than HDDs, which is extremely important at the block verification stage. But there is one nuance with the choice of disks, which we will talk about in the last section.
With the development of blockchains, it became clear that work may require not only complete nodes, but also specialized components that perform only certain tasks and therefore require other resources — more or less, respectively. This is how categories of nodes appeared, including:
-
Light nodes — store only partial data and do not check the block themselves;
-
Truncated full nodes - store only part of the transaction information, for example the last 20 GB and are needed for compromise decisions;
-
Mining nodes — process transactions and form blocks in networks with the Proof consensus algorithm of work;
-
Staking nodes — perform the same, but for networks with the Proof algorithm of Stake;
-
Authority nodes are an analogue of validators in networks with the concept of PoA, where you just need to purchase equipment, and you also need to get reputation approval, for example, BSC and others.
What are the advantages of own node?
If the owner of a node is not proud enough to be involved in maintaining the functionality of the entire decentralized network, we have a number of more tangible advantages. Deploying your own full node gives the owner:
-
Direct access to the network. No more third-party vendors and paying their commissions. You can also connect all the necessary crypto wallets at once and avoid failures and overloads that occur in public nodes;
-
Increasing privacy. Now IP addresses and data about endpoints are stored only on your node, which means they will not become known to third parties;
-
Secure storage of private keys. Extremely useful in the case of custodial wallets, the private keys of which are stored purely on the hardware of your node;
-
A testing ground.
is an advantage for developers. Own node allows you to isolate the virtual machine from the main blockchain and test smart contracts and dApps as you like.
We have listed the absolute benefits that the node owner receives even without additional actions. For the rest of the possible benefits, you should make some effort and inevitably face risks. However, the advantages acquired in this way can become not just a pleasant bonus, but also the main source of income. The most obvious type is the provision of one's own infrastructure to others on a lease basis. Here, each owner independently regulates the rules and the cost to tenants, which can be all users without nodes.
An easy and quick way to earn can be a reward from the project. Network creators generously incentivize node operators, especially in the testnet and early mainnet stages, for rapid network development. But this is relevant for new blockchains and is limited in time - after the stabilization of the project, rewards will not be given.
Another way to earn money is through transaction processing fees. For miners and stakers, this process is different, because for the former, the power of the equipment is important, and for the latter, the size of the stake. However, in both cases, the right to processing is achieved by contributing to the development of the node's own capital. So we conclude that the more funds to invest in any node, the greater the chances of obtaining further profit.
Finally, for individual decentralized networks, the possibility of obtaining delegation is relevant — the node operator receives other users' assets in exchange for a part of the profit from transaction processing. Interest rates are different everywhere, but as an income option, this is also permissible.
Difficulties and potential dangers
So why is launching and maintaining your own node considered a complex and costly process that should be left to professionals? It all starts with preparation for deployment, where numerous factors and nuances must be taken into account. In most cases, nodеrunners choose a rented service as a platform, because under such conditions, a large part of the labor-intensive work is taken over by the provider. However, even here it is worth turning to well-known cloud services, such as AWS or Azure, but to specialized ones that pay more attention to high-quality hardware. After all, at the first stages, the speed indicator of PZP disks is critically important. The YABS benchmark is considered sufficient.
For installation and debugging nodes require the ability to administer UNIX-like systems and use the command line. But even this, in combination with the instructions from the creators of networks based on blockchain technology, does not guarantee instant success: most of the available guides are incomplete and compiled incorrectly, and both critical and unknown errors occur during the installation process. The presence in communities of nodеrunners partially reduces the pain, but in addition to answering the question "where to look?" it is necessary to understand "what to look for?", and it is already much more difficult. For example, the TRON node installation guide looks like this:
After the installation of the node, sometime is required to monitor the operation and synchronize the database. However, from now on, efforts should be made to protect it from the many attackers who will certainly try to harm your business. As with other Linux systems, there are three main dangers:●
-
DDoS;
-
Brute force;
-
Social engineering.
Sending numerous requests to a node in order to overload it is quite expensive, but possible. Since nodes must be constantly online and seamlessly synchronized with each other, their failure threatens the integrity of the entire blockchain. If the node is disabled, the validator may receive a fine, but worse — lose reputation, which is necessarily associated with losses. Countering DDoS attacks is possible with the use of firewalls or sentry networks, in which nodes synchronize with each other without revealing their own address at all.
The purpose of brute force is to gain control over a node by selecting a login and password, as for any other server. The method is primitive and slow, but it cannot be excluded from the list of dangers. Finally, the last attack vector is aimed not so much at the software-hardware component as at the node operator itself. Attackers trick a person into installing third-party software to improve performance or under any other pretext. In this case, trusting operators give up control over the node almost voluntarily. That is why only proven and authoritative partners should be trusted in matters of nodегunning.
Running in the testnet
A trial deployment of a node is not just a training exercise, but also a useful process for gaining acceptance. Test nodes are necessary not only for operators and individual developers, but also for new projects that study the behavior of their creation and make adjustments. Therefore, cooperation with a long-term and perspective project often turns into the launch of a full-fledged node in the mainnet, already configured specifically for the necessary tasks. Also, active participation in the testnet gives the node operator a good reputation, which will certainly work in his favor in the future.
The advantages of working in the testnet include:
-
No initial stake to run validator. If for boredom the mainnet needs assets, then test tokens that have no real value will also be suitable in the testnet;
- Lower requirements for work standards. The operator is not strictly responsible for errors or failures, unlike the mainnet, where it is necessary to maintain operational efficiency 24/7. However, even under such conditions, you should not relax - frequent problems cause a decrease in the reputation of the node and the node runner;
- Renewal. At the time of testing, this is a normal phenomenon, which cannot be said about a real node. In a certain sense, at this time it will be even more difficult for the operator to work and correct a lot of errors. However, this is an invaluable experience that will make working in the mainnet more peaceful.
Aviv's hands-on experience in node deployment
Avivi has been working with blockchain technologies for a long time and has implemented many complex projects, including the deployment of various nodes. For the most part, this process has common features, but there are also peculiarities, which we will gladly tell you about. In general, we dealt with Tron, Bitcoin, Litecoin, Binance networks Smart Chain and Ethereum. Let's dwell on the last node in detail, since Ethereum itself is one of the most functional decentralized networks and mostly sets the pace of development of other systems in terms of the level of implemented capabilities.
To deploy the test node, we used a physical server, not a server rented in the cloud. This became necessary for rapid capacity scaling and increased security. In addition to the appropriate "iron", we ensured uninterrupted power supply, uninterrupted access to a non-volatile and high-speed Internet provider. In short, we have created the most favorable conditions for deploying a test node Ethereum with the prospect of turning it into a full node.
Our server uses both types of hard drives: SSD and HDD. Earlier in the article, we mentioned SSD as an important condition for increasing the calculation speed in the pool. However, this type of hardware has a significant drawback, namely the difficulty of data recovery in the event of damage or failure. It is practically zero. HDDs have a fundamentally different design with the use of mechanical parts and are capable of restoring information even in case of critical malfunctions. When it comes to maintaining your own nod, this issue cannot be ignored, so we advise all nod runners to heed our advice.
node files takes from 10 to 20 hours: this is a really long process, regardless of the capabilities of your "iron", because it is affected by many extraneous factors. But do not worry: this is a one-time process that does not require special operator intervention. In the future, the database will only be updated and synchronized with other nodes of the decentralized network, which does not take much time. Recall that it takes 13 seconds to build a block in Ethereum.
It is quite possible that soon the requirements for the deployment of nodes of decentralized networks will change significantly, because technologies are improved and updated almost every day. However, the benefits of using your own node will remain relevant for many years to come. So if you have a desire, or even better a need, to have your own node, Avivi specialists are ready to help you join the community noderunners and develop their own projects based on blockchain technology.
We will reach out to within 10 minutes