Revisión completa de 40 años de la tecnología de pruebas de conocimiento cero: desarrollo y perspectivas futuras desde zk-SNARKs hasta zk-EVM.

Revisión completa de la tecnología de zk-SNARKs y perspectivas futuras

Resumen

zk-SNARKs(ZKP) es ampliamente considerado como una de las innovaciones tecnológicas más importantes en el campo de blockchain, tras la tecnología de libros de contabilidad distribuidos, y también es un área de enfoque clave para la inversión de riesgo. Este artículo proporciona una revisión sistemática de la literatura histórica y la investigación más reciente sobre la tecnología zk-SNARKs en casi cuarenta años.

Primero, se presenta el concepto básico y el contexto histórico de zk-SNARKs. Luego, se analiza en profundidad la tecnología de zk-SNARKs basada en circuitos, incluyendo el diseño, la aplicación y los métodos de optimización de modelos como zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs y Ligero. En el ámbito del entorno computacional, este artículo presenta ZKVM y ZKEVM, explorando cómo mejoran la capacidad de procesamiento de transacciones, protegen la privacidad y aumentan la eficiencia de verificación. El artículo también introduce el mecanismo de trabajo y los métodos de optimización de zk-SNARKs Rollup(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 dedicados.

Por último, este artículo contempla conceptos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding y ZK StateChannels, y explora su potencial en términos de escalabilidad, interoperabilidad y protección de la privacidad en blockchain.

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

Índice

Introducción

Uno, fundamentos de zk-SNARKs

  1. Resumen
  2. zk-SNARKs ejemplo

Dos, zk-SNARKs no interactivos

  1. Contexto
  2. 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. 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, zk-SNARKs modelo

  1. Contexto 2.Modelos de algoritmos comunes
  2. Esquema basado en PCP lineal y el problema del logaritmo discreto
  3. Plan basado en la prueba de personas comunes
  4. Prueba de conocimiento cero zk-SNARKs basado en PCP( verificable probabilísticamente ).
  5. Clasificación de la fase de configuración de la construcción de prueba general CPC( )

Cinco, una visión general y desarrollo de las máquinas virtuales de prueba de conocimiento cero.

  1. Fondo
  2. Clasificación de 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 de prueba de conocimiento cero.

  1. Contexto
  2. Cómo funciona ZKEVM
  3. El proceso de implementación de ZKEVM
  4. Características de ZKEVM

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

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

Ocho, las direcciones futuras de 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 ZKP
  4. El desarrollo de la interoperabilidad de zk-SNARKs

Nueve, conclusión

Referencias

Introducción

Internet está entrando en la era Web3, las aplicaciones de blockchain ( DApps ) están desarrollándose rápidamente, con nuevas aplicaciones surgiendo todos los días. En los últimos años, las plataformas de blockchain han estado soportando millones de actividades de usuarios diariamente, procesando miles de millones de transacciones. La gran cantidad de datos generados por estas transacciones a menudo incluye información personal sensible como la identidad del usuario, el monto de la transacción, la dirección de la cuenta y el saldo de la cuenta. Dada la apertura y transparencia de la blockchain, estos datos almacenados son accesibles para todos, lo que ha generado una variedad de problemas de seguridad y privacidad.

Actualmente, hay varias tecnologías criptográficas que pueden abordar 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 de los saldos de cuenta y los montos de transacción, pero no puede proteger la seguridad de las direcciones de cuenta. Las firmas en anillo ofrecen una forma especial de firma digital que puede ocultar la identidad del firmante, protegiendo así la seguridad de las direcciones de cuenta, pero no puede proteger los saldos de cuenta y los montos de transacción. 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 de los saldos de cuenta y los montos de transacción, pero tampoco puede proteger la seguridad de las direcciones de cuenta. Además, la criptografía homomórfica, las firmas en anillo y el cálculo seguro multiparte no pueden utilizarse para verificar si el demostrador tiene suficientes montos de transacción en un entorno de blockchain 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, un protocolo de verificación que permite validar la veracidad de ciertas proposiciones sin revelar ningún dato intermedio. Este protocolo no requiere una infraestructura de clave pública compleja, y su implementación repetida no ofrece 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 suficientes montos de transacción sin revelar ningún dato de transacción privado. El proceso de verificación incluye la generación de una prueba que contiene el monto de transacción que el probador afirma tener, que luego se transmite al validador. El validador realiza cálculos predefinidos sobre la prueba y produce un resultado final, llegando a la conclusión de si acepta la declaración del probador. Si la declaración del probador es aceptada, significa que tienen suficientes montos de transacción. El proceso de verificación anterior se puede registrar 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 blockchain y aplicaciones de criptomonedas, especialmente en la protección de la privacidad y la escalabilidad de la red, lo que la convierte no solo en un foco de investigación académica, sino que también es ampliamente considerada como una de las innovaciones tecnológicas más importantes desde la implementación exitosa de la tecnología de ledger distribuido, en particular Bitcoin. Al mismo tiempo, también es una pista clave para aplicaciones industriales y capital de riesgo.

Como resultado, numerosos proyectos de red basados en zk-SNARKs han surgido, como ZkSync, StarkNet, Mina, Filecoin y Aleo. Con el desarrollo de estos proyectos, la innovación en algoritmos relacionados con zk-SNARKs está surgiendo constantemente, y se informa que casi cada semana aparece un nuevo algoritmo. Además, el desarrollo de hardware relacionado con la tecnología zk-SNARKs también avanza rápidamente, incluidos chips optimizados específicamente para zk-SNARKs. Por ejemplo, proyectos como Ingonyama, Irreducible y Cysic han completado grandes recaudaciones de fondos, estos desarrollos no solo muestran el rápido progreso de la tecnología zk-SNARKs, sino que también reflejan la transición de hardware genérico a hardware dedicado 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 también un impulso clave para lograr aplicaciones más amplias de la tecnología blockchain, 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 en nuestras futuras decisiones de inversión. Para ello, revisamos de manera integral los artículos académicos clave relacionados con ZKP ( y los clasificamos según su relevancia y número de citas ); al mismo tiempo, también analizamos en detalle la información y los libros blancos de los proyectos líderes en este campo ( y los ordenamos según su tamaño de financiamiento ). Esta recopilación y análisis integral de datos proporciona una base sólida para la redacción de este artículo.

Una, zk-SNARKs conocimientos básicos

1. Resumen

En 1985, los académicos Goldwasser, Micali y Rackoff propusieron por primera vez el concepto de zk-SNARKs en su artículo "The Knowledge Complexity of Interactive Proof-Systems". Este documento es la obra fundamental de los zk-SNARKs, definiendo muchos conceptos que impactaron la investigación académica posterior. Por ejemplo, la definición de conocimiento es "la salida de un cálculo no factible", lo que significa que el conocimiento debe ser una salida y ser un cálculo no factible, lo que implica que no puede ser una función simple, sino que debe ser una función compleja. El cálculo no factible generalmente puede entenderse como un problema NP, es decir, un problema cuya solución puede verificarse en tiempo polinómico, lo que significa que el tiempo de ejecución del algoritmo se puede expresar como una función polinómica del tamaño de la entrada. Este es un estándar importante en ciencias de la computación para medir la eficiencia y viabilidad de un algoritmo. Dado que el proceso de resolución de problemas NP es complejo, se considera un cálculo no factible; 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 partida. Aunque puede ser difícil encontrar la ruta más corta, 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 calcular en tiempo polinómico.

Goldwasser y otros introdujeron el concepto de "complexidad de conocimiento" ( knowledge complexity ) 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 sistemas de prueba interactivos ( Interactive Proof Systems, IPS ), en los que el probador ( Prover ) y el verificador ( Verifier ) interactúan en múltiples rondas para demostrar la veracidad de una afirmación.

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 aparte 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 verificador honesto de este hecho;

  1. 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, el verificador solo recibe la información de que "el probador posee este conocimiento", sin poder obtener ningún contenido adicional.

(# 2.zk-SNARKs

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 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 sin revelar 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.

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 se 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 se 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 emitido por el validador, el demostrador responde:

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

Si a=1, el probador calcula g=rs mod n y lo envía. Supongamos que el verificador envía un bit aleatorio a, según el valor de a, el probador calcula g;

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

Aquí, vemos que el g^2 mod n=xa^v mod n calculado por el validador demuestra que el probador ha pasado el proceso de verificación con éxito, 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 relevantes, los presenta al validador y siempre logra pasar el proceso de verificación, de modo que la probabilidad de que el probador pase la verificación por suerte ( 1/2)^n ( tiende a 0), lo que demuestra que el probador realmente conoce algún número secreto s. Este ejemplo demuestra la integridad, fiabilidad y propiedad de conocimiento cero del sistema de prueba de conocimiento cero.

( Dos, zk-SNARKs no interactivos

)# 1. Fondo

zk-SNARKs(ZKP) en el concepto tradicional generalmente es una forma de protocolo interactivo y en línea; por ejemplo, los protocolos Sigma suelen requerir 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 de realizar múltiples interacciones, especialmente en la aplicación de tecnologías blockchain, donde la función de verificación fuera de línea se vuelve especialmente importante.

(# 2. Propuesta de NIZK

1

ZK-7.62%
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
  • 8
  • Compartir
Comentar
0/400
GhostAddressHuntervip
· 07-15 22:09
No entiendo, pero suena muy elegante.
Ver originalesResponder0
CommunityLurkervip
· 07-15 08:41
Este número lo he estado estudiando desde hace 5 años.
Ver originalesResponder0
LiquidationWatchervip
· 07-13 12:17
Escribí para presumir, ahora deberíamos hablar de dinero, ¿verdad?
Ver originalesResponder0
BoredWatchervip
· 07-13 12:17
Just said that zk will not leave the air.
Ver originalesResponder0
SybilSlayervip
· 07-13 12:16
Demasiado intenso, amigo.
Ver originalesResponder0
BrokenYieldvip
· 07-13 12:14
otro ciclo de hype de zk... he visto esta película antes en 2019 y todos sabemos cómo terminó smh
Ver originalesResponder0
SchrodingerWalletvip
· 07-13 12:12
¿Alguien ha despertado a ZKEVM de nuevo?
Ver originalesResponder0
MissedTheBoatvip
· 07-13 12:09
Escribí durante medio día y no es mejor que ir a la zona zk.
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)