Ethereum's stability was briefly shaken after the Fusaka upgrade, highlighting a critical vulnerability. A bug in the Prysm consensus client caused a significant drop in validator participation, bringing the network dangerously close to losing its finality. But what exactly happened, and why should you care? Let's dive in.
Immediately following the Fusaka network upgrade, the Ethereum network experienced a noticeable dip in validator participation. This was triggered by a bug within the Prysm consensus client, which essentially knocked a portion of the network's voting power offline.
According to an announcement from Prysm, version v7.0.0 of the client was the culprit. It was unnecessarily generating old states while processing outdated attestations. This flaw prevented nodes from functioning correctly. Developers quickly recommended a temporary fix: launching the client with the “--disable-last-epoch-targets” flag.
Network data provides a clear picture of the impact. At epoch 411,448, the network saw only 75% sync participation (the percentage of randomly selected nodes signing chain heads) and 74.7% voting participation. A 25% drop in voting participation is concerning, as it brought the network within a hair's breadth of losing the two-thirds supermajority needed for finality and regular operation.
Fortunately, the network has since recovered. The current Ethereum network epoch (411,712) is experiencing nearly 99% voting participation and has reached 97% sync participation. Before the issue, epochs typically saw well over 99% vote participation.
The decline in vote participation closely mirrors the share of validators using the Prysm consensus client. It was estimated at 22.71% before the incident, dropping to 18% afterward, suggesting the attestation failure was primarily concentrated among Prysm validators.
The Ethereum Foundation and Prysm developer organization Offchain Labs have not yet commented.
What if finality was lost?
If voting participation drops below two-thirds of the total staked Ether (ETH), the Ethereum network loses finality. While blocks can still be produced, the chain is no longer considered finalized.
This could lead to serious consequences. Layer-2 bridges would freeze, rollups would pause withdrawals, and exchanges would likely increase their block confirmation requirements due to the increased risk of chain reorganization.
This isn't just a theoretical concern. In early May 2023, the Ethereum mainnet did lose finality — twice within 24 hours — due to bugs in the handling of old-target attestations in the Prysm and Teku consensus clients.
The potential for a more catastrophic outcome was real. Back in September 2021, Prysm was estimated by its developers to run on over two-thirds of the consensus nodes. Data from January 2022 showed that Prysm was running on 68.1% of nodes.
Client Diversity: Still a Work in Progress
While Ethereum consensus client diversity has improved since 2022, it's still not where it needs to be. The goal is to have no single client accounting for more than 33% of the network. This ensures that a bug in one client cannot halt network finality.
Currently, MigaLabs data indicates that Lighthouse alone accounts for 52.55% of consensus nodes, with Prysm in second place at 18%. This represents a deterioration from before the incident, when Lighthouse was below 48.5% and Prysm around 22.71%.
As Ethereum educator Anthony Sassano pointed out, "if Lighthouse had had the bug instead, then the network would’ve lost finalization." This highlights the critical importance of client diversity for the overall health and security of the Ethereum network.
What do you think? Is client diversity a pressing issue? Do you think the current distribution of clients is sufficient, or are more drastic measures needed? Share your thoughts in the comments below!