Una interpretación en profundidad de la aplicación de la tecnología a prueba de conocimiento cero: la tercera innovación tecnológica importante en la historia del desarrollo de blockchain
Investigador @Jesse_meta, Nodo de Finanzas Inclusivas, SUSS NiFT, Universidad de Ciencias Sociales de Singapur
Investigador de beosina @ EatonAshton2
Investigador de seguridad de menor autoridad @kaplannie
Independientemente de si la información se almacena en Internet o en archivos fuera de línea, ya sea intencional o accidental, los incidentes de fuga de información son comunes hoy en día y no hace falta decirlo. Mientras la información se almacene de forma centralizada, siempre existe el riesgo de que se produzca un único punto de ataque. Mientras el proceso de verificación requiera un tercero confiable, habrá riesgos éticos e ineficiencias. La solución a la seguridad de la información es crucial y urgente. La tecnología de prueba de conocimiento cero permite a los usuarios completar la verificación de manera más eficiente y segura mientras protege su privacidad.
Si Bitcoin es el primer gran invento que blockchain trae al mundo real, proporcionando una nueva forma de almacenar valor, y los contratos inteligentes de Ethereum son el segundo hito importante, que libera el potencial para la innovación, entonces la aplicación de pruebas de conocimiento cero es la más grande La tercera innovación tecnológica más grande en la historia del desarrollo de blockchain, brinda privacidad y escalabilidad. Esta no es solo una parte importante del ecosistema Web3, sino también una tecnología básica importante que tiene el potencial de promover el cambio social.
Este artículo presenta los escenarios de aplicación, los principios de funcionamiento, el estado de desarrollo y las tendencias futuras de la prueba de conocimiento cero desde la perspectiva de una persona sin conocimientos técnicos, con la esperanza de que los lectores sin experiencia técnica comprendan los principales cambios que la prueba de conocimiento cero está a punto de traer. .
1. ¿Qué es la prueba de conocimiento cero?
La prueba de conocimiento cero (ZKP) es un protocolo matemático propuesto por primera vez en el artículo "La complejidad del conocimiento de las pruebas interactivas" de 1985, del que fueron coautores Shafi Goldwasser, Silvio Micali y Charles Rackoff. Excepto que se demuestre cierto hecho, habrá No divulgar ninguna otra información. El verificador no tiene acceso a la información secreta que generó la prueba. Déjame darte un ejemplo para ayudarte a entender: quiero demostrar que conozco el número de teléfono de alguien, solo necesito poder marcar el número de teléfono de esa persona frente a todos para probar este hecho, sin revelar el número real de esa persona. Las pruebas de conocimiento cero proporcionan una forma eficiente y casi libre de riesgos de compartir datos. Utilizando pruebas de conocimiento cero, podemos conservar la propiedad de los datos, mejorar enormemente la protección de la privacidad y, con suerte, hacer que las violaciones de datos sean cosa del pasado.
La prueba de conocimiento cero tiene tres características:
integridad
Si una afirmación es cierta, los verificadores honestos serán convencidos por los probadores honestos. Es decir, lo que está bien no puede estar mal.
racionalidad
Si una afirmación es falsa, en la gran mayoría de los casos un probador engañoso no puede hacer que un verificador honesto crea la afirmación falsa. Es decir, lo que está mal no puede estar bien.
conocimiento cero
Si una afirmación es verdadera, el verificador no puede obtener ninguna información adicional aparte de que la afirmación es verdadera.
Las pruebas de conocimiento cero tienen una probabilidad muy pequeña de producir errores razonables, es decir, un probador que hace trampa puede hacer que el verificador crea una afirmación incorrecta. La prueba de conocimiento cero es una prueba probabilística, no determinista, pero podemos reducir el error racional a insignificante mediante algunas técnicas.
2. Aplicación de la prueba de conocimiento cero
Los dos escenarios de aplicación más importantes de la prueba de conocimiento cero son la privacidad y la escalabilidad.
2.1 Privacidad
Las pruebas de conocimiento cero permiten a los usuarios compartir de forma segura la información necesaria para obtener bienes y servicios sin revelar datos personales, protegiéndolos de los piratas informáticos y la filtración de información de identificación personal. Con la integración gradual de los campos digital y físico, la función de protección de la privacidad de la prueba de conocimiento cero se ha vuelto crucial para la seguridad de la información en Web3 e incluso más allá de Web3. Sin una prueba de conocimiento cero, la información del usuario existirá en una base de datos de terceros confiable y será potencialmente vulnerable a ataques de piratas informáticos. El primer caso de aplicación de la prueba de conocimiento cero en blockchain es la moneda de privacidad Zcash, que se utiliza para ocultar detalles de transacciones.
2.1.1 Protección y verificación de la información de identidad
En las actividades en línea, a menudo necesitamos proporcionar información como nombre, fecha de nacimiento, correo electrónico y contraseñas complejas para demostrar que somos usuarios con permisos legales. Por lo tanto, a menudo dejamos información confidencial en línea que no queremos revelar. Hoy en día no es raro recibir llamadas fraudulentas llamándonos por nuestro nombre, lo que demuestra que la filtración de información personal es muy grave.
Podemos utilizar la tecnología blockchain para darle a cada persona un identificador digital cifrado especial que contiene datos personales. Este identificador digital permite la construcción de una identidad descentralizada y es imposible de falsificar o cambiar sin el conocimiento de su propietario. La identidad descentralizada permite a los usuarios controlar el acceso a identidades personales, demostrar su ciudadanía sin revelar los detalles del pasaporte, simplificar el proceso de autenticación y reducir la posibilidad de que los usuarios pierdan el acceso debido a contraseñas olvidadas. Las pruebas de conocimiento cero se generan a partir de datos públicos que pueden probar la identidad del usuario y datos privados con información del usuario, y pueden usarse para verificar la identidad cuando los usuarios acceden a los servicios. Esto no solo reduce el engorroso proceso de verificación, mejora la experiencia del usuario, sino que también evita el almacenamiento centralizado de la información del usuario.
Además, las pruebas de conocimiento cero también se pueden utilizar para crear sistemas de reputación privados, lo que permite a las agencias de servicios verificar si los usuarios cumplen ciertos estándares de reputación sin revelar su identidad. Los usuarios pueden exportar su reputación de forma anónima desde plataformas como Facebook, Twitter y Github mientras enmascaran la cuenta de origen específica.
2.1.2 Pago anónimo
Los detalles de las transacciones pagadas con tarjetas bancarias suelen ser visibles para múltiples partes, incluidos proveedores de pagos, bancos y gobiernos, lo que expone hasta cierto punto la privacidad de los ciudadanos comunes y los usuarios deben confiar en que las partes relevantes no harán el mal.
Las criptomonedas pueden permitir que se realicen pagos sin terceros, lo que permite transacciones directas entre pares. Sin embargo, las transacciones en las principales cadenas públicas actualmente son públicamente visibles. Aunque las direcciones de los usuarios son anónimas, aún se pueden encontrar identidades del mundo real a través del análisis de datos de las direcciones asociadas en la cadena y datos fuera de la cadena, como el intercambio KYC y la información de Twitter. Si conoce la dirección de la billetera de una persona, puede verificar el saldo de su cuenta bancaria en cualquier momento, lo que incluso puede representar una amenaza para la identidad y la propiedad del usuario.
La prueba de conocimiento cero puede proporcionar pagos anónimos en tres niveles: monedas de privacidad, aplicaciones de privacidad y cadenas públicas de privacidad. La moneda de privacidad Zcash oculta los detalles de la transacción, incluidos el remitente, la dirección del destinatario, el tipo de activo, la cantidad y la hora. Tornado Cash es una aplicación descentralizada en Ethereum que utiliza pruebas de conocimiento cero para ofuscar los detalles de las transacciones y proporcionar transferencias privadas (pero los piratas informáticos también la utilizan a menudo para lavar dinero). Aleo es una cadena de bloques L1 diseñada para proporcionar funciones de privacidad para aplicaciones a nivel de protocolo.
2.1.3 Conducta honesta
Las pruebas de conocimiento cero pueden promover un comportamiento honesto y al mismo tiempo preservar la privacidad. El protocolo puede exigir a los usuarios que presenten pruebas de conocimiento cero para demostrar su comportamiento honesto. Debido a la racionalidad de las pruebas de conocimiento cero (lo que está mal no puede ser correcto), los usuarios deben actuar honestamente de acuerdo con los requisitos del protocolo antes de poder presentar pruebas válidas.
MACI (Infraestructura mínima anticolusión) es un escenario de aplicación que promueve la honestidad y previene la colusión durante la votación en cadena u otras formas de toma de decisiones. El sistema utiliza pares de claves y tecnología a prueba de conocimiento cero para lograr este objetivo. En MACI, los usuarios registran sus claves públicas en un contrato inteligente y envían sus votos al contrato mediante mensajes cifrados. La función anticolusión de MACI permite a los votantes cambiar sus claves públicas para evitar que otros conozcan sus elecciones de voto. El coordinador utiliza una prueba de conocimiento cero al final del período de votación para demostrar que ha procesado todos los mensajes correctamente y el resultado final de la votación es la suma de todos los votos válidos. Esto garantiza la integridad y equidad del voto.
2.1.4 Verificación de información personal
Cuando queramos obtener un préstamo, podemos obtener un certificado de ingresos digital de la empresa para solicitar el préstamo. La legitimidad de esta prueba puede comprobarse fácilmente mediante criptografía. El banco puede utilizar una prueba de conocimiento cero para verificar que nuestros ingresos alcanzan el mínimo requerido, pero no obtendrá información específica sensible.
2.1.5 Combinar el aprendizaje automático para aprovechar el potencial de los datos privados
Cuando se entrenan modelos de aprendizaje automático, generalmente se requieren grandes cantidades de datos. Al utilizar pruebas de conocimiento cero, los propietarios de datos pueden demostrar que sus datos cumplen con los requisitos para el entrenamiento de modelos sin exponerlos realmente. Esto ayuda a poner a trabajar los datos privados y a monetizarlos.
Además, las pruebas de conocimiento cero pueden permitir a los creadores de modelos demostrar que sus modelos cumplen con ciertas métricas de rendimiento sin exponer los detalles del modelo para evitar que otros copien o alteren sus modelos.
2.2 Extensible
A medida que aumenta el número de usuarios de blockchain, se requiere una gran cantidad de cálculos en la cadena de bloques, lo que provoca congestión en las transacciones. Algunas cadenas de bloques tomarán la ruta de expansión de la fragmentación, pero esto requiere una gran cantidad de modificaciones complejas en la capa base de la cadena de bloques, lo que puede amenazar la seguridad de la cadena de bloques. Otra solución más factible es tomar la ruta ZK-Rollup, utilizar cálculos verificables, subcontratar los cálculos a entidades de otra cadena para su ejecución y luego enviar la prueba de conocimiento cero y los resultados verificables a la cadena principal para su verificación. La prueba de conocimiento cero garantiza la autenticidad de la transacción. La cadena principal solo necesita actualizar el resultado al estado. No es necesario almacenar detalles ni reproducir cálculos, y no es necesario esperar a que otros discutan la autenticidad de la transacción. transacción, lo que mejora enormemente la eficiencia y la escalabilidad. Los desarrolladores pueden utilizar pruebas de conocimiento cero para diseñar dapps de nodos ligeros que puedan ejecutarse en hardware común, como teléfonos móviles, lo que favorece más que Web3 llegue a las masas.
La extensión de la prueba de conocimiento cero se puede aplicar tanto a la red de primera capa, como el Protocolo Mina, como a los paquetes acumulativos de ZK de la red de segunda capa.
3. Cómo funciona la prueba de conocimiento cero
Dmitry Laverenov (2019) divide las estructuras de prueba de conocimiento cero en interactivas y no interactivas.
3.1 Prueba interactiva de conocimiento cero
La forma básica de prueba interactiva de conocimiento cero consta de tres pasos: evidencia, impugnador y respuesta.
Evidencia: La información secreta oculta es la evidencia del probador. Esta evidencia plantea una serie de preguntas que sólo pueden ser respondidas correctamente por alguien que conozca la información. El probador comienza a seleccionar preguntas al azar y envía las respuestas calculadas al verificador como prueba.
Desafío: el verificador elige al azar otra pregunta del conjunto y le pide al probador que la responda.
Respuesta: El probador acepta la pregunta, calcula la respuesta y devuelve el resultado al verificador. La respuesta del probador permite al verificador comprobar si conoce la evidencia.
Este proceso se puede repetir varias veces hasta que la probabilidad de que el probador adivine la respuesta correcta sin conocer la información secreta sea lo suficientemente baja. Para dar un ejemplo matemático simplificado, si la probabilidad de que el probador pueda adivinar la respuesta correcta sin conocer la información secreta es 1/2, y la interacción se repite diez veces, la probabilidad de que el probador acierte cada vez es sólo 9,7 de 10 000. Si desea verificar La posibilidad de que una persona avale por error una certificación falsa es extremadamente baja.
3.2 Prueba de conocimiento cero no interactiva
Las pruebas interactivas de conocimiento cero tienen limitaciones. Por un lado, el probador y el verificador deben existir al mismo tiempo y realizar verificaciones repetidas. Por otro lado, cada cálculo de una nueva prueba requiere que el probador y el verificador pasen una prueba. conjunto de información La prueba no se puede reutilizar en una verificación independiente.
Para resolver las limitaciones de las pruebas interactivas de conocimiento cero, Manuel Blum, Paul Feldman y Silvio Micali propusieron pruebas de conocimiento cero no interactivas, en las que el probador y el verificador comparten la clave y solo se requiere una ronda de verificación. para hacer que la prueba de conocimiento cero demuestre ser más efectiva. El probador calcula la información secreta mediante un algoritmo especial para generar una prueba de conocimiento cero y la envía al verificador. El verificador utiliza otro algoritmo para comprobar si el probador conoce la información secreta. Una vez que se genera esta prueba de conocimiento cero, cualquiera que tenga la clave compartida y el algoritmo de verificación puede verificarla.
La prueba de conocimiento cero no interactiva es un gran avance en la tecnología de prueba de conocimiento cero y promueve el desarrollo de los sistemas de prueba de conocimiento cero actuales. Los métodos principales son ZK-SNARK y ZK-STARK.
4. Principales vías técnicas de prueba de conocimiento cero
Alchemy (2022) divide los caminos técnicos de la prueba de conocimiento cero en ZK-SNARK, ZK-STARK y ZK-SNARK recursivo.
4.1 ZK-SNARK
Los ZK-SNARK son una prueba de conocimiento cero concisa y no interactiva.

