Saltar al contenido

ZK-Rollups, ZK-SNARKs, ZK-STARKs y pruebas de validez: Todo lo que debes saber

Los rollups de conocimiento cero (ZK-rollups) son soluciones de escalabilidad de L2 diseñadas para aumentar el rendimiento de las tecnologías distribuidas (DLTs), especialmente en el contexto de las blockchains, al trasladar la computación y el almacenamiento de estados off-chain.

Además, los ZK-rollups pueden procesar miles de transacciones en lotes, enviando solo los datos necesarios y pruebas criptográficas a la cadena principal (L1), asegurando la correcta ejecución de estas transacciones.

¿Qué son los ZK-rollups?

Los ZK-rollups son soluciones de L2 que agrupan y procesan transacciones off-chain, minimizando la cantidad de datos publicados en la cadena principal. Utilizan pruebas criptográficas de validez, conocidas como pruebas de conocimiento cero (ZK-Proofs), para confirmar que los cambios de estado sean correctos sin revelar información sensible.

Al ejecutar el cálculo off-chain, los ZK-rollups mejoran significativamente la eficiencia mientras mantienen la seguridad. De esta manera, en lugar de enviar cada transacción individualmente, los operadores, o secuenciadores, envían una prueba criptográfica que resume todos los cambios de estado. Un contrato inteligente en la L1 gestiona el estado del rollup, actualizándolo en función de estas pruebas de validez.

Los ZK-rollups son más eficientes a los rollups optimistas, ya que ofrecen una verificación instantánea de la validez de las transacciones, eliminando así los retrasos habituales en los retiros que se presentan en los rollups optimistas. Además, los ZK-rollups emplean técnicas de compresión de datos para minimizar la cantidad de información almacenada en la cadena, proporcionando una solución escalable y rentable, ideal para intercambios descentralizados y otras aplicaciones descentralizadas complejas

Trilema de la blockchain

Como mencionamos en el anterior artículo, uno de los mayores desafíos en las redes distribuidas es el trilema de la blockchain, que establece que mejorar un aspecto – escalabilidad, descentralización o seguridad – a menudo implica comprometer uno de los otros. En este contexto, los ZK-rollups se presentan como una solución prometedora para abordar este trilema.

Descentralización: Aunque los ZK-rollups suelen estar gestionados por un operador centralizado, permiten a los participantes verificar de manera independiente la validez de las transacciones a través de la publicación de pruebas de validez en la cadena principal. Esto reduce la concentración de control y fomenta una mayor participación en el proceso de validación.

Seguridad: A diferencia de los rollups optimistas, que pueden presentar retrasos en la validación, los ZK-rollups garantizan la corrección de las transacciones mediante pruebas de conocimiento cero. Estas pruebas ofrecen una garantía sólida de que los cambios de estado son válidos y no pueden ser alterados sin invalidar la prueba.

Escalabilidad: Al trasladar la computación y el almacenamiento de estado off-chain principal, los ZK-rollups logran procesar miles de transacciones en lotes, publicando únicamente los datos mínimos y las pruebas criptográficas necesarias en la cadena principal. Esto no solo mejora la capacidad de procesamiento, sino que también reduce los costes asociados a la publicación de datos en la cadena principal.

¿Cómo funcionan los ZK-rollups?

Los ZK-rollups funcionan procesando transacciones off-chain mientras garantizan la seguridad y la validez a través de pruebas criptográficas publicadas en la cadena principal. A continuación, presentamos un análisis detallado sobre cómo operan los ZK-rollups:

Procesamiento de las transacciones off-chain

En los ZK-rollups, las transacciones se ejecutan fuera de la L1, concretamente en la L2, por lo que es ahí donde los usuarios envían sus transacciones y el operador las agrupa en lotes. Estas transacciones se procesan off-chain, pero su integridad está garantizada mediante pruebas criptográficas, asegurando que puedan ser verificadas en la L1 sin necesidad de procesarlas en ella. Este método permite a los ZK-rollups administrar un gran volumen de transacciones, evitando la sobrecarga en la cadena principal, lo que contribuye significativamente a mejorar la escalabilidad.

Publicación de datos comprimidos on-chain

