-
El Merge estรก propuesto para ejecutarse entre el 13 y 15 de septiembre.
-
Ethereum serรก la primera gran red en realizar este tipo de transiciรณn.
El Merge es el proceso que provocarรก la transiciรณn final de la prueba de trabajo (PoW) a la prueba de participaciรณn (PoS) en Ethereum.
Ante un cambio de tal magnitud, que representa un gran desafรญo tรฉcnico, los desarrolladores se mantienen expectantes de quรฉ podrรญa pasar. Si bien han sido mรบltiples las pruebas que se han realizado a la espera del gran dรญa, todavรญa hay una serie de cosas que pueden salir mal.
La fusiรณn o merge, segรบn se ha pautado, ocurrirรก entre el 10 y 20 de septiembre. La expectativa estรก al mรกximo, y los desarrolladores se encuentran puliendo detalles para Paris, el hard fork de la red PoW de Ethereum, que se encargarรก de dar la transiciรณn. El Merge, se estima que dure aproximadamente 12 minutos en completarse en su totalidad. En este tiempo, la red estarรก muy vulnerable a posibles errores.ย ย
Los problemas que presentamos a continuaciรณn se tratan de escenarios posibles. Aunque vale tener en cuenta que los desarrolladores de Ethereum consideran que hay muy bajas posibilidades de que ocurran.
Ethereum podrรญa paralizarse
Los mineros PoW son los encargados de crear nuevos bloques en la red Ethereum actual. En Ethereum se crea un nuevo bloque cada 12 segundos. Una vez que se active el Merge, este trabajo pasarรก a manos de los nodos validadores quienes serรกn los encargados de la validaciรณn de nuevos bloques, y consecuentemente de mantener la red en marcha. Sin embargo, durante el Merge, la red se puede detener.
En la red PoW ya estรก activado el protocolo de la bomba de dificultad, que incrementa paulatinamente la dificultad para minar un bloque. Esta aumentarรก hasta un punto en que serรก imposible para los mineros confirmar nuevos bloques, llegando a lo que se conoce como era de hielo. Aquรญ la red se ยซcongelaยป y es entonces cuando los validadores comienzan a trabajar. Entre la transiciรณn de un protocolo de consenso a otro debe existir mucha sincronizaciรณn. Mientras los mineros se apagan se activan los validadores.
En este proceso, se necesita que se sincronicen ambas redes que actualmente funcionan de forma independiente. Si, por ejemplo, la era del hielo se adelanta en la red PoW, la red quedarรก completamente paralizada. Dado que los validadores no se encontrarรกn operativos. Una red paralizada significa que no se confirman transacciones.
Este tipo de escenario ya se viviรณ con el Merge en la red de pruebas Ropsten, donde un minero malicioso aumentรณ el hashrate de dicha red, acelerando la lleganda del Merge, complicando asรญ la sincronizaciรณn con la red PoS que tenรญa fijada otra fecha. Eso habrรญa podido llevar a que la red se detuviese.
Para evitar este escenario, los desarrolladores han fijado dos TDD o dificultad total terminal, que es la dificultad mรกxima alcanzada por la bomba de dificultad. En principio se fijรณ el valor de 58.750.000.000.000.000.000.000. Sin embargo, los desarrolladores agregaron que se coordinarรก para colocar un valor mรกs bajo estimado, que darรก por sentado la fecha definitiva del Merge. Esta estrategia intenta evitar que se pueda adelantar el Merge.
Ataques de replicaciรณn
Con el Merge, existen actualmente propuestas para bifurcar la red y mantener PoW en Ethereum. A nivel tรฉcnico, cualquiera puede hacer esto, solo debe bifurcar el cรณdigo original de Ethereum, cambiar las reglas del protocolo sobre el Merge, y mantener PoW. No obstante, se requiere conocimiento tรฉcnico y una comunidad que acepte y use dicha bifurcaciรณn para considerarla una red รบtil.
Una de las propuesta que mรกs fuerza ha tomado es la de Chandler Guo, quien impulsรณ la bifurcaciรณn de Ethereum Classic.
Las bifurcaciones dentro de las redes de Ethereum pueden vulnerar el resto de las redes. En Ethereum (principal, redes de prueba y forks) el รบnico diferenciador entre cada una es el ChainID (identificador de cadena) el cual sirve para verificar de quรฉ red proviene la transacciรณn.
Al existir un fork que mantenga el mismo identificador de la red principal de Ethereum, un usuario puede simular enviar ETH de Ethereum PoW a Ethereum PoS. La transacciรณn puede ser detectada como recibida, e incluso confirmada en primera instancia por los validadores, pero no podrรก ser gastada, ya que el protocolo de la red principal verificarรก que los ETH recibidos realmente no pueden ser gastados, porque en la contabilidad original la transacciรณn en realidad nunca existiรณ.
Este escenario solo ocurre cuando, en un momento dado, tanto la red principal como la bifurcada, poseen la misma informaciรณn en su contabilidad, una vez que cada una valida nuevos bloques, la contabilidad de la cadena es totalmente diferente.
Para mitigar estas situaciones, cada fork debe modificar su ChainID. Por ejemplo, la propuesta de Guo dice haber modificado su identificador, aunque, segรบn muestra su cรณdigo fuente, tal parece que no es asรญ (lo que podrรญa traer problemas a la red).
Fallas en los nodos
Con la llegada del nuevo protocolo a Ethereum, las actualizaciones tambiรฉn jugarรกn un papel fundamental. Actualmente, cerca del 90% de nodos de Ethereum estรก actualizado, esperando para recibir las siguientes รณrdenes para el Merge. Sin embargo, ese 10% restante puede causar problemas.
En primer lugar, que un nodo no se encuentre actualizado significa que no estarรก recibiendo las indicaciones para el Merge. Esto resulta en que, si el Merge ocurriera en este preciso momento, ese 10% no comenzarรญa a trabajar con PoS, validando transacciones que no pertenecen a la red correcta, y bifurcando a Ethereum de manera involuntaria.
Para combatir esto, Fundaciรณn Ethereum, ha lanzado una amplia campaรฑa informativa, pidiendo a los nodos que se actualicen a su รบltima versiรณn.
Ahora, ademรกs de estas fallas, dentro de los nodos validadores de Ethereum 2.0 tambiรฉn puede existir el problema de que los nuevos nodos, por fallas de software, validen incorrectamente transacciones, por lo que no completarรญan correctamente la creaciรณn de nuevos bloques. A esto se le conoce como falla de finalizaciรณn. Este tipo de problema ya fue observado al migrar la red de pruebas Sepolia.
Con la actualizaciรณn de Bellatrix, la cual fue aplicada a la Beacon Chain, cadena de bloques de Ethereum 2.0, se detectรณ un problema de este tipo, en el que los validadores no estaban finalizando correctamente, ya que el 0,5% de los nuevos bloques se marcaban como validaciรณn fallida.
Vale seรฑalar que la magnitud de este error puede considerarse pequeรฑa, tomando en cuenta que la Beacon Chain aรบn no se encuentra operativa, hasta que no ocurra finalmente el Merge.ย Una vez que se complete la migraciรณn, esta puede acentuar la cantidad de bloques invรกlidos.ย ย
Aplicaciones descentralizadas pueden dejar de funcionar
El cambio de protocolo tambiรฉn tendrรก cambios en cรณmo los contratos inteligentes interactรบan con la red. Uno de los cambios mรกs importante es que, a nivel tรฉcnico, lo que se conoce como bloque, se comenzarรกn a finalizar en ranuras y epoch. Una ranura es bรกsicamente un bloque que se mina cada 12 segundos, y un epoch son 32 ranuras. Este cambio podrรญa tener repercusiones en aplicaciones que no se hayan actualizado correctamente. Ya que pueden estar desactualizadas en la forma de sincronizaciรณn entre bloques y epoch o ranuras.ย ย
A este nivel, los cambios deben ser realizados por los desarrolladores de las diferentes aplicaciones, dado que se trata de desarrollos independientes. Por lo tanto, cualquier tipo de falla de esta naturaleza, serรก responsabilidad de sus desarrolladores y no error del protocolo.
El Merge se podrรญa postergar
Este es, quizรกs, el escenario menos probable de todos, tomando en cuenta todas las pruebas y retrasos que ha tomado llegar a este evento. Pero aรบn existe una pequeรฑa probabilidad.
Si bien es poco probable, esto ya ocurriรณ en una red de pruebas: Ropsten. Se tuvo que pausar y modificar la fecha pautada para el Merge, como lo reportรณ CriptoNoticias, debido a la eventualidad de que un minero malicioso aumentรณ en exceso el hashrate de la red, lo que incrementรณ la creaciรณn de bloques, adelantando asรญ la fecha del Merge ya pautada.ย ย
Aunque se trataba de una red de pruebas, y cuyo hashrate un muy inferior al de Ethereum, lo que harรญa prรกcticamente imposible de realizar en la red principal, aรบn existe la รญnfima posibilidad de que el Merge se postergue.
Por ahora, en un caso hipotรฉtico, si existiera algรบn error a nivel de software no observado por los desarrolladores, se procederรญa a ejecutar un hard fork para retrasar la bomba de dificultad. Recordemos que desde diciembre de 2021, la bomba recibiรณ 3 retrasos en total, hasta finalmente llegar a una fecha definida para mediados de septiembre. Asรญ que un nuevo retraso, irรณnicamente, no sorprenderรญa.