Loading Light/Dark Toggle

Diversify Now

Improve Ethereum's resilience by using a minority client

Learn More

Client Distribution

Goal: <33% | Danger: >50%

Consensus Clients

Client diversity has improved!

Prysm - 38.7%

Lighthouse - 32.56%

Teku - 18.82%

Nimbus - 8.79%

Lodestar - 1.12%

Other - 0.0%

Grandine - 0.0%

Data provided by Sigma Prime's Blockprint — updated daily.

Data may not be 100% accurate. (Read more)

Data source (read more):

Execution Clients

Geth has a supermajority, switch to a minority client!

Geth - 72%

Besu - 14%

Nethermind - 13%

Erigon - 2%

Other - 0%

Data provided by supermajority.info — updated manually.

Data may not be 100% accurate. (Read more)

Network coverage: 54.1%

Data source (read more):

Client Diversity Is Not Optional

Many know client diversity is important for a more resilient network, but they don't understand why or just how essential it is. It's not only important — it's critical. If a single client is used by 2/3rds (66%) of validators, there's a very real risk this can result in disrupting the chain and monetary loss [1, 2] for node operators.

It takes 2/3rds of validators to reach finality. If a client with 66%+ of marketshare has a bug and forks to its own chain, it‘ll be capable of finalizing. Once the fork finalizes, the validators cannot return to the real chain without being slashed. If 66% of the chain gets slashed simultaneously, the penalty is the whole 32 ETH.

So why is >50% marketshare still dangerous? If a minority client forks, the 50%+ majority client can obtain a 66%+ majority. With no client having a marketshare over 33%, these scenarios are avoided. That‘s why <33% marketshare is the goal for all clients.

Execution clients are not immune. The risks mentioned above apply to both consensus clients and execution clients equally.

Client Resources

Consensus Clients

ClientGithubDocsChatStatusSupportLanguageDonate
* Grandine betaLinux, Win, macOS-

-

Lighthouse stableLinux, Win, macOS, ARMRust
Lodestar stableLinux, Win, macOSTypeScript
Nimbus stableLinux, Win, macOS, ARMNim

-

Prysm stableLinux, Win, macOS, ARMGolang
Teku stableLinux, Win, macOSJava

* Grandine is not open sourced

Execution Clients

ClientGithubDocsChatStatusSupportLanguageDonate
Akula deprecated--
Besu stableLinux, Win, macOSJava
Erigon

-

alpha & betaLinux, Win, macOS, ARMGolang
EthereumJS alphaLinux, Win, macOSTypeScript

-

Geth stableLinux, Win, macOS, ARMGolang
Nethermind stableLinux, Win, macOS, ARM.NET
Nimbus pre-alpha-Nim

-

Reth alphaLinux, Win, macOS, ARMRust

-

Silkworm

-

pre-alphapre-alphaC++

Note: Donations made to Protocol Guild are distributed among Ethereum

protocol contributors, including client teams. All recipients and splits can be seen here.

Switch Clients

For an automated tool (with a GUI) to switch execution clients, see Accidental-Green's Ethereum Client Switcher

Resources


Made by Ether Alpha with ❤️