zk-SNARKs: desarrollo y perspectivas de aplicación de la tecnología innovadora de la Cadena de bloques

Debido a que no ha proporcionado ninguna lista de imágenes, no puedo insertar imágenes en el texto. A continuación se muestra el contenido original del texto, sin ninguna modificación:

Investigación sobre el desarrollo y la aplicación de la tecnología de pruebas de conocimiento cero en el ámbito de la blockchain

Resumen

La prueba de conocimiento cero ( ZKP ) se considera una de las innovaciones más importantes en el campo de la blockchain y también es un foco de inversión de riesgo. Este artículo ofrece una revisión sistemática de la historia de casi cuarenta años y los últimos avances de ZKP.

Primero se presenta el concepto básico y el trasfondo histórico de ZKP. Se analiza en profundidad la tecnología ZKP basada en circuitos, incluidos los diseños, aplicaciones y optimizaciones de modelos como zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs y Ligero. En cuanto al entorno de computación, se introducen ZKVM y ZKEVM, explorando cómo mejoran la capacidad de procesamiento de transacciones, protegen la privacidad y aumentan la eficiencia de verificación. También se presenta 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 dedicados.

Finalmente, se examinaron conceptos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding y ZK StateChannels, y se discutió 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, este artículo proporciona una perspectiva integral para entender y aplicar ZKP, mostrando su gran potencial para mejorar la eficiencia y seguridad de los sistemas de blockchain, ofreciendo una referencia importante para las decisiones de inversión futuras.

Índice

Introducción

Uno, conocimientos básicos sobre pruebas de conocimiento cero

  1. Resumen
  2. Ejemplo de prueba de conocimiento cero

Dos, prueba de conocimiento cero no interactiva

  1. Fondo
  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. Fondo
  2. Conceptos y características básicas del modelo de circuito
  3. Diseño y aplicación de circuitos en pruebas de conocimiento cero
  4. Defectos y desafíos potenciales

Cuatro, modelo de prueba de conocimiento cero

  1. Fondo
  2. Modelos de algoritmos comunes
  3. Esquema basado en PCP lineal y el problema del logaritmo discreto
  4. Propuesta basada 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

V. Resumen y desarrollo de la máquina virtual de conocimiento cero

  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 la Máquina Virtual de Ethereum de conocimiento cero

  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 conocimiento cero

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

Ocho, direcciones futuras para el desarrollo de pruebas de conocimiento cero

  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 ZKP
  4. El desarrollo de la interoperabilidad de ZKP

Nueve, conclusión

Referencias

Introducción

Con la llegada de la era Web3, las aplicaciones de blockchain (DApps) están en rápido desarrollo, procesando miles de millones de transacciones cada día. Los grandes volúmenes de datos generados por estas transacciones suelen contener información personal sensible. Debido a la apertura y transparencia de la blockchain, estos datos están disponibles para todos, lo que ha dado lugar a múltiples problemas de seguridad y privacidad.

Actualmente hay varias tecnologías de criptografía que pueden abordar estos desafíos, incluyendo la criptografía homomórfica, firmas en anillo, computación multipartidaria segura y pruebas de conocimiento cero. Entre ellas, las pruebas de conocimiento cero son una solución más integral, que permite verificar la validez de ciertas afirmaciones sin revelar ningún dato intermedio. A través de ZKP, el verificador puede validar si el probador tiene suficientes fondos para la transacción sin revelar ningún dato privado de la transacción.

La característica 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, convirtiéndose en el foco de la investigación académica y en una pista clave para el capital de riesgo. Con el desarrollo de proyectos como ZkSync y StarkNet, la innovación algorítmica relacionada con ZKP no deja de surgir, y se informa que casi cada semana aparece un nuevo algoritmo. Además, el desarrollo de hardware relacionado con ZKP también avanza rápidamente, incluidos chips optimizados específicamente para ZKP.

Estos avances indican que ZKP no solo es un importante avance en el campo de la criptografía, sino que también es un motor clave para lograr una aplicación más amplia de la tecnología blockchain. Por lo tanto, hemos decidido organizar sistemáticamente el conocimiento relacionado con ZKP para ayudar mejor en las decisiones de inversión futuras. Este artículo revisa de manera integral los documentos académicos centrales relacionados con ZKP y la información de proyectos líderes, proporcionando una base sólida para la redacción.

I. Conceptos básicos de pruebas de conocimiento cero

1. Resumen

En 1985, Goldwasser, Micali y Rackoff propusieron por primera vez los conceptos de prueba de conocimiento cero (ZKP) y prueba de conocimiento interactivo (IZK). Definieron "conocimiento" como "salida computacionalmente inalcanzable", es decir, el conocimiento debe ser la salida de una función compleja, que generalmente se puede entender como un problema NP. El proceso de resolución de problemas NP es complejo, pero el proceso de verificación es simple, lo que lo hace muy adecuado para la verificación de ZKP.

