Desarrollo, aplicaciones y principios básicos de zk-SNARKs
I. Historia del zk-SNARKs
El concepto moderno del sistema de pruebas de conocimiento cero se remonta a 1985. En ese momento, Goldwasser, Micali y Rackoff colaboraron para proponer un concepto pionero, que consiste en demostrar la veracidad de una afirmación a través del intercambio de la menor cantidad de información posible en un sistema interactivo. Esta idea fue publicada oficialmente en 1989, estableciendo la base teórica de las pruebas zk-SNARKs.
Los primeros sistemas de zk-SNARKs tenían limitaciones en términos de practicidad y se mantenían principalmente en el nivel teórico. No fue hasta hace aproximadamente diez años, con el auge de la criptografía en el ámbito de las criptomonedas, que los zk-SNARKs realmente comenzaron a destacar, convirtiéndose en una dirección de investigación clave. Entre ellos, desarrollar protocolos de zk-SNARKs generales, no interactivos y con una prueba de tamaño limitado es un objetivo central.
Un gran avance en zk-SNARKs ocurrió en 2010, cuando Groth publicó un artículo que sentó las bases teóricas. En 2015, Zcash aplicó zk-SNARKs a la protección de la privacidad de las transacciones, lo que dio inicio a la amplia aplicación de zk-SNARKs en escenarios prácticos.
Durante este período, algunos logros académicos importantes incluyen:
El protocolo Pinocchio de 2013 mejoró significativamente la eficiencia de prueba y verificación.
En 2016, Groth16 optimizó aún más el tamaño de la prueba y la velocidad de verificación.
En 2017, Bulletproofs propuso un algoritmo de prueba corta sin necesidad de configuración confiable.
En 2018, se propuso un nuevo sistema de pruebas zk-STARKs resistente a la computación cuántica.
Además, protocolos emergentes como PLONK y Halo2 también han hecho contribuciones importantes a la mejora de zk-SNARKs.
II. Resumen de la aplicación de zk-SNARKs
Las dos áreas de aplicación más amplias de zk-SNARKs en la actualidad son la protección de la privacidad y la escalabilidad de blockchain.
En términos de protección de la privacidad, proyectos tempranos como Zcash y Monero han impulsado el desarrollo de transacciones privadas. Aunque la demanda de privacidad no ha sido tan destacada como se esperaba, este tipo de proyectos aún mantiene una cierta posición en el mercado.
En el campo de la escalabilidad, con Ethereum moviéndose hacia una ruta centrada en rollups, las soluciones de escalabilidad basadas en zk-SNARKs han vuelto a ser el centro de atención.
transacciones privadas
Los proyectos de transacciones privadas que se han implementado hasta ahora incluyen:
Zcash y Tornado que utilizan zk-SNARKs
Usando Bulletproof de Monero
Tomando Zcash como ejemplo, su proceso de transacción que aplica zk-SNARKs incluye: configuración del sistema, generación de claves, acuñación, generación de pruebas de transacción, verificación y recepción.
Sin embargo, proyectos como Zcash también tienen algunas limitaciones, como la dificultad para integrarse con otras aplicaciones y una baja proporción de uso real de la función de transacciones privadas. En comparación, el diseño de un único gran grupo de mezclado utilizado por Tornado es más versátil.
escalabilidad
La aplicación de zk-SNARKs en la escalabilidad se refleja principalmente en ZK rollup. ZK rollup incluye dos tipos de roles: Sequencer y Aggregator.
Sequencer es responsable de empaquetar transacciones
El agregador es responsable de combinar transacciones y generar zk-SNARKs
Las ventajas de ZK rollup son los bajos costos, la rápida finalización y la protección de la privacidad, pero también enfrenta desafíos como la gran carga computacional, la seguridad y la compatibilidad.
Los principales proyectos de ZK rollup en el mercado actualmente incluyen StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring y Scroll. Estos proyectos eligen principalmente entre SNARK( y sus versiones mejoradas ) y STARK en su hoja de ruta técnica, al mismo tiempo que prestan atención al grado de soporte para la máquina virtual de Ethereum (EVM).
Tres, el principio básico de zk-SNARKs
Las zk-SNARKs deben cumplir con tres características: integridad, confiabilidad y cero conocimiento. Tomando como ejemplo zk-SNARK, su nombre completo es "Prueba de conocimiento no interactiva y concisa de cero conocimiento", y los principios de implementación específicos incluyen los siguientes pasos:
Convertir el problema en un circuito
Convertir el circuito a la forma R1CS
Convertir R1CS a la forma QAP
Establecer configuraciones confiables, generar claves de prueba y claves de verificación
Generación y verificación de pruebas zk-SNARKs
Este proceso involucra principios criptográficos complejos que pueden demostrar la veracidad de una afirmación sin revelar información clave.
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.
14 me gusta
Recompensa
14
8
Compartir
Comentar
0/400
RugResistant
· 07-22 08:15
patrón de alto riesgo detectado en pruebas zk anteriores, para ser honesto... necesita una auditoría de código exhaustiva
Ver originalesResponder0
BearMarketGardener
· 07-21 23:55
Hace tanto tiempo que no recuerdo qué pasó en 1985.
Ver originalesResponder0
WinterWarmthCat
· 07-21 15:48
No está mal, vale la pena verlo
Ver originalesResponder0
ChainMelonWatcher
· 07-19 17:23
¿Llegamos a la prueba de conocimiento cero? Banana
Ver originalesResponder0
MEVictim
· 07-19 17:23
Vaya, esta teoría ya existe desde hace mucho tiempo.
Ver originalesResponder0
ProposalDetective
· 07-19 17:23
malvado está investigando cómo ganar dinero
Ver originalesResponder0
TeaTimeTrader
· 07-19 17:21
La criptografía es profunda o no, depende de quién la explique...
Ver originalesResponder0
GreenCandleCollector
· 07-19 17:03
Está demasiado complicado, ¿quién puede recordar esos años?
zk-SNARKs: De la ruptura teórica a la evolución de la práctica de ZK Rollup
Desarrollo, aplicaciones y principios básicos de zk-SNARKs
I. Historia del zk-SNARKs
El concepto moderno del sistema de pruebas de conocimiento cero se remonta a 1985. En ese momento, Goldwasser, Micali y Rackoff colaboraron para proponer un concepto pionero, que consiste en demostrar la veracidad de una afirmación a través del intercambio de la menor cantidad de información posible en un sistema interactivo. Esta idea fue publicada oficialmente en 1989, estableciendo la base teórica de las pruebas zk-SNARKs.
Los primeros sistemas de zk-SNARKs tenían limitaciones en términos de practicidad y se mantenían principalmente en el nivel teórico. No fue hasta hace aproximadamente diez años, con el auge de la criptografía en el ámbito de las criptomonedas, que los zk-SNARKs realmente comenzaron a destacar, convirtiéndose en una dirección de investigación clave. Entre ellos, desarrollar protocolos de zk-SNARKs generales, no interactivos y con una prueba de tamaño limitado es un objetivo central.
Un gran avance en zk-SNARKs ocurrió en 2010, cuando Groth publicó un artículo que sentó las bases teóricas. En 2015, Zcash aplicó zk-SNARKs a la protección de la privacidad de las transacciones, lo que dio inicio a la amplia aplicación de zk-SNARKs en escenarios prácticos.
Durante este período, algunos logros académicos importantes incluyen:
Además, protocolos emergentes como PLONK y Halo2 también han hecho contribuciones importantes a la mejora de zk-SNARKs.
II. Resumen de la aplicación de zk-SNARKs
Las dos áreas de aplicación más amplias de zk-SNARKs en la actualidad son la protección de la privacidad y la escalabilidad de blockchain.
En términos de protección de la privacidad, proyectos tempranos como Zcash y Monero han impulsado el desarrollo de transacciones privadas. Aunque la demanda de privacidad no ha sido tan destacada como se esperaba, este tipo de proyectos aún mantiene una cierta posición en el mercado.
En el campo de la escalabilidad, con Ethereum moviéndose hacia una ruta centrada en rollups, las soluciones de escalabilidad basadas en zk-SNARKs han vuelto a ser el centro de atención.
transacciones privadas
Los proyectos de transacciones privadas que se han implementado hasta ahora incluyen:
Tomando Zcash como ejemplo, su proceso de transacción que aplica zk-SNARKs incluye: configuración del sistema, generación de claves, acuñación, generación de pruebas de transacción, verificación y recepción.
Sin embargo, proyectos como Zcash también tienen algunas limitaciones, como la dificultad para integrarse con otras aplicaciones y una baja proporción de uso real de la función de transacciones privadas. En comparación, el diseño de un único gran grupo de mezclado utilizado por Tornado es más versátil.
escalabilidad
La aplicación de zk-SNARKs en la escalabilidad se refleja principalmente en ZK rollup. ZK rollup incluye dos tipos de roles: Sequencer y Aggregator.
Las ventajas de ZK rollup son los bajos costos, la rápida finalización y la protección de la privacidad, pero también enfrenta desafíos como la gran carga computacional, la seguridad y la compatibilidad.
Los principales proyectos de ZK rollup en el mercado actualmente incluyen StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring y Scroll. Estos proyectos eligen principalmente entre SNARK( y sus versiones mejoradas ) y STARK en su hoja de ruta técnica, al mismo tiempo que prestan atención al grado de soporte para la máquina virtual de Ethereum (EVM).
Tres, el principio básico de zk-SNARKs
Las zk-SNARKs deben cumplir con tres características: integridad, confiabilidad y cero conocimiento. Tomando como ejemplo zk-SNARK, su nombre completo es "Prueba de conocimiento no interactiva y concisa de cero conocimiento", y los principios de implementación específicos incluyen los siguientes pasos:
Este proceso involucra principios criptográficos complejos que pueden demostrar la veracidad de una afirmación sin revelar información clave.