Web3 Infrastructure on Ethereum: Nodes & Clients

The fundamental elements of blockchain infrastructure

Ernesto Ojeda
Neftify
4 min readOct 11, 2022

--

Hundreds of billions of devices today are registered ‘online’ operating on an abstract global information network called the Internet. These devices represent thousands of different form factors of computers, including smartphones, tablets, laptops, desktops, point-of-sales, etc.

Powering the Internet is an arrangement of protocol layers stacked accordingly to ensure that all communication between devices happens smoothly, with application programs (like Facebook and Instagram) at the highest level and network hardware protocols such as WiFi and Ethernet at the lowest level.

This low-level layer also includes the physical network that connects the Internet’s infrastructure-bound service providers to its end users — content delivery networks, cloud compute, internet service providers, etc.

And just as the Internet is a layer cake of protocols with underlying physical infrastructure, so are blockchains.

At the lowest level of most, if not all, blockchains are computer devices that individually represent a fraction of their respective blockchain network and cumulatively represent the whole. These computer devices run software that enables them to access the services made available by a blockchain network, which can include lending money on a decentralized interest rate protocol, swapping tokens on a decentralized exchange, or buying an NFT on a marketplace. Understanding that nodes are just computers (PCs, Macs, phones, cloud servers, Raspberry Pis, etc.) running installations of a blockchain’s client software (think apps or programs) will be helpful from here on out.

This article explores the hardware-based systems needed to run applications on Ethereum, notably node and client infrastructure.

Nodes and Clients

Nodes are computers that run a blockchain’s client software and carry out tasks that serve the network. These tasks can vary from constantly executing mirror backups of a blockchain to keeping a record of the most recent state to validating transactions for payments to occur.

Depending on the chain, multiple language implementations of various client software carry out different network tasks.

Ethereum consists of two types of client software, of which there are multiple language implementations: execution (eth1) clients and consensus (eth2) clients. Geth is a notable example of an execution client written in Go, but Nethermind (C#) and Akula (Rust) work just as well. Likewise, Prysm is an example of a consensus client implemented in Go amongst a selection of consensus clients such as Lighthouse (Rust) and Teku (Java).

An Ethereum node can run one or both types of client software and is referred to by its configuration. For example, is a node running both execution and consensus clients? Is the node running a full or light version of the execution client software? And so on.

Depending on the selection, 3 types of nodes can be configured: full nodes, archival nodes, and light clients.

Full Nodes

Full nodes are defined by the fact that they run a version of Ethereum’s execution client software that stores the ledger’s state history and preserves all block data from the last 128 blocks. Beyond 128 blocks, a full node will store a “pruned” rendition of the chain that only contains block headers going all the way back to genesis.

When a full node runs execution and consensus client software, it is referred to as a “validator node.” The term stems from the consensus software running on the node responsible for validating blocks and replacing PoW by providing PoS consensus to the chain. To activate the consensus client software, at least 32 ETH must be “staked,” in a similar fashion to activating Microsoft Office with a valid user license.

Archival Nodes

Archival nodes inherit all of the capabilities of a full node, except that they run a version of Ethereum’s execution client software that stores the ledger’s complete state history and preserves all block data from genesis. Because they keep all data from day 0, archival nodes are handy for services like block explorers and on-chain analytics platforms. They also serve as backups for full nodes and light clients whenever they need to perform queries exceeding the last 128 blocks or whenever a light client needs information beyond block headers.

The amount of storage required to run an archival node is measured in terabytes, making them less attractive to run on consumer hardware and almost exclusively useful for enterprise operations.

Light Nodes

Light nodes, or light clients, exclusively run execution software in light sync mode. What this means is that instead of synchronizing all data from the chain dating back to genesis or the last 128 blocks, light nodes only synchronize header information of the last n blocks. These headers only summarize the contents of a block, sparing storage requirements and making it possible to run light clients on basic hardware such as a Raspberry Pi or a phone.

Any additional information required of the light node is obtained from a full node and the data received can then be independently verified against the state roots in the block headers. This is similar to how password hashing is used to verify the the integrity of a password, sent during login, against a stored hash.

Summary

All digital systems run on physical infrastructure and blockchains are no different. Proof-of-stake blockchains like Etheruem are dependent on networks of computers running specialized client software to power transactions and record state changes. In order to interface with Ethereum, users interact with a node that coordinates and maintains access to the network on the user’s behalf.

About Neftify

Neftify is building infrastructure for people and businesses to build custom financial interactions and payment experiences into their tech stack .

For more information , visit the website or check out the official Twitter. If you have any questions, send a DM, and a team member will answer shortly. Also, make sure to join our newsletter!

Website | Twitter | Instagram | Newsletter

--

--

Ernesto Ojeda
Neftify
Editor for

Industrial Engineer@UPRM | Co-founder@Neftify