Goldwasser y otros introdujeron el concepto de "complejidad del conocimiento" para cuantificar la cantidad de conocimiento que el probador divulga al verificador. También propusieron el sistema de prueba interactivo (IPS), donde el probador y el verificador demuestran la veracidad de una afirmación a través de múltiples interacciones.

Las tres características básicas de ZKP incluyen:

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

  2. Confiabilidad: Si el demostrador 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 obtiene la información de "el probador posee este conocimiento", sin poder obtener ningún contenido adicional.

2. Ejemplo de prueba de conocimiento cero

A continuación se presenta un ejemplo de cómo verificar si un validador posee cierta información privada, dividido en tres etapas: configuración, desafío y respuesta.

Primer paso: configuraciones

El probador crea una prueba que demuestra que conoce el número secreto s, pero no muestra s directamente.

Elige dos números primos grandes p y q, y calcula N=pq. Calcula v=s^2 mod N y envía v al validador. Elija un entero aleatorio r, calcule x = r^2 mod N y envíelo al verificador.

Paso dos: Desafío

El validador selecciona aleatoriamente un lugar a(0 o 1) y lo envía al probador.

Tercer paso: respuesta

Según el valor de a, el probador responde:

Si a=0, el probador envía y=r. Si a=1, el demostrador calcula y=rs mod N y lo envía.

El validador verifica si y^2 mod N es igual a xa^v mod N basado en el y recibido. Si la igualdad se cumple, el validador acepta esta prueba.

Este ejemplo demuestra la integridad, fiabilidad y propiedad de conocimiento cero del sistema ZKP.

2. Pruebas de conocimiento cero no interactivas

1. Fondo

Los ZKP tradicionales suelen requerir múltiples interacciones para completar la autenticación. Sin embargo, en ciertos escenarios, como transacciones instantáneas o votaciones, a menudo no hay oportunidad para múltiples interacciones, especialmente en aplicaciones de blockchain, donde la función de verificación fuera de línea es especialmente importante.

2. Propuesta de NIZK

En 1988, Blum, Feldman y Micali propusieron por primera vez el concepto de prueba de cero conocimiento no interactiva (NIZK), demostrando que sin necesidad de múltiples interacciones, el probador y el verificador aún pueden completar el proceso de certificación. NIZK se puede dividir en tres etapas: configuración, cálculo y verificación.

En la fase de configuración, se utilizan funciones de cálculo para convertir los parámetros de seguridad en conocimiento público, que generalmente se codifican en una cadena de referencia común (CRS). La fase de cálculo utiliza funciones de cálculo, claves de entrada y de prueba, y produce resultados de cálculo y pruebas. En la fase de verificación, se valida la validez de la prueba a través de la clave de verificación.

3. Transformación Fiat-Shamir

La transformación Fiat-Shamir es un método que convierte pruebas de conocimiento cero interactivas en no interactivas. Este método reduce el número de interacciones al introducir funciones hash y se basa en suposiciones de seguridad para garantizar la veracidad de la prueba y su dificultad de falsificación. Aunque este protocolo se considera seguro en el modelo de oráculo aleatorio, puede enfrentar desafíos en aplicaciones prácticas.

4. Jens Groth y su investigación

La investigación de Jens Groth ha impulsado enormemente la aplicación de ZKP en la criptografía y la tecnología blockchain. Propuso el primer sistema NIZK perfecto aplicable a cualquier lenguaje NP, diseñando un sistema NIZK sencillo y eficiente que reduce significativamente el CRS y el tamaño de las pruebas. Groth también exploró cómo combinar la criptografía homomórfica completa con NIZK, proponiendo un esquema que reduce los costos de comunicación.

5. Otras investigaciones

En escenarios de aplicación específicos, los NIZK de validadores específicos han demostrado un valor práctico único. Por ejemplo, el esquema de criptografía de clave pública desarrollado por Cramer y Shoup resiste eficazmente ataques de texto cifrado selectivo. Damgård y otros propusieron un nuevo método para mejorar la transformación de Fiat-Shamir, que permite realizar NIZK sin necesidad de interacción directa. El concepto de "fiabilidad débilmente atribuible" propuesto por Ventre y Visconti aumenta la dificultad de engañar. La transformación de Unruh es una alternativa a la transformación de Fiat-Shamir, proporcionando NIZK seguro contra oponentes cuánticos en el modelo de oráculo aleatorio.

Tres, prueba de conocimiento cero basada en circuitos

1. Antecedentes

