Most Ethereum staking pools use just one execution client: Go Ethereum (Geth). As a result, some Ethereum enthusiasts have publicly encouraged people to avoid using Geth for their validator duties because of the potential risks of over-relying on one client.
More than four-fifths of all validators, which are in charge of proposing and validating new blocks of transactions to the Ethereum blockchain, use execution client Geth, according to data provided by the crypto analytics website clientdiversity.org, which covers about 60% of the entire Ethereum network.
Ethereum clients are software implementations people can download to run the Ethereum network. In order to perform its duties, a single validator typically runs two clients simultaneously to address different components of Ethereum — the consensus side and the execution side.
Nethermind, the second-largest execution client for Ethereum running on about 8% of validators encountered a bug yesterday, Ethereum core developer Łukasz Rozmej said on X. The bug, which has since been resolved, has sparked a conversation about a hypothetical bug impacting Geth.
While the consensus side has seen its client diversity improve, execution client diversity on Ethereum is weak. Specifically, the following Ethereum staking pools and service platforms — per execution-diversity.info — likely use Geth as their only execution client for their validator duties: Allnodes, Ankr, Blox Staking, Binance, Bitcoin Suisse, Bitfinex, Coinbase, Kraken, and Stakefish.
In addition, Lido, the largest liquid staking platform with more than nine million ETH staked, has connected over three-quarters of its validators to Geth as well.
A ‘Supermajority Client’
Vitalik Buterin, Ethereum’s co-founder, designed Ethereum to work on different software clients, not just one, so that a bug affecting a single client would not adversely impact the whole blockchain.
However, Geth is considered a “supermajority client.” As such, validators that run Geth have the capability to finalize the Ethereum blockchain without agreement from validators running other software clients, such as Nethermind, Besu, and Erigon. This has the potential for disastrous results such as a network split, loss of funds, and reputational damage to Ethereum.
“Should Go-Ethereum, likely to be the majority execution client after the Merge, produce an invalid block, it could get finalized and thus cause the catastrophic failure described in scenario 3,” wrote Ethereum researcher Dankrad Feist in a 2022 blog post. Scenario three entails a hypothetical situation where a client with more than two-thirds of the stake has a bug in its software and includes an invalid block to the Ethereum blockchain.
Validators running a minority client would only lose a small amount of rewards for having a bug, while the cost of having a bug for validators running a supermajority client would be massive.
“Counterintuitively: staking with a minority client bears significantly less risk – those affected by the recent Nethermind bug hardly lost the rewards of one to two days. Being on the wrong side as part of a majority, however, can lead to significant loss of stake,” wrote co-founder of Gnosis Chain Martin Köppelmann on X on Monday.
Meanwhile, Lefteris Karapetsas, the founder of portfolio tracker Rotkiapp, noted on X that “In case of a supermajority Ethereum client bug that leads to complete loss of the stake of those stakers at the moment this would burn > ~20% of the entire ETH supply.”
Lido did not immediately reply to Unchained’s request for comment.
On Monday night, Coinbase announced on X its goal of including an additional execution client in its validator infrastructure, after the Ethereum community expressed concerns about Coinbase’s single client staking steup revolving around Geth.
The largest publicly traded crypto exchange in the U.S. said it relied solely on Geth for validation because it was the only execution client that met the company’s technical requirements. But Coinbase said it is open to change.
“Although we’ve evaluated execution clients since 2020, none have met Coinbase Cloud’s requirements to date,” wrote Coinbase on X. “Many other operators on the network have reached the same conclusion, which is part of the reason why 84% of Ethereum validators run Geth. However, the tide is turning.”
Coinbase is currently assessing alternative execution clients, and said it would share their next steps by the end of February.
UPDATE (January 23, 2:00 pm. ET): Updated with details of Coinbase’s announcement.