Para que una cadena pública garantice la exactitud de las transacciones ejecutadas en la red, es necesario lograrlo haciendo que otras computadoras (nodos) vuelvan a ejecutar cada transacción. Sin embargo, este método hará que cada nodo vuelva a ejecutar cada transacción, lo que ralentizará la red y limitará la escalabilidad. Los nodos también deben almacenar datos de transacciones, lo que hace que el tamaño de la cadena de bloques crezca exponencialmente.
Para estas restricciones entra en juego ZK-SNARK. Puede demostrar la exactitud de los cálculos realizados fuera de la cadena sin necesidad de que los nodos repitan cada paso del cálculo. Esto también elimina la necesidad de que los nodos almacenen datos de transacciones redundantes y aumenta el rendimiento de la red.
El uso de SNARK para verificar los cálculos fuera de la cadena codifica el cálculo en una expresión matemática para formar una prueba de validez. El verificador comprueba la exactitud de la prueba. Si la prueba pasa todas las comprobaciones, el cálculo subyacente se considera válido. El tamaño de una prueba de validez es muchas veces menor que el cálculo que verifica, de ahí que llamemos a los SNARK sucintos.
La mayoría de los ZK Rollups que utilizan ZK-SNARK siguen los siguientes pasos.
El usuario L2 firma la transacción y la envía al verificador.
El verificador utiliza criptografía para comprimir múltiples transacciones para generar los certificados de validez correspondientes (SNARK).
El contrato inteligente en la cadena L1 verifica el certificado de validez y determina si este lote de transacciones se publica en la cadena principal.
Vale la pena mencionar que ZK-SNARK requiere configuraciones confiables. En esta etapa, el generador de claves toma un programa y un parámetro secreto para generar dos claves públicas utilizables, una para crear la prueba y otra para verificarla. Estas dos claves públicas solo necesitan generar parámetros públicos una vez a través de una ceremonia de configuración confiable y pueden ser utilizadas varias veces por las partes que deseen participar en el protocolo de conocimiento cero. Los usuarios deben confiar en que los participantes en rituales de configuración confiables no son malvados y que no hay forma de evaluar la honestidad de los participantes. Conocer los parámetros secretos puede generar pruebas falsas y engañar al verificador, por lo que existen posibles riesgos de seguridad. Actualmente hay investigadores que exploran soluciones ZK-SNARK que no requieren suposiciones de confianza.
Ventaja
Seguridad
El paquete acumulativo ZK se considera una solución de expansión más segura que el paquete acumulativo OP porque ZK-SNARK utiliza un mecanismo de seguridad de cifrado avanzado, lo que dificulta engañar a los verificadores y realizar comportamientos maliciosos.
Alto rendimiento
ZK-SNARK reduce la cantidad de cálculo en la base de Ethereum, aliviando la congestión de la red principal. Los cálculos fuera de la cadena comparten los costos de transacción, lo que brinda velocidades de transacción más rápidas.
Tamaño de prueba pequeño
El pequeño tamaño de las pruebas SNARK hace que sean fáciles de verificar en la cadena principal, lo que significa que la tarifa del gas para verificar las transacciones fuera de la cadena es menor, lo que reduce el costo para los usuarios.
limitaciones
Centralización relativa
Depender de una configuración confiable la mayor parte del tiempo. Esto va en contra de la intención original de blockchain de eliminar la confianza.
Generar pruebas de validez con ZK-SNARK es un proceso computacional intensivo y el probador debe invertir en hardware especializado. Este hardware es caro y sólo unas pocas personas pueden permitírselo, por lo que el proceso de prueba de ZK-SNARK está altamente centralizado.
2.ZK-SNARK utiliza criptografía de curva elíptica (ECC) para cifrar la información utilizada para generar pruebas de validez. Actualmente es relativamente seguro, pero los avances en la computación cuántica pueden romper su modelo de seguridad.
Proyectos que utilizan ZK SNARK
Polígono Hermez
Polygon adquirió Hermez por 250 millones de dólares en 2021, convirtiéndose en la primera fusión y adquisición integral de dos redes blockchain. La tecnología y las herramientas ZK que Hermez aportó a la base de usuarios en rápido crecimiento de Polygon le permitieron obtener soporte en el desarrollo de zkEVM. Hermez 1.0 es una plataforma de pago que ejecuta un lote de transacciones fuera de la cadena, lo que permite a los usuarios transferir fácilmente tokens ERC-20 de una cuenta Hermez a otra cuenta Hermez, con hasta 2000 transacciones por segundo.
Hermez 2.0 actúa como un zkEVM de conocimiento cero para ejecutar de forma transparente transacciones de Ethereum, incluidos contratos inteligentes con verificación de conocimiento cero. Es totalmente compatible con Ethereum y no requiere muchos cambios en el código del contrato inteligente, lo que hace que sea conveniente para los desarrolladores implementar proyectos L1 en Polygon Hermez. Hermez 1.0 usa pruebas SNARK y 2.0 usa pruebas SNARK y STARK. En 2.0, la prueba STARK se utiliza para demostrar la validez de las transacciones fuera de la cadena. Sin embargo, el costo de verificar la prueba STARK en la cadena principal es muy alto, por lo que se introduce la prueba SNARK para verificar STARK.
zkSync
zkSync 1.0, lanzado por Matter Labs en 2020, no admite contratos inteligentes y se utiliza principalmente para transacciones o transferencias. ZkSync 2.0, que admite contratos inteligentes, se lanzará públicamente en la red principal en marzo de 2023.
ZkSync compila el código fuente del contrato inteligente Solidity en Ethereum en Yul para lograr la compatibilidad con EVM. Yul es un lenguaje intermedio que se puede compilar en código de bytes para diferentes EVM. El código Yul se puede recompilar utilizando el marco del compilador LLVM en un conjunto de código de bytes personalizado y compatible con circuitos diseñado para zkEVM de zkSync. Este enfoque elimina la necesidad de realizar pruebas zk a través de código de nivel superior para todos los pasos de la ejecución de EVM, lo que facilita la descentralización del proceso de prueba y al mismo tiempo mantiene un alto rendimiento. En el futuro, se podrá agregar soporte para Rust, Java u otros lenguajes mediante la creación de nuevas interfaces de compilador, lo que aumentará la flexibilidad de la arquitectura zkEVM y llegará a más desarrolladores.
azteca
Aztec es el primer zkRollup híbrido que permite la ejecución de contratos inteligentes tanto públicos como privados en un solo entorno. Este es un entorno de ejecución sin conocimiento, no zkEVM. La confidencialidad se logra fusionando ejecuciones públicas y privadas en un único paquete híbrido, como transacciones privadas para AMM públicas, conversaciones privadas en juegos públicos, votaciones privadas para DAO públicas y más.
4.2 ZK-STARK
ZK-STARK no requiere una configuración confiable. ZK-STARK es la abreviatura de Argumento de conocimiento transparente escalable de conocimiento cero. En comparación con ZK-SNARK, ZK-STARK tiene mejor escalabilidad y transparencia.

