La aplicación y las tendencias de desarrollo de la tecnología zk-SNARKs en el campo de la cadena de bloques

Resumen del desarrollo y aplicación de la tecnología zk-SNARKs en el campo de la Cadena de bloques

Resumen

zk-SNARKs(ZKP) la tecnología es ampliamente considerada como una de las innovaciones más importantes en el campo de la cadena de bloques, después de la tecnología de libro mayor distribuido, y también es un área clave de inversión de riesgo en la actualidad. Este artículo revisa de manera sistemática los casi cuarenta años de desarrollo y los últimos resultados de investigación de ZKP.

El artículo primero presenta los conceptos básicos y el contexto histórico de ZKP, analizando en profundidad la tecnología ZKP basada en circuitos, incluidos los diseños, aplicaciones y métodos de optimización de soluciones como zkSNARK, el modelo Ben-Sasson, Pinocchio, Bulletproofs y Ligero. En cuanto al entorno de cálculo, este documento explora cómo ZKVM y ZKEVM mejoran la capacidad de procesamiento de transacciones, protegen la privacidad y aumentan la eficiencia de la verificación. El artículo también expone el mecanismo de trabajo y los métodos de optimización de ZK Rollup como solución de escalado de Layer 2, así como los últimos avances en aceleración de hardware, soluciones híbridas y ZK EVM dedicadas.

Finalmente, el artículo contempla conceptos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding y ZK StateChannels, y explora su potencial en cuanto a la escalabilidad, interoperabilidad y protección de la privacidad en la Cadena de bloques.

A través de un análisis exhaustivo de estas tecnologías de vanguardia y tendencias de desarrollo, este artículo proporciona una perspectiva sistemática para entender y aplicar la tecnología ZKP, mostrando su gran potencial en la mejora de la eficiencia y seguridad de los sistemas de Cadena de bloques, ofreciendo una referencia importante para futuras decisiones de inversión.

Índice

Introducción

Uno, conocimientos básicos sobre zk-SNARKs

  1. Resumen
  2. zk-SNARKs ejemplo

Dos, zk-SNARKs no interactivos

  1. Antecedentes
  2. La propuesta de NIZK
  3. Transformación Fiat-Shamir
  4. Jens Groth y su investigación
  5. Otras investigaciones

Tres, prueba de conocimiento cero basada en circuitos

  1. Antecedentes
  2. Conceptos básicos y características del modelo de circuito
  3. Diseño y aplicación de circuitos en zk-SNARKs
  4. Defectos y desafíos potenciales

Cuatro, modelo de zk-SNARKs

  1. Fondo
  2. Modelos de algoritmos comunes
  3. Esquema basado en PCP lineal y problema del logaritmo discreto
  4. Esquema basado en la prueba de personas comunes
  5. Prueba de conocimiento cero basada en la verificación probabilística ( PCP )
  6. Clasificación de la fase de configuración de la construcción de prueba general CPC( basada en )

Cinco, descripción y desarrollo de la máquina virtual zk-SNARKs.

  1. Fondo
  2. Clasificación del ZKVM existente
  3. Paradigmas de frontend y backend
  4. Ventajas y desventajas del paradigma ZKVM

Seis, resumen y desarrollo de la máquina virtual de Ethereum zk-SNARKs

  1. Antecedentes
  2. El funcionamiento de ZKEVM
  3. El proceso de implementación de ZKEVM
  4. Características de ZKEVM

Siete, Resumen y desarrollo del esquema de segunda capa de zk-SNARKs.

  1. Antecedentes
  2. Mecanismo de trabajo de ZK Rollup
  3. Desventajas y optimización de ZK Rollup

Ocho, la dirección futura del desarrollo de zk-SNARKs

  1. Acelerar el desarrollo del entorno de cálculo
  2. La propuesta y el desarrollo de ZKML
  3. Desarrollo relacionado con la tecnología de escalado de zk-SNARKs
  4. El desarrollo de la interoperabilidad de zk-SNARKs

Nueve, conclusión

Introducción

