Autor original: Yicheng
Recopilación del texto original: Deep Tide TechFlow
“La Beacon Chain tiene vida.” El 11 y 12 de mayo de 2023, Ethereum enfrentó dos eventos de pérdida temporal y final, poniendo a prueba su resiliencia. A pesar de estos desafíos, la red se mantuvo viva y se recuperó de ambos eventos de manera autónoma. Estamos a punto de profundizar en estos incidentes notables, revisando su impacto y las mejoras posteriores implementadas para evitar que ocurran incidentes similares en el futuro.
El 11 y 12 de mayo de 2023 serán fechas importantes en la historia de Ethereum porque en estos dos días, la resistencia de Ethereum se puso a prueba severamente. El 11 de mayo, aproximadamente a las 20:19 UTC, la red principal de Ethereum experimentó una desaceleración significativa en la velocidad a la que se producían los bloques, lo que provocó que la finalización se retrasara cuatro épocas, una novedad para Ethereum. Al día siguiente, ocurrió un evento similar, esta vez extendiendo el retraso a nueve épocas y resultando en una penalización por inactividad.
Durante estos eventos, se observó una caída significativa en la participación de la red. El primer desliz ocurrió en la época 200,551, lo que provocó que la finalización se detuviera temporalmente hasta la época 200,555. La segunda caída en la participación se produjo en la época 200,750, lo que provocó que la finalización se suspendiera nuevamente hasta la época 200,759.
A pesar de las preocupaciones iniciales, la red ethereum ha demostrado su resistencia inherente al recuperarse por sí sola. Estos eventos no solo confirmaron la resiliencia de Ethereum Beacon Chain, sino que también destacaron áreas potenciales de mejora.
Durante el estado no final, la red Ethereum despliega un mecanismo clave llamado “fuga de inactividad”. Esta función se basa en el protocolo PoS de Ethereum 2.0 y está diseñada para mantener la funcionalidad de la red durante interrupciones importantes, como eventos como la Tercera Guerra Mundial o desastres naturales a gran escala, que pueden hacer que una gran cantidad de validadores se desconecten. impidiendo así la finalización del bloque.
El modo de fuga de inactividad se activa si la red no puede finalizar un bloque durante cuatro épocas consecutivas (aproximadamente 16 minutos). En este modo, los validadores que no dan fe de los bloques comenzarán a perder parte de su Ether (ETH) apostado. Esta penalización crece cuadráticamente con el tiempo hasta que el bloqueo se finaliza y se restaura.
Este modelo tiene un doble efecto disuasorio. Primero, elimina las recompensas por las pruebas del validador. En segundo lugar, impone sanciones incrementales a los validadores no participantes proporcionales a su tiempo de inactividad. Este mecanismo incentiva a los validadores a mantener una participación activa y acelera la recuperación de la red. Esta es una característica fundamental para mantener la integridad de la red durante perturbaciones importantes.
Según una estimación proporcionada por Ben Edgington, asumiendo que el 65% de los validadores estaban fuera de línea durante la fuga de 8 épocas, la fuga de inactividad resultó en la destrucción de aproximadamente 28 ETH. Esto equivale a una pérdida de ~0,0006 ETH por validador fuera de línea.
Además, durante la interrupción, las recompensas de prueba se redujeron a cero, lo que resultó en una pérdida adicional de ~50 ETH que podría haberse emitido por otros medios. En total, la pérdida total estimada para los validadores, incluidas las penalizaciones por inactividad y las recompensas por prueba perdida, es de aproximadamente 78 ETH.
Por el contrario, los usuarios finales se vieron mínimamente afectados. Aunque la reducción del espacio disponible en bloques ha llevado a una reducción en la capacidad de procesamiento de transacciones, los precios del gas no han experimentado un fuerte aumento y todavía están por debajo de sus picos intradiarios. Además, la red permanece activa durante estos eventos.
Esto significa que Ethereum continúa procesando transacciones sin mayores interrupciones, lo que demuestra su capacidad de recuperación. Como resultado, los usuarios pueden mantener las operaciones en la red Ethereum en gran medida sin interrupciones, incluso frente a los desafíos, lo que subraya la sólida capacidad de recuperación del sistema.
El núcleo del problema de Prysm es la falta de un mecanismo de almacenamiento en caché para la reproducción de bloques. Esta ausencia exacerba la carga del sistema, genera demasiadas rutinas y aumenta la presión de la CPU. En algunos casos, una nueva repetición comenzaba antes de que terminara la anterior, lo que estresaba aún más el sistema.
Otro factor que exacerbó el problema fue el mal manejo de las pruebas de épocas anteriores por parte de Prysm: los datos que deberían haber sido ignorados no lo fueron. Esta ineficiencia, combinada con un uso subóptimo del estado principal, ejerce presión sobre el sistema, especialmente a medida que aumentan los depósitos y los registros de validadores.
Estos eventos también revelaron diferencias clave entre las estrategias empleadas por diferentes clientes de Ethereum. Cuando se enfrenta al problema de ejecutar clientes, Lighthouse opta por descartar las pruebas para mantener viva la red, mientras que Prysm y Teku, etc., utilizan por defecto pruebas antiguas para generar bloques.
A pesar de los desafíos, estos eventos son fundamentales para proporcionar información sobre las ineficiencias del software, las opciones de diseño y las condiciones de la red, lo que fortalece la red Ethereum. Esta secuencia de eventos no resultó en ningún daño permanente, sino que mejoró la resiliencia y la diversidad del diseño de la red Ethereum.
Durante estos eventos, la resiliencia de Ethereum Beacon Chain se puso realmente a prueba y funcionó extremadamente bien. La Ethereum Beacon Chain parece estar viva y reparándose.
Un factor clave para una recuperación exitosa es la diversidad de clientes en la red Ethereum. La presencia de múltiples clientes, cada uno con una forma única de manejar la red, resultó ser una bendición. Por ejemplo, mientras que los clientes de Prysm y Teku luchaban con la carga de pruebas antiguas, la política de Lighthouse de descartar pruebas garantizaba que parte de la red permaneciera activa y en funcionamiento.
Esencialmente, la resiliencia de Ethereum proviene de la diversidad de sus clientes, un factor que juega un papel clave para ayudar a que la red se recupere, eliminando cualquier necesidad de intervención humana.
Los eventos del 11 y 12 de mayo de 2023 son momentos cruciales en la evolución de Ethereum. Proporcionan evidencia tangible de la viabilidad de Beacon Chain, incluso en circunstancias difíciles. A medida que Ethereum continúa evolucionando, se basa en estas experiencias para volverse no solo más robusto, sino también más resistente a las fallas, listo para continuar su viaje hacia la descentralización y más allá.