Ventaja
Pierde la confianza
ZK-STARK verifica públicamente la aleatoriedad para reemplazar las configuraciones confiables, reduciendo la dependencia de los participantes y mejorando la seguridad del protocolo.
Mayores capacidades de expansión
Aunque la complejidad de los cálculos subyacentes aumenta exponencialmente, ZK-STARK aún mantiene tiempos de prueba y verificación más bajos, en lugar de un crecimiento lineal como ZK-SNARK.
Mayor garantía de seguridad
ZK-STARK utiliza valores hash resistentes a colisiones para el cifrado en lugar del esquema de curva elíptica utilizado en ZK-SNARK, que es resistente a los ataques de computación cuántica.
limitaciones
Tamaño de prueba más grande
El tamaño de la prueba de ZK-STARK es mayor, lo que hace que la verificación en la red principal sea más exitosa.
Menor tasa de adopción
ZK-SNARK es la primera aplicación práctica de prueba de conocimiento cero en blockchain, por lo que la mayoría de los paquetes acumulativos de ZK utilizan ZK-SNARK, que tiene sistemas y herramientas de desarrollo más maduros. Aunque ZK-STARK también cuenta con el respaldo de la Fundación Ethereum, su tasa de adopción es insuficiente y es necesario mejorar las herramientas básicas.
¿Qué proyectos utilizan ZK-STARK?
Polígono Miden
Polygon Miden, una solución de escalamiento basada en Ethereum L2, aprovecha la tecnología zk-STARK para integrar una gran cantidad de transacciones L2 en una sola transacción de Ethereum, aumentando así la potencia de procesamiento y reduciendo los costos de transacción. Sin fragmentación, Polygon Miden puede generar un bloque en 5 segundos y su TPS puede alcanzar más de 1000. Después de la fragmentación, su TPS puede llegar a 10,000. Los usuarios pueden retirar fondos de Polygon Miden a Ethereum en sólo 15 minutos. La función principal de Polygon Miden es una máquina virtual Turing completa basada en STARK, Miden VM, que facilita la verificación formal de los contratos.
StarkEx y StarkNet
StarkEx es un marco para soluciones de extensión de licencias personalizadas para aplicaciones específicas. Los proyectos pueden utilizar StarkEx para realizar cálculos fuera de la cadena de bajo costo y generar pruebas STARK que demuestren la exactitud de la ejecución. Una prueba de este tipo contiene entre 12.000 y 500.000 transacciones. Finalmente, la prueba se envía al validador STARK en la cadena y la actualización de estado se acepta después de que la verificación sea correcta. Las aplicaciones implementadas en StarkEx incluyen opciones perpetuas dYdX, NFT L2 Immutable, el mercado de comercio de tarjetas digitales deportivas Sorare y el agregador DeFi multicadena rhino.fi.
StarkNet es una L2 sin permiso donde cualquiera puede implementar contratos inteligentes desarrollados en el idioma de El Cairo. Los contratos implementados en StarkNet pueden interactuar entre sí para crear nuevos protocolos componibles. A diferencia de StarkEx, donde las aplicaciones son responsables de enviar transacciones, el secuenciador de StarkNet agrupa las transacciones por lotes y las envía para su procesamiento y certificación. StarkNet es más adecuado para protocolos que necesitan interactuar sincrónicamente con otros protocolos o que están más allá del alcance de las aplicaciones StarkEx. A medida que avance el desarrollo de StarkNet, las aplicaciones basadas en StarkEx podrán migrarse a StarkNet y disfrutar de la componibilidad.
Comparación entre ZK-SNARK y ZK-STARK