Con la llegada de la era Web3, las aplicaciones de cadena de bloques (DApps) están desarrollándose rápidamente, con nuevas aplicaciones surgiendo cada día. En los últimos años, las plataformas de cadena de bloques han estado soportando la actividad de millones de usuarios cada día, procesando miles de millones de transacciones. Los grandes volúmenes de datos generados por estas transacciones a menudo incluyen información personal sensible, como la identidad del usuario, el monto de la transacción, la dirección de la cuenta y el saldo, entre otros. Dada la apertura y transparencia de la cadena de bloques, estos datos almacenados son visibles para todos, lo que ha suscitado una variedad de problemas de seguridad y privacidad.

Actualmente hay varias tecnologías criptográficas que pueden abordar estos desafíos, incluyendo la encriptación homomórfica, las firmas de anillo, el cálculo seguro multiparte y zk-SNARKs. La encriptación homomórfica permite realizar operaciones sin descifrar el texto cifrado, lo que ayuda a proteger la seguridad del saldo de la cuenta y el monto de las transacciones, pero no puede proteger la seguridad de la dirección de la cuenta. Las firmas de anillo ofrecen una forma especial de firma digital que puede ocultar la identidad del firmante, protegiendo así la seguridad de la dirección de la cuenta, pero no puede proteger el saldo de la cuenta y el monto de las transacciones. El cálculo seguro multiparte permite distribuir tareas de cálculo entre múltiples participantes sin que ninguno de ellos conozca los datos de los otros participantes, protegiendo eficazmente la seguridad del saldo de la cuenta y el monto de las transacciones, pero tampoco puede proteger la seguridad de la dirección de la cuenta. Además, la encriptación homomórfica, las firmas de anillo y el cálculo seguro multiparte no pueden ser utilizados para verificar si el probador tiene suficiente monto de transacción en un entorno de cadena de bloques sin revelar el monto de la transacción, la dirección de la cuenta y el saldo de la cuenta.

zk-SNARKs es una solución más integral, este protocolo de verificación permite validar la corrección de ciertas proposiciones sin revelar ningún dato intermedio. Este protocolo no requiere instalaciones complejas de clave pública, y su implementación repetida tampoco brinda a los usuarios maliciosos la oportunidad de obtener información adicional útil. A través de ZKP, el validador puede verificar si el probador tiene suficientes fondos de transacción sin revelar ningún dato privado de la transacción. El proceso de verificación incluye la generación de una prueba que contiene la cantidad de transacción que el probador afirma, luego esta prueba se transmite al validador, quien realiza cálculos predefinidos sobre la prueba y produce el resultado final del cálculo, llegando a una conclusión sobre si acepta la declaración del probador. Si la declaración del probador es aceptada, significa que tienen suficientes fondos de transacción. El proceso de verificación mencionado puede registrarse en la Cadena de bloques, sin ningún tipo de falsificación.

Esta característica de ZKP le permite desempeñar un papel central en las transacciones de la cadena de bloques y en las aplicaciones de criptomonedas, especialmente en términos de protección de la privacidad y escalabilidad de la red, lo que no solo lo convierte en el foco de la investigación académica, sino que también es ampliamente considerado como una de las innovaciones tecnológicas más importantes desde la exitosa implementación de la tecnología de libros de contabilidad distribuidos (, especialmente desde Bitcoin ). Al mismo tiempo, también es una pista clave para aplicaciones industriales y capital de riesgo.

Como resultado, han surgido numerosos proyectos de red basados en zk-SNARKs, como ZkSync, StarkNet, Mina, Filecoin y Aleo. Con el desarrollo de estos proyectos, las innovaciones algorítmicas relacionadas con zk-SNARKs están surgiendo constantemente, y se informa que casi cada semana se presenta un nuevo algoritmo. Además, el desarrollo de hardware relacionado con la tecnología zk-SNARKs también avanza rápidamente, incluyendo chips optimizados específicamente para zk-SNARKs. Por ejemplo, proyectos como Ingonyama, Irreducible y Cysic han completado recaudaciones de fondos a gran escala, y estos desarrollos no solo muestran el rápido avance de la tecnología zk-SNARKs, sino que también reflejan la transición de hardware general a hardware especializado como GPU, FPGA y ASIC.

