What is the importance of an Ethereum node within the blockchain, and how does it interact with others?
Ethereum is actually not a cryptocurrency, but a decentralized P2P network based on a public and open-source computer protocol.
Its native cryptocurrency is Ether (ETH), although it is often called by the name of the entire network, which is Ethereum.
P2P networks, or peer-to-peer networks, consist of peer nodes that communicate with each other through the Internet. Thus, it is the nodes that are the fundamental constituents of these networks.
Therefore, the fundamental constituents of Ethereum are its nodes, which form the P2P network, and obviously the protocol on which they are based.
In order to be part of the Ethereum P2P network, and to interact with other nodes, an Ethereum node must adhere to its basic protocol to the letter, which of course must be absolutely identical for all nodes, or it will be excluded from the network itself.
The operation of an Ethereum node
Ethereum nodes are computers, or servers, connected to the Internet and on which special software runs.
This software in the jargon is called a network client, and it is absolutely essential for running a node. It is precisely this software that connects with the other nodes in the P2P network, and that must comply to the letter with the Ethereum protocol.
The curious thing is that since the protocol is public and open source, anyone can make a network client to run a node on the Ethereum network.
The important thing is that the client complies with all the rules of the protocol, because if it does not, it will not be compatible with the other nodes, ending up being excluded a priori from the network itself.
Currently, there are only 4 clients that are most in use, because although there are many, most are used very little.
However, a distinction must be made between Consensus Clients and Execution Clients.
Execution Clients are the nodes of the so-called “Execution Layer” (EL) of Ethereum, i.e., those derived from the former Proof-of-Work (PoW)-based protocol.
By far the most widely used execution client is the historic Geth, which has existed for a long time and is the undisputed leader of the network based on the old protocol. This is followed, but with far lower percentages, by Erigon, Nethermind, and Besu.
Since the Ethereum protocol switched to Proof-of-Stake (PoS) with the 15 September Merge, the so-called “Consensus Layer” (CL) has been added, with different clients.
In the case of CL clients, there is more diversity, with Prysm at 42%, Lighthouse at 36% and Teku at 18%. This is followed by Nimbus with only 3%.
All of these software are open source, freely and freely downloadable by all.
What network nodes do
Over time, the function of nodes has evolved.
Initially, they did everything, that is, the only existing software on the Ethereum network were the nodes.
In other words:
- they secured and controlled the blockchain
- they mined the blocks with the PoW
- they verified the compliance of all blocks and transactions with the protocol
- they executed smart contracts
- they acted as wallets by enabling the sending and receiving of tokens.
However, over time they lost some functionality.
In particular, they lost the functionality to mine blocks, because more streamlined and faster software was required to do this successfully. Thus, ad hoc software was developed for mining.
Theoretically, they can still be used as wallets, but they are very inconvenient. In fact, by now almost all wallets widely in use are not nodes.
The fact is that a node has to secure and verify the blockchain, which is a nearly 350 GB file where all the transactions on Ethereum in history have been recorded, which a node has to check one by one.
So over time, nodes have ended up doing mainly two things: on the one hand, they guard and verify the blockchain, or transaction ledger, and on the other hand, they execute the instructions contained in smart contracts.
The shift to PoS
The Merge, with the move to PoS, has changed things.
In fact, the abandonment of PoW eliminated the need to mine blocks, so Ethereum miners simply disappeared, or moved to other blockchains still based on PoW.
But by the time it was no longer the miners who were creating the blocks with transactions to add to the blockchain, other software had to be created to validate the blocks.
Such software are the new Consensus Layer clients, namely specifically Prysm, Lighthouse, Teku and Nimbus.
These CL nodes validate blocks now that the miners no longer do.
However, PoS is based on staking, so CL nodes also hold ETH tokens put in staking.
The Consensus Layer is based on a new blockchain, called the Beacon Chain and based on PoS, on which ETH tokens can be staked on the relevant nodes so that PoS can be done. The old Execution Layer uses the old PoW-based blockchain, but with no more new blocks added, since transactions are now recorded only on the new Beacon Chain.
Setting up an Ethereum node
The operation of a node is relatively simple. In fact, once installed, the client simply needs to be left working connected to the Internet.
However, the installation is not a trivial matter.
First, when the client is installed, it must download the entire blockchain and verify it all, transaction by transaction. This process turns out to be particularly lengthy.
Also, once it is installed it has to be configured so that it can connect to other nodes, otherwise it turns out to be effectively excluded from the P2P network.
The latter is a technical process that requires a minimum of expertise. Thus, it is not suitable for those who are only taking their first steps in this area, not least because it requires IT and systems skills.
It is even more complicated in the case of a CL node, because since it has to guard at least 32 ETH in staking it makes the security issue even more relevant.
The security of a node is crucial to allow it to function properly, because it has a built-in wallet and in the case of CL nodes it holds ETH in staking.
The only major problem in the event of a breach is the possible theft of funds, because even if it were attacked or cracked the entire network would not be affected.
Since they may be subject to theft of funds, a high level of protection of the machines and networks on which it runs is essential.
A somewhat more complicated issue is that of P2P network security.
Since this relies on its own nodes, should many of them be breached, the network itself could have problems. The possible violation of a single node, or a limited number of nodes, does not create major problems for the network, but if many are violated the problems could also be very serious.
This is why it would be necessary for multiple clients to be used at all times, because in the event that one has a bug or vulnerability, it is difficult for the other clients to have them as well.
As far as the Execution Layer is concerned, Geth is now so well-proven that it seems unlikely to have any serious problems. Even so, it is still useful that there are also other clients to use in the hypothetical case of a problem in Geth.
In contrast, in the case of the clients for the Consensus Layer, the matter is different, since they have actually been in one for only a few months.