4.3 ZK-SNARK recursivo
Los rollups normales de ZK solo pueden procesar un bloque de transacciones, lo que limita la cantidad de transacciones que pueden procesar. El recursivo ZK-SNARK puede verificar más de un bloque de transacciones, fusionar los SNARK generados por diferentes bloques L2 en un único certificado de validez y enviarlo a la cadena L1. Una vez que el contrato en cadena L1 acepta la prueba enviada, todas estas transacciones se vuelven válidas, lo que aumenta en gran medida la cantidad de transacciones que en última instancia se pueden completar con pruebas de conocimiento cero.
Plonky2 es un nuevo mecanismo de prueba de Polygon Zero que utiliza ZK-SNARK recursivos para aumentar las transacciones. Los SNARK recursivos amplían el proceso de generación de pruebas agregando varias pruebas en una prueba recursiva. Plonky2 utiliza la misma tecnología para reducir el tiempo necesario para generar nuevas pruebas de bloque. Plonky2 genera pruebas para miles de transacciones en paralelo y luego las agrega recursivamente en una prueba de bloque, por lo que la velocidad de generación es muy rápida. El mecanismo de prueba ordinario intenta generar todo el bloque de prueba a la vez, lo cual es aún menos eficiente. Además, Plonky2 también puede generar pruebas en dispositivos de consumo, resolviendo el problema de centralización de hardware a menudo asociado con las pruebas SNARK.
5. Paquete acumulativo de conocimiento cero versus paquete acumulativo optimista
ZK-SNARK y ZK-STARK se han convertido en la infraestructura central de los proyectos de expansión de blockchain, especialmente la solución Zero Knowledge Rollup. Zero-Knowledge Rollup se refiere a una solución de expansión de segunda capa para Ethereum que utiliza tecnología de prueba de conocimiento cero para transferir todos los cálculos al procesamiento fuera de la cadena para reducir la congestión de la red. La principal ventaja de Zero Knowledge Rollup es que puede aumentar en gran medida el rendimiento de las transacciones de Ethereum mientras mantiene bajas las tarifas de transacción, y una vez que la transacción se empaqueta en el paquete acumulativo, se puede determinar de inmediato.
Además de Zero Knowledge Rollup, el actual plan de expansión L2 de Ethereum también incluye Optimistic Rollup. Las transacciones ejecutadas en Optimistic Rollup son válidas y se ejecutan inmediatamente de forma predeterminada. Sólo cuando se descubre una transacción fraudulenta (alguien presenta prueba de fraude) se revertirá la transacción. Por lo tanto, la seguridad es menor que Zero Knowledge Rollup. Para evitar transacciones fraudulentas, Optimistic Rollup tiene un período de desafío después del cual se debe finalizar la transacción. Esto puede hacer que los usuarios tengan que esperar un tiempo antes de recuperar sus fondos.
El uso de tecnología de prueba de conocimiento cero no se consideró cuando se diseñó originalmente EVM. Vitalik, el fundador de Ethereum, cree que Zero Knowledge Rollup será técnicamente complejo en el corto plazo, pero eventualmente derrotará a Optimistic Rollup en la guerra de expansión. La siguiente es una comparación entre Zero Knowledge Rollup y Optimistic Rollup.
 Fuente:SUSS NiFT, ChatGPT