Después de procesar los lotes, los ZK-rollups publican los datos de las transacciones comprimidos en la L1 a través de calldata, una sección especial de los contratos inteligentes. Esto minimiza los costes de almacenamiento en la cadena principal, ya que solo se publican los datos esenciales en formato comprimido. A pesar de que los datos están comprimidos, cualquier participante en la red puede reconstruir el estado del rollup para verificar de manera independiente las transacciones, lo que garantiza la transparencia y la seguridad del sistema.

Compromisos de estado y verificación criptográfica

El estado del ZK-rollup se almacena de manera eficiente en una estructura conocida como árbol de Merkle. Tras procesar un lote, el operador genera una nueva “raíz de estado”, un hash que resume el estado actualizado del rollup. Esta raíz, junto con una prueba criptográfica de validez, se publica en la L1. La prueba de Merkle permite que cualquier usuario verifique que una transacción específica ha sido incluida en el lote sin necesidad de descargar todo el historial del rollup. Esto garantiza que las transacciones sean verificables, manteniendo la integridad del sistema sin sobrecargar la L1.

Pruebas de conocimiento cero (ZK-SNARKs y ZK-STARKs)

Para garantizar que las transacciones procesadas off-chain son válidas, los ZK-rollups se basan en pruebas de validez que aseguran criptográficamente que la transición de estado presentada es correcta. Estas pruebas de validez previenen que actores malintencionados alteren el estado (por ejemplo, transfiriendo activos a sus propias cuentas). Los ZK-rollups emplean dos tipos principales de pruebas de conocimiento cero: ZK-SNARKs y ZK-STARKs.

ZK-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge)

Los ZK-SNARKs permiten verificar rápidamente cálculos complejos en la cadena. Para generar y verificar estas pruebas se utiliza un conjunto de parámetros públicos conocido como Common Reference String (CRS). El CRS es esencial para garantizar que las transacciones se validen de forma segura, pero su creación requiere una “configuración de confianza” (trusted setup) donde los participantes contribuyen con aleatoriedad que debe ser destruida tras su uso para evitar vulnerabilidades. Si el proceso de creación del CRS fuera comprometido, podría llevar a la generación de pruebas de validez falsas. Para mitigar este riesgo, algunos ZK-rollups realizan una ceremonia de computación multipartita (multi-party computation ceremony MPC) donde varios participantes colaboran en la generación del CRS. Siempre que al menos uno de ellos destruya su aleatoriedad, el proceso se considerará seguro.

Los ZK-SNARKs son especialmente valorados por su eficiencia, ya que producen pruebas de pequeño tamaño y bajos costes de verificación, lo que los convierte en una opción popular para rollups que requieren gran escalabilidad.

ZK-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge)

Los ZK-STARKs, por su parte, eliminan la necesidad de una configuración de confianza, apoyándose en una aleatoriedad públicamente verificable para la generación de sus parámetros. Esto mejora tanto la transparencia como la seguridad del sistema, eliminando riesgos derivados de la configuración de confianza que requieren los ZK-SNARKs. Además, los ZK-STARKs son escalables y el tiempo necesario para probar y verificar cálculos aumenta de manera casi lineal con la complejidad del cálculo subyacente, lo que los hace ideales para casos que implican grandes conjuntos de datos u operaciones más complejas.

Un aspecto clave de los ZK-STARKs es su resistencia a la computación cuántica, lo que los hace más seguros ante futuros ataques de ordenadores cuánticos, en comparación con los ZK-SNARKs que se basan en la Criptografía de Curva Elíptica (ECC) y podrían ser vulnerables a tales ataques. Sin embargo, los ZK-STARKs también tienen una desventaja: generan pruebas de mayor tamaño, lo que resulta en mayores costes de verificación en la cadena principal. Ambos tipos de pruebas, sin embargo, garantizan que las transiciones de estado en el rollup sean válidas, manteniendo la carga computacional fuera de la cadena principal.

Verificación en la cadena

Una vez que se procesa un lote de transacciones en la L2, el operador envía la prueba de validez correspondiente al contrato inteligente en la L1. Este contrato verifica la prueba, y si es válida, acepta la nueva raíz de estado, confirmando así que el estado del rollup ha cambiado correctamente. Este proceso asegura que cualquier actividad maliciosa sea detectada y que los lotes inválidos sean rechazados, garantizando así la seguridad del rollup.

Depósitos y Retiros

