






Client diversity has improved!
Data provided by Sigma Prime's Blockprint — updated daily.
Data may not be 100% accurate. (Read more)
Geth has a supermajority, switch to a minority client!
Data provided by supermajority.info — updated manually.
Data may not be 100% accurate. (Read more)
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 | Github | Docs | Chat | Status | Support | Language | Donate |
|---|---|---|---|---|---|---|---|
| * 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 |
* Grandine is not open sourced
| Client | Github | Docs | Chat | Status | Support | Language | Donate |
|---|---|---|---|---|---|---|---|
| Akula | deprecated | - | - | ||||
| 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 | ||||
| Nimbus | pre-alpha | - | Nim | - | |||
| Reth | alpha | Linux, Win, macOS, ARM | Rust | - | |||
| Silkworm | - | pre-alpha | pre-alpha | C++ |
Note: Donations made to Protocol Guild are distributed among Ethereum
protocol contributors, including client teams. All recipients and splits can be seen here.
For an automated tool (with a GUI) to switch execution clients, see Accidental-Green's Ethereum Client Switcher
Made by Ether Alpha with ❤️