13

Layer 2 y las pruebas de conocimiento cero

503Puntos

hace 2 años

Layer 2 y las pruebas de conocimiento cero

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.

¿Por qué Layer 2?: La necesidad de escalabilidad

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:

  1. Seguridad: El sistema es resistente a la censura y garantiza transacciones seguras.
  2. Programabilidad: Ofrece completitud de Turing, permitiendo a los desarrolladores la libertad de crear cualquier aplicación viable.
  3. Escalabilidad: Un sistema ideal debería ser capaz de manejar una cantidad creciente de trabajo y ser accesible para todos.

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.

zoltan-tasi-uNXmhzcQjxg-unsplash (1).jpg

Layer 2: Recuperando la escalabilidad

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’.

Importancia de la seguridad en Layer 2

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.

shubham-dhage-UxDU0Gg5pqQ-unsplash (1).jpg

Rollups: Solución Layer 2

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).

  • Rollups Optimistas: Los Rollups Optimistas, como Arbitrum, funcionan en base a pruebas de fraude. El contrato inteligente en Layer 1 acepta todas las transacciones y asume que son válidas, de ahí lo de optimistas. Hay incentivos económicos para que otros desafíen transacciones incorrectas. La ventaja es que son compatibles con EVM, lo que significa que los desarrolladores pueden empezar a programar con ellos sin cambiar mucho en su código.
  • Rollups de Conocimiento Cero (ZK-Rollups): Luego tenemos los ZK-Rollups, que incluyen Starknet y zkSync. Estos se basan en pruebas de conocimiento cero. El contrato en la cadena principal no asume que todas las transacciones son correctas. En lugar de eso, el validador tiene que proporcionar una prueba criptográfica que demuestre que las transacciones son válidas antes de que sean aceptadas. Esto elimina el periodo de gracia, ya que no hay necesidad de esperar a que alguien desafíe las transacciones.

Rollups y el factor humano

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.

Alternativas: Los Rollups de Conocimiento Cero

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.

markus-spiske-uPXs5Vx5bIg-unsplash (1).jpg

¿Cual es el mejor y cómo implementarla?

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.

Omar Uriel
Omar Uriel
espejelomar

503Puntos

hace 2 años

Todas sus entradas
Escribe tu comentario
+ 2