6. ¿Cuál es la perspectiva futura de la tecnología a prueba de conocimiento cero?
El campo de la tecnología de prueba de conocimiento cero se encuentra en una posición única: en los últimos años, se han dedicado muchos esfuerzos a avanzar en la investigación en este campo, y muchos de los resultados son bastante nuevos en el campo de la criptografía y las comunicaciones seguras. Por lo tanto, quedan muchas preguntas interesantes por responder por parte de las comunidades académica y de desarrolladores. Al mismo tiempo, la tecnología de prueba de conocimiento cero se utiliza en varios proyectos, lo que demuestra los desafíos de la tecnología de conocimiento cero y amplía sus requisitos.
Un área de preocupación para la tecnología de prueba de conocimiento cero es la discusión sobre la seguridad poscuántica de la tecnología de prueba de conocimiento cero. Los SNARK (argumentos de conocimiento sucintos no interactivos) verificables públicamente son un componente clave en el campo de las tecnologías de conocimiento cero. Sin embargo, los esquemas SNARK verificables públicamente más utilizados no se consideran seguros cuánticamente. Los ejemplos incluyen Groth16, Sonic, Marlin, SuperSonic y Spartan. Estas soluciones se basan en problemas matemáticos que pueden resolverse eficazmente con la ayuda de computadoras cuánticas, lo que compromete en gran medida su seguridad en un mundo poscuántico.
Descubrimos que la comunidad académica está buscando activamente pruebas de conocimiento cero seguras cuánticamente que puedan usarse para una variedad de declaraciones sin una etapa de preprocesamiento. Los ejemplos actuales de pruebas de conocimiento cero con seguridad cuántica de última generación incluyen esquemas como Ligero, Aurora, Fractal, Lattice Bulletproofs y LPK22. Ligero, Aurora y Fractal se basan en funciones hash, mientras que Lattice Bulletproofs y LKP22 se basan en funciones reticulares. Ambas funciones se consideran seguras cuánticamente. Se ha convertido en una tendencia promover estos programas y mejorar su eficiencia.
Otra expectativa que tenemos para el futuro de la tecnología de conocimiento cero es su capacidad para resistir ataques y la madurez del código relacionado con la implementación. Dado el aumento en la cantidad de código escrito, habrá bibliotecas y mejores prácticas más seguras y examinadas para diversas técnicas de prueba de conocimiento cero. Por supuesto, habrá errores más comunes en el futuro que estarán esperando ser descubiertos y comunicados. Esperamos que el campo madure y se adopte ampliamente, con esfuerzos para estandarizar protocolos y garantizar la interoperabilidad entre diferentes implementaciones. Un proyecto llamado ZKProof ya ha comenzado a hacer esto.
Otra tendencia que seguirá existiendo en la comunidad de tecnología de conocimiento cero es trabajar más en algoritmos eficientes y posiblemente en hardware especial. En los últimos años, hemos visto disminuir el tamaño de las pruebas y que los probadores y verificadores se han vuelto más eficientes. Los avances en algoritmos, hardware especial y optimización computacional pueden conducir a implementaciones más rápidas y escalables.
Si bien la eficiencia de los algoritmos existentes beneficia a los futuros usuarios de la tecnología de prueba de conocimiento cero, también esperamos que las capacidades de las pruebas de conocimiento cero sigan expandiéndose. En el pasado, nos hemos encontrado con muchos casos al implementar ZK-SNARK preprocesados. Ahora vemos instancias ZK-SNARK cada vez más escalables. Además, algunas técnicas de prueba de conocimiento cero se utilizan más por su simplicidad que por sus capacidades de conocimiento cero.
Finalmente, otra tendencia en la tecnología de prueba de conocimiento cero es la intersección del aprendizaje automático y las pruebas de conocimiento cero (ZKML). La idea requiere entrenar grandes modelos de lenguaje en un entorno multipartito y utilizar técnicas de conocimiento cero para verificar los cálculos. Esto es muy útil para la inteligencia artificial actual. Existe potencial para que surjan proyectos en esta área.
Conclusión
Este artículo está coescrito por miembros de Blockchain Security Alliance. A través de su introducción, podemos comprender la amplia aplicación, las rutas técnicas, las tendencias de desarrollo y los desafíos de la prueba de conocimiento cero en el campo blockchain. Se cree que con el desarrollo de la tecnología de hardware y la criptografía, las pruebas de conocimiento cero lograrán más avances en el futuro, proporcionando servicios de aplicaciones más rápidos y seguros para el mundo digital.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Una interpretación en profundidad de la aplicación de la tecnología a prueba de conocimiento cero: la tercera innovación tecnológica importante en la historia del desarrollo de blockchain
autor:
Investigador @Jesse_meta, Nodo de Finanzas Inclusivas, SUSS NiFT, Universidad de Ciencias Sociales de Singapur
Investigador de beosina @ EatonAshton2
Investigador de seguridad de menor autoridad @kaplannie
Independientemente de si la información se almacena en Internet o en archivos fuera de línea, ya sea intencional o accidental, los incidentes de fuga de información son comunes hoy en día y no hace falta decirlo. Mientras la información se almacene de forma centralizada, siempre existe el riesgo de que se produzca un único punto de ataque. Mientras el proceso de verificación requiera un tercero confiable, habrá riesgos éticos e ineficiencias. La solución a la seguridad de la información es crucial y urgente. La tecnología de prueba de conocimiento cero permite a los usuarios completar la verificación de manera más eficiente y segura mientras protege su privacidad.
Si Bitcoin es el primer gran invento que blockchain trae al mundo real, proporcionando una nueva forma de almacenar valor, y los contratos inteligentes de Ethereum son el segundo hito importante, que libera el potencial para la innovación, entonces la aplicación de pruebas de conocimiento cero es la más grande La tercera innovación tecnológica más grande en la historia del desarrollo de blockchain, brinda privacidad y escalabilidad. Esta no es solo una parte importante del ecosistema Web3, sino también una tecnología básica importante que tiene el potencial de promover el cambio social.
Este artículo presenta los escenarios de aplicación, los principios de funcionamiento, el estado de desarrollo y las tendencias futuras de la prueba de conocimiento cero desde la perspectiva de una persona sin conocimientos técnicos, con la esperanza de que los lectores sin experiencia técnica comprendan los principales cambios que la prueba de conocimiento cero está a punto de traer. .
1. ¿Qué es la prueba de conocimiento cero?
La prueba de conocimiento cero (ZKP) es un protocolo matemático propuesto por primera vez en el artículo "La complejidad del conocimiento de las pruebas interactivas" de 1985, del que fueron coautores Shafi Goldwasser, Silvio Micali y Charles Rackoff. Excepto que se demuestre cierto hecho, habrá No divulgar ninguna otra información. El verificador no tiene acceso a la información secreta que generó la prueba. Déjame darte un ejemplo para ayudarte a entender: quiero demostrar que conozco el número de teléfono de alguien, solo necesito poder marcar el número de teléfono de esa persona frente a todos para probar este hecho, sin revelar el número real de esa persona. Las pruebas de conocimiento cero proporcionan una forma eficiente y casi libre de riesgos de compartir datos. Utilizando pruebas de conocimiento cero, podemos conservar la propiedad de los datos, mejorar enormemente la protección de la privacidad y, con suerte, hacer que las violaciones de datos sean cosa del pasado.
La prueba de conocimiento cero tiene tres características:
integridad
Si una afirmación es cierta, los verificadores honestos serán convencidos por los probadores honestos. Es decir, lo que está bien no puede estar mal.
racionalidad
Si una afirmación es falsa, en la gran mayoría de los casos un probador engañoso no puede hacer que un verificador honesto crea la afirmación falsa. Es decir, lo que está mal no puede estar bien.
conocimiento cero
Si una afirmación es verdadera, el verificador no puede obtener ninguna información adicional aparte de que la afirmación es verdadera.
Las pruebas de conocimiento cero tienen una probabilidad muy pequeña de producir errores razonables, es decir, un probador que hace trampa puede hacer que el verificador crea una afirmación incorrecta. La prueba de conocimiento cero es una prueba probabilística, no determinista, pero podemos reducir el error racional a insignificante mediante algunas técnicas.
2. Aplicación de la prueba de conocimiento cero
Los dos escenarios de aplicación más importantes de la prueba de conocimiento cero son la privacidad y la escalabilidad.
2.1 Privacidad
Las pruebas de conocimiento cero permiten a los usuarios compartir de forma segura la información necesaria para obtener bienes y servicios sin revelar datos personales, protegiéndolos de los piratas informáticos y la filtración de información de identificación personal. Con la integración gradual de los campos digital y físico, la función de protección de la privacidad de la prueba de conocimiento cero se ha vuelto crucial para la seguridad de la información en Web3 e incluso más allá de Web3. Sin una prueba de conocimiento cero, la información del usuario existirá en una base de datos de terceros confiable y será potencialmente vulnerable a ataques de piratas informáticos. El primer caso de aplicación de la prueba de conocimiento cero en blockchain es la moneda de privacidad Zcash, que se utiliza para ocultar detalles de transacciones.
2.1.1 Protección y verificación de la información de identidad
En las actividades en línea, a menudo necesitamos proporcionar información como nombre, fecha de nacimiento, correo electrónico y contraseñas complejas para demostrar que somos usuarios con permisos legales. Por lo tanto, a menudo dejamos información confidencial en línea que no queremos revelar. Hoy en día no es raro recibir llamadas fraudulentas llamándonos por nuestro nombre, lo que demuestra que la filtración de información personal es muy grave.
Podemos utilizar la tecnología blockchain para darle a cada persona un identificador digital cifrado especial que contiene datos personales. Este identificador digital permite la construcción de una identidad descentralizada y es imposible de falsificar o cambiar sin el conocimiento de su propietario. La identidad descentralizada permite a los usuarios controlar el acceso a identidades personales, demostrar su ciudadanía sin revelar los detalles del pasaporte, simplificar el proceso de autenticación y reducir la posibilidad de que los usuarios pierdan el acceso debido a contraseñas olvidadas. Las pruebas de conocimiento cero se generan a partir de datos públicos que pueden probar la identidad del usuario y datos privados con información del usuario, y pueden usarse para verificar la identidad cuando los usuarios acceden a los servicios. Esto no solo reduce el engorroso proceso de verificación, mejora la experiencia del usuario, sino que también evita el almacenamiento centralizado de la información del usuario.
Además, las pruebas de conocimiento cero también se pueden utilizar para crear sistemas de reputación privados, lo que permite a las agencias de servicios verificar si los usuarios cumplen ciertos estándares de reputación sin revelar su identidad. Los usuarios pueden exportar su reputación de forma anónima desde plataformas como Facebook, Twitter y Github mientras enmascaran la cuenta de origen específica.
2.1.2 Pago anónimo
Los detalles de las transacciones pagadas con tarjetas bancarias suelen ser visibles para múltiples partes, incluidos proveedores de pagos, bancos y gobiernos, lo que expone hasta cierto punto la privacidad de los ciudadanos comunes y los usuarios deben confiar en que las partes relevantes no harán el mal.
Las criptomonedas pueden permitir que se realicen pagos sin terceros, lo que permite transacciones directas entre pares. Sin embargo, las transacciones en las principales cadenas públicas actualmente son públicamente visibles. Aunque las direcciones de los usuarios son anónimas, aún se pueden encontrar identidades del mundo real a través del análisis de datos de las direcciones asociadas en la cadena y datos fuera de la cadena, como el intercambio KYC y la información de Twitter. Si conoce la dirección de la billetera de una persona, puede verificar el saldo de su cuenta bancaria en cualquier momento, lo que incluso puede representar una amenaza para la identidad y la propiedad del usuario.
La prueba de conocimiento cero puede proporcionar pagos anónimos en tres niveles: monedas de privacidad, aplicaciones de privacidad y cadenas públicas de privacidad. La moneda de privacidad Zcash oculta los detalles de la transacción, incluidos el remitente, la dirección del destinatario, el tipo de activo, la cantidad y la hora. Tornado Cash es una aplicación descentralizada en Ethereum que utiliza pruebas de conocimiento cero para ofuscar los detalles de las transacciones y proporcionar transferencias privadas (pero los piratas informáticos también la utilizan a menudo para lavar dinero). Aleo es una cadena de bloques L1 diseñada para proporcionar funciones de privacidad para aplicaciones a nivel de protocolo.
2.1.3 Conducta honesta
Las pruebas de conocimiento cero pueden promover un comportamiento honesto y al mismo tiempo preservar la privacidad. El protocolo puede exigir a los usuarios que presenten pruebas de conocimiento cero para demostrar su comportamiento honesto. Debido a la racionalidad de las pruebas de conocimiento cero (lo que está mal no puede ser correcto), los usuarios deben actuar honestamente de acuerdo con los requisitos del protocolo antes de poder presentar pruebas válidas.
MACI (Infraestructura mínima anticolusión) es un escenario de aplicación que promueve la honestidad y previene la colusión durante la votación en cadena u otras formas de toma de decisiones. El sistema utiliza pares de claves y tecnología a prueba de conocimiento cero para lograr este objetivo. En MACI, los usuarios registran sus claves públicas en un contrato inteligente y envían sus votos al contrato mediante mensajes cifrados. La función anticolusión de MACI permite a los votantes cambiar sus claves públicas para evitar que otros conozcan sus elecciones de voto. El coordinador utiliza una prueba de conocimiento cero al final del período de votación para demostrar que ha procesado todos los mensajes correctamente y el resultado final de la votación es la suma de todos los votos válidos. Esto garantiza la integridad y equidad del voto.
2.1.4 Verificación de información personal
Cuando queramos obtener un préstamo, podemos obtener un certificado de ingresos digital de la empresa para solicitar el préstamo. La legitimidad de esta prueba puede comprobarse fácilmente mediante criptografía. El banco puede utilizar una prueba de conocimiento cero para verificar que nuestros ingresos alcanzan el mínimo requerido, pero no obtendrá información específica sensible.
2.1.5 Combinar el aprendizaje automático para aprovechar el potencial de los datos privados
Cuando se entrenan modelos de aprendizaje automático, generalmente se requieren grandes cantidades de datos. Al utilizar pruebas de conocimiento cero, los propietarios de datos pueden demostrar que sus datos cumplen con los requisitos para el entrenamiento de modelos sin exponerlos realmente. Esto ayuda a poner a trabajar los datos privados y a monetizarlos.
Además, las pruebas de conocimiento cero pueden permitir a los creadores de modelos demostrar que sus modelos cumplen con ciertas métricas de rendimiento sin exponer los detalles del modelo para evitar que otros copien o alteren sus modelos.
2.2 Extensible
A medida que aumenta el número de usuarios de blockchain, se requiere una gran cantidad de cálculos en la cadena de bloques, lo que provoca congestión en las transacciones. Algunas cadenas de bloques tomarán la ruta de expansión de la fragmentación, pero esto requiere una gran cantidad de modificaciones complejas en la capa base de la cadena de bloques, lo que puede amenazar la seguridad de la cadena de bloques. Otra solución más factible es tomar la ruta ZK-Rollup, utilizar cálculos verificables, subcontratar los cálculos a entidades de otra cadena para su ejecución y luego enviar la prueba de conocimiento cero y los resultados verificables a la cadena principal para su verificación. La prueba de conocimiento cero garantiza la autenticidad de la transacción. La cadena principal solo necesita actualizar el resultado al estado. No es necesario almacenar detalles ni reproducir cálculos, y no es necesario esperar a que otros discutan la autenticidad de la transacción. transacción, lo que mejora enormemente la eficiencia y la escalabilidad. Los desarrolladores pueden utilizar pruebas de conocimiento cero para diseñar dapps de nodos ligeros que puedan ejecutarse en hardware común, como teléfonos móviles, lo que favorece más que Web3 llegue a las masas.
La extensión de la prueba de conocimiento cero se puede aplicar tanto a la red de primera capa, como el Protocolo Mina, como a los paquetes acumulativos de ZK de la red de segunda capa.
3. Cómo funciona la prueba de conocimiento cero
Dmitry Laverenov (2019) divide las estructuras de prueba de conocimiento cero en interactivas y no interactivas.
3.1 Prueba interactiva de conocimiento cero
La forma básica de prueba interactiva de conocimiento cero consta de tres pasos: evidencia, impugnador y respuesta.
Evidencia: La información secreta oculta es la evidencia del probador. Esta evidencia plantea una serie de preguntas que sólo pueden ser respondidas correctamente por alguien que conozca la información. El probador comienza a seleccionar preguntas al azar y envía las respuestas calculadas al verificador como prueba.
Desafío: el verificador elige al azar otra pregunta del conjunto y le pide al probador que la responda.
Respuesta: El probador acepta la pregunta, calcula la respuesta y devuelve el resultado al verificador. La respuesta del probador permite al verificador comprobar si conoce la evidencia.
Este proceso se puede repetir varias veces hasta que la probabilidad de que el probador adivine la respuesta correcta sin conocer la información secreta sea lo suficientemente baja. Para dar un ejemplo matemático simplificado, si la probabilidad de que el probador pueda adivinar la respuesta correcta sin conocer la información secreta es 1/2, y la interacción se repite diez veces, la probabilidad de que el probador acierte cada vez es sólo 9,7 de 10 000. Si desea verificar La posibilidad de que una persona avale por error una certificación falsa es extremadamente baja.
3.2 Prueba de conocimiento cero no interactiva
Las pruebas interactivas de conocimiento cero tienen limitaciones. Por un lado, el probador y el verificador deben existir al mismo tiempo y realizar verificaciones repetidas. Por otro lado, cada cálculo de una nueva prueba requiere que el probador y el verificador pasen una prueba. conjunto de información La prueba no se puede reutilizar en una verificación independiente.
Para resolver las limitaciones de las pruebas interactivas de conocimiento cero, Manuel Blum, Paul Feldman y Silvio Micali propusieron pruebas de conocimiento cero no interactivas, en las que el probador y el verificador comparten la clave y solo se requiere una ronda de verificación. para hacer que la prueba de conocimiento cero demuestre ser más efectiva. El probador calcula la información secreta mediante un algoritmo especial para generar una prueba de conocimiento cero y la envía al verificador. El verificador utiliza otro algoritmo para comprobar si el probador conoce la información secreta. Una vez que se genera esta prueba de conocimiento cero, cualquiera que tenga la clave compartida y el algoritmo de verificación puede verificarla.
La prueba de conocimiento cero no interactiva es un gran avance en la tecnología de prueba de conocimiento cero y promueve el desarrollo de los sistemas de prueba de conocimiento cero actuales. Los métodos principales son ZK-SNARK y ZK-STARK.
4. Principales vías técnicas de prueba de conocimiento cero
Alchemy (2022) divide los caminos técnicos de la prueba de conocimiento cero en ZK-SNARK, ZK-STARK y ZK-SNARK recursivo.
4.1 ZK-SNARK
Los ZK-SNARK son una prueba de conocimiento cero concisa y no interactiva.

