Zk roll ups significa transacciones agrupadas de conocimiento cero. Con esta tecnología, las redes de capa 1 son más baratas y escalables, ya que las transacciones se agrupan y se procesan como 1 transacción en la mainnet. Hoy vamos a hablar de las zk rollups. No es uno de los temas más fáciles, ¡así que prepárate!
✔️ El Zk Rollup es una solución de capa 2 que aumenta la velocidad de la blockchain agregando y procesando múltiples transacciones en un solo bloque.
✔️ La prueba de conocimiento cero consiste en demostrar que se conoce algo concreto, como el hash (código) de un bloque, sin revelar más información.
✔️ A menudo se utiliza un rollup zk cuando la red principal se vuelve demasiado lenta y cara. Esto descongestiona la red, haciéndola más rápida y barata.
✔️ Los Rollups Zk serán cada vez más habituales por su escalabilidad y ahorro de costes, aunque siguen siendo difíciles de implantar.
Hay dos partes en un rollup zk. Zk es la abreviatura de conocimiento cero. En holandés, significa no tener información. La prueba de conocimiento cero consiste en demostrar que sabes una cosa concreta, por ejemplo el hash (código) de un bloque, sin conocer más información, como el nombre, la dirección, etc.
La parte rollup significa enrollar. En este contexto, significa que se agrupan varias transacciones y se procesan en un solo block.
Ambas partes tienen que ver con la velocidad. Con los rollups de zk, la velocidad de una blockchain aumenta bastante.
Un roll up zk es una solución de layer 2. Se suele implantar cuando la red principal se vuelve demasiado lenta y cara, como ocurre con Ethereum. La red principal de la blockchain, la layer 1, recibe entonces el apoyo de zk rollup, aliviándola y haciéndola más rápida y barata.
Imagina que eres desarrollador en Ethereum. Necesitas que la red sea más rápida y menos costosa de operar. Decides implantar rollups zk para descargar la mainnet.
Ahora, cuando se realicen transacciones, se agruparán fuera de la cadena en una subcadena. En esta subcadena, el nuevo estado de la red se comunica entonces a la mainnet (Ethereum) más algunos datos (prueba de conocimiento cero) para demostrar que es correcto.
Como resultado, la mainnet sólo tendrá que procesar el rollup y la prueba zk y no miles de transacciones. Así podrás escalar Ethereum de 10-15 transacciones a miles por segundo.
Por tanto, los datos de las transacciones se almacenarán en la mainnet, para que el estado de la blockchain siga siendo correcto y se comunique a todos los que siguen la red. Así, cada validator seguirá sabiendo cuánta ETH tiene cada uno.
El estado del rollup zk es seguido en la red Ethereum por un smart contracts. Para demostrar esta condición, tienen que aportar pruebas criptográficas de que también realizaron todas estas transacciones. Los roll ups de Zk también utilizan la compresión de datos, como las direcciones, para que todo sea aún más rápido y barato. Una vez aportada la prueba, el conjunto de transacciones recogidas se ejecutará instantáneamente en la mainnet.
Como las actualizaciones del estado de seguridad se realizan en la mainnet (Ethereum), los rollups de zk son mucho más seguros que los de cadenas laterales.
La mayoría de los rollups de zk utilizan un supernodo, una especie de superusuario que agrega todas las transacciones. Existe el riesgo de que alguien sea censurado, lo que en este caso significa que el superusuario no quiere validar tus transacciones. Si eso ocurre, alguien puede enviar sus transacciones directamente al contrato de rollup en mainnet.
Los usuarios pueden inscribirse para ser incluidos en el siguiente roll up y así ser más baratos.
Los operadores o superusuarios comprueban una transacción y si un usuario forma parte del estado de la red. Además, comprueban si hay fondos suficientes en una cuenta. La transacción debe ser correcta y la clave pública debe coincidir con la del remitente en el roll up. El nonce (para evitar el doble gasto) también se incluye en el roll up.
Cuando el roll up ha recogido suficientes transacciones, las agrupa. Se utiliza un SNARK zk para proporcionar una prueba de que los datos son correctos.
Después de esto, un circuito de comprobación se pone a trabajar sobre estos datos y comprueba si todo es correcto. Una vez hecho esto, el operador envía los datos al smart contracts de verificación de la capa 1 de la blockchain. Aquí se comprueba de nuevo que todo es correcto, tras lo cual las transacciones se introducen en el libro mayor y se conoce el nuevo estado de la blockchain.
Incluso es posible que se creen pruebas. Estas pruebas llamadas recursivas agrupan zk pruebas en la capa 2, luego en la capa 1 se aceptan todas las pruebas juntas, tras lo cual se acepta instantáneamente una batería de bloques, lo que añade más escalabilidad a una red roll up.
Si también quieres unirte a un roll up como usuario para reducir tus costes de transacción, tienes que estacar fondos en un contrato inteligente de roll up en la layer 1. Una vez que el operador haya aceptado tus fondos, podrás realizar transacciones más baratas en este roll up.
Los roll ups Zk aumentan así la escalabilidad y reducen los costes de usuario. Sin embargo, son bastante difíciles de implantar, por lo que su uso sigue siendo escaso. También aumentan las posibilidades de que superusuarios deshonestos amenacen la red. A medida que los desarrolladores adquieran más destreza, los roll ups zk serán sin duda más comunes, ya que muchos usuarios de determinadas redes consideran inaceptables los costes de transacción y la velocidad.