Análisis completo de la tecnología zk-SNARKs en la aplicación de la Cadena de bloques y perspectivas futuras

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

Resumen

zk-SNARKs(ZKP) tecnología se considera una de las innovaciones más importantes en el campo de la Cadena de bloques, y también es un enfoque clave para el capital de riesgo. Este artículo revisa de manera integral el desarrollo de ZKP en casi cuarenta años y los últimos avances en la investigación.

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

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

A través del análisis de estas tecnologías y tendencias de desarrollo, este artículo proporciona una perspectiva integral para entender y aplicar la tecnología ZKP, mostrando su gran potencial para mejorar la eficiencia y la seguridad de los sistemas de cadena de bloques, y ofreciendo una referencia importante para las decisiones de inversión futuras.

Índice

Introducción

Una, conocimientos básicos sobre zk-SNARKs

  1. Resumen
  2. Ejemplo de zk-SNARKs

Dos, zk-SNARKs no interactivo

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

Tres, zk-SNARKs basados en circuitos

  1. Fondo
  2. Conceptos y características básicas 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. Propuesta basada en PCP lineal y el problema del logaritmo discreto
  4. Plan basado en la prueba de personas comunes
  5. Prueba de conocimiento cero zk-SNARKs 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( ).

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

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

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

  1. Fondo
  2. El funcionamiento de ZKEVM
  3. Proceso de implementación de ZKEVM
  4. Características de ZKEVM

Siete, resumen y desarrollo del esquema de red de segunda capa de zk-SNARKs

  1. Fondo
  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 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) se están desarrollando 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 diariamente, 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. Debido a la apertura y transparencia de la cadena de bloques, estos datos almacenados son públicos para todos, lo que ha suscitado diversas cuestiones de seguridad y privacidad.

Actualmente, hay varias tecnologías criptográficas que pueden enfrentar estos desafíos, incluyendo la criptografía homomórfica, las firmas en anillo, el cálculo seguro multiparte y zk-SNARKs. La criptografía 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 en anillo proporcionan 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 ningún participante conozca los datos de los otros participantes, protegiendo efectivamente la seguridad del saldo de la cuenta y el monto de las transacciones, pero igualmente no puede proteger la seguridad de la dirección de la cuenta. Además, estas tecnologías no pueden ser utilizadas para verificar si el probador tiene suficientes montos 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(ZKP) es una solución más integral, este protocolo de verificación permite validar la veracidad de ciertas proposiciones sin revelar ningún dato intermedio. El protocolo no requiere una infraestructura de clave pública compleja, y su implementación repetida no brinda a los usuarios malintencionados la oportunidad de obtener información útil adicional. A través de ZKP, el validador puede verificar si el probador tiene suficiente cantidad de transacción sin revelar ningún dato privado de la transacción. El proceso de verificación incluye generar una prueba que contenga la cantidad de transacción que el probador afirma poseer, y luego transmitir esa prueba al validador, quien realiza un cálculo predefinido sobre la prueba y produce el resultado final del cálculo, llegando a la conclusión de si acepta la declaración del probador. Si la declaración del probador es aceptada, significa que tienen suficiente cantidad de transacción. El proceso de verificación mencionado puede ser registrado en la Cadena de bloques, sin ninguna falsificación.

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

Como resultado, han surgido numerosos proyectos de red basados en ZKP, como ZkSync, StarkNet, Mina, Filecoin y Aleo. Con el desarrollo de estos proyectos, las innovaciones algorítmicas sobre ZKP han surgido constantemente, y se informa que casi cada semana se presenta un nuevo algoritmo. Además, el desarrollo de hardware relacionado con la tecnología ZKP también está avanzando rápidamente, incluyendo chips optimizados específicamente para ZKP. Por ejemplo, algunos proyectos ya han completado recaudaciones de fondos a gran escala, estos desarrollos no solo muestran el rápido progreso de la tecnología ZKP, 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, decidimos organizar sistemáticamente el conocimiento relacionado con zk-SNARKs ( ZKP ) para ayudar mejor a tomar decisiones de inversión en el futuro. Para ello, revisamos de manera integral los artículos académicos clave relacionados con ZKP (, ordenándolos según su relevancia y número de citas ); al mismo tiempo, también analizamos detalladamente la información y los libros blancos de los proyectos líderes en este campo (, ordenándolos según su escala de financiamiento ). Esta recopilación y análisis de información integral proporciona una base sólida para la redacción de este artículo.

Uno, conocimientos básicos sobre zk-SNARKs