Para que una cadena pública garantice la exactitud de las transacciones ejecutadas en la red, es necesario lograrlo haciendo que otras computadoras (nodos) vuelvan a ejecutar cada transacción. Sin embargo, este método hará que cada nodo vuelva a ejecutar cada transacción, lo que ralentizará la red y limitará la escalabilidad. Los nodos también deben almacenar datos de transacciones, lo que hace que el tamaño de la cadena de bloques crezca exponencialmente.
Para estas restricciones entra en juego ZK-SNARK. Puede demostrar la exactitud de los cálculos realizados fuera de la cadena sin necesidad de que los nodos repitan cada paso del cálculo. Esto también elimina la necesidad de que los nodos almacenen datos de transacciones redundantes y aumenta el rendimiento de la red.
El uso de SNARK para verificar los cálculos fuera de la cadena codifica el cálculo en una expresión matemática para formar una prueba de validez. El verificador comprueba la exactitud de la prueba. Si la prueba pasa todas las comprobaciones, el cálculo subyacente se considera válido. El tamaño de una prueba de validez es muchas veces menor que el cálculo que verifica, de ahí que llamemos a los SNARK sucintos.
La mayoría de los ZK Rollups que utilizan ZK-SNARK siguen los siguientes pasos.
El usuario L2 firma la transacción y la envía al verificador.
El verificador utiliza criptografía para comprimir múltiples transacciones para generar los certificados de validez correspondientes (SNARK).
El contrato inteligente en la cadena L1 verifica el certificado de validez y determina si este lote de transacciones se publica en la cadena principal.
Vale la pena mencionar que ZK-SNARK requiere configuraciones confiables. En esta etapa, el generador de claves toma un programa y un parámetro secreto para generar dos claves públicas utilizables, una para crear la prueba y otra para verificarla. Estas dos claves públicas solo necesitan generar parámetros públicos una vez a través de una ceremonia de configuración confiable y pueden ser utilizadas varias veces por las partes que deseen participar en el protocolo de conocimiento cero. Los usuarios deben confiar en que los participantes en rituales de configuración confiables no son malvados y que no hay forma de evaluar la honestidad de los participantes. Conocer los parámetros secretos puede generar pruebas falsas y engañar al verificador, por lo que existen posibles riesgos de seguridad. Actualmente hay investigadores que exploran soluciones ZK-SNARK que no requieren suposiciones de confianza.
Ventaja
El paquete acumulativo ZK se considera una solución de expansión más segura que el paquete acumulativo OP porque ZK-SNARK utiliza un mecanismo de seguridad de cifrado avanzado, lo que dificulta engañar a los verificadores y realizar comportamientos maliciosos.
ZK-SNARK reduce la cantidad de cálculo en la base de Ethereum, aliviando la congestión de la red principal. Los cálculos fuera de la cadena comparten los costos de transacción, lo que brinda velocidades de transacción más rápidas.
El pequeño tamaño de las pruebas SNARK hace que sean fáciles de verificar en la cadena principal, lo que significa que la tarifa del gas para verificar las transacciones fuera de la cadena es menor, lo que reduce el costo para los usuarios.
limitaciones
Depender de una configuración confiable la mayor parte del tiempo. Esto va en contra de la intención original de blockchain de eliminar la confianza.
Generar pruebas de validez con ZK-SNARK es un proceso computacional intensivo y el probador debe invertir en hardware especializado. Este hardware es caro y sólo unas pocas personas pueden permitírselo, por lo que el proceso de prueba de ZK-SNARK está altamente centralizado.
2.ZK-SNARK utiliza criptografía de curva elíptica (ECC) para cifrar la información utilizada para generar pruebas de validez. Actualmente es relativamente seguro, pero los avances en la computación cuántica pueden romper su modelo de seguridad.
Proyectos que utilizan ZK SNARK
Polígono Hermez
Polygon adquirió Hermez por 250 millones de dólares en 2021, convirtiéndose en la primera fusión y adquisición integral de dos redes blockchain. La tecnología y las herramientas ZK que Hermez aportó a la base de usuarios en rápido crecimiento de Polygon le permitieron obtener soporte en el desarrollo de zkEVM. Hermez 1.0 es una plataforma de pago que ejecuta un lote de transacciones fuera de la cadena, lo que permite a los usuarios transferir fácilmente tokens ERC-20 de una cuenta Hermez a otra cuenta Hermez, con hasta 2000 transacciones por segundo.
Hermez 2.0 actúa como un zkEVM de conocimiento cero para ejecutar de forma transparente transacciones de Ethereum, incluidos contratos inteligentes con verificación de conocimiento cero. Es totalmente compatible con Ethereum y no requiere muchos cambios en el código del contrato inteligente, lo que hace que sea conveniente para los desarrolladores implementar proyectos L1 en Polygon Hermez. Hermez 1.0 usa pruebas SNARK y 2.0 usa pruebas SNARK y STARK. En 2.0, la prueba STARK se utiliza para demostrar la validez de las transacciones fuera de la cadena. Sin embargo, el costo de verificar la prueba STARK en la cadena principal es muy alto, por lo que se introduce la prueba SNARK para verificar STARK.
zkSync
zkSync 1.0, lanzado por Matter Labs en 2020, no admite contratos inteligentes y se utiliza principalmente para transacciones o transferencias. ZkSync 2.0, que admite contratos inteligentes, se lanzará públicamente en la red principal en marzo de 2023.
ZkSync compila el código fuente del contrato inteligente Solidity en Ethereum en Yul para lograr la compatibilidad con EVM. Yul es un lenguaje intermedio que se puede compilar en código de bytes para diferentes EVM. El código Yul se puede recompilar utilizando el marco del compilador LLVM en un conjunto de código de bytes personalizado y compatible con circuitos diseñado para zkEVM de zkSync. Este enfoque elimina la necesidad de realizar pruebas zk a través de código de nivel superior para todos los pasos de la ejecución de EVM, lo que facilita la descentralización del proceso de prueba y al mismo tiempo mantiene un alto rendimiento. En el futuro, se podrá agregar soporte para Rust, Java u otros lenguajes mediante la creación de nuevas interfaces de compilador, lo que aumentará la flexibilidad de la arquitectura zkEVM y llegará a más desarrolladores.
azteca
Aztec es el primer zkRollup híbrido que permite la ejecución de contratos inteligentes tanto públicos como privados en un solo entorno. Este es un entorno de ejecución sin conocimiento, no zkEVM. La confidencialidad se logra fusionando ejecuciones públicas y privadas en un único paquete híbrido, como transacciones privadas para AMM públicas, conversaciones privadas en juegos públicos, votaciones privadas para DAO públicas y más.
4.2 ZK-STARK
ZK-STARK no requiere una configuración confiable. ZK-STARK es la abreviatura de Argumento de conocimiento transparente escalable de conocimiento cero. En comparación con ZK-SNARK, ZK-STARK tiene mejor escalabilidad y transparencia.

