Ethereum Execution Client Diversity
What is this website about?
The supermajority client risk of the execution layer, especially the client usage of staking services and pools.
What is the supermajority client risk?
A client software that is used by more than 2/3 of all active validators is considered a supermajority client. It has the capability to finalize the chain without the agreement of the other clients. A consensus bug within such a client would cause catastrophic results, such as a network split, loss of funds, and reputation damage. Geth is such a client right now.
Detailed explanations can be found at the end of this page.
Why should I care about this?
You could lose most of your funds if Geth is used for validator duties by you or your pool/service.
What can I do as a staking pool/service user?
Ask the operator which client it is using and let them know that you are concerned about the supermajority client risk.
Consider using a pool/service that prioritizes client diversity. The lower the Geth usage, the lower the risk.
What can I do as a validator operator?
Do not use Geth.
If I switch to a minority client, where can I find support?
All of the clients have dedicated Discord communities where help is provided by the team and other users.
Is it possible to resolve a supermajority consensus bug through a hard fork?
Theoretically, yes. But it may require a rollback of the chain, and there would likely be no social consensus to do it. Nobody knows for sure what would happen in such a situation.
I am already using a minority client or not staking at all, why should I care about this?
You would still be affected by a supermajority bug regardless, but the resulting consequential damage would be less severe.
1.) The network could split into two chains.
2.) It is unpredictable which chain will be considered canonical; maybe both. Transactions could be reverted, resulting in a loss of funds. An offline penalty could apply to your validator, regardless of the client used .
3.) The reputation of the whole network would be damaged and the ETH price would likely drop sharply.
It is in the best interest of all ETH holders and network users to get the network diversified.
Why are some pools/services missing, and why are there unknown client distributions?
Despite considerable effort to provide the data, acquiring it seamlessly remains a difficult task. The data is often not publicly available, and the support responses are frequently slow and unhelpful.
Any help in making the dataset better is appreciated. Open an issue in the GitHub repository, and the data will be updated accordingly.
What about the consensus layer?
There is no supermajority client in the consensus layer. While there is still room for improvement, the current focus is on the execution layer.
Data about the consensus layer can be found at rated.network.
Where can I find more info?
A good place for all kinds of questions related to this topic is the #client-diversity channel at the EthStaker Discord.
There are numerous existing resources on this topic. Please note that some of them are written for the consensus layer, but they mostly apply to the execution layer as well.
 Dankrad Feist - Run the majority client at your own peril!
 eth2book.info - Diversity
 jmcook.eth - Client diversity on Ethereum's consensus layer