Depósitos: Los usuarios pueden acceder al ZK-rollup depositando activos en el contrato inteligente del rollup en la L1. Una vez que un usuario realiza un depósito, este se coloca en una cola para ser procesado por el operador del rollup. Una vez procesada la transacción, la cuenta del usuario en el ZK-rollup se actualiza para reflejar el depósito, lo que permite al usuario comenzar a realizar transacciones dentro del rollup.

Retiros: Para retirar activos del ZK-rollup, el usuario debe iniciar una transacción dentro del rollup, enviando sus activos a una cuenta de quema designada. Esta transacción se incluye en el siguiente lote de transacciones a ser procesado. Para completar el retiro en la L1, el usuario debe presentar una solicitud de retiro al contrato del rollup en la L1, que incluye los siguientes elementos:

  • Una prueba de Merkle que verifica la transacción de retiro del usuario dentro del rollup.
  • Los datos de la transacción y la raíz del lote correspondiente.
  • La dirección en la que el usuario desea recibir sus fondos.

El contrato del rollup en la L1 hashéa los datos de la transacción y los compara con la raíz del lote utilizando la prueba de Merkle. Si todo es válido, el contrato libera los fondos a la dirección especificada por el usuario en la L1. Este proceso asegura que el ZK-rollup maneje de manera segura y eficiente un gran volumen de transacciones off-chain, manteniendo al mismo tiempo la escalabilidad y la finalización sin confianza.

Componentes clave de los ZK-rollups

Los ZK-rollups operan bajo contratos inteligentes en la cadena principal (L1), que gestionan su estado y verifican las pruebas de validez generadas off-chain. Los componentes principales incluyen:

Contratos on-chain

Estos contratos inteligentes son fundamentales para la gestión del ZK-rollup. Entre sus funciones se encuentran:

  • Almacenamiento de los bloques del rollup: Los contratos guardan los datos comprimidos de las transacciones y actualizan el estado del rollup en la L1.
  • Gestión de depósitos y retiros: Supervisan las entradas y salidas de fondos entre la L1 y la L2.
  • Contratos verificadores: Estos contratos se encargan de validar las pruebas de validez generadas fuera de la cadena principal por los operadores del rollup, garantizando que los cambios en el estado del rollup sean correctos.

Off-chain Virtual Machine (VM)

La ejecución real de las transacciones en los ZK-rollups ocurre en una máquina virtual off-chain que opera como L2. En este entorno se llevan a cabo las siguientes tareas:

  • Procesamiento de las transacciones: Las operaciones de los usuarios se ejecutan fuera de la cadena principal, lo que permite una alta escalabilidad.
  • Generación de pruebas de validez: Esta máquina crea pruebas criptográficas de conocimiento cero (ZK-SNARKs o ZK-STARKs) que se envían a la L1 para su verificación, demostrando la corrección de las transacciones sin necesidad de que estas se ejecuten directamente en la cadena principal.

Cómo los ZK-rollups garantizan la seguridad

Los ZK-rollups se basan en la cadena principal (L1) para varias funciones importantes:

Disponibilidad de datos

Cada transacción off-chain en un ZK-rollup genera datos esenciales que se publican en la L1, lo que permite reconstruir el estado del rollup y verificarlo de manera independiente. Este proceso se lleva a cabo mediante el uso de calldata, lo que minimiza la cantidad de datos que necesitan ser almacenados on-chain. Aunque las pruebas de validez confirman las transacciones, la disponibilidad de algunos datos en la L1 sigue siendo crucial para garantizar la transparencia y evitar que los operadores censuren o bloqueen a los usuarios.

Finalidad de las transacciones

La cadena principal actúa como la capa de liquidación para los ZK-rollups, por lo que las transacciones solo se consideran definitivas cuando la prueba de validez correspondiente es aceptada por el contrato en la L1. Este enfoque asegura que todas las transacciones off-chain sean verificadas y que, una vez aceptadas en la L1, se vuelvan irreversibles, garantizando la seguridad del sistema.

Resistencia a la censura

Aunque los ZK-rollups dependen de un operador para agrupar y procesar las transacciones, estos sistemas están diseñados para resistir intentos de censura. En caso de que un operador intente bloquear las transacciones de un usuario, este puede interactuar directamente con el contrato inteligente en la L1 para retirar sus fondos o completar otras operaciones, lo que protege su capacidad para interactuar con la red.

