Mastering Ethereum, 2nd Edition
by Carlo Parisi, Alessandro Mazza, Niccolo Pozzolini, Gavin Wood, Andreas M. Antonopoulos
Chapter 3. Ethereum Nodes
An Ethereum node is a software application that implements the Ethereum specification and communicates over the P2P network with other Ethereum nodes.
Initially, a node only had to run a single client to completely implement all the requirements to be part of the Ethereum ecosystem. On September 15, 2022, The Merge hard fork happened, changing the consensus protocol from a PoW-based scheme to Gasper, the new PoS-based consensus protocol. This also led to the separation of concerns—consensus and execution—and the creation of a new type of Ethereum client: a consensus client.
And so, at the time of writing, an Ethereum node must run two pieces of software at the same time to be compatible with the latest spec, as shown in Figure 3-1, with the definitions as follows:
- Consensus client
This new software is now in charge of the consensus protocol that lets all nodes agree on a single history of the blockchain.
- Execution client
This software focuses on receiving all the blocks and transactions happening on the network, executing them inside the EVM, and verifying their correctness.
Figure 3-1. The architecture of an Ethereum node
Different Ethereum clients—both execution and consensus clients—interoperate if they comply with the reference specification and the standardized communication protocols. While these different clients are implemented by different ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access