Ethereum Protocol
Structure of an Ethereum Node

Hello everyone..
Welcome to another day in exploring Web3 Engineering. In today’s article, rather than focusing on dApps and ERC standards, lets focus on the node that runs our beloved Ethereum network. Let’s start with the layered architecture and different communication protocols of the Ethereum node. So without any further ado, let’s get started.
Ethereum Clients
Before the Ethereum merge and shift to Proof-of-Stake consensus, it followed monolithic architecture. Which means the entire codebase is responsible for all the features and all the components are tightly coupled with each other. After the merge, the node is divided into layers and each other is loosely coupled and it made language agnostic to support various clients written in different programming languages.
Layers of Clients

The Eth node is divided into 2 layers. Each state consists their own peer-to-peer network for their execution and also maintain a separate state depending on their needs.
Execution Layer (EL)
Consensus Layer (CL)
Execution Layer
The EL is responsible for executing all the transactions, providing the RPC methods, communication with the dApps, smart contract etc.
The p2p network in the EL is responsible for validating the transactions and producing the new block.
The client RPC calls made to the node are executed here, providing the read and write calls of the Ethereum state.
Management of the Mempooletc.
The architecture of the EL depends on it’s individual implementation.
Consensus Layer (CL)
The CL is responsible for maintaining the overall consensus of the blockchain network.
Management of the Validator nodes, slashing, staking and other validator based actions
Block production and proposal of new block producers
Block attestation and finality etc.,
Key Protocols
Ethereum node uses multiple communication protocols to maintain the decentralization and censorship resistance in the network along with the unrestricted rules for the node operators to join and leave the network whenever possible. For example
Gossip Protocol - Gossip protocol is used in both the consensus and execution layers for syncing the state between the nodes in the network.
LibP2P (Networking Protocol) - is used in the consensus layer for discovering the node discovery and the peer-to-peer communication between the network.
DevP2P (Ethereum Wire Protocol) - is used in the execution layer for the peer-to-peer communication in order to maintain the state sync, block propagation and transaction gossiping between the network.
Apart from the communication protocols, Ethereum also uses various data serializations and cryptographic algorithms which we will discuss in our upcoming articles.
That’s all for the day. Comment down your questions