Resumen del flujo de trabajo de los ZK-rollups

  • Envío de las transacciones: Los usuarios envían sus transacciones firmadas a un operador del ZK-rollup.
  • Agrupación y agregación: El operador agrupa múltiples transacciones en un lote para procesarlas de manera eficiente.
  • Generación de pruebas: Se crea una prueba de validez (ZK-SNARK o ZK-STARK) que asegura la validez del lote.
  • Compromiso on-chain: El lote y la prueba se envían a la L1 como calldata. La cadena principal verifica la prueba sin necesidad de procesar cada transacción individualmente.
  • Actualización de la raíz de estado: Si la prueba es válida, se actualiza la raíz de estado del rollup en la L1, asegurando las transiciones de estado y validando las transacciones procesadas off-chain.

¿Cómo funcionan las pruebas de validez en los ZK-rollups?

Las pruebas de validez son el núcleo de la seguridad en los ZK-rollups. Estas pruebas criptográficas permiten verificar la corrección de las transacciones procesadas off-chain sin necesidad de ejecutar cada transacción en la cadena principal. A continuación, detallamos el proceso:

Generación de pruebas

Antes de procesar un lote de transacciones, el operador del ZK-rollup realiza una serie de comprobaciones fundamentales para validar cada transacción:

  • Verificación de la cuenta: Se verifica que tanto el remitente como el receptor de la transacción existan en el árbol de estado del rollup.
  • Comprobación del saldo: El operador se asegura de que el remitente tiene suficientes fondos para realizar la transacción.
  • Validación de la transacción: Se confirma que la transacción cumple con las reglas del sistema, incluida la correspondencia con la clave pública del remitente.
  • Validación del nonce: Se revisa el nonce para asegurarse de que coincide con el esperado, evitando ataques de repetición.

Una vez reunidas suficientes transacciones, se crea una prueba criptográfica (basada en ZK-SNARK o ZK-STARK) que comprime toda la información relevante del lote en una prueba compacta. Esta prueba incluye:

  • Raíz del árbol de Merkle: Representa todas las cuentas y transacciones dentro del lote.
  • Pruebas de Merkle: Confirman que cada transacción está correctamente incluida en el árbol de estado.
  • Raíces de estado intermedias: Reflejan los cambios en el estado del rollup a medida que cada transacción es procesada.

Proceso de validación

El circuito de prueba realiza una serie de comprobaciones sobre cada transacción, emulando el trabajo del operador, pero de manera criptográficamente segura. Para cada transacción, el proceso sigue los siguientes pasos:

  • Verificación del remitente: El circuito comprueba la existencia del remitente en la raíz de estado actual del rollup mediante una prueba de Merkle.
  • Actualización del estado del remitente: Se deducen los fondos del remitente y se actualiza su nonce, generando una nueva versión de los datos de la cuenta, que se rehashean para producir una nueva raíz de estado.
  • Actualización del receptor: De manera similar, el circuito verifica la cuenta del receptor y ajusta su saldo, generando otra nueva raíz de estado.
  • Actualización de la raíz de estado: Este proceso se repite para cada transacción, actualizando continuamente la raíz de estado del rollup, asegurando que todos los cambios se reflejen correctamente.

Al finalizar el procesamiento de todas las transacciones, la última raíz de estado calculada se convierte en la nueva raíz de estado oficial o canónica del ZK-rollup.

Verificación de la prueba

Una vez generada la prueba de validez, el operador la envía al contrato de verificación en la cadena principal (L1). El contrato de verificación revisa los siguientes elementos:

  • Raíz de estado previa: El estado del rollup antes de procesar el lote de transacciones.
  • Raíz de estado posterior: El estado actualizado del rollup después de procesar todas las transacciones.
  • Raíz del lote: La raíz de Merkle que representa el lote completo de transacciones.
  • Entradas de transacción: Los detalles específicos de cada transacción en el lote.

Si la prueba es válida, el contrato de verificación confirma que el rollup ha transitado de forma correcta y segura entre el estado previo y el posterior. Esto garantiza la integridad del lote de transacciones. A continuación, se actualiza el árbol de estado en la L1 para reflejar la nueva raíz de estado posterior, que ahora representa el estado actual y correcto del ZK-rollup.