Estos avances indican que la tecnología zk-SNARKs no solo es un importante avance en el campo de la criptografía, sino que también es un motor clave para lograr aplicaciones más amplias de la Cadena de bloques (, especialmente en la mejora de la protección de la privacidad y la capacidad de procesamiento ).

Por lo tanto, hemos decidido organizar sistemáticamente el conocimiento relevante sobre zk-SNARKs ( ZKP ) para ayudar mejor en nuestras decisiones de inversión futuras. Para ello, hemos revisado integralmente los documentos académicos clave relacionados con ZKP ( ordenados por relevancia y número de citas ); al mismo tiempo, también hemos analizado detalladamente la información y los libros blancos de los proyectos líderes en este campo ( ordenados según su tamaño de financiación ). Esta recopilación y análisis integral de materiales proporciona una base sólida para la redacción de este artículo.

Uno, conocimientos básicos sobre zk-SNARKs

1. Resumen

En 1985, Goldwasser, Micali y Rackoff propusieron por primera vez el concepto de zk-SNARKs ( ZKP ) y pruebas de conocimiento interactivas ( IZK ) en un artículo. Este artículo es la obra fundamental de los zk-SNARKs, definiendo muchos conceptos que impactaron las investigaciones académicas posteriores. Por ejemplo, el conocimiento se define como "la salida de un cálculo inviable", lo que significa que el conocimiento debe ser una salida y ser un cálculo inviable, lo que implica que no puede ser una función simple, sino que debe ser una función compleja. El cálculo inviable generalmente puede entenderse como un problema NP, es decir, un problema cuya solución puede ser verificada en tiempo polinómico, donde el tiempo polinómico se refiere al tiempo de ejecución del algoritmo que puede ser representado como una función polinómica en relación con el tamaño de la entrada. Este es un estándar importante en la informática para medir la eficiencia y viabilidad de los algoritmos. Dado que el proceso de resolución de problemas NP es complejo, se considera un cálculo inviable; sin embargo, su proceso de verificación es relativamente simple, por lo que es muy adecuado para la verificación de zk-SNARKs.

Un ejemplo clásico de un problema NP es el problema del vendedor viajero, donde se debe encontrar la ruta más corta para visitar una serie de ciudades y regresar al punto de inicio. Aunque encontrar la ruta más corta puede ser difícil, verificar si una ruta dada es la más corta es relativamente fácil. Esto se debe a que la distancia total de una ruta específica se puede verificar en tiempo polinómico.

Goldwasser y otros introdujeron el concepto de "complejidad del conocimiento" en su artículo, para cuantificar la cantidad de conocimiento que el probador revela al verificador en un sistema de prueba interactivo. También propusieron el sistema de prueba interactivo (IPS), en el cual el probador (Prover) y el verificador (Verifier) demuestran la veracidad de una afirmación a través de múltiples interacciones.

En resumen, la definición de zk-SNARKs resumida por Goldwasser y otros es un tipo especial de prueba interactiva, donde el verificador no obtiene ninguna información adicional más allá del valor de verdad de la declaración durante el proceso de verificación; y se proponen tres características básicas que incluyen:

  1. Completitud ( completeness ): Si la prueba es verdadera, el probador honesto puede convencer al validador honesto de este hecho;

  2. Fiabilidad ( solidez ): Si el probador no conoce el contenido de la declaración, solo puede engañar al verificador con una probabilidad insignificante;

  3. zk-SNARKs (zero-knowledge ): En el proceso de prueba completado, el verificador solo obtiene la información de "el probador posee este conocimiento", y no puede obtener ningún contenido adicional.

2. zk-SNARKs ejemplo

Para entender mejor los zk-SNARKs y sus propiedades, a continuación se presenta un ejemplo de cómo verificar si un probador posee cierta información privada. Este ejemplo se divide en tres etapas: configuración, desafío y respuesta.

Primer paso: establecer (Setup)

En este paso, el objetivo del probador es crear una prueba que demuestre que conoce un número secreto s, pero sin mostrar directamente s.

