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

El desarrollo y la aplicación de la técnica de zk-SNARKs en el campo de la Cadena de bloques

Resumen

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

El artículo primero presenta el concepto básico y el contexto histórico de zk-SNARKs. Se analiza en profundidad la tecnología de pruebas de conocimiento cero basada en circuitos, incluyendo el diseño, la aplicación y los métodos de optimización de modelos como zkSNARK, el modelo Ben-Sasson, Pinocchio, Bulletproofs y Ligero. En términos de entorno computacional, el artículo introduce 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(ZK Rollup) como una solución de escalamiento de segunda capa, así como los últimos avances en aceleración de hardware, soluciones híbridas y ZK EVM dedicados.

Finalmente, el artículo contempla 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 últimas tecnologías y tendencias de desarrollo, 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 Cadena de bloques, y ofrece una referencia importante para las decisiones de inversión futuras.

Índice

Introducción

Una, zk-SNARKs conocimientos básicos

  1. Resumen 2.zk-SNARKs ejemplo

Dos, zk-SNARKs no interactivo

  1. Contexto
  2. Propuesta de NIZK 3.Transformación Fiat-Shamir
  3. Jens Groth y su investigación
  4. 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
  2. Esquema basado en PCP lineal y problema de logaritmo discreto
  3. Esquema basado en la prueba de las personas comunes
  4. Prueba de conocimiento cero verificable basada en probabilidades ( PCP )
  5. Clasificación de la fase de configuración de la construcción de prueba general CPC( )

Cinco, resumen y desarrollo de zk-SNARKs virtuales.

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

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

  1. Antecedentes
  2. Cómo funciona ZKEVM 3.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. Fondo
    2.Mecanismo de trabajo de zk-Rollup 3.Desventajas y optimización de ZK Rollup

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

  1. Acelerar el desarrollo del entorno de cálculo
  2. Propuesta y desarrollo de zk-SNARKs
  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

En los últimos años, el desarrollo de aplicaciones de cadena de bloques (DApps) ha sido rápido, surgiendo nuevas aplicaciones casi todos los días. Las plataformas de cadena de bloques soportan las actividades 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 de la cuenta. Dada la apertura y transparencia de la cadena de bloques, estos datos almacenados son accesibles para todos, lo que ha provocado diversos problemas de seguridad y privacidad.

Actualmente, existen varias tecnologías de cifrado que pueden abordar estos desafíos, incluyendo cifrado homomórfico, firmas en anillo, computación segura multipartita y zk-SNARKs. El cifrado homomórfico permite realizar operaciones sin descifrar el texto cifrado, lo que ayuda a proteger la seguridad del saldo de la cuenta y del monto de las transacciones, pero no puede proteger la seguridad de 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 seguridad de la dirección de la cuenta, pero no pueden proteger el saldo de la cuenta y el monto de las transacciones. La computación segura multipartita permite distribuir tareas de cálculo entre múltiples participantes sin que ningún participante conozca los datos de otros participantes, protegiendo efectivamente la seguridad del saldo de la cuenta y del monto de las transacciones, pero tampoco puede proteger la seguridad de la dirección de la cuenta. Además, el cifrado homomórfico, las firmas en anillo y la computación segura multipartita no pueden ser utilizados para verificar en un entorno de cadena de bloques si el demostrador tiene suficiente monto de transacción sin revelar el monto de la transacción, la dirección de la cuenta y el saldo de la cuenta.

El zk-SNARKs es una solución más completa, este protocolo de verificación permite validar la corrección 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 tampoco ofrece 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 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, y luego se transmite esa prueba al validador, quien realiza cálculos predefinidos sobre la prueba y produce el resultado final del cálculo, llegando así a la conclusión de si acepta la declaración del probador. Si la declaración del probador es aceptada, significa que poseen suficientes montos de transacción. El proceso de verificación anterior puede registrarse en la Cadena de bloques, sin ninguna falsificación.

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

A partir de esto, numerosos proyectos de red basados en ZKP han surgido, como ZkSync, StarkNet, Mina, Filecoin y Aleo, entre otros. Con el desarrollo de estos proyectos, la innovación algorítmica relacionada con ZKP ha 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 de 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 relevante sobre zk-SNARKs ( ZKP ) para ayudar mejor en nuestras decisiones de inversión futuras. 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 el 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, conocimientos básicos sobre zk-SNARKs

1. Resumen