Beneficios de los ZK-rollups

  • Escalabilidad: Los ZK-rollups permiten procesar miles de transacciones off-chain, aliviando la carga en L1.
  • Seguridad sin confianza: Utilizan mecanismos criptográficos que garantizan la seguridad, eliminando la dependencia de la honestidad de actores incentivados, un aspecto crítico en los rollups optimistas.
  • Garantía de veracidad: Las pruebas de validez proporcionan una sólida garantía de que las transacciones off-chain son correctas, impidiendo que los operadores ejecuten transiciones de estado inválidas.
  • Seguridad de los datos: Almacenan datos esenciales para recuperar el estado off-chain directamente en la L1, asegurando mayor seguridad, resistencia a la censura y descentralización.
  • Eficiencia de costes: Al procesar transacciones off-chain y publicar solo los datos necesarios en la cadena principal, los ZK-rollups reducen significativamente las tarifas de gas para los usuarios.
  • Confirmación instantánea: Las pruebas de validez ofrecen una verificación instantánea de la validación de las transacciones, eliminando la necesidad de largos períodos de espera.
  • Interoperabilidad: Pueden integrarse fácilmente con diferentes aplicaciones y contratos inteligentes en la L1, lo que permite una mayor flexibilidad en el uso de activos y servicios.
  • Privacidad: Los ZK-rollups pueden implementar transacciones privadas, ya que las pruebas de conocimiento cero permiten validar transacciones sin revelar detalles sobre ellas. Esto es especialmente útil para aplicaciones que requieren confidencialidad en los datos.
  • Resiliencia ante ataques: Al depender de pruebas criptográficas en lugar de la honestidad de los operadores, los ZK-rollups son menos susceptibles a ataques maliciosos, como el abuso del poder centralizado.
  • Descentralización potencial: Aunque a menudo tienen un operador centralizado, los mecanismos de verificación permiten que los participantes verifiquen de forma independiente la validez de las transacciones, lo que puede fomentar una mayor descentralización a medida que más usuarios se involucran en la validación.
  • Facilidad de uso: Los usuarios pueden interactuar con el ZK-rollup de manera más sencilla, ya que las transacciones pueden procesarse rápidamente, lo que mejora la experiencia general del usuario en comparación con soluciones más lentas.

Desventajas de los ZK-rollups

  • Altos costes de las pruebas de validez: Los gastos computacionales relacionados con la generación y verificación de pruebas de validez pueden ser considerables, lo que podría llevar a tarifas más altas para los usuarios del rollup.
  • Complejidad en la compatibilidad con la EVM: Desarrollar ZK-rollups compatibles con la EVM presenta desafíos significativos debido a la complejidad inherente de la tecnología de conocimiento cero.
  • Riesgo de centralización: La producción de pruebas de validez a menudo requiere hardware especializado, lo que puede fomentar la centralización y dejar la cadena bajo el control de un número reducido de partes.
  • Influencia en el orden de las transacciones: Los operadores centralizados, o secuenciadores, tienen la capacidad de influir en el orden de las transacciones, lo que puede dar lugar a prácticas desleales o trato preferencial.
  • Limitaciones de participación: Los requisitos de hardware asociados con los ZK-rollups pueden limitar la cantidad de participantes capaces de hacer avanzar la cadena, aumentando el riesgo de que actores maliciosos congelen el estado del rollup y censuren a los usuarios.
  • Vulnerabilidades en la configuración de confianza: Algunos sistemas de prueba, como los ZK-SNARKs, requieren una configuración de confianza que, si se maneja de manera inadecuada, podría comprometer el modelo de seguridad general del ZK-rollup.

Estas desventajas son importantes a considerar al evaluar la implementación de ZK-rollups en proyectos de blockchain, ya que pueden afectar su viabilidad y eficacia a largo plazo.

Conclusión

En resumen, los ZK-rollups son una innovadora solución de escalado en la Layer 2 que utiliza pruebas de validez para realizar cálculos off-chain, minimizando la cantidad de datos de transacción almacenados en la cadena principal. Aunque ofrecen ventajas significativas en términos de escalabilidad y seguridad, los elevados costes asociados con la generación de pruebas SNARK y los retos relacionados con la disponibilidad de datos constituyen desafíos operativos relevantes. Estos factores pueden hacer que los ZK-rollups sean menos atractivos para aplicaciones de propósito general en la Ethereum Virtual Machine (EVM).

En el siguiente artículo, compararemos los optimistic rollups y los ZK-rollups al detalle para analizar sus diferencias.

Además, te invitamos a ver un video didáctico en YouTube que explica el funcionamiento de los ZK-rollups de forma visual y detallada.



