Los desarrolladores de Ethereum han fusionado una corrección para un fallo en el manejo de depósitos en la próxima actualización Glamsterdam que podría haber permitido a un constructor de bloques recibir ETH destinado a un nuevo validador, tras una decisión inicial de rechazar el cambio propuesto.
Resumen
- Ethereum fusionó una corrección del manejo de depósitos de Glamsterdam el 26 de octubre.
- El fallo podría haber acreditado depósitos de staking a constructores que compartían la misma clave pública.
- Los desarrolladores rechazaron inicialmente la corrección antes de aprobar pruebas adicionales.
- Una investigación separada sobre compatibilidad de contratos ha retrasado la activación de Hoodi en Glamsterdam.
Según las especificaciones de consenso de Ethereum, el mantenedor Justin Traglia fusionó la corrección el 26 de octubre después de que el desarrollador avsetsin identificara un problema con la forma en que se procesarían los depósitos pendientes durante la bifurcación Gloas. El cambio separa los depósitos de constructores de los depósitos de validadores según sus credenciales de retiro, evitando que los fondos entren en la cuenta incorrecta cuando ambos usan la misma clave pública.
La vulnerabilidad concernía a reglas en desarrollo, no a un robo confirmado de la red principal de Ethereum. Los desarrolladores han incorporado la corrección en las especificaciones, aunque los clientes de consenso individuales todavía necesitan implementar y probar el comportamiento revisado.
El fallo de Ethereum Glamsterdam expuso el riesgo de los depósitos de validadores
El problema surgió de los cambios planificados bajo la separación consagrada entre proponente y constructor de Glamsterdam, que asigna la construcción de bloques y la propuesta de bloques a roles diferentes. Los constructores ensamblan las cargas útiles de transacciones, mientras que los validadores participan en la propuesta y confirmación de bloques a través del sistema de prueba de participación de Ethereum.
El investigador avsetsin describió el fallo el 12 de octubre, identificando un problema en las reglas utilizadas para procesar los depósitos en espera cuando la red se actualiza. Si un constructor se registraba usando una clave pública antes de que llegara un depósito de validador bajo la misma clave, la lógica propuesta podría acreditar ambos depósitos al constructor.
El investigador describió un escenario en el que un operador de staking recibe fondos de un protocolo de staking líquido para establecer un nuevo validador. Al registrarse primero como constructor, el operador podría hacer que el depósito de validador del protocolo entrara en el saldo del constructor, donde la dirección de retiro podría estar bajo el control del operador.
"El operador puede retirar los fondos del protocolo", advirtió avsetsin en el informe de GitHub.
Dado que el validador esperado no se crearía, el servicio de staking podría tener dificultades para obtener la prueba necesaria para completar sus procedimientos normales de depósito y recuperación.
El investigador examinó la posible exposición que involucra a Lido, Origin y Rocket Pool mediante una investigación preliminar del código. Esos hallazgos eran condicionales a cómo los protocolos individuales manejaban los depósitos, y el informe no estableció que los proyectos hubieran sufrido una explotación.
Los desarrolladores revierten la decisión tras una revisión adicional
La corrección propuesta encontró inicialmente resistencia por parte de los desarrolladores de clientes de Ethereum, a pesar de la descripción del investigador sobre el riesgo de enrutamiento de depósitos. El 19 de octubre, Traglia cerró la solicitud de extracción tras las discusiones entre los desarrolladores principales.
"No hubo suficiente apoyo de los clientes para hacer este cambio en este momento", escribió Traglia.
La decisión no se mantuvo, y los desarrolladores reabrieron la propuesta el 23 de octubre tras un examen adicional.
Posteriormente, el revisor potuz aprobó el enfoque pero solicitó más pruebas para combinaciones específicas de depósitos. Avsetsin añadió esas pruebas el 23 de octubre, cubriendo casos en los que los depósitos de constructor y validador comparten una clave pública pero requieren un manejo separado.
El cambio final se fusionó en las especificaciones de consenso de Ethereum el 26 de octubre tras una revisión adicional de los clientes. Dirige los depósitos de validadores válidos a la cola de validadores mientras permite que los depósitos legítimos de constructores registren o añadan fondos a un constructor existente.
Las nuevas reglas distinguen los depósitos mediante credenciales de retiro, que determinan los arreglos de retiro permitidos. Preservan registros separados de constructor y validador incluso cuando la misma clave pública aparece en ambos roles.
El retraso de Hoodi da a los desarrolladores más tiempo para investigar
La actualización de la especificación llegó mientras los desarrolladores de Ethereum revisaban un problema separado que afectaba la activación programada de Glamsterdam en la red de prueba Hoodi. La Fundación Ethereum pospuso la actualización del 26 de octubre después de que los investigadores identificaran riesgos de compatibilidad relacionados con EIP-8037.
Como crypto.news informó anteriormente sobre el aplazamiento, la decisión eliminó tanto los cambios de ejecución de Amsterdam como los cambios de consenso de Gloas de la activación planificada de Hoodi. El aumento propuesto a un límite de 200 millones de gas se pospuso junto con ellos.
El investigador de Ethereum Toni Wahrstätter explicó que EIP-8037 podría interferir con contratos inteligentes que dependen de suposiciones sobre el gas restante durante la ejecución. Identificó casos en los que la contabilidad del gas podría provocar que una transacción se revierta inesperadamente o permitir una ruta de ejecución que los desarrolladores habían asumido que era inalcanzable.
El problema de compatibilidad de contratos es distinto del defecto de depósito del constructor abordado en la corrección de GitHub. Ambos conciernen a Glamsterdam, pero el aplazamiento de la Fundación del 22 de octubre citó específicamente una mayor investigación de la interacción de EIP-8037 con los contratos existentes.
Los clientes de Ethereum deben implementar las reglas revisadas
Glamsterdam ya se activó en la red de prueba Sepolia el 6 de octubre, donde los desarrolladores examinaron cambios en la construcción de bloques y una mayor capacidad de procesamiento de transacciones. El ensayo posterior en Hoodi sigue sin programarse, sin una fecha confirmada para la activación en la red principal de Ethereum.
La corrección de depósito fusionada contiene pruebas de regresión que cubren cómo se clasifican los depósitos durante la transición de Gloas. Los equipos de clientes deben incorporar el cambio de especificación en su software y completar más pruebas antes de que las reglas actualizadas puedan operar durante una futura actualización de la red.






