Desarrollo y exploración de aplicaciones de zk-SNARKs
I. La historia de zk-SNARKs
El sistema moderno de zk-SNARKs tiene su origen en un artículo coescrito en 1985 por Goldwasser, Micali y Rackoff. Este artículo explora la cantidad de conocimiento que se necesita intercambiar a través de múltiples interacciones para probar la validez de una afirmación en un sistema interactivo. Si se puede lograr el intercambio de conocimiento cero, se denomina zk-SNARK. Aunque este sistema interactivo no puede ser probado completamente en términos matemáticos, es correcto en un sentido probabilístico.
Para superar las limitaciones de los sistemas interactivos, los sistemas no interactivos han surgido como una opción ideal para zk-SNARKs. Los primeros sistemas de zk-SNARKs tenían deficiencias en términos de practicidad, y no fue hasta la última década que comenzaron a florecer. En este sentido, el desarrollo de protocolos de zk-SNARKs que sean generales, no interactivos y con un tamaño de prueba limitado se ha convertido en una de las direcciones clave de exploración.
Un importante avance en los zk-SNARKs es la prueba de conocimiento cero no interactiva de corta emparejamiento propuesta por Groth en 2010, que sentó las bases teóricas para los zk-SNARKs. En 2015, los zk-SNARKs se aplicaron en el proyecto Zcash, logrando la protección de la privacidad de las transacciones. Desde entonces, la combinación de zk-SNARKs con contratos inteligentes ha ampliado aún más sus escenarios de aplicación.
Durante este tiempo, algunos logros académicos importantes incluyen:
El protocolo Pinocchio de 2013, que comprimió el tiempo de prueba y verificación.
Groth16 de 2016, que simplificó el tamaño de la prueba y mejoró la eficiencia de la verificación
En 2017, Bulletproofs propuso pruebas de conocimiento cero no interactivas y breves.
En 2018, se propusieron los zk-STARKs, un protocolo de algoritmo que no requiere una configuración de confianza.
Otros desarrollos como PLONK, Halo2, etc. también han mejorado zk-SNARKs.
Dos, las principales aplicaciones de zk-SNARKs
Las dos aplicaciones más amplias de zk-SNARKs son la protección de la privacidad y la escalabilidad.
En términos de protección de la privacidad, los primeros proyectos representativos incluyen Zcash y Monero. Sin embargo, debido a que la necesidad de transacciones privadas no ha sido tan alta como se esperaba, este tipo de proyectos han ido quedando en un segundo plano.
En cuanto a la escalabilidad de aplicaciones, con Ethereum girando hacia una ruta centrada en rollups, la serie ZK ha vuelto a convertirse en el centro de atención de la industria. La escalabilidad de ZK se puede lograr en una red de capa uno, como el proyecto Mina; también se puede lograr en una red de capa dos, es decir, zk-rollup.
Los principales roles de zk-rollup incluyen Sequencer y Aggregator. El Sequencer se encarga de empaquetar las transacciones, mientras que el Aggregator se encarga de fusionar las transacciones y generar zk-SNARKs para actualizar el estado en la cadena.
Las ventajas de zk-rollup incluyen bajos costos, rápida finalización y protección de la privacidad; las desventajas incluyen una gran cantidad de cálculos y la necesidad de configuraciones de confianza, entre otras.
Actualmente, los proyectos de zk-rollup competitivos en el mercado incluyen StarkNet, zkSync, Aztec Connect, Polygon Hermez, entre otros. Estos proyectos eligen principalmente entre SNARK( y sus versiones mejoradas ) y STARK, así como el nivel de soporte para EVM.
La compatibilidad con EVM es un tema importante. Algunos proyectos eligen ser completamente compatibles con el código de operación de Solidity, mientras que otros diseñan nuevas máquinas virtuales para equilibrar la amigabilidad con ZK y la compatibilidad con Solidity. En los últimos años, la mejora de la compatibilidad con EVM ha proporcionado más comodidad a los desarrolladores.
Tres, el principio básico de ZK-SNARKs
Las zk-SNARKs deben cumplir con tres características: integridad, fiabilidad y conocimiento cero. ZK-SNARK es un protocolo de prueba de conocimiento cero ampliamente utilizado, cuyo nombre completo es "Prueba de conocimiento cero concisa y no interactiva".
Los pasos básicos de ZK-SNARKs incluyen:
Convertir el problema en un circuito
Convertir el circuito a la forma R1CS
Convertir R1CS a forma QAP
Establecer una configuración confiable, generar la clave de prueba y la clave de verificación
Generación y verificación de pruebas zk-SNARKs
El desarrollo de ZK-SNARKs ha establecido las bases para la aplicación de zk-SNARKs en el campo de blockchain. En el futuro, con el avance de la tecnología, se espera que zk-SNARKs desempeñe un papel importante en más escenarios.
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
4
Compartir
Comentar
0/400
GasGuzzler
· 07-18 21:54
zk真alcista啊!
Ver originalesResponder0
OnchainHolmes
· 07-16 02:45
zk es demasiado absurdo 8
Ver originalesResponder0
FloorSweeper
· 07-16 02:41
ngmi si todavía no entiendes la tecnología zk
Ver originalesResponder0
BlockchainDecoder
· 07-16 02:36
Citando el punto de vista del artículo de Goldwasser de 1989, ZK es esencialmente un problema de granularidad interactiva.
Historia del desarrollo de zk-SNARKs y análisis del principio de ZK-SNARK
Desarrollo y exploración de aplicaciones de zk-SNARKs
I. La historia de zk-SNARKs
El sistema moderno de zk-SNARKs tiene su origen en un artículo coescrito en 1985 por Goldwasser, Micali y Rackoff. Este artículo explora la cantidad de conocimiento que se necesita intercambiar a través de múltiples interacciones para probar la validez de una afirmación en un sistema interactivo. Si se puede lograr el intercambio de conocimiento cero, se denomina zk-SNARK. Aunque este sistema interactivo no puede ser probado completamente en términos matemáticos, es correcto en un sentido probabilístico.
Para superar las limitaciones de los sistemas interactivos, los sistemas no interactivos han surgido como una opción ideal para zk-SNARKs. Los primeros sistemas de zk-SNARKs tenían deficiencias en términos de practicidad, y no fue hasta la última década que comenzaron a florecer. En este sentido, el desarrollo de protocolos de zk-SNARKs que sean generales, no interactivos y con un tamaño de prueba limitado se ha convertido en una de las direcciones clave de exploración.
Un importante avance en los zk-SNARKs es la prueba de conocimiento cero no interactiva de corta emparejamiento propuesta por Groth en 2010, que sentó las bases teóricas para los zk-SNARKs. En 2015, los zk-SNARKs se aplicaron en el proyecto Zcash, logrando la protección de la privacidad de las transacciones. Desde entonces, la combinación de zk-SNARKs con contratos inteligentes ha ampliado aún más sus escenarios de aplicación.
Durante este tiempo, algunos logros académicos importantes incluyen:
Otros desarrollos como PLONK, Halo2, etc. también han mejorado zk-SNARKs.
Dos, las principales aplicaciones de zk-SNARKs
Las dos aplicaciones más amplias de zk-SNARKs son la protección de la privacidad y la escalabilidad.
En términos de protección de la privacidad, los primeros proyectos representativos incluyen Zcash y Monero. Sin embargo, debido a que la necesidad de transacciones privadas no ha sido tan alta como se esperaba, este tipo de proyectos han ido quedando en un segundo plano.
En cuanto a la escalabilidad de aplicaciones, con Ethereum girando hacia una ruta centrada en rollups, la serie ZK ha vuelto a convertirse en el centro de atención de la industria. La escalabilidad de ZK se puede lograr en una red de capa uno, como el proyecto Mina; también se puede lograr en una red de capa dos, es decir, zk-rollup.
Los principales roles de zk-rollup incluyen Sequencer y Aggregator. El Sequencer se encarga de empaquetar las transacciones, mientras que el Aggregator se encarga de fusionar las transacciones y generar zk-SNARKs para actualizar el estado en la cadena.
Las ventajas de zk-rollup incluyen bajos costos, rápida finalización y protección de la privacidad; las desventajas incluyen una gran cantidad de cálculos y la necesidad de configuraciones de confianza, entre otras.
Actualmente, los proyectos de zk-rollup competitivos en el mercado incluyen StarkNet, zkSync, Aztec Connect, Polygon Hermez, entre otros. Estos proyectos eligen principalmente entre SNARK( y sus versiones mejoradas ) y STARK, así como el nivel de soporte para EVM.
La compatibilidad con EVM es un tema importante. Algunos proyectos eligen ser completamente compatibles con el código de operación de Solidity, mientras que otros diseñan nuevas máquinas virtuales para equilibrar la amigabilidad con ZK y la compatibilidad con Solidity. En los últimos años, la mejora de la compatibilidad con EVM ha proporcionado más comodidad a los desarrolladores.
Tres, el principio básico de ZK-SNARKs
Las zk-SNARKs deben cumplir con tres características: integridad, fiabilidad y conocimiento cero. ZK-SNARK es un protocolo de prueba de conocimiento cero ampliamente utilizado, cuyo nombre completo es "Prueba de conocimiento cero concisa y no interactiva".
Los pasos básicos de ZK-SNARKs incluyen:
El desarrollo de ZK-SNARKs ha establecido las bases para la aplicación de zk-SNARKs en el campo de blockchain. En el futuro, con el avance de la tecnología, se espera que zk-SNARKs desempeñe un papel importante en más escenarios.