1. Resumen

En 1985, los académicos Goldwasser, Micali y Rackoff presentaron por primera vez la prueba de cero conocimiento en el artículo "La complejidad del conocimiento de los sistemas de prueba interactivos". Este artículo es la obra fundamental de la prueba de cero conocimiento, definiendo muchos conceptos que influyen en la investigación académica posterior. Por ejemplo, la definición de conocimiento es "la salida de un cálculo no factible", es decir, el conocimiento debe ser una salida, y es un cálculo no factible, lo que significa que no puede ser una función simple, sino que debe ser una función compleja. El cálculo no factible generalmente se puede entender como un problema NP, es decir, un problema cuya solución se puede verificar en tiempo polinómico, donde el tiempo polinómico se refiere al tiempo de ejecución del algoritmo que se puede expresar como una función polinómica del tamaño de la entrada. Este es un estándar importante en la informática para medir la eficiencia y viabilidad de un algoritmo. Debido a la complejidad del proceso de resolución de problemas NP, se considera un cálculo no factible; sin embargo, su proceso de verificación es relativamente simple, lo que lo hace muy adecuado para la verificación de pruebas de cero conocimiento.

Un ejemplo clásico de un problema NP es el problema del viajante, en el que se debe encontrar la ruta más corta para visitar una serie de ciudades y regresar al punto de partida. 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 los sistemas de prueba interactivos. También propusieron sistemas de prueba interactiva (Interactive Proof Systems,IPS), donde 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 una forma especial de prueba interactiva, en la que el verificador no obtiene ninguna información adicional además 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: Si la prueba es verdadera, un probador honesto puede convencer a un verificador honesto de este hecho;

  2. Fiabilidad: si el probador no conoce el contenido de la declaración, solo puede engañar al validador con una probabilidad insignificante;

  3. Conocimiento cero: Al finalizar el proceso de prueba, el verificador solo recibe la información de que "el probador posee este conocimiento", sin obtener ningún contenido adicional.

( 2. Ejemplo de zk-SNARKs

Para entender mejor los zk-SNARKs y sus atributos, a continuación se presenta un ejemplo de verificación de si el demostrador posee cierta información confidencial, el cual se divide en tres fases: configuración, desafío y respuesta.

Primer paso: configurar )Setup(

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

Elige dos grandes números primos p y q, y calcula su producto n. Sea el número primo p y q, calcula el n obtenido;

Calcule 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;

Elige un número entero aleatorio r, calcula x=r^2 mod n y envíalo 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, calcula x obtenido.

Segundo paso: desafiar )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 seguir 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, según el valor de a, el probador calcula g;

Finalmente, el validador verifica si g^2 mod n es igual a xa^v 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 el lado derecho verifica xa^v mod n=x; cuando a=1, el validador calcula g^2 mod n, y el lado derecho verifica xa^v mod n=xv.

Aquí, vemos que el g^2 mod n calculado por el validador = xa^v mod n indica que el probador ha pasado con éxito el proceso de validació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 validación por suerte es 1/2( cuando a es 0. Pero el validador luego desafía al probador k veces, el probador cambia constantemente los números relacionados, los envía al validador, y siempre logra pasar el proceso de validación, de este modo la probabilidad de que el probador pase la validación por suerte se convierte en )1/2(^k) que tiende infinitamente a 0(, lo que prueba que el probador efectivamente conoce un número secreto s. Este ejemplo demuestra la integridad, fiabilidad y propiedad de cero conocimiento del sistema de pruebas de cero conocimiento.

Dos, zk-SNARKs no interactivos

) 1. Fondo

zk-SNARKs(ZKP) en el concepto tradicional generalmente se presenta como una forma de protocolo interactivo y en línea; por ejemplo, el protocolo Sigma generalmente 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 las aplicaciones de tecnología de cadena de bloques, donde la función de verificación fuera de línea es 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 la posibilidad de que el probador ( Prover ) y el verificador ### Verifier ( pudieran completar el proceso de autenticación sin la necesidad de múltiples interacciones. Este avance hizo que incluso

ZK-5%
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
  • 3
  • Compartir
Comentar
0/400
FlashLoanKingvip
· 07-26 23:16
ZKP increíble ah hermano
Ver originalesResponder0
FlatlineTradervip
· 07-26 08:10
Historia definitiva de ZK
Ver originalesResponder0
PanicSellervip
· 07-25 04:32
alcista pero no entiendo
Ver originalesResponder0
  • Anclado
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)