Prysm ha revelado que un error introducido en una testnet un mes antes de la actualización Fusaka de Ethereum fue la causa de un problema de validación de nodos de Ethereum que afectó a su cliente a principios de este mes.
El desarrollador de Ethereum Terence Tsao publicó un análisis post-mortem el domingo detallando el incidente de Prysm en la mainnet de Fusaka que impactó la red el 4 de diciembre.
Los nodos de Prysm experimentaron "agotamiento de recursos" al procesar atestaciones de nodos no sincronizados, se indicó. Esto causó que Prysm repitiera bloques de épocas pasadas y recomputara costosas transiciones de estado, resultando en un impacto significativo en el rendimiento debido a la carga de trabajo excesiva.
El análisis post-mortem reveló que el error había estado presente en las testnets durante un mes antes del incidente, pero no se activó.
"El error fue introducido en Prysm PR 15965 y desplegado en testnets un mes antes del incidente sin que se activara el desencadenante."
Las testnets están diseñadas para identificar errores, pero no son un método infalible.
En mayo de 2023 — un mes después del hard fork de Shanghai — los desarrolladores de Ethereum entraron en pánico cuando la red perdió temporalmente la finalidad de las transacciones durante unos 25 minutos, y luego nuevamente durante más de una hora al día siguiente, antes de que la blockchain se recuperara por sí sola.
Prysm ha sido parcheado
En lugar de usar el estado de cabeza actual, Prysm regeneró estados anteriores desde cero, creando una carga computacional masiva.
Durante más de 42 épocas, la red experimentó una tasa de slots perdidos del 18.5% con una participación que cayó al 75% mientras que los validadores perdieron aproximadamente 382 Ether (ETH) en recompensas de atestación, se dijo.
Relacionado: Vitalik Buterin dice que Ethereum puede manejar la pérdida temporal de finalidad
Se instruyó a los operadores de nodos que desplegaran una solución temporal mientras los desarrolladores trabajaban en un parche de actualización para los clientes Prysm.
La diversidad de clientes salvó el día
El incidente podría haber sido mucho peor si hubiera afectado al cliente de consenso dominante de Ethereum, Lighthouse, dijeron los desarrolladores.
Prysm de Offchain Labs es el segundo cliente más grande de Ethereum con una participación del 17.6%, según ClientDiversity.
"La diversidad de clientes evitó un impacto notable en los usuarios de Ethereum. Un cliente con más de 1/3 de la red habría causado una pérdida temporal de finalidad y más bloques perdidos."
Sin embargo, el incidente destacó que Lighthouse está peligrosamente cerca del umbral de dos tercios donde un solo error de cliente podría finalizar una cadena inválida.
Lighthouse tiene actualmente una participación de cliente del 52.6%, por debajo de alrededor del 56% en el momento del incidente.
Magazine: Grandes preguntas: ¿Sobreviviría Bitcoin a un apagón de energía de 10 años?