Recursos:
[1] Ethereum.org – zk-rollups
[2] Hacken.io – zk-rollups explained
[3] Zkproof.org
[4] ieeexplore.ieee.org – Blockchain Scaling Using Rollups


FAQs

¿Qué son los ZK-rollups?

Los ZK-rollups son soluciones de escalado en la L2 que agrupan y procesan transacciones off-chain, minimizando la cantidad de datos que se envían a la cadena principal (L1). Utilizan pruebas de validez criptográficas, conocidas como pruebas de conocimiento cero (ZK-proofs), para confirmar la corrección de las transiciones de estado sin revelar información sensible. Esta metodología permite aumentar la capacidad de la red mientras se asegura la integridad de las transacciones.

¿Cuáles son los beneficios de los ZK-rollups?

Los ZK-rollups ofrecen múltiples beneficios que los hacen atractivos para las aplicaciones blockchain:

Costes reducidos: La compresión de datos minimiza los gastos asociados al almacenamiento en la cadena principal, haciendo las transacciones más económicas.

Confirmación de integridad: Las pruebas de validez garantizan que las transacciones off-chain sean correctas, impidiendo el procesamiento de transacciones inválidas.

Confirmación rápida de las transacciones: La validación instantánea de pruebas permite una rápida confirmación de las transacciones en la cadena principal, eliminando esperas innecesarias.

Seguridad sin confianza: Al utilizar mecanismos criptográficos, se elimina la necesidad de confiar en actores incentivados, lo que mejora la seguridad general.

Eficiencia: Facilitan una experiencia de usuario fluida, permitiendo retiros sin demoras significativas.

¿Cómo funcionan los ZK-rollups?

Los ZK-rollups procesan transacciones off-chain al agrupar múltiples transacciones en un lote. A continuación, generan una prueba de validez que se envía a la L1. Un contrato inteligente verifica esta prueba, actualizando el estado del rollup solo si es válida. Este enfoque permite mantener la seguridad y la integridad de las transacciones sin sobrecargar la L1.

¿Cómo funcionan las tarifas en un ZK-rollup?

Las tarifas en un ZK-rollup se determinan principalmente por dos factores:

  • Costes de generación de las pruebas: Los usuarios pueden incurrir en tarifas asociadas con la generación de pruebas de validez, un proceso que puede ser costoso, aunque estas tarifas suelen ser menores que las tarifas de transacción en la cadena principal.
  • Tarifas de publicación en la cadena principal: Al publicar un lote de transacciones en la cadena principal, se incurre en tarifas por el uso de espacio de almacenamiento (calldata). Estas tarifas se distribuyen entre todos los usuarios que envían transacciones en ese lote, lo que resulta en costes más bajos para cada usuario.
¿Cuáles son los desafíos de los ZK-rollups?

A pesar de sus ventajas, los ZK-rollups enfrentan varios desafíos:

  • Costes altos de las pruebas: La generación y verificación de las pruebas de validez pueden ser costosas, lo que podría aumentar las tarifas para los usuarios.
  • Complejidad en la compatibilidad con la EVM: La creación de ZK-rollups compatibles con la Máquina Virtual de Ethereum (EVM) presenta desafíos significativos debido a la complejidad de las pruebas de conocimiento cero.
  • Riesgo de centralización: La producción de pruebas de validez a menudo requiere hardware especializado, lo que puede favorecer la centralización en el control de la red.
  • Vulnerabilidades de la configuración de confianza: Algunos sistemas de prueba, como los ZK-SNARKs, dependen de un setup confiable que, si no se maneja correctamente, puede comprometer la seguridad del rollup.
¿Qué diferencias existen entre ZK-rollups y rollups optimistas?

Los ZK-rollups ofrecen verificación de transacciones instantánea mediante pruebas de validez, lo que elimina los retrasos en los retiros que son comunes en los rollups optimistas. Además, los ZK-rollups utilizan técnicas de compresión de datos para reducir la carga en la cadena principal, permitiendo una mayor eficiencia en el procesamiento de transacciones.

¿Qué son los ZK-SNARKs y ZK-STARKs?
  • ZK-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge): Permiten una verificación rápida y eficiente de cálculos complejos, pero requieren una configuración de confianza que puede ser un riesgo si se gestiona inadecuadamente.
  • ZK-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge): Mejoran la transparencia al eliminar la necesidad de un setup confiable y ofrecen resistencia a computación cuántica, aunque generan pruebas de mayor tamaño, lo que puede resultar en mayores costes de verificación.