En 1985, los académicos Goldwasser, Micali y Rackoff propusieron por primera vez el zk-SNARKs (Zero-KnowledgeProof, ZKP ) y el conocimiento interactivo (InteractiveZero-Knowledge, IZK ) en un artículo. Este artículo es la obra fundamental de los zk-SNARKs, definiendo muchos conceptos que influyen en la investigación académica posterior. Por ejemplo, la definición de conocimiento es "salida de cálculo no factible", lo que significa que el conocimiento debe ser una salida y que es 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 puede entenderse generalmente 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 puede expresarse 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 los algoritmos. Debido a 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 del 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, dado un camino, verificar si ese camino es el más corto es relativamente fácil. Esto se debe a que la distancia total de un camino específico 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 (Interactive Proof Systems, IPS), en el que 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, 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 ( completeness ): Si la prueba es verdadera, el probador honesto puede convencer al verificador honesto de este hecho;

2.Confiabilidad(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): Al finalizar el proceso de prueba, el verificador solo recibe la información de "el probador tiene este conocimiento", sin poder 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 que verifica si el probador posee cierta información privada, el cual se divide en tres etapas: configuración, desafío y respuesta.

Primer paso: configurar (Setup)

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

Selecciona dos grandes números primos p y q, calcula su producto. Establece la suma de los primos, calcula el resultado;

Cálculo, aquí, v como parte de la prueba se envía al verificador, pero no es suficiente para que el verificador o cualquier observador infiera s.

Selecciona un entero aleatorio r, calcula y envíalo al validador. Este valor x se utiliza para el proceso de verificación posterior, pero tampoco expone s. Sea un entero aleatorio, calcula el resultado.

Segundo paso: Desafío (Challenge)

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

Tercer paso: respuesta (Response)

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

Si el demostrador envía ( aquí, r es un número que eligió aleatoriamente anteriormente ).

Si el probador calcula y envía. Suponga que el verificador envía un bit aleatorio; según el valor de a, el probador calcula.

Finalmente, el validador verifica si g recibido es igual. Si la igualdad se cumple, el validador acepta esta prueba. En ese momento, el validador calcula la validación del lado derecho; en ese momento, el validador calcula la validación del lado derecho.

Aquí, vemos que el validador calcula que el demostrador ha pasado con éxito el proceso de verificación, mientras no revela su número secreto s. Aquí, dado que a solo puede ser 0 o 1, hay solo dos posibilidades, la probabilidad de que el demostrador pase la verificación por suerte es ( cuando a es 0, ). Pero luego el validador desafía al demostrador nuevamente, el demostrador cambia continuamente los números relevantes y los presenta al validador, y siempre puede pasar con éxito el proceso de verificación, de modo que la probabilidad de que el demostrador pase la verificación por suerte se acerca infinitamente a 0(, lo que demuestra que el demostrador realmente conoce un número secreto s. Este ejemplo demuestra la integridad, fiabilidad y propiedad de conocimiento cero del sistema de pruebas de conocimiento cero.

Dos, zk-SNARKs no interactivos

) 1. Antecedentes

zk-SNARKs###ZKP( en el concepto tradicional generalmente se presenta en forma de protocolos interactivos y en línea; por ejemplo, el protocolo Sigma suele 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 para múltiples interacciones, especialmente en la aplicación de la tecnología de Cadena de bloques, donde la funcionalidad de verificación fuera de línea se vuelve especialmente 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( completen el proceso de certificación sin necesidad de múltiples interacciones. Este avance permitió

ZK1.84%
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
  • Republicar
  • Compartir
Comentar
0/400
GasFeeAssassinvip
· Hace3m
Siento que otra vez voy a gastar gas, uhu.
Ver originalesResponder0
FunGibleTomvip
· 08-10 02:49
zksnark y estoy confundido, no entiendo.
Ver originalesResponder0
ShibaOnTheRunvip
· 08-10 02:45
DOGE cadena jugadores ah ah ah ya casi está todo amarillo
Ver originalesResponder0
DegenWhisperervip
· 08-10 02:42
Es increíble, la prueba de conocimiento cero ya tiene cuarenta años.
Ver originalesResponder0
RugpullAlertOfficervip
· 08-10 02:40
Esta zk es la gran tendencia de la cadena de bloques.
Ver originalesResponder0
ChainMaskedRidervip
· 08-10 02:31
玩zk还得看这trampa
Ver originalesResponder0
LiquiditySurfervip
· 08-10 02:30
Otra vez vienen a hablar de zk, me estoy emborrachando de tanto escuchar. Tómate una martini para calmarte.
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)