En el campo de la criptografía, especialmente al tratar con tareas de computación que requieren alta paralelización y tipos específicos de cálculos, el modelo tradicional de máquina de Turing muestra ciertas limitaciones. En contraste, el modelo de circuito, con su estructura de cálculo única, es más adecuado para ciertas tareas específicas de procesamiento criptográfico.

2. Conceptos básicos y características del modelo de circuito

El modelo de circuito convierte el proceso de cálculo en una serie de puertas y conexiones, estas puertas realizan operaciones lógicas o aritméticas específicas. El modelo de circuito se divide principalmente en dos grandes clases:

  1. Circuito aritmético: compuesto principalmente por puertas de suma y multiplicación, utilizado para procesar elementos en un campo finito.
  2. Circuito lógico: compuesto por puertas lógicas básicas como AND, OR, NOT, etc., utilizado para procesar operaciones booleanas.

3. Diseño y aplicación de circuitos en pruebas de conocimiento cero

En un sistema ZKP, el proceso de diseño del circuito implica expresar el problema que se quiere probar como un circuito. El proceso de diseño generalmente sigue los siguientes pasos:

  1. Representación del problema: convertir el problema que se va a probar en forma de circuito.
  2. Optimización de circuitos: Optimizar el diseño del circuito mediante técnicas como la fusión de puertas y el plegado de constantes.
  3. Convertir a una representación polinómica: convertir el circuito optimizado en forma polinómica.
  4. Generar cadena de referencia pública (CRS): Generar CRS que incluye la clave de prueba y la clave de verificación.
  5. Generación y verificación de pruebas: el probador genera pruebas según la entrada privada y CRS, y el verificador valida la corrección de la prueba según la descripción del circuito público y CRS.

4. Defectos y desafíos potenciales

Los ZKP basados en circuitos enfrentan los siguientes desafíos:

  1. Complejidad y escala de los circuitos: Cálculos complejos requieren circuitos grandes, lo que lleva a un aumento significativo en el costo computacional de la generación y verificación de pruebas.
  2. Dificultad de optimización: Diseñar y optimizar circuitos eficientes requiere un profundo conocimiento profesional.
  3. Adaptabilidad de tareas de cálculo específicas: diferentes tareas de cálculo requieren diferentes diseños de circuitos, lo que dificulta su generalización.
  4. Dificultad de implementación de algoritmos criptográficos: implementar algoritmos criptográficos complejos puede requerir una gran cantidad de puertas lógicas.
  5. Consumo de recursos: Los circuitos a gran escala requieren una gran cantidad de recursos de hardware, lo que puede encontrar un cuello de botella en la implementación de hardware real.

Las soluciones y direcciones de mejora incluyen: tecnología de compresión de circuitos, diseño modular y aceleración de hardware, entre otros.

Cuatro, modelo de prueba de conocimiento cero

1. Antecedentes

La versatilidad de ZKP basada en circuitos es bastante limitada, y se necesitan desarrollar nuevos modelos y algoritmos para problemas específicos. Existen varios compiladores de lenguajes de alto nivel y herramientas de combinación de circuitos de bajo nivel para generar circuitos y diseñar algoritmos; la conversión de cálculos relacionados se puede realizar a través de herramientas de construcción de circuitos manualmente o mediante compiladores automáticos.

2. Modelos de algoritmos comunes

  1. Modelo zkSNARK: propuesto por Bitansky et al., como la abreviatura de "prueba de conocimiento no interactiva de cero conocimiento concisa".

  2. Modelo de Ben-Sasson: un nuevo modelo de zkSNARK para la ejecución de programas en la arquitectura RISC de von Neumann.

  3. Modelo Pinocchio: un conjunto completo de generación de pruebas de conocimiento cero no interactivas, que incluye un compilador avanzado.

  4. Modelo Bulletproofs: no requiere una configuración confiable y el tamaño de la prueba crece de manera logarítmica con el tamaño del valor testigo.

  5. Modelo Ligero: un modelo ZKP ligero, cuya complejidad de comunicación es proporcional a la raíz cuadrada del tamaño del circuito de verificación.

ZK-2.36%
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
GasFeeCryervip
· 07-19 22:14
el gas volvió a subir al cielo
Ver originalesResponder0
WalletWhisperervip
· 07-19 20:44
La privacidad es poder
Ver originalesResponder0
GigaBrainAnonvip
· 07-19 17:04
ZK es, de hecho, el antídoto del futuro
Ver originalesResponder0
MrDecodervip
· 07-18 05:36
El futuro de ZK es prometedor
Ver originalesResponder0
BlockchainGrillervip
· 07-18 05:35
Comunidad de cadena viejo cocinero
Ver originalesResponder0
Deconstructionistvip
· 07-18 05:22
Demasiado básico, está divagando.
Ver originalesResponder0
NFTDreamervip
· 07-18 05:21
Consorcio de cadena de bloques también debe ser mencionado.
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)