Diversify Now

Improve Ethereum's resilience by using a minority client

Switch Clients Dashboard

Learn More

Client Distribution

View Staking Pool Diversity

Goal: <33% | Danger: >50%

Consensus Clients

Data provided by Miga Labs — updated daily.
Data may not be 100% accurate. (Read more)
Data provided by Sigma Prime's Blockprint — updated daily.
Data may not be 100% accurate. (Read more)

Execution Clients

Data provided by Ethernodes — updated daily.
Data may not be 100% accurate. (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 (this is currently the case) (this is currently the case) 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? (this is currently the case)(this is currently the case) 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

Client Github Docs Chat Status Support Language Donate
* 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

Client Github Docs Chat Status Support Language Donate
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 pre-alphaLinux, macOSRust-
Silkworm -pre-alphaLinux, Win, macOSC++

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

Error: Select both To and From clients.

From Client To Client

There are no guides for this migration yet.

Submit Guide