Historia de la evolución de la tecnología de zk-SNARKs en 40 años: un análisis completo desde lo básico hasta ZK Rollup.

zk-SNARKs: Resumen de la tecnología y perspectivas futuras

Resumen

zk-SNARKs(ZKP) como una importante técnica criptográfica, se considera ampliamente en el ámbito de la blockchain como una de las innovaciones más revolucionarias después de la tecnología de libro mayor distribuido. Este artículo presenta una revisión sistemática del desarrollo de la tecnología ZKP en casi cuarenta años y de las últimas investigaciones.

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, las aplicaciones y los métodos de optimización de modelos como zk-SNARKs, Pinocchio y Bulletproofs. En cuanto al 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 la verificación. El artículo también expone el mecanismo de funcionamiento 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 dedicados.

Finalmente, 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 últimas tecnologías y tendencias de desarrollo, este artículo proporciona una perspectiva integral para entender y aplicar la tecnología ZKP, mostrando su enorme potencial para mejorar la eficiencia y seguridad de los sistemas de blockchain, y ofreciendo una referencia importante para las decisiones de inversión futuras.

Tabla de contenidos

Introducción

Uno, conocimientos básicos sobre zk-SNARKs

  1. Resumen
  2. zk-SNARKs ejemplo

二、非交互zk-SNARKs

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

Tres, pruebas de conocimiento cero basadas 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. Antecedentes
  2. Modelos de algoritmos comunes
  3. Esquema basado en PCP lineal y el problema del logaritmo discreto
  4. Plan basado en la prueba de personas comunes
  5. Prueba de conocimiento cero basada en pruebas verificables de probabilidad
  6. Clasificación de la fase de configuración basada en CPC

Cinco, resumen y desarrollo de la máquina virtual de prueba de cero conocimiento.

  1. Fondo
  2. Clasificación de ZKVM existente
  3. Paradigmas de front-end y back-end
  4. Ventajas y desventajas del paradigma ZKVM

Seis, resumen y desarrollo de la máquina virtual de Ethereum con cero conocimiento.

  1. Antecedentes
  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 de zk-SNARKs

  1. Antecedentes
  2. El mecanismo de funcionamiento de ZK Rollup
  3. Desventajas y optimización de ZK Rollup

Ocho, direcciones futuras del desarrollo de zk-SNARKs

  1. Acelerar el desarrollo del entorno de cálculo
  2. 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 blockchain ( DApps ) están experimentando un crecimiento explosivo, con nuevas aplicaciones surgiendo todos los días. En los últimos años, las plataformas de blockchain han estado manejando actividades de millones de usuarios a diario, procesando miles de millones de transacciones. La gran cantidad de datos generados por estas transacciones a menudo contiene 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 blockchain, estos datos almacenados son públicos para todos, lo que ha dado lugar a una variedad de problemas de seguridad y privacidad.

Actualmente, hay varias tecnologías de cifrado que pueden enfrentar estos desafíos, incluyendo cifrado homomórfico, firmas en anillo, cálculo seguro multiparte y zk-SNARKs. El cifrado homomórfico permite realizar cálculos sin descifrar el texto cifrado, lo que ayuda a proteger la seguridad del saldo de la cuenta y el monto de la transacción, pero no puede proteger la dirección de la cuenta. Las firmas en anillo ofrecen una forma especial de firma digital que puede ocultar la identidad del firmante, protegiendo así la dirección de la cuenta, pero no puede proteger el saldo de la cuenta y el monto de la 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, protegiendo efectivamente el saldo de la cuenta y el monto de la transacción, pero igualmente no puede proteger la dirección de la cuenta. Además, estas tecnologías no pueden verificar en un entorno de blockchain si el probador tiene suficientes montos de transacción 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 corrección 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 suficientes fondos para la transacción sin revelar ningún dato privado de la transacción. El proceso de validación incluye generar una prueba que contenga el monto de la transacción que el probador afirma tener, luego se transmite esa prueba al validador, quien realiza cálculos predefinidos sobre la prueba y produce el resultado final, para así llegar a la conclusión de si acepta la declaración del probador. Si se acepta la declaración del probador, significa que tienen suficientes fondos para la transacción. El proceso de validación mencionado se puede registrar en la cadena de bloques, sin ninguna falsificación.

Esta 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 expansión de la red, lo que no solo lo convierte en un foco de 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 libro mayor distribuido (, especialmente Bitcoin ). Al mismo tiempo, también es una pista clave para aplicaciones en la industria y capital de riesgo.

A partir de esto, han surgido numerosos proyectos de red basados en zk-SNARKs, como ZkSync, StarkNet, Mina, Filecoin y Aleo, entre otros. Con el desarrollo de estos proyectos, la innovación algorítmica relacionada con zk-SNARKs ha aparecido 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 está avanzando rápidamente, incluyendo chips optimizados específicamente para zk-SNARKs. Por ejemplo, proyectos como Ingonyama, Irreducible y Cysic han completado grandes rondas de financiamiento, 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 genérico a hardware específico como GPU, FPGA y ASIC.

