What are nodes?

What are nodes?

Nodes are computers that run software that can verify blocks and transaction data. Since blockchain is a network of nodes, where each computer runs the software to maintain the state of the Ethereum network.

On the technical side, a node is any instance of Ethereum client software that is connected to other computers also running Ethereum software, forming a network.

Is the Ethereum client software the same as the EVM(Ethereum Virtual Machine)?

No, they are two completely different pieces of software, each having different functionality.

Ethereum Client :

  • Ethereum client is a program that enables nodes to participate in the Ethereum network.
  • They implement the Ethereum protocol that defines the rules and specifications that nodes in the network must follow to achieve consensus and maintain a consistent state.
  • They participate in the consensus mechanism which is used to agree on the state of blockchain.
  • It allows users to send, receive, and process transactions on the Ethereum blockchain.
  • Examples of Ethereum clients include Geth, Parity, Nethermind, and Besu.

Ethereum Virtual Machine (EVM):

  • The EVM is a runtime environment that executes smart contracts on the Ethereum blockchain.
  • It is a virtual machine designed to be run by all Ethereum nodes, allowing them to execute the same code and produce the same results.
  • Smart contracts written in high-level languages like Solidity are compiled into bytecode that can be executed by the EVM.


A node to run has 2 clients:

  1. Execution client:Also known as the Execution Engine, EL client, or formerly the Eth1 client.Its job is to listen to the broadcasted transactions on the network and execute them in the EVM. It also stores the latest state and database of all current Ethereum data.
  2. Consensus client:Also known as the Beacon Node, CL client, or formerly the Eth2 client.Its job is to implement the proof of stake consensus mechanism, enabling the network to achieve an agreement on the state of blockchain based on validated data from the execution client.Another piece of software called Validators, can be added to the Beacon Node, which allows the node to participate in securing the network.

A simple diagram describing high-level architecture of an Ethereum client.
High level overview of an Ethereum client.

Remember, a client is just a piece of software, so this software can be written in different programming languages by different companies. This helps in reducing the network's dependency on a single codebase, eliminating the single point of failure. At the end of the day, this software has to follow a single specification that dictates how the Ethereum network functions and blockchain works.


Can we run both clients on the same computer?

Yes, both the clients can be run on the same computer. 

For a computer to be called a node, it needs to run only 1 of these clients. Based on what type of clients a node is running, they can be categorized into different types of nodes. Each type of node consumes data differently. 

They also synchronize at different speeds which refers to how quickly a particular node can be up-to-date with the state of the Ethereum network.


Types of Nodes

1. Full Nodes

These types of nodes do a block-by-block validation of the blockchain by downloading and verifying the block body and state data for each block.

They run both execution clients and consensus clients.

Some full nodes start from the genesis block and verify every single block in the history of the blockchain, while other full nodes start their verification from a more recent block that they trust to be valid. Either way, for a node to be qualified as a full node, it needs to store the most recent 128 block's data. 

Older blocks of data can be deleted to save disk space and this can also be regenerated when needed.


2. Archive Nodes

Archive nodes are full nodes that verify every block from Genesis and never delete any of the downloaded data.

These nodes store data in sizes of terabytes, which makes it less attractive for average users but can be handy for services like block explorers, wallet vendors, and chain analytics.


3. Light Nodes

Light nodes store only the block headers instead of storing the whole block. Headers only store the summary of the block information. If any other information is needed, it will request the data from the full nodes.

Light nodes can independently verify the data they receive from the block headers from the state root(The state root is a cryptographic hash (usually a Merkle tree root) that summarizes the entire state of the blockchain at a specific point in time).

They contain execution clients only. So they do not participate in consensus but they can access the Ethereum blockchain with the same functionality and security guarantees as a full node.



To view or add a comment, sign in

More articles by Rakshith Rajkumar

  • Understanding Leader Election in RAFT consensus mechanism

    What is a consensus mechanism? Imagine multiple computers trying to agree on a single version of truth without a…

  • Understanding literals in Rust

    As I learn Rust, I encounter concepts that are either unique to the language or challenging to grasp. This article…

    1 Comment
  • Pyth Network: A case study.

    Introduction The Pyth Network, established during the DeFi Summer of 2020, has emerged as a leading oracle within the…

    1 Comment
  • Solidity Timelocks for Dummies

    Timelocks in Solidity are smart contract mechanisms designed to restrict the execution of certain smart contract…

  • Understanding Merkle Trees

    The Merkle tree is an important data structure used in blockchain to verify the integrity of the data or transactions…

    3 Comments
  • Role of Miners in Blockchain Networks

    Miners are nodes who play the role of validating the transactions and proposing blocks in a blockchain network that has…

  • How is a transaction executed in Proof-of-Stake blockchains?

    Let's try to understand how is a transaction executed in a blockchain that follows a Proof-of-stake consensus algorithm…

  • Understanding Proof-of-Stake

    Proof-of-Stake is the consensus mechanism that the Ethereum network currently follows. Before Sept 15, 2022, the…

  • What are validators ?

    Validators are nodes that are involved in the verification of transactions broadcasted in the blockchain and they get…

    2 Comments
  • Understanding Consensus mechanisms

    To understand the consensus mechanism, let's first understand what consensus means. In simple words, Consensus means…

Others also viewed

Explore content categories