Ventaja
ZK-STARK verifica públicamente la aleatoriedad para reemplazar las configuraciones confiables, reduciendo la dependencia de los participantes y mejorando la seguridad del protocolo.
Aunque la complejidad de los cálculos subyacentes aumenta exponencialmente, ZK-STARK aún mantiene tiempos de prueba y verificación más bajos, en lugar de un crecimiento lineal como ZK-SNARK.
ZK-STARK utiliza valores hash resistentes a colisiones para el cifrado en lugar del esquema de curva elíptica utilizado en ZK-SNARK, que es resistente a los ataques de computación cuántica.
limitaciones
El tamaño de la prueba de ZK-STARK es mayor, lo que hace que la verificación en la red principal sea más exitosa.
ZK-SNARK es la primera aplicación práctica de prueba de conocimiento cero en blockchain, por lo que la mayoría de los paquetes acumulativos de ZK utilizan ZK-SNARK, que tiene sistemas y herramientas de desarrollo más maduros. Aunque ZK-STARK también cuenta con el respaldo de la Fundación Ethereum, su tasa de adopción es insuficiente y es necesario mejorar las herramientas básicas.
¿Qué proyectos utilizan ZK-STARK?
Polígono Miden
Polygon Miden, una solución de escalamiento basada en Ethereum L2, aprovecha la tecnología zk-STARK para integrar una gran cantidad de transacciones L2 en una sola transacción de Ethereum, aumentando así la potencia de procesamiento y reduciendo los costos de transacción. Sin fragmentación, Polygon Miden puede generar un bloque en 5 segundos y su TPS puede alcanzar más de 1000. Después de la fragmentación, su TPS puede llegar a 10,000. Los usuarios pueden retirar fondos de Polygon Miden a Ethereum en sólo 15 minutos. La función principal de Polygon Miden es una máquina virtual Turing completa basada en STARK, Miden VM, que facilita la verificación formal de los contratos.
StarkEx y StarkNet
StarkEx es un marco para soluciones de extensión de licencias personalizadas para aplicaciones específicas. Los proyectos pueden utilizar StarkEx para realizar cálculos fuera de la cadena de bajo costo y generar pruebas STARK que demuestren la exactitud de la ejecución. Una prueba de este tipo contiene entre 12.000 y 500.000 transacciones. Finalmente, la prueba se envía al validador STARK en la cadena y la actualización de estado se acepta después de que la verificación sea correcta. Las aplicaciones implementadas en StarkEx incluyen opciones perpetuas dYdX, NFT L2 Immutable, el mercado de comercio de tarjetas digitales deportivas Sorare y el agregador DeFi multicadena rhino.fi.
StarkNet es una L2 sin permiso donde cualquiera puede implementar contratos inteligentes desarrollados en el idioma de El Cairo. Los contratos implementados en StarkNet pueden interactuar entre sí para crear nuevos protocolos componibles. A diferencia de StarkEx, donde las aplicaciones son responsables de enviar transacciones, el secuenciador de StarkNet agrupa las transacciones por lotes y las envía para su procesamiento y certificación. StarkNet es más adecuado para protocolos que necesitan interactuar sincrónicamente con otros protocolos o que están más allá del alcance de las aplicaciones StarkEx. A medida que avance el desarrollo de StarkNet, las aplicaciones basadas en StarkEx podrán migrarse a StarkNet y disfrutar de la componibilidad.
Comparación entre ZK-SNARK y ZK-STARK

