zk-SNARKs(ZKP) como una tecnología de vanguardia en la industria blockchain, ha evolucionado rápidamente en los últimos años. Este artículo revisará la historia del desarrollo de ZKP, explorará sus principios básicos y principales aplicaciones, y ofrecerá a los lectores un esquema de este complejo campo.
I. El desarrollo de zk-SNARKs
El sistema moderno de zk-SNARKs se originó en el trabajo conjunto de Goldwasser, Micali y Rackoff en 1985. Este trabajo explora la forma de demostrar la veracidad de una afirmación a través de múltiples interacciones en un sistema interactivo, sin revelar información adicional. Aunque este sistema interactivo es probabilísticamente correcto, no es perfecto.
La aparición de sistemas no interactivos (NP) ha hecho que los zk-SNARKs sean más completos. Sin embargo, los primeros sistemas de zk-SNARKs aún tenían deficiencias en términos de eficiencia y usabilidad, y se mantenían principalmente en un nivel teórico. Solo en la última década, con el auge de la criptografía en el campo de las criptomonedas, los zk-SNARKs han entrado realmente en una fase práctica.
El artículo de Groth de 2010 sentó las bases teóricas para zk-SNARKs, siendo un hito importante en el desarrollo de ZKP. En 2015, la moneda de privacidad Z-cash fue la primera en aplicar pruebas de conocimiento cero en la protección de la privacidad de las transacciones, iniciando la amplia aplicación de ZKP.
A partir de entonces, una serie de logros académicos impulsaron el desarrollo de ZKP:
En 2013, el protocolo Pinocchio comprimió el tiempo de prueba y verificación.
En 2016, Groth16 simplificó el tamaño de la prueba y mejoró la eficiencia de verificación.
En 2017 se propusieron los Bulletproofs, que son pruebas de conocimiento cero no interactivas breves y eficientes.
En 2018, zk-STARKs implementaron un protocolo ZKP sin necesidad de configuración de confianza.
Otras tecnologías como PLONK, Halo2, etc. también han hecho importantes mejoras a zk-SNARKs.
Dos, las principales aplicaciones de zk-SNARKs
Las dos aplicaciones más amplias de ZKP en la actualidad son la protección de la privacidad y la escalabilidad.
protección de la privacidad
Los proyectos de transacciones privadas tempranas como Z-cash y Monero impulsaron la aplicación de ZKP en el ámbito de la protección de la privacidad. Tomando como ejemplo a Z-cash, utiliza zk-SNARKs para lograr la privacidad de las transacciones:
Generación de claves de prueba y claves de verificación en la fase de configuración del sistema
Generar nuevas monedas y registrar la dirección pública y el compromiso de la moneda
Generar pruebas zk-SNARKs
Los validadores verifican la corrección de las transacciones
El receptor recibe la moneda, si necesita usarla, repita los pasos anteriores.
Sin embargo, la tasa de uso de transacciones privadas en proyectos como Z-cash es baja, lo que demuestra que la demanda de privacidad no es tan alta como se esperaba. En comparación, el diseño de un solo gran pool de mezcla adoptado por Tornado Cash es más común.
escalabilidad
La aplicación de ZKP en la escalabilidad se centra principalmente en zk-rollup. zk-rollup tiene dos tipos de roles:
Secuenciador: responsable de empaquetar transacciones
Agregador: combina una gran cantidad de transacciones y genera pruebas zk-SNARKs
Las ventajas de zk-rollup son los bajos costos, la alta velocidad de transacción y la capacidad de proteger la privacidad. Sin embargo, también existen desventajas como una gran cantidad de cálculos y la necesidad de configuraciones de confianza.
Los proyectos de zk-rollup más destacados en la actualidad incluyen StarkNet, zkSync, Aztec y Polygon Hermez, y en cuanto a la línea técnica, principalmente eligen entre SNARK y STARK, así como si son compatibles con EVM.
La compatibilidad con EVM es un tema importante. Algunos proyectos eligen ser completamente compatibles con los códigos de operación de Solidity, mientras que otros diseñan nuevas máquinas virtuales compatibles con Solidity. La mejora de la compatibilidad con EVM afectará el ecosistema de desarrollo de ZK y el panorama competitivo.
Tres, el principio básico de zk-SNARKs
zk-SNARKs es una de las soluciones ZKP más ampliamente utilizadas en la actualidad. Tiene las siguientes características:
Zero Knowledge: el proceso de prueba no revela información adicional
Succinct: prueba de pequeño tamaño
No interactivo:非交互式
Argumentos: tiene fiabilidad computacional
del Conocimiento: el probador debe conocer información válida
Los pasos básicos de implementación de zk-SNARKs son:
Convertir el problema en un circuito
Convertir el circuito a la forma R1CS
Convertir R1CS a la forma QAP
Generar parámetros aleatorios para la configuración confiable
Generación y verificación de pruebas zk-SNARKs
zk-SNARKs como una tecnología de vanguardia, está avanzando rápidamente tanto en el ámbito teórico como en el práctico. Con la implementación de más proyectos, se espera que el ZKP juegue un papel más importante en el campo de blockchain.
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.
17 me gusta
Recompensa
17
6
Compartir
Comentar
0/400
SelfStaking
· hace10h
No quiero aprender, es demasiado profundo.
Ver originalesResponder0
SoliditySlayer
· hace10h
Esta teoría es un poco aburrida, incluso el suelo parece cansado de mirarla.
zk-SNARKs ZKP: del avance teórico a la implementación práctica y su desarrollo y aplicación
zk-SNARKs: del desarrollo teórico a la práctica
zk-SNARKs(ZKP) como una tecnología de vanguardia en la industria blockchain, ha evolucionado rápidamente en los últimos años. Este artículo revisará la historia del desarrollo de ZKP, explorará sus principios básicos y principales aplicaciones, y ofrecerá a los lectores un esquema de este complejo campo.
I. El desarrollo de zk-SNARKs
El sistema moderno de zk-SNARKs se originó en el trabajo conjunto de Goldwasser, Micali y Rackoff en 1985. Este trabajo explora la forma de demostrar la veracidad de una afirmación a través de múltiples interacciones en un sistema interactivo, sin revelar información adicional. Aunque este sistema interactivo es probabilísticamente correcto, no es perfecto.
La aparición de sistemas no interactivos (NP) ha hecho que los zk-SNARKs sean más completos. Sin embargo, los primeros sistemas de zk-SNARKs aún tenían deficiencias en términos de eficiencia y usabilidad, y se mantenían principalmente en un nivel teórico. Solo en la última década, con el auge de la criptografía en el campo de las criptomonedas, los zk-SNARKs han entrado realmente en una fase práctica.
El artículo de Groth de 2010 sentó las bases teóricas para zk-SNARKs, siendo un hito importante en el desarrollo de ZKP. En 2015, la moneda de privacidad Z-cash fue la primera en aplicar pruebas de conocimiento cero en la protección de la privacidad de las transacciones, iniciando la amplia aplicación de ZKP.
A partir de entonces, una serie de logros académicos impulsaron el desarrollo de ZKP:
Otras tecnologías como PLONK, Halo2, etc. también han hecho importantes mejoras a zk-SNARKs.
Dos, las principales aplicaciones de zk-SNARKs
Las dos aplicaciones más amplias de ZKP en la actualidad son la protección de la privacidad y la escalabilidad.
protección de la privacidad
Los proyectos de transacciones privadas tempranas como Z-cash y Monero impulsaron la aplicación de ZKP en el ámbito de la protección de la privacidad. Tomando como ejemplo a Z-cash, utiliza zk-SNARKs para lograr la privacidad de las transacciones:
Sin embargo, la tasa de uso de transacciones privadas en proyectos como Z-cash es baja, lo que demuestra que la demanda de privacidad no es tan alta como se esperaba. En comparación, el diseño de un solo gran pool de mezcla adoptado por Tornado Cash es más común.
escalabilidad
La aplicación de ZKP en la escalabilidad se centra principalmente en zk-rollup. zk-rollup tiene dos tipos de roles:
Las ventajas de zk-rollup son los bajos costos, la alta velocidad de transacción y la capacidad de proteger la privacidad. Sin embargo, también existen desventajas como una gran cantidad de cálculos y la necesidad de configuraciones de confianza.
Los proyectos de zk-rollup más destacados en la actualidad incluyen StarkNet, zkSync, Aztec y Polygon Hermez, y en cuanto a la línea técnica, principalmente eligen entre SNARK y STARK, así como si son compatibles con EVM.
La compatibilidad con EVM es un tema importante. Algunos proyectos eligen ser completamente compatibles con los códigos de operación de Solidity, mientras que otros diseñan nuevas máquinas virtuales compatibles con Solidity. La mejora de la compatibilidad con EVM afectará el ecosistema de desarrollo de ZK y el panorama competitivo.
Tres, el principio básico de zk-SNARKs
zk-SNARKs es una de las soluciones ZKP más ampliamente utilizadas en la actualidad. Tiene las siguientes características:
Los pasos básicos de implementación de zk-SNARKs son:
zk-SNARKs como una tecnología de vanguardia, está avanzando rápidamente tanto en el ámbito teórico como en el práctico. Con la implementación de más proyectos, se espera que el ZKP juegue un papel más importante en el campo de blockchain.