- Equipo de Optimistic Ethereum causó falla en Infura al desencadenar falla crítica de sincronización con cliente Geth.
- Desarrolladores del Ethereum Core concuerdan en mejorar mecanismo de publicación de actualizaciones.
El 11 de noviembre una «bifurcación dura no anunciada» en Ethereum afectó el funcionamiento de Infura y la mayoría de los intercambios que dependían de sus servicios como proveedor de backend. El precio de ETH no fue afectado, alcanzando un nuevo máximo anual el 12 de noviembre cuando se ubicó en $476.
Sin embargo, el desarrollador en jefe para Blockchair, Nikita Zhavoronkov, ofreció una de las primeras explicaciones sobre la falla y afirmó que «no debía ser subestimada». Zhavoronkov cree que el incidente es de gran importancia para Ethereum y uno de los más importantes que ha enfrentado desde «la debacle de DAO hace cuatro años».
En un reporte de seguridad posterior, publicado vía Twitter por el desarrollador del Ethereum Core, Péter Szilágyi, se hace un recuento más detallado sobre la falla que afectó específicamente al cliente Geth. De acuerdo con el reporte, el 24 de octubre el equipo de Geth fue notificado de una falla de Denegación de Servicio (DoS) encontrada en la librería del lenguaje de programación Go:
El problema del DoS puede utilizarse para bloquear todos los nodos de Geth durante el procesamiento de los bloques, lo que tendría como consecuencia que una gran parte de la red del Ethereum quedara fuera de línea.
El error fue solucionado con una actualización, pero versiones anteriores a la 1.9.19 de Geth permanecieron vulnerables. Infura y otros usuarios no fueron notificados y continuaron usando versiones vulnerables del cliente Geth. Por eso, cuando el 10 de noviembre el equipo de la solución de segunda capa Optimistic Ethereum (OE) decidió «probar un error» que encontraron en la Ethereum Virtual Machine ocasionando que 30 bloques se perdieran en una división de cadena. Un miembro de OE afirmó:
Me gustaría disculparme con la comunidad por haber causado inadvertidamente que algunos nodos se desincronizaran en el Ethereum anoche (…). decidimos probar el fallo y ver qué pasaría. Esto fue una tontería en retrospectiva – no nos dimos cuenta del impacto de los pocos nodos que no fueron actualizados.
Desarrolladores de Ethereum discuten problema con Geth
El evento ha causado controversia en la comunidad de criptomonedas. Los usuarios y desarrolladores discuten las responsabilidades de cada una de las partes. En una llamada reciente de los desarrolladores del Ethereum Core, el tema fue objeto de discusión. Tim Beiko hizo un recuento de la llamada, comenzando por los comentarios de Szilágyi:
(…) no es la primera vez que geth ha arreglado un tema de consenso en silencio. Deciden si anuncian el arreglo basándose en la probabilidad de que alguien explote el fallo. En este caso, decidieron mantenerlo oculto.
Explotar la vulnerabilidad habría sido «demasiado fácil», según el desarrollador. Pero estuvo de acuerdo en que después de la actualización «debieron haber anunciado que una versión anterior tenía un problema». En la llamada, se planteó la posibilidad de informar sobre problemas futuros, al menos, un mes después de haber sido reparados. Szilágyi agregó:
Cada vez que se revela un error, crea un riesgo para la red y para todos los que no se actualizan.