Si ya estás construyendo proyectos en Blockchain tienes que saber sobre las soluciones de Layer 2. En resumen, estas están diseñadas para ayudar a Ethereum a escalar manejando transacciones fuera de la mainnet de Ethereum (Layer 1), manteniendo aún la seguridad y la descentralización que la red proporciona. Pero, profundicemos en el meollo del asunto.
La llegada de Ethereum trajo consigo un sistema que era seguro, descentralizado y programable. Fue diseñado para ser ‘creíblemente neutral’, es decir, su operación no sería influenciada o interrumpida arbitrariamente por ninguna parte. Sin embargo, esto vino con una advertencia.
Ethereum puede verse como una estructura construida sobre tres pilares:
Desafortunadamente, el pilar de la escalabilidad se ha debilitado significativamente debido a los altos costos asociados con las transacciones en Ethereum. Aquí es donde entran en juego las soluciones de Layer 2.
Las soluciones de Layer 2 buscan restaurar el pilar de escalabilidad sin comprometer la seguridad o la programabilidad y lo logran de dos maneras:
1. Aumentando el tamaño y la velocidad de los bloques: Una forma de aumentar la escalabilidad es incrementar el tamaño de los bloques y la velocidad de las transacciones. Esto requeriría nodos con hardware más potente para procesar y verificar las transacciones rápidamente.
Sin embargo, este enfoque puede llevar a la centralización, ya que no todos pueden permitirse el lujo de ejecutar nodos de alta potencia. Esto sería contraproducente, ya que la descentralización es clave para garantizar la resistencia de la red contra la censura y el control.
2. Logrando la escalabilidad sin sacrificar la descentralización: Una solución de Layer 2 ideal debería promover la escalabilidad sin socavar la descentralización. Debería ser lo suficientemente simple para que cualquiera pueda ejecutar un nodo y verificar transacciones, manteniendo el principio fundamental de Ethereum de ser ‘creíblemente neutral’.
La seguridad puede no parecer importante hasta que es violada. Este es un error común que cometen las personas. Pueden pensar que las transacciones son económicas y fáciles, y que nada malo puede suceder hasta que sucede.
Considera el concepto de un puente bidireccional entre Ethereum y Mars. Este puente permite que los activos se muevan de un lado a otro entre estas dos redes. Sin embargo, también representa una importante vulnerabilidad de seguridad.
En los últimos años, varios puentes que conectan diferentes redes blockchain han sido hackeados, lo que ha resultado en pérdidas de cientos de millones de dólares. Las vulnerabilidades de seguridad de estos puentes son los puntos débiles que atraen a los atacantes.
La resistencia a la censura puede no parecer importante hasta que se ve amenazada. Por ejemplo, durante el referéndum catalán, el gobierno español censuró la página web donde la gente debía votar. Aquí es donde las tecnologías descentralizadas como IPFS entraron en juego y salvaron el día. Esta situación es un ejemplo práctico de por qué importa la resistencia a la censura.
Si la seguridad de Layer 1 está en juego, ¿cómo podemos escalar manteniendo la seguridad? Aquí es donde entran en juego las soluciones de Layer 2 como los rollups. Mantienen la completitud de Turing, la escalabilidad, y la seguridad tan cercana como sea posible a Layer 1.
Los rollups funcionan tomando muchas transacciones y procesándolas fuera de la cadena, donde es más barato, y luego envían una actualización de este nuevo estado a Layer 1. En esencia, los rollups agrupan muchas transacciones en una única actualización de estado y envían este nuevo estado a Layer 1.
Existen dos tipos principales de rollups: Optimistas y ZK (Zero Knowledge).
En los Rollups Optimistas, hay un aspecto crucial que merece ser destacado: la posibilidad de que una transacción inválida se acepte simplemente porque nadie la disputó. Este es un punto clave en las desventajas de este tipo de rollups. Básicamente, estamos aceptando todas las transacciones y ofreciendo incentivos para que la gente encuentre errores. Pero hay un problema fundamental: somos humanos. Y al introducir el factor humano en el proceso, se vuelve delicado, incluso vulnerable.
Las alternativas a los Rollups Optimistas son los Rollups de Conocimiento Cero (ZK-Rollups), que incluyen soluciones como Scroll, Spikis, Starknet, zkSync y otras en desarrollo. Estos rollups se basan en validity proofs, en lugar de fraud proofs, como los Rollups Optimistas. Aquí, lo que se utilizan son pruebas de validez que son una forma diferente de asegurar al contrato inteligente que una transacción es válida.
A diferencia de los Rollups Optimistas, en los ZK-Rollups el contrato inteligente verifica una prueba criptográfica de conocimiento cero para comprobar si el nuevo estado es correcto. Las pruebas de conocimiento cero son una tecnología muy avanzada que muchos consideran la tecnología de la década. Personalmente, creo que las tecnologías de la década son la inteligencia artificial y las Zero Knowledge Proofs, porque puedes hacer cosas muy, muy interesantes con ellas.
Estas pruebas criptográficas garantizan que no se enviará nada a la cadena principal que no sea legal o que esté en contra de las reglas. A diferencia de los Rollups Optimistas, no hay un proceso humano de por medio. Otra ventaja es que no tenemos que esperar ese período de gracia que tienen los Rollups Optimistas. La prueba se verifica en el momento y, lo que es más importante, no importa el tamaño del cálculo: puedes hacer inteligencia artificial en la cadena y la transacción se verificará con el mismo tiempo que si hubieras transferido dinero a alguien.
No obstante, los ZK-Rollups también tienen desventajas. Por ejemplo, crear la prueba es complejo y a veces más costoso. Computacionalmente en la cadena puede ser más costoso que ejecutar la transacción. Además, la complejidad técnica es mayor. No es como los Rollups Optimistas, donde simplemente se acepta todo. Aquí estamos hablando de criptografía avanzada, que es más compleja y está en desarrollo.
Finalmente, a diferencia de los Rollups Optimistas, no puedes simplemente copiar tu código de Solidity y usarlo en los ZK-Rollups. Aunque esto puede verse como una desventaja, también hay un debate sobre si en realidad es una ventaja, ya que se utiliza una máquina virtual diferente.
Mucho dependerá de a quién le preguntes, cada persona tiene una opinión diferente. Pero hoy en día, los Rollups Optimistas son la solución porque permiten mantener la seguridad de Ethereum y escalar. Al final del día, lo que importa es correr tu propio nodo completo para que tengamos un ecosistema que perdure para siempre. Además, la seguridad es extremadamente importante y con los ZK-Rollups puedes copiar tu código de Solidity y hacer que se ejecute con las mismas garantías de seguridad que en Layer 1.
Si quieres aprender más sobre soluciones en Layer 2 tienes que ver el Ethereum Developer Program, donde aprenderás de protocolos como Starkware que están revolucionando el ecosistema Blockchain.