-
La falla, que ya se solucionó, tuvo múltiples factores que la ocasionaron.
-
Un problema así no podría pasar en Ethereum 2.0, que está más avanzada en su desarrollo.
La testnet o red de pruebas Ropsten de Ethereum 2.0 tuvo problemas operativos durante el jueves 26 de mayo. Lo que ocurrió fue que el aumento del hashrate o poder de cómputo de los mineros aumentó en tal medida que se activó antes de tiempo la bomba de dificultad terminal (TDD) que, precisamente, pone fin a la prueba de trabajo.
Así, debió haber pasado lo que ocurrirá en la red principal de Ethereum cuando se concrete la fusión. Esto es que, tras activarse la bomba de dificultad, las transacciones comiencen a validarse en la Beacon Chain, es decir, el fragmento original de Ethereum 2.0 que ya funcionará con prueba de participación, Proof of Stake o simplemente PoS.
No obstante, el problema en Ropsten fue que la Beacon Chain propia de esta red de pruebas todavía no se creó. De hecho, está proyectado que esto suceda para el 30 de mayo, días antes de que se concrete la fusión en la testnet el 8 de junio.
Ropsten será la primera red de pruebas que «ensayará» la fusión de un algoritmo de consenso (PoW) a otro (PoS). Luego, la seguirán las testnet Goerli y Sepolia.
¿Qué pasó con Ropsten y cómo está la red ahora?
Como consecuencia del inconveniente que explicó en detalle el desarrollador Tim Beiko y que fue replicado por el usuario de Twitter @functi0nZer0, Ropsten estuvo varias horas detenida. Cuando reanudó su funcionamiento, la red procesó bloques de una sola transacción cada uno, con el mensaje Will recover ASAP («Se recuperará pronto») en su metadata.
De acuerdo con lo que muestra el explorador de bloques Etherscan, la detención se produjo en el bloque 12.307.424, cerca de la hora 18 (UTC) del jueves 26 de mayo. Media hora después, comenzaron a crearse bloques con una sola transacción, como se mencionó. El siguiente bloque con más de una transacción fue el 12.308.894, 10 horas después de la detención de la testnet.
Más detalles sobre el fallo en Ropsten
No solo es necesario que se cree una Beacon Chain («cadena baliza» es la traducción literal de este término) para que pueda darse la fusión en Ropsten, sino que también hace falta algo más. Hablamos de la hard fork o bifurcación dura Bellatrix, que será la que monitoree la bomba de dificultad que pondrá fin a la minería. Está programada para el 3 de junio.
La bomba de dificultad no se calcula en tiempo, sino en un valor de dificultad que debe alcanzarse para que se active. Lo que hará Bellatrix es activar el cambio de una cadena con PoW a otra con PoS cuando se alcance ese valor.
Precisamente, lo que pasó con Ropsten y condujo al fallo de la red es que el incremento del hashrate por parte de un minero (nada menos que 30 veces más que el hashrate previo) hizo subir demasiado la dificultad de la red. Este ajuste se da automáticamente en todas las redes con prueba de trabajo, de modo que la validación de los bloques se dé en los lapsos determinados y no mucho más rápido.
Ahora bien, como el hashrate subió tanto, la dificultad alcanzó el total que establecía la bomba de dificultad, determinada por la suma de la dificultad de todos los bloques que componen la cadena. Este es un valor que se puede comprobar en Etherscan, como se ve en la imagen a continuación:
Al activarse la bomba de dificultad, la capa de ejecución (equivalente a Ethereum 1.0) «interpretó» que la prueba de trabajo ya no era necesaria. Sin embargo, al no haber una Beacon Chain y como no está activa la bifurcación Bellatrix, no hubo una capa de consenso que «tomara la posta» y siguiera la tarea de validar nuevos bloques.
¿Cómo se solucionó?
Para dar fin al problema, se les pidió a los mineros de Ropsten que configuren la TDD en un valor mucho más alto, como detalló el desarrollador Marius Van Der Wijden en una publicación en Twitter. Más adelante, cuando se active Bellatrix, deberán reajustarla con los valores reales. Así, el hashrate se restableció y Ropsten podrá seguir funcionando con normalidad.
El episodio podría interpretarse como un ataque malintencionado a la red o como una advertencia a tiempo. Al tratarse de una red de pruebas, el costo para el minero que «causó el problema» no fue demasiado alto («unos cientos de dólares por día», según @functi0nZer0), y con ello podría haber destacado una posible falla de cara a las próximas pruebas de la fusión de Ethereum 2.0.
Cabe destacar, no obstante, que algo así no podría ocurrir en Ethereum 2.0. Esto se debe a que la Beacon Chain de esa red no solo ya existe, sino que está activa desde 2020 y cuenta con más de 300.000 validadores que aguardan la fusión definitiva.
Ropsten, a semanas de la fusión
Como reportó CriptoNoticias, Ropsten tendrá su fusión el próximo 8 de junio. Esto significa que la red de pruebas dejará de funcionar con prueba de trabajo y pasará a usar la prueba de participación para crear nuevos bloques.
Se trata de un ensayo clave para la posterior fusión en la red principal de Ethereum, que todavía no tiene fecha definida, pero se espera para este año, según los desarrolladores. Mientras tanto, los desarrolladores siguen trabajando en mejorar la estabilidad de la red principal de Ethereum 2.0, que hace pocas horas tuvo su primera bifurcación involuntaria, aunque sin consecuencias mayores.