Estos avances indican que la tecnología de zk-SNARKs no solo es un importante avance en el campo de la criptografía, sino que también es un impulso clave para lograr una aplicación más amplia 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 decisiones de inversión futuras. Para ello, revisamos de manera integral los documentos 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 tamaño de financiación ). Esta recopilación y análisis de información integral proporcionaron una base sólida para la redacción de este artículo.

( Uno, fundamentos de zk-SNARKs

)# 1. Resumen

En 1985, los académicos Goldwasser, Micali y Rackoff presentaron por primera vez la prueba de conocimiento cero en el artículo "The Knowledge Complexity of Interactive Proof-Systems", donde definieron conceptos que influyeron en la investigación académica posterior, como la prueba de conocimiento cero ### Zero-Knowledge Proof, ZKP ### y el conocimiento interactivo ( Interactive Zero-Knowledge, IZK ). Este artículo es la obra fundamental de la prueba de conocimiento cero y define muchos conceptos que han impactado la investigación posterior. Por ejemplo, la definición de conocimiento es "salida de cálculo ineficaz", lo que significa que el conocimiento debe ser una salida y es un cálculo ineficaz, lo que implica que no puede ser una función simple, sino que debe ser una función compleja. El cálculo ineficaz generalmente puede entenderse como un problema NP, es decir, un problema cuya solución puede verificarse por tiempo polinómico, lo que significa que el tiempo de ejecución del algoritmo puede expresarse 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. Debido a la complejidad del proceso de resolución de problemas NP, se considera un cálculo ineficaz; sin embargo, su proceso de verificación es relativamente simple, por lo que es muy adecuado para la verificación de pruebas de conocimiento cero.

Un ejemplo clásico de un problema NP es el problema del vendedor viajero, 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 en su artículo el concepto de "complejidad del conocimiento" 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), donde el probador (Prover) y el verificador (Verifier) prueban 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, en la que el verificador no obtiene ninguna información adicional más allá del valor de verdad de la afirmación durante el proceso de verificación; y se presentan tres características básicas que incluyen:

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

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

  1. Conocimiento cero: al finalizar el proceso de prueba, el verificador solo obtiene la información de "el probador tiene 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 muestra un ejemplo que verifica si el probador posee cierta información confidencial, el cual se divide en tres etapas: configuración, desafío y respuesta.

Primer paso: configurar

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. Sea el número secreto s;

Elige 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.

Selecciona un número entero aleatorio r, calcula x=r^2 mod n y envíalo al verificador. Este valor x se utiliza en el proceso de verificación posterior, pero tampoco expone s. Sea r el número entero aleatorio, calcula x obtenido.

Segundo paso: Desafío

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

Tercera etapa: respuesta

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

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

Si a=1, el probador calcula g=rs mod n y lo envía. Supongamos que el verificador envía el bit aleatorio a, según el 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 en el lado derecho; cuando a=1, el validador calcula g^2 mod n y verifica xv en el lado derecho.

Aquí, vemos que el verificador calcula x=g^2 mod n, lo que demuestra que el probador ha pasado exitosamente el proceso de verificación, sin revelar su número secreto s. Aquí, dado que a solo puede tomar 0 o 1, hay solo dos posibilidades, la probabilidad de que el probador pase la verificación por suerte es del 50% ( cuando a toma 0 ). Pero el verificador luego desafía al probador n veces, el probador cambia constantemente los números relevantes, los presenta al verificador, y siempre logra pasar el proceso de verificación, así que la probabilidad de que el probador pase la verificación por suerte es ( 1/2)^n ( tiende a 0), lo que prueba que el probador efectivamente conoce algún número secreto s. Este ejemplo demuestra la integridad, confiabilidad y la 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 suelen ser formas de protocolo interactivas 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 realizar múltiples interacciones, especialmente en la aplicación de la tecnología blockchain, donde la funcionalidad de verificación fuera de línea es particularmente importante.

(# 2.Se propuso 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) completaran el proceso de autenticación sin necesidad de múltiples interacciones. Este avance hizo que fueran viables las transacciones instantáneas, la votación y la implementación de aplicaciones en blockchain.

ZK1.07%
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
  • 7
  • Compartir
Comentar
0/400
BlockDetectivevip
· 07-15 23:55
zksnark es muy bueno
Ver originalesResponder0
FunGibleTomvip
· 07-15 04:16
¿Quién puede entender esto...? Ya estoy casi loco.
Ver originalesResponder0
FlashLoanLordvip
· 07-14 05:09
No puedo leer, ni siquiera los perros lo entienden.
Ver originalesResponder0
wagmi_eventuallyvip
· 07-14 05:05
zkSolo he usado stark, no entiendo los demás.
Ver originalesResponder0
JustHereForMemesvip
· 07-14 04:55
zk esta tecnología es realmente increíble
Ver originalesResponder0
ImpermanentPhilosophervip
· 07-14 04:55
DOGE, ¿dónde no funciona? ¿No se ha usado ya zkp?
Ver originalesResponder0
DaoGovernanceOfficervip
· 07-14 04:53
*suspiro* otra encuesta más que carece de las críticas perspectivas de Vitalik de su artículo zk de 2022...
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)