Goal: <33% | Danger: >50%
The Ethernodes data has been removed.
The data is a representation of what clients are showing free peers and it's not well understood how this correlates to an overall picture of what clients are currently in use. For now, survey data (from execution-diversity.info) is considered the most reliable source of information for the state of execution client diversity.
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.
|* Grandine||beta||Linux, Win, macOS||-||-|
|Lighthouse||stable||Linux, Win, macOS, ARM||Rust|
|Lodestar||stable||Linux, Win, macOS||TypeScript|
|Nimbus||stable||Linux, Win, macOS, ARM||Nim||-|
|Prysm||stable||Linux, Win, macOS, ARM||Golang|
|Teku||stable||Linux, Win, macOS||Java|
|Besu||stable||Linux, Win, macOS||Java|
|Erigon||-||alpha & beta||Linux, Win, macOS, ARM||Golang|
|EthereumJS||alpha||Linux, Win, macOS||TypeScript|
|Geth||stable||Linux, Win, macOS, ARM||Golang|
|Nethermind||stable||Linux, Win, macOS, ARM||.NET|
|Reth||alpha||Linux, Win, macOS, ARM||Rust||-|
|Silkworm||-||pre-alpha||Linux, Win, macOS||C++|