Con la amplitud de la investigación sobre soluciones de escalabilidad off-chain, los rollups se han convertido en el candidato principal para impulsar cadenas de bloques seguras y escalables. Los Zk-rollups han atraído la mayor parte de la atención a pesar de tener una funcionalidad relativamente pequeña en comparación con sus contrapartes optimistas. A pesar de esta atención, los optimistic rollups tienen muchas ventajas sobre la variante zero-knowledge (conocimiento cero) que vale la pena explorar.
Los rollups son un tipo de blockchain que envía sus bloques a otra cadena (a la capa base o L1) que proporciona consenso y verifica la disponibilidad de datos del mismo bloque. Un rollup también puede agregar varios bloques y publicarlos juntos como un solo lote. Para los rollups optimistas, la capa base asume que las transacciones son correctas de manera predeterminada. Si una parte desea disputar el bloqueo, se genera una prueba de fraude para verificar la invalidez. A diferencia de los rollups optimistas, los zk-rollups requieren que cada bloque reciba validación para garantizar la validez, lo que se realiza a través de pruebas de validez.
Los costos que deben pagar los rollups para publicar transacciones en la capa base se pueden separar en dos categorías: costos fijos y variables. Los costos fijos son los costos que debe pagar el rollup por lote, incluso si no contiene transacciones. Los costos variables son los costos marginales que se acumulan con cada transacción adicional incluida en el lote.
Los zk-rollups tienen los costos fijos más altos entre los dos rollups por un amplio margen debido a la prueba de validez. El costo de enviar una prueba de validez a la capa base está determinado por su tamaño. Los SNARKs incurren en costos más bajos debido a su tamaño más pequeño, consumiendo aproximadamente 500k — 1M de gas en el EVM. Los STARKs incurren en costos más altos que los SNARKs debido a su tamaño de prueba más grande, consumiendo entre 1 millón y 5 millones de gas según el tamaño de la prueba. Los rollups optimistas no soportan este costo porque no se requieren pruebas, excepto en caso de disputas.
Una vez que aumenta la actividad en los rollups, el costo variable de los datos de transacción se convierte en el factor más importante que afecta las tarifas de transacciones de los rollups. Los datos de transacciones se envían mediante el rollup a Ethereum en forma de datos de llamadas, que tienen un costo de 16 gas por byte para datos de llamadas distintos de cero. Si bien el costo de los datos de llamadas es fijo, el precio por unidad de gas fluctúa según la demanda de espacio en bloque. A medida que más transacciones acompañan a cada lote, los aumentos de costos totales se amortizan entre todas las transacciones.
Los lotes más frecuentes que se envían a la capa base también incurren en más gastos de costos fijos acumulativos, por lo que algunos zk-rollups solo envían lotes grandes para amortizar el costo entre un conjunto más grande de transacciones. Por cierto, la amortización puede reducir las tarifas de transacción a pesar del aumento del costo total del lote, aunque esto solo es verdad hasta cierto punto. La medida en que los resúmenes están limitados es la capacidad de procesamiento de datos en la capa base.
Cuando los rollups operan a bajos niveles de actividad, los rollups optimistas tienen la ventaja en cuanto a costes ya que reducen sus costos fijos más allá de los zk-rollups. Cuando se opera a mayores niveles de actividad, el costo variable de enviar datos se convierte en el principal determinante de las tarifas de los rollups. El tipo de rollup que puede reducir el costo de los datos por transacción tiene una ventaja para escalar sus costos.
Si bien los rollups apuntan a escalar Ethereum, muchos también intentan emular el mismo entorno para reducir la fricción al mover el ecosistema de aplicaciones de Ethereum a los mismos rollups. El grado en que el rollup implementa el mismo entorno en Ethereum se puede dividir en dos categorías: compatibilidad con la EVM y equivalencia con la EVM.
La compatibilidad con la EVM es la aproximación de la EVM dentro del rollup. La mayoría de las funciones de la EVM están presentes, y los contratos de Ethereum se pueden portar, pero requieren algunos cambios en el código del contrato para ejecutarse en el rollup. La equivalencia con la EVM es una implementación idéntica de la EVM dentro de un rollup, donde todos los códigos de operación están presentes y los contratos de Ethereum pueden trasladarse al rollup con cambios mínimos.
En comparación con los rollups optimistas, los zk-rollups tienen una desventaja sustancial al volverse compatibles y comparables con la EVM, debido a la complejidad de implementar la misma EVM de una manera compatible con la implementación ‘zero-knowledge’. Algunos códigos de operación son intrínsecamente difíciles de procesar en el circuito zk, y otras características, como ciertas herramientas criptográficas primitivas y pre-compiladores, también tienen problemas de incompatibilidad con zkEVM. La falta de problemas comparables es la razón por la que los rollups optimistas compatibles con EVM han estado activos durante más de un año, mientras que todavía no hay un zk-rollup en la red principal con dicha funcionalidad.
Para garantizar que un rollup permanezca activo a pesar de las condiciones adversas, los requisitos de hardware deben mantenerse razonables de modo que otro nodo pueda intervenir para mantener la operación si falla el nodo inicial o un conjunto de ellos. En un rollup optimista, un secuenciador debe estar operativo para crear lotes y publicarlos en la capa base. El probador solo está obligado a generar pruebas de fraude durante las disputas. En un zk-rollup, tanto el probador como el secuenciador son necesarios para que la cadena progrese.
Si bien los secuenciadores en ambas construcciones de rollup tienen la misma función, los probadores difieren significativamente. Los probadores de los zk-rollups generan pruebas de validez que dan fe de cada lote, lo que requiere el cálculo de muchos compromisos criptográficos para generarlas. El alto costo de generar una prueba de validez aumenta los requisitos de hardware para ejecutar un probador y, al mismo tiempo, reduce la cantidad de personas que podrían iniciar un probador si fuera necesario. Es importante destacar que los retiros y las salidas forzadas se inician en el rollup mediante la producción de un nuevo bloque, por lo que los requisitos de hardware elevados en última instancia reducen la resistencia a la censura de los zk-rollups en comparación con los rollups optimistas.
El punto en el que las transacciones se consideran definitivas varía según los diseños de ambos rollups. Los rollups optimistas pueden publicar bloques con frecuencia cada pocos minutos, mientras que los zk-rollups están limitados por el tiempo de generación de la prueba: una prueba de validez debe acompañar cada lote que se envía a la capa base. Por ejemplo, si un lote espera cinco horas antes de enviarse a la capa base, las transacciones dentro de ese lote no reciben confirmación previa ni garantías de finalización.
La finalización es el tiempo que tarda una transacción en considerarse definitiva desde el punto de vista del contrato de la capa base. La finalización de una transacción permite que los fondos se retiren del rollup a otra cadena. Los rollups optimistas tienen una finalización nativa más lenta en comparación con los zk-rollups, ya que la finalización solo puede ocurrir una vez que ha pasado la ventana de disputa, que para la mayoría de los rollups optimistas es del orden de una semana. Sin embargo, se puede proporcionar una finalización más rápida para los retiros a través de proveedores de liquidez. El usuario inicia un retiro y el proveedor de liquidez intercambia sus tokens por un monto equivalente en la cadena de destino. La desventaja es que debe haber suficiente liquidez para retirar los tokens, de lo contrario, se debe usar el retiro nativo con la ventana de disputa. Debido a esto, los zk-rollups tienen una finalización nativa más rápida, pero los rollups optimistas tienen confirmaciones más rápidas y pueden tener una finalización más rápida para tokens líquidos.
Los zk-rollups han recibido toda la publicidad como el futuro de la escalabilidad rollup, sin embargo, los rollups optimistas han demostrado ser candidatos viables y beneficiosos como una solución completamente funcional en la actualidad.
*****Traducción al español del artículo original por Alex Beckett.-