Contexto:

  • Hay muchos enfoques para escalar: ETH adopta un enfoque modular.
  • Dentro de este enfoque, las Layer 2 son fundamentales.
  • Los rollups son un tipo de Layer 2.

Rollups

Ejecutan muchas transacciones fuera de la blockchain, luego las agrupan y mandan una versión comprimida en una sola transacción.

Imaginatelo como subir 50 fotos a Google Drive versus subir 1 solo archivo con 50 fotos comprimidas.

Tipos de Rollups:

  • Optimistic
  • ZK (Zero-Knowledge)

¿Cómo funcionan?

Una blockchain tiene 3 capas: la capa de ejecución, la capa de alacenamiento de datos y la capa de consenso. Cuando le mandás ETH a Mick Jagger, la red de Ethereum ejecuta la transacción, logra un consenso acerca de su validez y almacena los datos en la blockchain.

Los rollups ejecutan las transacciones por fuera, por lo que no necesitan la capacidad de ejecución de Ethereum, que es lo más costoso. En lugar de pedirle a la red que corra una transacción, solo le piden que almacene la información de las transacciones ejecutadas en el rollup.

Se separan las capas de ejecución de la capa de almacenamiento y consenso. De esta manera, es posible procesar un aumento exponencial en la capacidad de procesamiento de la red.

Validez de la transacción

Para que los rollups sean seguros, tiene que haber una forma de validar las transacciones, lo cual solo es posible ejecutando la transacción.

¿Cómo hacen los rollups para mantener la seguridad de Ethereum sin pedirle que ejecute las transacciones?

Optimistic Rollups

Los Optimistic Rollups asumen que las transacciones son correctas a menos que alguien presente una “prueba de fraude”.

Prueba de fraude

Si la prueba de fraude permite demostrar que hubo una transacción fraudulenta en el rollup penaliza a quién procesó la transacción.

¿Cómo funciona?

Los Optimistic Rollups funcionan con validadores especiales, llamados “Sequencer”. El Sequencer ejecuta las transacciones en la L2 y envía la información a la L1. Es conceptualmente bastante similar a Proof-of-Stake. El Sequencer debe stakear cripto para poder clasificar como Sequencer.

Si alguien descubre una transacción fraudulenta, usa la data de L1 para ejecutar la transacción en Ethereum, demostrar que era maliciosa y presentar la prueba de fraude. En ese caso, quién presentó la prueba de fraude recibe un premio y el Sequencer malicioso pierde las cripto que había stakeado para participar de la creación de bloques.

Zero-Knowledge Rollups

Prueban que los las transacciones off-chain son correctas usando “Zero-Knowledge Proofs”.

Son pruebas criptográficas que permiten verificar la validez de la transacción sin tener que ejecutarla ni compartir información.

Metáfora del día

Las Zero-Knowledge Proof (ZK) permiten responder una pregunta sin mostrar la información que la responde. Por ejemplo, imaginate que yo quiero mostrar que tengo saldo en la cuenta de banco sin mostrar cuanto saldo tengo. Las ZK me permiten hacerlo.

Escena del crimen: la policía quiere saber quién metió a “Ham” en el horno. Tenés que demostrar que no estabas en la cocina el domingo a las 12. Vos podés mostrar que estabas en la cancha de Huracán con la entrada, pero te da verguenza. Entonces mostrás un video de la cocina que demuestra que no estabas ahí.

Respondiste la pregunta de la policía, sin tener que mostrar dónde estabas. En ZK Rollups, se demuestra que la transacción es correcta sin mostrar la transacción. Esto no solo aumenta la privacidad, sino que permite ahorrar costos y espacio.

Optimistic vs ZK

Los ZK rollups son más eficientes, ya que aseguran la validez de la transacción inmediatamente. Con los Optimistic Rollups hace falta esperar cierto tiempo para dar la opción de que alguien encuentre una transacción fraudulenta.

La ventaja de los Optimistic Rollups es que son más fáciles de desarrollar e implementar.

Estado actual

Los Optimistic Rollups llevan la delantera, ya que permiten todas las funcionalidades EVM, comparado con los ZK Rollups que por el momento solo permiten funcionalidades muy básicas.

Ejemplos de Optimistic Rollups

  • Optimism
  • Arbitrum
  • Base

Ejemplos de ZK Rollups

  • zkSync Era
  • Starknet
  • Scroll