Establecer el número secreto s; Selecciona dos grandes números primos p y q, y calcula su producto n. Dado el número primo p y q, calcula el n obtenido; Calcula v=s^2 mod n, aquí, v se envía al verificador como parte de la prueba, pero no es suficiente para que el verificador o cualquier espectador infiera s; Elija un número entero aleatorio r, calcule x=r^2 mod n y envíelo al verificador. Este valor x se utiliza para el proceso de verificación posterior, pero tampoco expone s. Sea r un número entero aleatorio, calcule x obtenido.

Segundo paso: desafío (Challenge)

El validador selecciona aleatoriamente un bit a( que puede ser 0 o 1), y luego lo envía al probador. Este "desafío" determina los pasos que el probador debe tomar a continuación.

Tercer paso: respuesta (Response)

Según el valor a enviado por el validador, el probador responde:

Si a=0, el probador envía g=r( donde r es el número que eligió aleatoriamente anteriormente ).

Si a=1, el probador calcula g=rs mod n y lo envía. Supongamos que el validador envía el bit aleatorio a, dependiendo del valor de a, el probador calcula g;

Finalmente, el validador verifica si x es igual a g^2 mod n según el g recibido. Si la igualdad se cumple, el validador acepta esta prueba. Cuando a=0, el validador calcula g^2 mod n y verifica x del lado derecho; cuando a=1, el validador calcula g^2 mod n y verifica xv del lado derecho.

Aquí, vemos que el validador calcula x=g^2 mod n, lo que indica que el probador ha pasado exitosamente por el proceso de verificación, sin revelar su número secreto s. Aquí, dado que a solo puede ser 0 o 1, hay solo dos posibilidades, la probabilidad de que el probador pase la verificación por suerte cuando a es 0 es 1/2. Pero el validador luego desafía al probador n veces, el probador cambia constantemente los números relacionados, los presenta al validador y siempre logra pasar el proceso de verificación, de esta manera, la probabilidad de que el probador pase la verificación por suerte es 1/2(^n, que tiende a 0 cuando n tiende a infinito, lo que prueba que el probador realmente conoce un número secreto s. Este ejemplo demuestra la integridad, confiabilidad y propiedad de cero conocimiento del sistema de pruebas de conocimiento cero.

Dos, zk-SNARKs no interactivos

) 1. Antecedentes

zk-SNARKs(ZKP) en el concepto tradicional generalmente son formas de protocolo interactivas y en línea; por ejemplo, el protocolo Sigma normalmente requiere de tres a cinco rondas de interacción para completar la autenticación. Sin embargo, en escenarios como transacciones instantáneas o votaciones, a menudo no hay oportunidad para múltiples interacciones, especialmente en la aplicación de la tecnología de Cadena de bloques, donde la función de verificación fuera de línea se vuelve particularmente importante.

( 2. Propuesta de NIZK

En 1988, Blum, Feldman y Micali propusieron por primera vez el concepto de prueba no interactiva de conocimiento cero )NIZK###, demostrando que el probador (Prover) puede probar sin necesidad de múltiples interacciones.

ZK3.27%
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.
  • Recompensa
  • 6
  • Republicar
  • Compartir
Comentar
0/400
NFTRegrettervip
· Hace13m
zksnark ha vuelto a aparecer, ¿acaso van a seguir tomando a la gente por tonta?
Ver originalesResponder0
TokenToastervip
· 08-07 02:39
La era zk finalmente ha llegado
Ver originalesResponder0
ChainSpyvip
· 08-07 02:34
Realmente no entiendo por qué los demás están locos por zk
Ver originalesResponder0
GasFeeCriervip
· 08-07 02:34
Actualmente los costos son muy altos, ¡me da rabia!
Ver originalesResponder0
StakeWhisperervip
· 08-07 02:15
Otra vez zk se ha enrollado.
Ver originalesResponder0
GreenCandleCollectorvip
· 08-07 02:12
Otro nuevo amigo de zkvm, ¿alguien ha olfateado el aroma de la Billetera?
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)