4.3 ZK-SNARK recursivo
Los rollups normales de ZK solo pueden procesar un bloque de transacciones, lo que limita la cantidad de transacciones que pueden procesar. El recursivo ZK-SNARK puede verificar más de un bloque de transacciones, fusionar los SNARK generados por diferentes bloques L2 en un único certificado de validez y enviarlo a la cadena L1. Una vez que el contrato en cadena L1 acepta la prueba enviada, todas estas transacciones se vuelven válidas, lo que aumenta en gran medida la cantidad de transacciones que en última instancia se pueden completar con pruebas de conocimiento cero.
Plonky2 es un nuevo mecanismo de prueba de Polygon Zero que utiliza ZK-SNARK recursivos para aumentar las transacciones. Los SNARK recursivos amplían el proceso de generación de pruebas agregando varias pruebas en una prueba recursiva. Plonky2 utiliza la misma tecnología para reducir el tiempo necesario para generar nuevas pruebas de bloque. Plonky2 genera pruebas para miles de transacciones en paralelo y luego las agrega recursivamente en una prueba de bloque, por lo que la velocidad de generación es muy rápida. El mecanismo de prueba ordinario intenta generar todo el bloque de prueba a la vez, lo cual es aún menos eficiente. Además, Plonky2 también puede generar pruebas en dispositivos de consumo, resolviendo el problema de centralización de hardware a menudo asociado con las pruebas SNARK.
5. Paquete acumulativo de conocimiento cero versus paquete acumulativo optimista
ZK-SNARK y ZK-STARK se han convertido en la infraestructura central de los proyectos de expansión de blockchain, especialmente la solución Zero Knowledge Rollup. Zero-Knowledge Rollup se refiere a una solución de expansión de segunda capa para Ethereum que utiliza tecnología de prueba de conocimiento cero para transferir todos los cálculos al procesamiento fuera de la cadena para reducir la congestión de la red. La principal ventaja de Zero Knowledge Rollup es que puede aumentar en gran medida el rendimiento de las transacciones de Ethereum mientras mantiene bajas las tarifas de transacción, y una vez que la transacción se empaqueta en el paquete acumulativo, se puede determinar de inmediato.
Además de Zero Knowledge Rollup, el actual plan de expansión L2 de Ethereum también incluye Optimistic Rollup. Las transacciones ejecutadas en Optimistic Rollup son válidas y se ejecutan inmediatamente de forma predeterminada. Sólo cuando se descubre una transacción fraudulenta (alguien presenta prueba de fraude) se revertirá la transacción. Por lo tanto, la seguridad es menor que Zero Knowledge Rollup. Para evitar transacciones fraudulentas, Optimistic Rollup tiene un período de desafío después del cual se debe finalizar la transacción. Esto puede hacer que los usuarios tengan que esperar un tiempo antes de recuperar sus fondos.
El uso de tecnología de prueba de conocimiento cero no se consideró cuando se diseñó originalmente EVM. Vitalik, el fundador de Ethereum, cree que Zero Knowledge Rollup será técnicamente complejo en el corto plazo, pero eventualmente derrotará a Optimistic Rollup en la guerra de expansión. La siguiente es una comparación entre Zero Knowledge Rollup y Optimistic Rollup.
 Fuente:SUSS NiFT, ChatGPT
6. ¿Cuál es la perspectiva futura de la tecnología a prueba de conocimiento cero?
El campo de la tecnología de prueba de conocimiento cero se encuentra en una posición única: en los últimos años, se han dedicado muchos esfuerzos a avanzar en la investigación en este campo, y muchos de los resultados son bastante nuevos en el campo de la criptografía y las comunicaciones seguras. Por lo tanto, quedan muchas preguntas interesantes por responder por parte de las comunidades académica y de desarrolladores. Al mismo tiempo, la tecnología de prueba de conocimiento cero se utiliza en varios proyectos, lo que demuestra los desafíos de la tecnología de conocimiento cero y amplía sus requisitos.
Un área de preocupación para la tecnología de prueba de conocimiento cero es la discusión sobre la seguridad poscuántica de la tecnología de prueba de conocimiento cero. Los SNARK (argumentos de conocimiento sucintos no interactivos) verificables públicamente son un componente clave en el campo de las tecnologías de conocimiento cero. Sin embargo, los esquemas SNARK verificables públicamente más utilizados no se consideran seguros cuánticamente. Los ejemplos incluyen Groth16, Sonic, Marlin, SuperSonic y Spartan. Estas soluciones se basan en problemas matemáticos que pueden resolverse eficazmente con la ayuda de computadoras cuánticas, lo que compromete en gran medida su seguridad en un mundo poscuántico.
Descubrimos que la comunidad académica está buscando activamente pruebas de conocimiento cero seguras cuánticamente que puedan usarse para una variedad de declaraciones sin una etapa de preprocesamiento. Los ejemplos actuales de pruebas de conocimiento cero con seguridad cuántica de última generación incluyen esquemas como Ligero, Aurora, Fractal, Lattice Bulletproofs y LPK22. Ligero, Aurora y Fractal se basan en funciones hash, mientras que Lattice Bulletproofs y LKP22 se basan en funciones reticulares. Ambas funciones se consideran seguras cuánticamente. Se ha convertido en una tendencia promover estos programas y mejorar su eficiencia.
Otra expectativa que tenemos para el futuro de la tecnología de conocimiento cero es su capacidad para resistir ataques y la madurez del código relacionado con la implementación. Dado el aumento en la cantidad de código escrito, habrá bibliotecas y mejores prácticas más seguras y examinadas para diversas técnicas de prueba de conocimiento cero. Por supuesto, habrá errores más comunes en el futuro que estarán esperando ser descubiertos y comunicados. Esperamos que el campo madure y se adopte ampliamente, con esfuerzos para estandarizar protocolos y garantizar la interoperabilidad entre diferentes implementaciones. Un proyecto llamado ZKProof ya ha comenzado a hacer esto.
Otra tendencia que seguirá existiendo en la comunidad de tecnología de conocimiento cero es trabajar más en algoritmos eficientes y posiblemente en hardware especial. En los últimos años, hemos visto disminuir el tamaño de las pruebas y que los probadores y verificadores se han vuelto más eficientes. Los avances en algoritmos, hardware especial y optimización computacional pueden conducir a implementaciones más rápidas y escalables.
Si bien la eficiencia de los algoritmos existentes beneficia a los futuros usuarios de la tecnología de prueba de conocimiento cero, también esperamos que las capacidades de las pruebas de conocimiento cero sigan expandiéndose. En el pasado, nos hemos encontrado con muchos casos al implementar ZK-SNARK preprocesados. Ahora vemos instancias ZK-SNARK cada vez más escalables. Además, algunas técnicas de prueba de conocimiento cero se utilizan más por su simplicidad que por sus capacidades de conocimiento cero.
Finalmente, otra tendencia en la tecnología de prueba de conocimiento cero es la intersección del aprendizaje automático y las pruebas de conocimiento cero (ZKML). La idea requiere entrenar grandes modelos de lenguaje en un entorno multipartito y utilizar técnicas de conocimiento cero para verificar los cálculos. Esto es muy útil para la inteligencia artificial actual. Existe potencial para que surjan proyectos en esta área.
Conclusión
Este artículo está coescrito por miembros de Blockchain Security Alliance. A través de su introducción, podemos comprender la amplia aplicación, las rutas técnicas, las tendencias de desarrollo y los desafíos de la prueba de conocimiento cero en el campo blockchain. Se cree que con el desarrollo de la tecnología de hardware y la criptografía, las pruebas de conocimiento cero lograrán más avances en el futuro, proporcionando servicios de aplicaciones más rápidos y seguros para el mundo digital.