¿Cómo garantizan los ZK-rollups la seguridad?

Los ZK-rollups dependen de la L1 para la disponibilidad de datos y la verificación de transacciones. Publican datos esenciales para cada transacción off-chain en la cadena principal, lo que permite a cualquier persona verificar la integridad del estado del rollup. Las transacciones se consideran finales solo cuando se acepta la prueba de validez correspondiente.

¿Cómo mejoran los ZK-rollups la escalabilidad?

Los ZK-rollups mejoran la escalabilidad al descargar el cómputo de la cadena principal y comprimir significativamente los datos de transacción. Al reducir la cantidad de datos publicados en la cadena, permiten procesar un mayor número de transacciones por bloque, aumentando el rendimiento general de la red.

¿Qué papel juega la compresión de datos en los ZK-rollups?

La compresión de datos es fundamental para los ZK-rollups, ya que el tamaño de bloque de la L1 limita la cantidad de datos que puede contener cada bloque. Al comprimir los datos relacionados con las transacciones, los ZK-rollups pueden aumentar eficazmente el número de transacciones procesadas por bloque, lo que mejora la eficiencia en el uso del espacio.

¿Qué son las pruebas recursivas y cómo benefician a los ZK-rollups?

Las pruebas recursivas permiten que una prueba de conocimiento cero verifique otras pruebas. Esta capacidad de “prueba de pruebas” mejora significativamente el rendimiento de los ZK-rollups al permitir que múltiples bloques se finalicen con una única prueba de validez. Esto optimiza el proceso de finalización, aumentando la capacidad del sistema para manejar más transacciones en menos tiempo.

¿Cómo limita el método actual de generación de pruebas de validez a los ZK-rollups?

Actualmente, las pruebas de validez se generan bloque por bloque, lo que significa que solo se puede finalizar un bloque a la vez. Este enfoque restringe el rendimiento general de los ZK-rollups, ya que cada bloque requiere su propia prueba.

¿Cómo mejoran las pruebas recursivas el proceso de finalización para los ZK-rollups?

Las pruebas recursivas permiten que el circuito de prueba agregue múltiples pruebas en una única prueba final. Cuando el operador presenta esta prueba recursiva y es aceptada por el contrato, todos los bloques relevantes pueden finalizarse simultáneamente. Esta capacidad mejora la escalabilidad general al permitir un mayor número de transacciones finalizadas en un tiempo reducido.

¿Cuál es la principal diferencia entre los ZK-rollups y los rollups optimistas en términos de compatibilidad con EVM?

Los ZK-rollups no son tan fácilmente compatibles con la Máquina Virtual de Ethereum (EVM) como los rollups optimistas. Probar cálculos EVM de propósito general en rollups de conocimiento cero es más complejo y requiere más recursos que probar cálculos más simples, como transferencias de tokens.

¿Qué impulsa el interés en las implementaciones de EVM de conocimiento cero (zkEVM)?

Los avances recientes en tecnología de conocimiento cero han despertado un renovado interés en encapsular cálculos de EVM en pruebas de conocimiento cero. El objetivo es crear un zkEVM que pueda verificar de manera eficiente la corrección de la ejecución de programas, manteniendo la compatibilidad con los opcodes de EVM existentes.

¿Cómo funciona un zkEVM en comparación con la EVM tradicional?

Un zkEVM, al igual que la EVM tradicional, cambia entre estados tras realizar cálculos sobre algunas entradas. La diferencia clave es que el zkEVM genera pruebas de conocimiento cero para verificar la corrección de cada paso en la ejecución del programa, garantizando que los opcodes correctos sean llamados y ejecutados adecuadamente.

¿Cuáles son los beneficios de introducir ZK-rollups compatibles con EVM?

La introducción de ZK-rollups compatibles con EVM permitirá a los desarrolladores aprovechar las ventajas de escalabilidad y seguridad que ofrecen las pruebas de conocimiento cero, facilitando la construcción de aplicaciones descentralizadas (dapps) que utilicen herramientas y lenguajes de programación establecidos en la infraestructura de Ethereum.


En Block&Capital, nos esforzamos por crear un entorno donde el crecimiento y el éxito sean accesibles para todos. Si estás listo para impulsar tu carrera profesional, te animamos a unirte a nosotros.