A bug in Ethereum’s Prysm client caused network participation to drop to 75% costing validators 382 ETH as nodes experienced resource exhaustion.

News
Prysm has revealed that a bug introduced in a testnet a month before Ethereum’s Fusaka upgrade was the cause of an Ethereum node validation issue that affected its client earlier this month.
Ethereum developer Terence Tsao a post-mortem on Sunday detailing the mainnet that impacted the network on Dec. 4.
Prysm nodes experienced “resource exhaustion” when processing attestations from out-of-sync nodes, it stated. This caused Prysm to replay past epoch blocks and recompute expensive state transitions, resulting in a significant impact on performance due to the excessive workload.
The post-mortem that the bug had been present on testnets for a month before the incident, but wasn’t triggered.
“The bug was introduced in Prysm PR 15965 and deployed to testnets a month before the incident without the trigger happening.”
Testnets are designed to identify bugs, but they aren’t a foolproof method.
In May 2023 — a month after the Shanghai hard fork — Ethereum developers were sent into a frenzy when the network temporarily lost transaction finality for around 25 minutes, then again for over an hour the following day, before the blockchain recovered on its own.
Prysm has been patched
Instead of using the current head state, Prysm regenerated prior states from scratch, creating a massive computational burden.
For more than 42 epochs, the network saw an 18.5% missed slot rate with participation dropping to 75% while validators lost approximately 382 Ether () in attestation rewards, it said.
Related:
Node operators were instructed to deploy a temporary solution while developers worked on an update patch for Prysm clients.
Client diversity saved the day
The incident could have been much worse if it had hit Ethereum’s dominant consensus client, Lighthouse, said developers.
Offchain Labs’ Prysm is the second-largest Ethereum client with a 17.6% share, to ClientDiversity.
“Client diversity prevented a noticeable impact on Ethereum users. A client with more than 1/3rd of the network would have caused a temporary loss in finality and more missed blocks.”
However, the incident highlighted that Lighthouse is dangerously close to the two-thirds threshold where a single client bug could finalize an invalid chain.
Lighthouse currently has a client share of 52.6%, down from around 56% at the time of the incident.

Magazine:



















