La respuesta simple es no. La respuesta larga es: armate un café y acompañame en este viaje.
El 15 de septiembre del año 2022 será por siempre recordado como un día mágico en la historia del mundo. ¿Por qué? Bueno, está más que claro. Ese día Lionel Andrés Messi se fue a dormir siendo el mejor jugador del planeta tierra. Si eso no hubiese pasado, hoy no tendríamos tres estrellas 🌟🌟🌟
Bueno, claro, y también es el día en que se completó la parte más importante de la transición de Ethereum de un mecanismo de consenso Proof-of-Work (PoW) a uno Proof-of-Stake (PoS). Pero ojo, porque esto no termina. Si bien asociamos todo el proceso de The Merge a ese momento puntual, en realidad se trata de un proceso que aún está en desarrollo y que tiene el objetivo final de lograr un mecanismo de consenso robusto, simple y descentralizado.
Ya hicimos una intro al Roadmap de Ethereum. Hoy vamos a entrar en detalles.
The Merge: qué es, qué se hizo y qué falta
Consenso, consenso everywhere
El 15 de septiembre Ethereum modificó su mecanismo de consenso. Y, curiosa casualidad, el 15 de septiembre es el día de la democracia. Me pregunto que opinarían Pericles y Anáxagoras, nuestros griegos amigos de tan emocionante suceso. Porque, en definitiva, un mecanismo de consenso no es otra cosa que una forma de ejercer la democracia; una método a través del cual ponernos de acuerdo sobre una cosa dada. Cuando hablamos de blockchains, esa “cosa dada” es el estado de la red y todo lo que implica.
Aún más curioso es el detalle del nombre del primer algoritmo de consenso conocido. No, no es proof-of-work. Se llama Paxos. Los algoritmos de consenso son anteriores a Bitcoin, Satoshi, Vitalik y el famoso “Merge”. Son una parte clave de la teoría de la computación, que requiere que sistemas de todo tipo se pongan de acuerdo sobre qué información es correcta y que no.
El algoritmo Paxos toma su nombre de una isla en…. sí, Grecia. Se inspira en las primeras formas de democracia que se sucedieron en ese bellísimo pedazo de tierra repleto de olivas y rodeado de un azul tan intenso como aquel cielo que Messi y el Diego tocaron con las manos.
Esto nos lleva de nuevo al Roadmap de Ethereum.
El objetivo de The Merge es lograr un mecanismo de consenso simple, robusto y descentralizado, basado en Proof-of-Stake.
Veamos la foto para tener un mejor panorama de donde estamos y, sobre todo, hacia donde vamos:
El proceso empieza mucho antes del 15 de septiembre. De hecho, hay 3 hitos principales:
- Lanzamiento de la Beacon Chain a fin de 2020.
- Fork Altair, el último gran update antes de…
- The Merge, sí, ese momento mágico en que el consenso migró de PoW a PoS.
La transición realizada el 15 de septiembre fue seguramente el paso más crítico de todo el proceso. Más allá del desafío a nivel técnico, que demoró la implementación bastante más de lo esperado, hay implicancias enormes a nivel tecnológico, social y económico. No me quiero ir por las ramas, pero si querés profundizar en el impacto del cambio de proof-of-Stake a Proof-of-Work te comparto un hilo que escribí en aquel momento.
Ok, todo muy lindo. Ahora volvamos a enfocarnos en el futuro, y lo que queda dentro del Roadmap. Si bien el avance es enorme, aún quedan varias cosas por pulir.
El consenso actual de Ethereum aún tiene 2 grandes defectos:
- es demasiado complejo
- tiene una finalidad de 12 minutos
Complejidad
El mecanismo de consenso de Ethereum tiene un sistema híbidro, que combina 2 tipos de algoritmos: consensos basados en la cadena más larga y consensos basados en un sistema de firmas que confirman que un bloque está ok.
Los modelos del primer tipo suelen generar muchos forks involuntarios y muchas cadenas que compiten entre sí. En Bitcoin, por ejemplo, no hay una finalidad absoluta. Damos por válida una transacción luego de 6 bloques porque probabilísticamente es casi imposible que aparezca una nueva cadena más larga, pero eso requiere esperar aproximadamente una hora para confirmar una transacción y aún así no nos asegura que no aparezca una nueva red que reemplace la original.
Los modelos del segundo tipo requieren generar y almacenar una gran cantidad de firmas, lo que implica que es más dificil participar del consenso. Es un consenso que requiere que el validador y los nodos que forman parte de la red guarden más información, por lo que debe usar mejor software.
La primera permite que haya más nodos y participación, mientras que la segunda logra que las transacciones sean confirmadas de forma irreversible.
Ethereum optó por un diseño mixto para lograr un equilibrio entre las ventajas y las desventajas de ambos. Sin embargo, el resultado final es un bastante complejo, requiere muchas líneas de código y diversos mecanismos para coordinar a los validadores. Esta complejidad genera pequeños errores y defectos que van siendo corregidos a medida que aparecen pero agregan riesgo innecesario al protocolo.
Además, si bien permite que una transacción sea validada, debemos esperar más de 12 minutos, lo que nos lleva al segundo punto…
Finalidad de 12 minutos
Ethereum está organizada en epochs. Cada epoch tiene 32 slots. Hay 12 segundos entre cada slot. Entonces, cada epoch dura 6.4 minutos. Con el mecanismo de consenso actual, para que un bloque se considere finalizado, deben pasar 2 epochs. Es decir, 12.8 minutos.
Pero veámoslo en detalle
¿Cómo se da por finalizada una transacción? Cada slot incluye un bloque. Osea que idealmente hay 32 bloques por epoch. Durante cada epoch, los validadores se dividen en 32 comités (uno por slot) y firman que están de acuerdo con el bloque incluído en su slot.
Cuando un bloque es incluído en un slot y ese epoch es dado por bueno, el bloque se considera “justificado”. La justificación es un paso intermedio antes de ser finalizado. Es como cuando terminas de rendir el parcial y sabés que te fue bien pero todavía no tenés el resultado oficial.
Luego viene el siguiente epoch, con sus 32 slots, cada uno con su bloque. Cuando ese epoch también es justificado, los bloques del epoch anterior finalmente se dan por finalizados.
Sí, ya se que parece chino. Vamos con resumen a prueba de personas que no hablan chino:
- transacción—>bloque—>slot—> epoch.
Cuando se cumple un epoch desde tu transacción, vas bien. Cuando pasan 2 epochs, transacción confirmada, todo pelota, siga siga.
Bien, todo claro. Pero sigue siendo un poco lento. El objetivo final: Single Slot Finality.
Single Slot Finality
El objetivo de The Merge es lograr un mecanismo de consenso seguro que permita la Single Slot Finality; lograr que las transacciones sean finalizadas (es decir, 100% confirmadas) con cada slot. Hay 12 segundos entre cada slot, osea que lograr Single Slot Finality significaría que tu transacción va a estar confirmada en 12 segundos o menos. En el artículo de intro hice una referencia al Pocho Lavezzi corriendo por la cancha de San Lorenzo. Todavía es validada para decir: rapidísimo. Si no leíste el artículo sobre Intro al Roadmap de Ethereum. Bueno, no seas vago. Andá a pegarle un ojo que tener el panorama general claro te va a ayudar muchísimo a procesar los detalles.
En el siguiente artículo vamos a ver el siguiente punto del Roadmap de nuestro querido Ethereum: The Surge.