Thursday, October 15, 2026
Learn / Ethereum and smart contracts

What is an Ethereum client?

An Ethereum client is software that checks blocks against the protocol rules. Every node runs an execution client and a consensus client side by side.

Ethereum and smart contracts Illustration: Cryptoweek

An Ethereum client is software that implements the Ethereum protocol, verifying data against its rules and keeping the network secure. A computer running that software and connected to other computers doing the same is a node, and each node runs two clients working as a pair. The broader idea of a node is covered in what is a node.

What is the difference between an execution client and a consensus client?

The execution client listens for new transactions, runs them in the Ethereum Virtual Machine and keeps the latest state of every account and contract. It used to be called the "Eth1" client.

The consensus client, also called the beacon node and formerly "Eth2", runs Ethereum's proof-of-stake rules. It follows which blocks validators have proposed and voted on, so the node knows which chain is the right one. People who stake can add a validator component to the consensus client.

The two talk to each other over a local, authenticated connection defined in the Engine API. When you set up a node, the execution client creates a shared secret file that both programs use, and they should run on the same machine.

Which Ethereum clients exist?

As of October 2026, ethereum.org lists these execution clients: Besu (Java), Erigon (Go), ethrex (Rust), Geth (Go), Nethermind (C#), Reth (Rust) and EthereumJS (TypeScript, still in development). The consensus clients listed are Lighthouse (Rust), Lodestar (TypeScript), Nimbus (Nim), Prysm (Go), Teku (Java) and Grandine (Rust).

Any execution client can be paired with any consensus client. They all follow the same specification, so a block valid in one should be valid in all of them.

Why does Ethereum client diversity matter?

If most of the network runs the same client, one bug in that client can affect most of the network at once. ethereum.org recommends that no single client go above a 33% share on either layer. Clientdiversity.org explains the risk. If a client used by more than a third of validators splits off onto a faulty chain, Ethereum cannot finalize blocks. If it holds two thirds or more, it could finalize a faulty chain by itself, and validators who later return to the correct chain could be penalized.

History shows why this matters. In a 2016 denial-of-service attack, attackers exploited a weakness in Geth, and the network kept running because other clients were not affected.

Share figures vary by data source and are hard to measure. ethereum.org's October 2025 snapshot had Geth and Lighthouse above the 33% line. Staking setups are covered in what is Ethereum staking, and ethereum.org suggests that stakers pick a minority client pairing where they can.

This guide explains how things work. It is not financial, legal or tax advice. Last updated .