Traducción: cadena de bloques vernácula
Hubo mucho entusiasmo en los primeros días de blockchain. Sin embargo, a medida que más personas comenzaron a utilizar blockchain y aumentaron los volúmenes de transacciones, surgió un problema importante: la escalabilidad. Además de los problemas de escalabilidad, también existen problemas de seguridad y descentralización. Este desafío se conoce como el “Trilema Blockchain”, lo que significa que es extremadamente difícil lograr estas tres propiedades simultáneamente.
Como primera cadena de bloques, Bitcoin solo puede manejar una pequeña cantidad de transacciones por segundo, y Ethereum no es mucho mejor. Esto ha llevado a la necesidad de soluciones para mejorar la escalabilidad de blockchain. Esta necesidad dio origen a las pruebas ZK.
1. Prueba ZK como solución de escalado
El concepto de "conocimiento cero" fue propuesto por primera vez en 1985 por Shafi Goldwasser, Silvio Micali y Charles Rackoff en el artículo "Knowledge Complexity of Interactive Proof Systems". Este artículo explica el concepto de pruebas de conocimiento cero (ZK), mucho antes del nacimiento de las criptomonedas.
Según la definición del artículo: La prueba de conocimiento cero es un método que permite a una parte (el probador) demostrarle a otra parte (el verificador) que una determinada afirmación es correcta sin revelar ninguna otra información más allá de la afirmación.
En otras palabras, el principio de conocimiento cero garantiza que no se transmita ningún conocimiento adicional del probador al verificador aparte de la verdad de la afirmación.
Una analogía clásica para explicar el concepto de pruebas de conocimiento cero es la "cueva de Alibaba":
Escenario: Hay una cueva con dos caminos A y B, que forman un circuito y se encuentran en una puerta cerrada. Jane (la probadora) conoce el código secreto que abre la puerta, y Paul (el verificador) quiere confirmar que Jane conoce el código, pero no quiere saberlo él mismo.
proceso:
1) Jane entra a la cueva y elige al azar el camino A o B.
2) Paul espera afuera, preguntándose qué camino ha elegido Jane.
3) Paul entra a la cueva y dice en voz alta el camino que quiere que Jane tome (A o B).
4) Si Jane conoce el código, puede abrir la puerta y regresar por el camino elegido.
5) Este proceso (1-5) se repite varias veces para garantizar que Jane no obtenga resultados correctos simplemente por adivinar.
Si, después de muchas repeticiones, Jane siempre regresa del camino correcto, Paul puede estar seguro de que Jane conoce el código sin conocer el código en sí.
Las pruebas ZK están diseñadas para garantizar la privacidad y la seguridad, manteniendo privada la información confidencial y al mismo tiempo permitiendo que otros verifiquen su autenticidad. En resumen, las pruebas ZK ayudan a mantener seguros los datos importantes y, al mismo tiempo, demuestran su legitimidad sin revelar detalles específicos.
El concepto de pruebas ZK también ha dado lugar a varias tecnologías y aplicaciones de criptografía avanzadas, como ZK Rollups y ZK Compressions.
En 2018, un Barry Whitehat anónimo subió una base de código llamada "roll_up" en GitHub, introduciendo el concepto de Rollups. Más tarde, Vitalik Buterin, el fundador de Ethereum, desarrolló aún más este concepto y propuso zk-Rollups.
zk-Rollups (abreviatura de paquetes acumulativos de conocimiento cero) es una solución de escalamiento de segunda capa que se utiliza para mejorar el rendimiento de la red principal de Ethereum. Escalan moviendo la computación y el almacenamiento de estado fuera de la cadena.
Los protocolos de capa 2 son protocolos secundarios creados sobre la cadena de bloques para mejorar su escalabilidad, velocidad y reducir las tarifas de transacción.
El 21 de junio, Light Protocol, una capa de privacidad basada en Solana, anunció que cooperaría con el equipo de desarrollo de Solana, Helius Labs, para lanzar una red de prueba de su nueva solución de escalamiento "ZK Compression", con el objetivo de reducir significativamente los costos de computación en cadena.
Si bien zk-Rollups y zk-Compression aprovechan el poder de las pruebas de conocimiento cero para optimizar la tecnología blockchain, tienen diferentes propósitos y se implementan de manera diferente.
No obstante, las comunidades de Ethereum y Solana han estado debatiendo qué tecnología es mejor.
Por ejemplo, un miembro de la comunidad Ethereum llamó a la compresión ZK "otra L2".
Después de que Mert, CEO de Heliuslabs, respondiera al tweet anterior, la comunidad de Solana respondió con un video creativo burlándose de Ethereum.
En el vídeo, un médico trata a un paciente con "extremismo ETH". Una línea en el video dice:
“Esta es una reacción común de los extremistas de ETH. No pueden funcionar sin otra capa, ¡habrá una cuarta!
La competencia entre estas blockchains es clara. Por lo tanto, este artículo tiene como objetivo proporcionar una comparación clara y completa de sus soluciones de escalabilidad, destacando las características únicas, las diferencias y los casos de uso del mundo real de cada solución.
2. ¿Qué son los paquetes acumulativos de ZK?
En esencia, ZK Rollups es una solución de escalamiento de capa 2 diseñada para mejorar la eficiencia y escalabilidad de las redes blockchain.
La idea central es simple: en lugar de procesar cada transacción directamente en la cadena de bloques principal, se agrupan múltiples transacciones en una única prueba. Esta prueba fusionada luego se envía a la cadena de bloques para su verificación.
Este enfoque aumenta significativamente el rendimiento de las transacciones (la cantidad de transacciones que la red puede procesar en un período de tiempo determinado) sin sacrificar la seguridad de la red.
Para entender esto mejor,
Imagina que estás organizando un concierto. En lugar de que cada participante atraviese una puerta estrecha (la cadena de bloques principal) uno por uno, lo que podría causar congestión y retrasos, se puede implementar un sistema que verifique a un grupo de participantes simultáneamente en un punto de control. Cada grupo lleva un billete único que acredita que todos han sido correctamente facturados y admitidos. De esta manera, al reducir la obstrucción en la entrada, se garantiza la seguridad y se aumenta la eficiencia.
ZK Rollups mejora la eficiencia y seguridad general del usuario al procesar transacciones fuera de la cadena y utilizar tecnologías de criptografía avanzadas como ZK-SNARK o ZK-STARK para garantizar la validez y privacidad de las transacciones.
Los zk-SNARK son pruebas zk que proporcionan pruebas concisas (es decir, tamaño de prueba corto y verificación eficiente), que son muy adecuadas para escenarios de aplicación donde el tamaño de la prueba y el tiempo de verificación son críticos.
Los zk-STARK son pruebas zk que permiten pruebas más grandes y complejas, adecuadas para aplicaciones como auditoría financiera a gran escala, privacidad de datos e informática verificada.
ZK Rollups es la solución de escalamiento perfecta para redes blockchain como Ethereum porque agrega transacciones fuera de la cadena en lotes, lo que reduce la cantidad de datos enviados directamente a Ethereum.
Los ZK Rollups en Ethereum funcionan aprovechando la criptografía para agregar y verificar transacciones fuera de la cadena, aumentando así la escalabilidad y reduciendo los costos de la cadena de bloques Ethereum.
A continuación se explica paso a paso cómo funciona ZK-Rollups:
1) Agregación de transacciones: los usuarios firman y envían transacciones a los operadores ZK-Rollup (serializadores), que agregan estas transacciones en lotes.
2) Procesamiento fuera de la cadena: las transacciones se procesan fuera de la cadena fuera de la red principal de Ethereum (segunda capa).
3) Actualización de estado: después de procesar un lote de transacciones, el operador ZK-Rollup calcula una nueva raíz de estado para el estado acumulado.
4) Prueba de validez: el operador ZK-Rollup genera una prueba de validez para garantizar que todas las transacciones del lote se ejecuten correctamente de acuerdo con las reglas del protocolo.
5) Verificación en cadena: el operador ZK-Rollup envía el certificado de validez y la nueva raíz de estado al contrato inteligente de Ethereum, llamado contrato acumulativo. El contrato verifica y actualiza su estado en consecuencia.
6) Interacción del usuario: los usuarios depositan tokens en el contrato acumulativo en la red principal de Ethereum, inician transacciones dentro del paquete acumulativo y retiran tokens a la red principal cuando es necesario.
7) Mecanismo de salida: para retirar tokens de ZK-Rollup a la red principal de Ethereum, los usuarios deben enviar una solicitud de retiro y adjuntar un certificado Merkle para demostrar que tienen propiedad del token en el estado acumulativo. Después de la verificación mediante el contrato acumulativo, los tokens se transferirán nuevamente a la dirección Ethereum del usuario.
1) Ventajas de los paquetes acumulativos de ZK
Estos son algunos de los beneficios de ZK Rollups:
A. Escalabilidad mejorada: al agrupar múltiples transacciones en un lote, zk-Rollups puede procesar miles de transacciones por segundo (TPS), lo que aumenta significativamente el rendimiento en comparación con la capa base.
B. Tarifas de manejo más bajas: dado que las tarifas del gas se distribuyen entre múltiples transacciones en el lote acumulado, el costo de cada transacción se reduce, lo que la hace más económica para los usuarios.
C. Seguridad a nivel de Ethereum: los zk-Rollups heredan la seguridad de la cadena principal de Ethereum porque envían pruebas (zk-SNARK) a Ethereum para garantizar la validez de las transacciones fuera de la cadena.
D. Reducir la carga de datos: al enviar solo pruebas concisas a la cadena principal, zk-Rollups reduce significativamente la cantidad de datos que deben procesarse y almacenarse en la cadena de bloques Ethereum.
E. Protección de privacidad mejorada: zk-Rollups puede proporcionar funciones de privacidad mejoradas. Las pruebas de conocimiento cero pueden ocultar los detalles de las transacciones y al mismo tiempo demostrar su validez, lo que permite transacciones privadas en una cadena de bloques pública.
2) Desventajas de los paquetes acumulativos de ZK
Si bien los ZK Rollups aportan muchas ventajas, también presentan algunos inconvenientes y desafíos.
Aquí hay algunas desventajas:
A. Complejidad: Los ZK Rollups son técnicamente complejos y su implementación y mantenimiento requieren conocimientos profesionales.
B. Disponibilidad de datos: es crucial garantizar que los datos necesarios para reconstruir el estado estén disponibles en la cadena. Si los datos no están disponibles, puede afectar la capacidad de verificar y reconstruir el estado del resumen. Además, zk Rollups a menudo depende del almacenamiento de datos fuera de la cadena, lo que puede plantear riesgos si los datos se pierden o son inaccesibles.
C. Costo computacional: generar pruebas de conocimiento cero (zk-SNARK) requiere una gran cantidad de recursos informáticos y el costo computacional es alto.
D. Riesgo de centralización: si resulta que la infraestructura está controlada por unas pocas entidades, aún puede existir un riesgo de centralización.
3) Casos de uso actuales de ZK Rollups
Cada día surgen nuevos proyectos de ZK Rollup. A continuación se muestran algunos proyectos ZK Rollup conocidos:
Como Starkware (que desarrolla soluciones de escalamiento de segunda capa personalizadas y con licencia), Aztec Network (que crea cifrado blockchain utilizando zkSNARK), Argent (billetera sin custodia integrada con zkSync), Immutable X (plataforma de comercio y emisión de NFT), Loopring (proyectos como el protocolo de pago y transacción zk-rollup en Ethereum utiliza ZK Rollups.
Estas son las diferentes formas en que se pueden utilizar ZK Rollups:
En finanzas descentralizadas (DeFi): ayudar a los usuarios a prestar y comerciar con costos de gas más bajos.
En intercambios descentralizados (DEX): promover intercambios de tokens más rápidos y rentables al tiempo que se mejora la protección de la privacidad.
En juegos y NFT: mejorar la participación de los usuarios en las plataformas digitales, respaldando economías de juegos escalables y mercados NFT vibrantes.
En Pagos: Facilitar microtransacciones y pagos transfronterizos rápidos y de bajo costo.
3. ¿Qué es la compresión ZK?
ZK Compression es una tecnología original creada y lanzada por Light Protocol y Helius Labs. Reduce los costos en cadena mediante el uso de pruebas y compresión de conocimiento cero, lo que reduce la cantidad de datos almacenados en la cadena y los requisitos computacionales al realizar transacciones en Solana.
Las "tecnologías originales" se refieren a algoritmos de cifrado de bajo nivel utilizados como base o componentes básicos para algoritmos de cifrado de nivel superior. Para comprender mejor la compresión ZK, es importante comprender la arquitectura y los desafíos únicos de Solana.
1) Entender "cuenta" en Solana
A diferencia de Ethereum, donde los contratos inteligentes y los datos están estrechamente vinculados, Solana utiliza un modelo en el que los datos se almacenan en "cuentas" separadas. Estas cuentas cubren todo, desde código ejecutable hasta saldos de tokens.
En Solana todo es una cuenta.
Si bien este modelo logra el alto rendimiento y las capacidades de procesamiento paralelo de Solana, tiene un precio: los validadores deben almacenar todas las cuentas activas en una memoria de acceso rápido (RAM), lo cual es costoso.
Para evitar abusos y compensar a los validadores, Solana ha implementado un sistema de "alquiler" en el que los usuarios deben bloquear tokens SOL para mantener sus cuentas activas, y el monto del alquiler está directamente relacionado con el tamaño de los datos almacenados.
A medida que Solana crecía en popularidad, el costo de crear y mantener estas cuentas se convirtió en una barrera importante para el escalamiento, por lo que se necesitaba una solución: ZK Compression. Con la llegada de ZK Compression, se espera que el costo de crear una nueva cuenta de Solana se reduzca significativamente, posiblemente en "órdenes de magnitud".
Si el costo de algo se ha reducido en un "orden de magnitud", significa que el costo o el esfuerzo se ha reducido significativamente, generalmente en un factor de diez o más en comparación con lo que era antes.
Esto significa que el costo de crear y rastrear 100 cuentas de usuario comprimidas (también conocidas como cuentas simbólicas) para saldos de criptomonedas será hasta 5000 veces más barato que crear 100 cuentas simbólicas normales.
Piénselo de esta manera: compresión significa apretar algo para que ocupe menos espacio. La compresión ZK aplica este principio, donde "ZK" significa que la protección de la privacidad de los datos comprimidos no se ve afectada.
En pocas palabras, la compresión ZK solo almacena la "huella digital" (hash) de los datos comprimidos en la cadena. Este enfoque reduce los costos de almacenamiento al tiempo que mantiene la privacidad de los datos.
Al contrario de lo que dicen los competidores, la compresión ZK no es una cadena de segunda capa en Solana; es una actualización diseñada para mejorar el almacenamiento de datos de Solana y reducir significativamente los costos para los desarrolladores.
La forma en que funciona ZK Compression en Solana es abordar directamente este desafío, permitiendo a los desarrolladores comprimir múltiples estados de cuentas en una sola cuenta en cadena.
Así es como funciona:
Compresión de cuentas: varios estados de cuentas se fusionan de forma recursiva y se codifican en una "raíz de estado" compacta de 32 bytes. Almacenamiento dentro y fuera de la cadena: el árbol de estado es un árbol binario de Merkle que organiza los datos en una estructura jerárquica y puede verificar de manera efectiva la integridad de los datos. Esta raíz de estado se almacena en la cadena, mientras que los datos completos de la cuenta se almacenan fuera de la cadena en el libro mayor de Solana. Prueba de verificación: una prueba concisa de conocimiento cero confirma la existencia de múltiples cuentas comprimidas en el árbol de estado, manteniendo un tamaño constante de 128 bytes. Cuando una transacción necesita acceder o modificar datos comprimidos, proporciona prueba de que los datos coinciden con la raíz del estado en cadena. Verificación: la prueba se verifica en la cadena y, si es válida, se permite que la transacción continúe. La innovación clave es el uso de pruebas de conocimiento cero, específicamente SNARK (Argumentos de conocimiento sucintos no interactivos), para comprimir las pruebas de Merkle utilizadas en este proceso.
Esta compresión reducirá el tamaño de la prueba de unos pocos cientos de bytes potenciales a 128 bytes constantes, independientemente del número de cuentas que se compriman.
Esta importante reducción en el tamaño de los datos permite a los desarrolladores trabajar dentro de los límites del tamaño de las transacciones de Solana mientras interactúan con múltiples cuentas comprimidas en una sola transacción.
2) Ventajas de la compresión ZK sobre la cadena de bloques Solana
Estos son los beneficios de la compresión ZK para el ecosistema de Solana:
A. Ahorro de energía y eficiencia: la reducción de los requisitos de almacenamiento e informática reduce el consumo de energía de las operaciones.
B. Escalabilidad: la compresión de datos de Solana aumenta la capacidad de procesamiento de aplicaciones y transacciones, mejorando la escalabilidad general.
Preservar la seguridad de la cadena de capa 1: a diferencia de las soluciones de capa 2, los datos comprimidos conservan todos los beneficios de seguridad de la cadena principal de Solana.
C. Entorno integrado: los desarrolladores pueden crear e implementar aplicaciones en un único entorno sin puentes entre capas, lo que simplifica el proceso de desarrollo.
D. Reducir costos: al reducir los requisitos de almacenamiento en cadena, se reducen los costos de almacenamiento de datos.
E. Programabilidad: los datos comprimidos son totalmente compatibles con los contratos inteligentes de Solana, conservando su practicidad y programabilidad.
3) Desventajas de la compresión ZK en la cadena de bloques Solana:
A. Complejidad computacional: generar pruebas de conocimiento cero requiere una gran cantidad de recursos informáticos, lo que puede generar costos elevados y un rendimiento más lento.
B. Desafíos de implementación: El desarrollo y la implementación de ZK Compression requieren conocimientos de criptografía profesional y existen ciertos umbrales técnicos.
C. Problemas de escalabilidad: aunque ZK Compression tiene como objetivo mejorar la escalabilidad, las demandas computacionales a veces pueden contrarrestar estas ventajas, especialmente en entornos con recursos limitados.
D. Gastos generales de verificación: la verificación de pruebas de conocimiento cero, aunque generalmente requiere menos recursos que el proceso de generarlas, aún requiere recursos computacionales. En algunos casos, esto puede provocar retrasos y afectar la eficiencia general del sistema.
E. Costo económico: Los altos requisitos informáticos aumentarán el consumo de energía y los costos operativos. Esto puede hacer que ZK Compression sea menos viable económicamente para determinadas aplicaciones.
4. Casos de uso de compresión ZK
A continuación se muestran algunos posibles casos de uso de la compresión ZK:
Aplicaciones DeFi: los protocolos DeFi en Solana, como Jupiter Exchange, pueden aprovechar la compresión ZK para ayudar a reducir las tarifas y acelerar las transacciones.
Micropagos: en soluciones de micropagos como Code, ZK Compression puede hacer que los pagos en la red Solana sean más rentables y sostenibles al reducir los requisitos de almacenamiento en cadena.
Redes descentralizadas: protocolos como Helium proporcionan redes inalámbricas descentralizadas que prestan servicio a millones de usuarios y dispositivos. ZK Compression juega un papel clave en la gestión de las grandes cantidades de datos generados por estas redes sin la necesidad de soluciones complejas de segundo nivel.
Juegos: ZK Compression puede optimizar los costos de almacenamiento en juegos como Honeyland. Se reducirá el costo de todos los activos del juego, elementos del juego y metadatos NFT, lo que mejorará la experiencia general del usuario.
5. Compare los paquetes acumulativos de ZK y la compresión ZK
1) Similitudes
Uso de pruebas de conocimiento cero: ambas soluciones utilizan pruebas de conocimiento cero para verificar y procesar de forma segura transacciones fuera de la cadena.
Escalabilidad mejorada: Su objetivo es mejorar la escalabilidad de blockchain reduciendo el procesamiento de transacciones en cadena y el almacenamiento de datos.
Soluciones de capa 2: ambas se consideran soluciones de escalamiento de capa 2 construidas sobre sus respectivas cadenas de bloques para aumentar el rendimiento de las transacciones y reducir los costos.
2) Diferencias
Plataforma Blockchain: ZK Rollups se ejecuta en Ethereum, mientras que ZK Compression se implementa en Solana.
Enfoque principal: ZK Rollups se centra en agregar y procesar transacciones fuera de la cadena para mejorar la escalabilidad, mientras que ZK Compression reduce principalmente los costos de almacenamiento en cadena mediante la compresión de datos.
Método de implementación: ZK Rollups agrupa múltiples transacciones en una sola prueba y la envía a la cadena principal de Ethereum, mientras que ZK Compression comprime múltiples estados de cuenta en una única cuenta en cadena en Solana.
Tamaño de la prueba: ZK Rollups utiliza zk-SNARK o zk-STARK para generar pruebas concisas, mientras que ZK Compression aprovecha zk-SNARK para comprimir pruebas de Merkle en un tamaño constante.
Procesamiento de transacciones: ZK Rollups procesa transacciones fuera de la cadena y envía pruebas a Ethereum periódicamente, mientras que ZK Compression procesa datos comprimidos de la cuenta en la cadena a través de pruebas de conocimiento cero.
3) Casos de uso
A. Casos de uso actuales de ZK Rollups
Aplicaciones DeFi: mejore los protocolos financieros descentralizados reduciendo las tarifas de transacción y aumentando la velocidad de las transacciones.
Intercambios descentralizados (DEX): facilite el intercambio de tokens eficiente manteniendo la privacidad.
Juegos: respaldar economías de juegos escalables y mercados NFT con costos más bajos.
Pagos: Permita micropagos y pagos transfronterizos rápidos y de bajo costo.
B. Posibles casos de uso de la compresión ZK
Aplicaciones DeFi: tarifas más bajas y transacciones más rápidas para protocolos DeFi en Solana.
Micropagos: hacer que las pequeñas transacciones sean más rentables y sostenibles minimizando el almacenamiento en cadena.
Redes descentralizadas: administre de manera eficiente las grandes cantidades de datos generados por redes inalámbricas descentralizadas y aplicaciones de IoT.
Juego: optimice el costo de almacenamiento de los activos del juego y los metadatos de NFT para mejorar la experiencia del usuario.
6. Resumen
Ya sea que sufras de Eth Maximysis o seas un firme partidario de Solana como yo, lo más importante es elegir una cadena de bloques que se adapte a tus necesidades actuales.
Creo que ZK Rollups son la mejor opción para proyectos que requieren alta seguridad y se benefician del ecosistema maduro de Ethereum, ya que proporcionan una forma confiable de escalar Ethereum mientras mantienen su estructura descentralizada.
Por otro lado, con ZK Compression, Solana puede procesar más transacciones sin estancarse, incluso si el precio de SOL aumenta. Por lo tanto, creo que ZK Compression en Solana es una buena opción para aplicaciones donde la velocidad, el rendimiento y la rentabilidad son importantes.
Solana permite aplicaciones descentralizadas (dApps) rentables y de alto rendimiento que están preparadas para el futuro, ya que la velocidad y el costo son fundamentales para la adopción generalizada de la tecnología blockchain.
En resumen, tanto ZK Rollups como ZK Compression ayudan a que las transacciones sean más rápidas, más económicas y, por lo tanto, más escalables.