Node clients
Ethereum's Proof of Stake (PoS) protocol leverages two separate P2P networks supporting separate clients. Execution clients gossip transactions over their network, enabling them to manage their local transaction pool. Consensus clients gossip blocks over their network, enabling consensus and chain growth. A validator node also runs the validator client.
As as result of the 2022 Merge, Ethereum Mainnet transitioned from Proof of Work (PoW) to PoS consensus.
Execution and consensus clients
Under PoS, a full Ethereum Mainnet node is a combination of an execution client (previously called an Eth1 client client) and a consensus client (previously called an Eth2 client). The consensus client uses the Engine API to communicate with the execution client.
Execution clients
Execution clients, such as Besu, manage the execution layer, including executing transactions and updating the world state. Execution clients serve JSON-RPC API requests and communicate with each other P2P.
Besu is an execution client that you can run with:
- Any consensus client on Mainnet.
- Any consensus client on a testnet.
- Teku on Mainnet.
- Teku on a testnet.
Consensus clients
The consensus client (also known as the beacon node, CL client or, formerly, the Eth2 client) implements the PoS consensus algorithm, which enables the network to achieve agreement based on validated data from the execution client. Consensus clients serve REST API requests and communicate with each other P2P.
Consensus clients, such as Teku contain beacon node implementations. The beacon node is the primary link to the Beacon Chain (i.e. the consensus layer). A consensus client can run without the (bundled) validator to keep up with the head of the chain, allowing the node to stay synced.
Validator clients
To operate a validator node, node operators must also run a validator client and deposit the required ETH into the deposit contract. The validator client handles attestations and block proposal — i.e. performs validator duties on the consensus layer. The validator client may either be run in the same process as the beacon node or separately.
Validators earn rewards for performing validator duties, and fee recipients also earn rewards for the inclusion of execution layer transactions.