El sistema de pruebas de conocimiento cero se originó en el artículo pionero de Goldwasser, Micali y Rackoff de 1985. Este artículo explora la cantidad mínima de conocimiento que se necesita intercambiar para probar la validez de una afirmación a través de múltiples interacciones en un sistema interactivo. Si se puede realizar un intercambio de conocimiento cero, se denomina prueba de conocimiento cero. Los primeros sistemas de prueba de conocimiento cero presentaban problemas de eficiencia y practicidad, y se mantenían principalmente en el ámbito teórico.
En la última década, con la amplia aplicación de la criptografía en el campo de las criptomonedas, los zk-SNARKs han experimentado un desarrollo floreciente. Entre ellos, 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. El desafío central de los zk-SNARKs radica en equilibrar la velocidad de la prueba, la velocidad de verificación y el tamaño de la prueba.
El artículo publicado por Groth en 2010 sentó las bases teóricas de zk-SNARKs, convirtiéndose en un importante avance en el campo de las pruebas de conocimiento cero. En 2015, Zcash aplicó las pruebas de conocimiento cero para proteger la privacidad de las transacciones, lo que dio inicio a una amplia aplicación de las pruebas de conocimiento cero.
Desde entonces, una serie de logros académicos han impulsado el desarrollo de zk-SNARKs:
El protocolo Pinocchio de 2013 comprimió el tiempo de prueba y verificación.
El algoritmo Groth16 de 2016 simplificó el tamaño de la prueba y mejoró la eficiencia de verificación.
Bulletproofs, propuesto en 2017, logró pruebas cortas sin necesidad de configuración confiable.
El protocolo zk-STARKs de 2018 no requiere configuración de confianza, convirtiéndose en otra dirección de desarrollo importante.
Otros avances importantes incluyen PLONK, Halo2, entre otros, que han mejorado aún más los zk-SNARKs.
Dos, las principales aplicaciones de zk-SNARKs
Los dos campos de aplicación más amplios de zk-SNARKs en la actualidad son la protección de la privacidad y la escalabilidad.
En cuanto a la protección de la privacidad, aparecieron inicialmente proyectos de transacciones privadas como Zcash y Monero. Sin embargo, debido a que la demanda real de transacciones privadas no cumplió con las expectativas, estos proyectos gradualmente han quedado en un segundo plano.
En términos de escalabilidad, con la transición de Ethereum hacia una ruta de escalabilidad centrada en rollups, las soluciones de escalabilidad basadas en zk-SNARKs han vuelto a ser el foco de atención en la industria.
transacciones privadas
Los proyectos representativos de transacciones privadas incluyen:
Zcash y Tornado que utilizan zk-SNARKs
Usar Monero con Bulletproof
Tomando como ejemplo Zcash, su proceso de transacción zk-SNARKs incluye: configuración del sistema, generación de claves, acuñación, transferencia, verificación y recepción.
Aunque Zcash implementa la privacidad de las transacciones, todavía existen algunas limitaciones:
Basado en el modelo UTXO, parte de la información de la transacción está solo oculta y no completamente escondida.
Difícil de integrar con otras aplicaciones
La tasa de uso de transacciones privadas es inferior al 10%
En comparación, Tornado utiliza un único gran pool de mezcla, lo que ofrece una mejor versatilidad. Tornado Cash se basa en Groth16 y puede proporcionar las siguientes características:
Solo se pueden retirar las monedas depositadas
Cada moneda solo se puede retirar una vez
El proceso de prueba está vinculado a la notificación de anulación de la moneda.
Con una seguridad de 126 bits
expansión
La aplicación de zk-SNARKs en la escalabilidad se centra principalmente en zk-rollup. zk-rollup incluye dos tipos de roles clave:
El secuenciador es responsable de empaquetar las transacciones
El agregador se encarga de combinar transacciones y generar zk-SNARKs
Las ventajas de zk-rollup incluyen: bajos costos, finalización rápida, protección de privacidad, entre otros. Las desventajas incluyen: gran carga de cálculo para generar pruebas, SNARK requiere configuración de confianza, etc.
Actualmente, los principales proyectos de zk-rollup en el mercado son:
StarkNet de StarkWare
zkSync de Matter Labs
Aztec Connect de Aztec
Hermez y Miden de Polygon
Loopring
Desplazar
Estos proyectos se diferencian principalmente en su enfoque técnico en cuanto al uso de zk-SNARKs o STARKs, así como en el nivel de soporte para EVM.
La compatibilidad con EVM es uno de los grandes desafíos que enfrentan los zk-rollups. Actualmente, hay dos enfoques principales en la industria:
Completamente compatible con los códigos de operación de Solidity
Diseñar una nueva máquina virtual, teniendo en cuenta la amigabilidad con ZK y la compatibilidad con Solidity.
Recientemente, se han logrado importantes avances en la compatibilidad con EVM, lo que promete facilitar la migración sin problemas de los desarrolladores desde la cadena principal de Ethereum a zk-rollup, lo que tendrá un impacto significativo en el ecosistema ZK.
Tres, el principio básico de zk-SNARKs
zk-SNARK representa "zk-SNARKs", que tiene las siguientes características:
Zero Knowledge: el proceso de prueba no revela información adicional
Succinct: verificación de tamaño pequeño
No interactivo:非交互式
Argumentos: confiabilidad de cálculo
del Conocimiento: el probador debe conocer información válida
El proceso de prueba zk-SNARKs de Groth16 incluye principalmente:
Convertir el problema en un circuito
Convertir el circuito a la forma R1CS
Convertir R1CS a forma QAP
Generar parámetros de configuración confiables
Generación y verificación de pruebas zk-SNARKs
La tecnología de zk-SNARKs sigue desarrollándose rápidamente y se espera que en el futuro desempeñe un papel importante en la protección de la privacidad, la escalabilidad y otros campos.
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.
20 me gusta
Recompensa
20
6
Republicar
Compartir
Comentar
0/400
MetaMisfit
· hace4h
¿Esto te hará quedarte calvo?
Ver originalesResponder0
FlatTax
· 08-10 17:35
zk camino de la simplicidad
Ver originalesResponder0
DegenGambler
· 08-09 17:43
No entiendo por qué muchos pierden dinero en un Rug Pull.
Ver originalesResponder0
ChainDetective
· 08-09 17:28
Después de tantos años de zk, mejor sería desarrollar directamente.
Ver originalesResponder0
CantAffordPancake
· 08-09 17:24
Ah sí sí sí, después de hablar tanto, otra vez hablando de zk.
Ver originalesResponder0
OfflineNewbie
· 08-09 17:22
Ya ha llegado el momento de profundizar en la Criptografía.
zk-SNARKs: La tecnología clave para la protección de la privacidad y la escalabilidad de Layer2
El desarrollo y la aplicación de zk-SNARKs
I. La evolución histórica de zk-SNARKs
El sistema de pruebas de conocimiento cero se originó en el artículo pionero de Goldwasser, Micali y Rackoff de 1985. Este artículo explora la cantidad mínima de conocimiento que se necesita intercambiar para probar la validez de una afirmación a través de múltiples interacciones en un sistema interactivo. Si se puede realizar un intercambio de conocimiento cero, se denomina prueba de conocimiento cero. Los primeros sistemas de prueba de conocimiento cero presentaban problemas de eficiencia y practicidad, y se mantenían principalmente en el ámbito teórico.
En la última década, con la amplia aplicación de la criptografía en el campo de las criptomonedas, los zk-SNARKs han experimentado un desarrollo floreciente. Entre ellos, 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. El desafío central de los zk-SNARKs radica en equilibrar la velocidad de la prueba, la velocidad de verificación y el tamaño de la prueba.
El artículo publicado por Groth en 2010 sentó las bases teóricas de zk-SNARKs, convirtiéndose en un importante avance en el campo de las pruebas de conocimiento cero. En 2015, Zcash aplicó las pruebas de conocimiento cero para proteger la privacidad de las transacciones, lo que dio inicio a una amplia aplicación de las pruebas de conocimiento cero.
Desde entonces, una serie de logros académicos han impulsado el desarrollo de zk-SNARKs:
Otros avances importantes incluyen PLONK, Halo2, entre otros, que han mejorado aún más los zk-SNARKs.
Dos, las principales aplicaciones de zk-SNARKs
Los dos campos de aplicación más amplios de zk-SNARKs en la actualidad son la protección de la privacidad y la escalabilidad.
En cuanto a la protección de la privacidad, aparecieron inicialmente proyectos de transacciones privadas como Zcash y Monero. Sin embargo, debido a que la demanda real de transacciones privadas no cumplió con las expectativas, estos proyectos gradualmente han quedado en un segundo plano.
En términos de escalabilidad, con la transición de Ethereum hacia una ruta de escalabilidad centrada en rollups, las soluciones de escalabilidad basadas en zk-SNARKs han vuelto a ser el foco de atención en la industria.
transacciones privadas
Los proyectos representativos de transacciones privadas incluyen:
Tomando como ejemplo Zcash, su proceso de transacción zk-SNARKs incluye: configuración del sistema, generación de claves, acuñación, transferencia, verificación y recepción.
Aunque Zcash implementa la privacidad de las transacciones, todavía existen algunas limitaciones:
En comparación, Tornado utiliza un único gran pool de mezcla, lo que ofrece una mejor versatilidad. Tornado Cash se basa en Groth16 y puede proporcionar las siguientes características:
expansión
La aplicación de zk-SNARKs en la escalabilidad se centra principalmente en zk-rollup. zk-rollup incluye dos tipos de roles clave:
Las ventajas de zk-rollup incluyen: bajos costos, finalización rápida, protección de privacidad, entre otros. Las desventajas incluyen: gran carga de cálculo para generar pruebas, SNARK requiere configuración de confianza, etc.
Actualmente, los principales proyectos de zk-rollup en el mercado son:
Estos proyectos se diferencian principalmente en su enfoque técnico en cuanto al uso de zk-SNARKs o STARKs, así como en el nivel de soporte para EVM.
La compatibilidad con EVM es uno de los grandes desafíos que enfrentan los zk-rollups. Actualmente, hay dos enfoques principales en la industria:
Recientemente, se han logrado importantes avances en la compatibilidad con EVM, lo que promete facilitar la migración sin problemas de los desarrolladores desde la cadena principal de Ethereum a zk-rollup, lo que tendrá un impacto significativo en el ecosistema ZK.
Tres, el principio básico de zk-SNARKs
zk-SNARK representa "zk-SNARKs", que tiene las siguientes características:
El proceso de prueba zk-SNARKs de Groth16 incluye principalmente:
La tecnología de zk-SNARKs sigue desarrollándose rápidamente y se espera que en el futuro desempeñe un papel importante en la protección de la privacidad, la escalabilidad y otros campos.