Aplicación y desarrollo de la tecnología zk-SNARKs en el campo de la Cadena de bloques
Resumen
zk-SNARKs(ZKP) tecnología como una innovación importante en el campo de la Cadena de bloques, ha recibido una amplia atención en los últimos años. Este artículo revisa sistemáticamente el desarrollo de la tecnología ZKP en los últimos cuarenta años, centrándose en analizar sus últimas aplicaciones en el campo de la Cadena de bloques.
Primero, se introducen los conceptos básicos de ZKP y el contexto histórico. Luego, se explora en profundidad la tecnología ZKP basada en circuitos, incluyendo el diseño y la optimización de soluciones como zkSNARK, el modelo de Ben-Sasson, Pinocchio, Bulletproofs y Ligero. En cuanto al entorno de cálculo, el artículo presenta los principios de ZKVM y ZKEVM y su aplicación en la mejora de la capacidad de procesamiento de transacciones, la protección de la privacidad y el aumento de la eficiencia de validación. También se detalla 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 dedicado.
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 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 ZKP, mostrando su gran potencial para mejorar la eficiencia y seguridad de los sistemas de Cadena de bloques, y ofreciendo una referencia importante para las decisiones de inversión futuras.
Índice
Introducción
Uno, conocimientos básicos sobre zk-SNARKs
Dos, zk-SNARKs no interactivos
Tres, zk-SNARKs basados en circuitos
Cuatro, zk-SNARKs modelo
Cinco, resumen y desarrollo de la máquina virtual zk-SNARKs
Seis, descripción y desarrollo de la máquina virtual de Ethereum zk-SNARKs
Siete, resumen y desarrollo del esquema de red de segunda capa zk-SNARKs
Ocho, dirección futura del desarrollo de zk-SNARKs
Nueve, conclusión
Referencias
Introducción
Con la llegada de la era Web3 en Internet, las aplicaciones de cadena de bloques (DApps) están desarrollándose rápidamente, procesando miles de millones de transacciones cada día. 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, entre otros. Debido a la apertura y transparencia de la cadena de bloques, estos datos son visibles para todos, lo que ha generado una variedad de problemas de seguridad y privacidad.
Actualmente, hay varias tecnologías de criptografía que pueden enfrentar estos desafíos, incluyendo la criptografía homomórfica, las firmas en anillo, el cálculo seguro multipartito y zk-SNARKs. Entre ellas, zk-SNARKs ( ZKP ) es una solución más integral. ZKP permite verificar la validez de ciertas afirmaciones sin revelar ningún dato intermedio. A través de ZKP, el verificador puede comprobar si el probador tiene un monto de transacción suficiente 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 cadena de bloques y en las aplicaciones de criptomonedas, especialmente en términos de protección de la privacidad y escalabilidad de la red. No solo se ha convertido en el foco de la investigación académica, sino que también es un área clave para aplicaciones industriales y capital de riesgo. Han surgido numerosos proyectos de red basados en ZKP, como ZkSync, StarkNet, Mina, Filecoin y Aleo. Con el desarrollo de estos proyectos, la innovación en algoritmos ZKP no cesa, casi cada semana se presenta un nuevo algoritmo. Además, el desarrollo de hardware relacionado con la tecnología ZKP también avanza rápidamente, incluidos chips optimizados específicamente para ZKP.
Estos avances indican que la tecnología 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 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 ZKP para ayudar mejor en futuras decisiones de inversión. 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 un análisis sistemático.
Uno, conocimientos básicos sobre zk-SNARKs
1. Resumen
En 1985, Goldwasser, Micali y Rackoff propusieron por primera vez el concepto de zk-SNARKs ( ZKP ) y de pruebas de conocimiento interactivas ( IZK ). Definieron "conocimiento" como "salida de cálculo no computable", 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 relativamente simple, por lo que es muy adecuado para la verificación de ZKP.
Goldwasser y otros propusieron el concepto de "complejidad del conocimiento" para cuantificar la cantidad de conocimiento que el probador revela al verificador. También propusieron el sistema de prueba interactivo (IPS), en el que 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 son:
Completitud: Si la prueba es verdadera, un probador honesto puede convencer a un verificador honesto de este hecho.
Confiabilidad: si el probador no conoce el contenido de la declaración, solo puede engañar al verificador con una probabilidad insignificante.
Conocimiento cero: una vez completado 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. Ejemplo de 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 privada, el cual se divide en tres etapas: configuración, desafío y respuesta.
Primer paso: configurar (Setup)
El probador crea una prueba para demostrar que conoce un número secreto s, pero no lo muestra directamente. Selecciona dos grandes números primos p y q, calcula n=pq. Elige un número entero aleatorio r, calcula x=r^2 mod n y lo envía al validador.
Paso dos: desafiar (Challenge)
El validador selecciona aleatoriamente una posición a(0 o 1) y la envía al probador.
Tercer paso: respuesta (Response)
Según el valor de a, el probador responde:
Si a=0, envía y=r
Si a=1, calcula y=rs mod n y envía
El validador verifica si x es igual a y^2 mod n( cuando a=0) o y^2v mod n( cuando a=1). Si la igualdad se cumple, el validador acepta esta prueba.
Este ejemplo demuestra la integridad, fiabilidad y características de cero conocimiento del sistema ZKP. Al repetir este proceso múltiples veces, se puede reducir la probabilidad de que el probador pase la verificación solo por suerte a un nivel muy bajo.
Dos, zk-SNARKs no interactivos
1. Contexto
Los ZKP tradicionales suelen ser formas de protocolo interactivas y en línea. Sin embargo, en ciertos escenarios, como transacciones instantáneas o votaciones, a menudo no hay oportunidad para múltiples interacciones. Por lo tanto, el concepto de pruebas de conocimiento cero no interactivas (NIZK) ha surgido.
2. La propuesta de NIZK
En 1988, Blum, Feldman y Micali propusieron por primera vez el concepto de NIZK, demostrando que, sin la 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 utiliza una función de cálculo para convertir los parámetros de seguridad en conocimiento público, que generalmente se codifica en una cadena de referencia común (CRS). En la fase de cálculo, se utilizan la función de cálculo, las entradas y la clave de prueba, y se generan los resultados de cálculo y la prueba. En la fase de verificación, se valida la efectividad de la prueba mediante la clave de verificación.
3.Transformación Fiat-Shamir
La transformación Fiat-Shamir es un método para convertir pruebas de conocimiento cero interactivas (ZKP) 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 para ser falsificada. 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 de la Cadena de bloques. Junto con otros investigadores, propuso varias mejoras en los esquemas NIZK, como un sistema NIZK perfecto aplicable a cualquier lenguaje NP, así como esquemas NIZK que combinan la criptografía homomórfica completa. Estas investigaciones han sentado una base importante para la aplicación práctica de ZKP.
5.Otras investigaciones
Además del trabajo de Groth, hay varias investigaciones importantes sobre NIZK, que incluyen:
Esquema de cifrado de clave pública basado en funciones hash universales desarrollado por Cramer y Shoup
Nuevo método de transformación Fiat-Shamir mejorado propuesto por Damgård, Fazio y Nicolosi
El concepto de "fiabilidad débilmente atribuible" propuesto por Ventre y Visconti
La transformación de Unruh, como alternativa a la conversión de Fiat-Shamir, proporciona una seguridad NIZK demostrable contra oponentes cuánticos.
Sistema de prueba de decisión arbitraria basado en tecnología de recuperación de información privada de Kalai y otros
Estos estudios han avanzado enormemente el desarrollo de la tecnología NIZK, sentando las bases para su aplicación en campos como las transacciones financieras, la votación electrónica y la Cadena de bloques.
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 de máquina de Turing tradicional muestra ciertas limitaciones. En comparación, el modelo de circuitos, con sus ventajas en estructuras de cálculo únicas, es más adecuado para ciertas tareas de procesamiento criptográfico específicas.
2. Conceptos y características básicas del modelo de circuito
El modelo de circuito transforma el proceso de cálculo en una serie de puertas y conexiones, donde estas puertas realizan operaciones lógicas o aritméticas específicas. El modelo de circuito se divide principalmente en dos grandes categorías:
Circuito aritmético: compuesto principalmente por puertas de suma y multiplicación, se utiliza para procesar elementos en un campo finito.
Circuito lógico: compuesto por puertas lógicas básicas como AND, OR, NOT, etc., utilizado para procesar operaciones booleanas.
3. zk-SNARKs en el diseño de circuitos y aplicaciones
En un sistema ZKP, el proceso de diseño del circuito implica expresar el problema a probar como un circuito. Este proceso generalmente sigue los siguientes pasos:
Representación del problema: convertir el problema a demostrar en forma de circuito.
Optimización del circuito: Optimizar el diseño del circuito mediante técnicas como la fusión de puertas y el plegado de constantes.
Convertir a representación polinómica: convertir el circuito optimizado a forma polinómica.
Generar la cadena de referencia pública (CRS): En la fase de inicialización del sistema, generar CRS que incluya la clave de prueba y la clave de verificación.
Generación y verificación de pruebas: el probador genera pruebas según la entrada privada y el CRS, el verificador valida la corrección de la prueba según la descripción del circuito público y el CRS.
4. Defectos y desafíos potenciales
Los ZKP basados en circuitos enfrentan algunos desafíos, incluyendo:
Complejidad y escala de los circuitos: cálculos complejos requieren circuitos enormes, lo que resulta en un aumento significativo en los costos computacionales de generación y verificación de pruebas.
Optimización de dificultad: Diseñar y optimizar circuitos eficientes requiere un profundo conocimiento especializado.
Adaptabilidad a tareas de cálculo específicas: diferentes tareas de cálculo requieren diferentes diseños de circuitos, lo que dificulta la generalización.
Dificultad de implementación de algoritmos criptográficos: implementar algoritmos criptográficos complejos puede requerir una gran cantidad de puertas lógicas.
Consumo de recursos: los circuitos a gran escala requieren una gran cantidad de recursos de hardware.
Para abordar estos desafíos, los investigadores han propuesto algunas direcciones de mejora, como la tecnología de compresión de circuitos, el diseño modular y la aceleración de hardware.
Cuatro, modelo de zk-SNARKs
1. Fondo
La generalidad de los ZKP basados en circuitos es baja, 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 mediante herramientas de construcción de circuitos manuales o compiladores automáticos.
2. Modelos de algoritmos comunes
Modelo zkSNARK: propuesto por Bitansky y otros en 2011, es un mecanismo ZKP mejorado.
Modelo de Ben-Sasson: modelo de ZKP para la ejecución de programas en la arquitectura RISC de von Neumann.
Modelo Pinocchio: un conjunto completo de generación ZKP no interactivo, que incluye un compilador avanzado y programas aritméticos de segundo grado (QAPs).
Modelo de Bulletproofs: no requiere configuración confiable, el tamaño de la prueba crece logarítmicamente con el tamaño del valor de testigo.
Modelo Ligero: un modelo ZKP liviano, cuya complejidad de comunicación es proporcional a la raíz cuadrada del tamaño del circuito de verificación.
3. Esquema basado en PCP lineal y problemas de logaritmo discreto
Estos esquemas incluyen el modelo Groth16, el modelo Sonic, el modelo PLONK, el modelo Marlin, el modelo SLONK y el modelo SuperSonic, entre otros. Estos modelos se basan en PCP lineales y/o problemas de logaritmo discreto, pero ninguno de ellos tiene seguridad contra cuántica.
4. Propuesta basada en la prueba de personas comunes
"Prueba de personas comunes" es un nuevo método ZKP propuesto por Goldwasser, Kalai y Rothblum. Los modelos basados en este concepto incluyen el modelo Hyrax, el modelo Libra y el modelo Spartan.
5. Prueba de conocimiento cero de PCP( verificable probabilísticamente )
Este tipo de soluciones incluye modelos STARK, modelos Aurora, Succinct
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.
10 me gusta
Recompensa
10
3
Compartir
Comentar
0/400
GraphGuru
· 08-02 06:07
Otra vez hablando de zkp
Ver originalesResponder0
DegenMcsleepless
· 08-02 06:00
Defi tontos, ganaron mucho y luego invirtieron de nuevo
Ver originalesResponder0
CryptoCrazyGF
· 08-02 05:55
No se entiende, y de todos modos es muy alcista, así que eso es todo~
Análisis de la aplicación y las perspectivas de desarrollo de la tecnología zk-SNARKs en el campo de la cadena de bloques
Aplicación y desarrollo de la tecnología zk-SNARKs en el campo de la Cadena de bloques
Resumen
zk-SNARKs(ZKP) tecnología como una innovación importante en el campo de la Cadena de bloques, ha recibido una amplia atención en los últimos años. Este artículo revisa sistemáticamente el desarrollo de la tecnología ZKP en los últimos cuarenta años, centrándose en analizar sus últimas aplicaciones en el campo de la Cadena de bloques.
Primero, se introducen los conceptos básicos de ZKP y el contexto histórico. Luego, se explora en profundidad la tecnología ZKP basada en circuitos, incluyendo el diseño y la optimización de soluciones como zkSNARK, el modelo de Ben-Sasson, Pinocchio, Bulletproofs y Ligero. En cuanto al entorno de cálculo, el artículo presenta los principios de ZKVM y ZKEVM y su aplicación en la mejora de la capacidad de procesamiento de transacciones, la protección de la privacidad y el aumento de la eficiencia de validación. También se detalla 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 dedicado.
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 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 ZKP, mostrando su gran potencial para mejorar la eficiencia y seguridad de los sistemas de Cadena de bloques, y ofreciendo una referencia importante para las decisiones de inversión futuras.
Índice
Introducción
Uno, conocimientos básicos sobre zk-SNARKs Dos, zk-SNARKs no interactivos Tres, zk-SNARKs basados en circuitos Cuatro, zk-SNARKs modelo Cinco, resumen y desarrollo de la máquina virtual zk-SNARKs Seis, descripción y desarrollo de la máquina virtual de Ethereum zk-SNARKs Siete, resumen y desarrollo del esquema de red de segunda capa zk-SNARKs Ocho, dirección futura del desarrollo de zk-SNARKs Nueve, conclusión Referencias
Introducción
Con la llegada de la era Web3 en Internet, las aplicaciones de cadena de bloques (DApps) están desarrollándose rápidamente, procesando miles de millones de transacciones cada día. 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, entre otros. Debido a la apertura y transparencia de la cadena de bloques, estos datos son visibles para todos, lo que ha generado una variedad de problemas de seguridad y privacidad.
Actualmente, hay varias tecnologías de criptografía que pueden enfrentar estos desafíos, incluyendo la criptografía homomórfica, las firmas en anillo, el cálculo seguro multipartito y zk-SNARKs. Entre ellas, zk-SNARKs ( ZKP ) es una solución más integral. ZKP permite verificar la validez de ciertas afirmaciones sin revelar ningún dato intermedio. A través de ZKP, el verificador puede comprobar si el probador tiene un monto de transacción suficiente 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 cadena de bloques y en las aplicaciones de criptomonedas, especialmente en términos de protección de la privacidad y escalabilidad de la red. No solo se ha convertido en el foco de la investigación académica, sino que también es un área clave para aplicaciones industriales y capital de riesgo. Han surgido numerosos proyectos de red basados en ZKP, como ZkSync, StarkNet, Mina, Filecoin y Aleo. Con el desarrollo de estos proyectos, la innovación en algoritmos ZKP no cesa, casi cada semana se presenta un nuevo algoritmo. Además, el desarrollo de hardware relacionado con la tecnología ZKP también avanza rápidamente, incluidos chips optimizados específicamente para ZKP.
Estos avances indican que la tecnología 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 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 ZKP para ayudar mejor en futuras decisiones de inversión. 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 un análisis sistemático.
Uno, conocimientos básicos sobre zk-SNARKs
1. Resumen
En 1985, Goldwasser, Micali y Rackoff propusieron por primera vez el concepto de zk-SNARKs ( ZKP ) y de pruebas de conocimiento interactivas ( IZK ). Definieron "conocimiento" como "salida de cálculo no computable", 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 relativamente simple, por lo que es muy adecuado para la verificación de ZKP.
Goldwasser y otros propusieron el concepto de "complejidad del conocimiento" para cuantificar la cantidad de conocimiento que el probador revela al verificador. También propusieron el sistema de prueba interactivo (IPS), en el que 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 son:
Completitud: Si la prueba es verdadera, un probador honesto puede convencer a un verificador honesto de este hecho.
Confiabilidad: si el probador no conoce el contenido de la declaración, solo puede engañar al verificador con una probabilidad insignificante.
Conocimiento cero: una vez completado 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. Ejemplo de 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 privada, el cual se divide en tres etapas: configuración, desafío y respuesta.
Primer paso: configurar (Setup) El probador crea una prueba para demostrar que conoce un número secreto s, pero no lo muestra directamente. Selecciona dos grandes números primos p y q, calcula n=pq. Elige un número entero aleatorio r, calcula x=r^2 mod n y lo envía al validador.
Paso dos: desafiar (Challenge) El validador selecciona aleatoriamente una posición a(0 o 1) y la envía al probador.
Tercer paso: respuesta (Response) Según el valor de a, el probador responde:
El validador verifica si x es igual a y^2 mod n( cuando a=0) o y^2v mod n( cuando a=1). Si la igualdad se cumple, el validador acepta esta prueba.
Este ejemplo demuestra la integridad, fiabilidad y características de cero conocimiento del sistema ZKP. Al repetir este proceso múltiples veces, se puede reducir la probabilidad de que el probador pase la verificación solo por suerte a un nivel muy bajo.
Dos, zk-SNARKs no interactivos
1. Contexto
Los ZKP tradicionales suelen ser formas de protocolo interactivas y en línea. Sin embargo, en ciertos escenarios, como transacciones instantáneas o votaciones, a menudo no hay oportunidad para múltiples interacciones. Por lo tanto, el concepto de pruebas de conocimiento cero no interactivas (NIZK) ha surgido.
2. La propuesta de NIZK
En 1988, Blum, Feldman y Micali propusieron por primera vez el concepto de NIZK, demostrando que, sin la 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 utiliza una función de cálculo para convertir los parámetros de seguridad en conocimiento público, que generalmente se codifica en una cadena de referencia común (CRS). En la fase de cálculo, se utilizan la función de cálculo, las entradas y la clave de prueba, y se generan los resultados de cálculo y la prueba. En la fase de verificación, se valida la efectividad de la prueba mediante la clave de verificación.
3.Transformación Fiat-Shamir
La transformación Fiat-Shamir es un método para convertir pruebas de conocimiento cero interactivas (ZKP) 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 para ser falsificada. 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 de la Cadena de bloques. Junto con otros investigadores, propuso varias mejoras en los esquemas NIZK, como un sistema NIZK perfecto aplicable a cualquier lenguaje NP, así como esquemas NIZK que combinan la criptografía homomórfica completa. Estas investigaciones han sentado una base importante para la aplicación práctica de ZKP.
5.Otras investigaciones
Además del trabajo de Groth, hay varias investigaciones importantes sobre NIZK, que incluyen:
Estos estudios han avanzado enormemente el desarrollo de la tecnología NIZK, sentando las bases para su aplicación en campos como las transacciones financieras, la votación electrónica y la Cadena de bloques.
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 de máquina de Turing tradicional muestra ciertas limitaciones. En comparación, el modelo de circuitos, con sus ventajas en estructuras de cálculo únicas, es más adecuado para ciertas tareas de procesamiento criptográfico específicas.
2. Conceptos y características básicas del modelo de circuito
El modelo de circuito transforma el proceso de cálculo en una serie de puertas y conexiones, donde estas puertas realizan operaciones lógicas o aritméticas específicas. El modelo de circuito se divide principalmente en dos grandes categorías:
3. zk-SNARKs en el diseño de circuitos y aplicaciones
En un sistema ZKP, el proceso de diseño del circuito implica expresar el problema a probar como un circuito. Este proceso generalmente sigue los siguientes pasos:
4. Defectos y desafíos potenciales
Los ZKP basados en circuitos enfrentan algunos desafíos, incluyendo:
Para abordar estos desafíos, los investigadores han propuesto algunas direcciones de mejora, como la tecnología de compresión de circuitos, el diseño modular y la aceleración de hardware.
Cuatro, modelo de zk-SNARKs
1. Fondo
La generalidad de los ZKP basados en circuitos es baja, 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 mediante herramientas de construcción de circuitos manuales o compiladores automáticos.
2. Modelos de algoritmos comunes
Modelo zkSNARK: propuesto por Bitansky y otros en 2011, es un mecanismo ZKP mejorado.
Modelo de Ben-Sasson: modelo de ZKP para la ejecución de programas en la arquitectura RISC de von Neumann.
Modelo Pinocchio: un conjunto completo de generación ZKP no interactivo, que incluye un compilador avanzado y programas aritméticos de segundo grado (QAPs).
Modelo de Bulletproofs: no requiere configuración confiable, el tamaño de la prueba crece logarítmicamente con el tamaño del valor de testigo.
Modelo Ligero: un modelo ZKP liviano, cuya complejidad de comunicación es proporcional a la raíz cuadrada del tamaño del circuito de verificación.
3. Esquema basado en PCP lineal y problemas de logaritmo discreto
Estos esquemas incluyen el modelo Groth16, el modelo Sonic, el modelo PLONK, el modelo Marlin, el modelo SLONK y el modelo SuperSonic, entre otros. Estos modelos se basan en PCP lineales y/o problemas de logaritmo discreto, pero ninguno de ellos tiene seguridad contra cuántica.
4. Propuesta basada en la prueba de personas comunes
"Prueba de personas comunes" es un nuevo método ZKP propuesto por Goldwasser, Kalai y Rothblum. Los modelos basados en este concepto incluyen el modelo Hyrax, el modelo Libra y el modelo Spartan.
5. Prueba de conocimiento cero de PCP( verificable probabilísticamente )
Este tipo de soluciones incluye modelos STARK, modelos Aurora, Succinct