El sistema moderno de zk-SNARKs se originó 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 demostrar la validez de una afirmación en un sistema interactivo. Si se puede realizar un intercambio de conocimiento cero, se llama zk-SNARK. Este sistema interactivo solo puede ser correcto en un sentido probabilístico, no estrictamente demostrable matemáticamente.
Para superar las limitaciones de los sistemas interactivos, se han desarrollado sistemas no interactivos (NP), que poseen completitud y se convierten en la opción ideal para zk-SNARKs. Los sistemas de zk-SNARKs tempranos eran insuficientes en cuanto a eficiencia y practicidad, permaneciendo principalmente en el nivel teórico. En la última década, con el auge de la criptografía en el ámbito de las criptomonedas, los zk-SNARKs han evolucionado rápidamente, convirtiéndose en una dirección de investigación importante.
El avance clave en las pruebas de conocimiento cero fue el artículo publicado por Groth en 2010, que sentó las bases teóricas para zk-SNARKs. En 2015, Zcash adoptó un sistema de pruebas de conocimiento cero para proteger la privacidad de las transacciones, lo que representa un importante progreso en el nivel de aplicación. Posteriormente, zk-SNARKs se combinaron con contratos inteligentes, ampliando aún más los escenarios de aplicación.
Entre los logros académicos importantes se encuentran: el protocolo Pinocchio de 2013, el algoritmo Groth16 de 2016, Bulletproofs de 2017 y zk-STARKs de 2018. Estos logros han optimizado continuamente el tamaño de las pruebas, la eficiencia de la verificación, entre otros, impulsando el desarrollo de zk-SNARKs.
Dos, principales aplicaciones de zk-SNARKs
Las dos aplicaciones más amplias de zk-SNARKs son la protección de la privacidad y la escalabilidad. Proyectos de transacciones privadas tempranas como Zcash y Monero atrajeron mucha atención después de su lanzamiento, pero la demanda real no fue tan alta como se esperaba. En los últimos años, 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.
transacciones privadas
Las transacciones privadas ya tienen varios proyectos implementados, como Zcash y Tornado que utilizan zk-SNARKs, y Monero que utiliza Bulletproof. Tomando Zcash como ejemplo, su proceso de transacción incluye configuración del sistema, generación de claves, acuñación, generación de pruebas de transacción, verificación y recepción, entre otros pasos. Sin embargo, Zcash también presenta limitaciones, como la dificultad de escalabilidad basada en el modelo UTXO y una baja tasa de uso de transacciones privadas en la práctica.
Tornado utiliza un diseño de un solo gran pool de mezcla, basado en la red de Ethereum, lo que le proporciona mejor versatilidad. Utiliza zk-SNARKs para proporcionar protección de la privacidad de las transacciones, asegurando que solo las monedas depositadas puedan ser retiradas, y que las monedas no puedan ser retiradas varias veces, entre otras características.
escalabilidad
La aplicación de zk-SNARKs en la escalabilidad se centra principalmente en zk-rollup. zk-rollup incluye dos tipos de roles: Sequencer y Aggregator. El Sequencer es responsable de empaquetar las transacciones, mientras que el Aggregator combina una gran cantidad de transacciones para generar un rollup y crear zk-SNARKs, que se utilizan para actualizar el estado de la Capa 1.
zk-rollup tiene ventajas como bajos costos y rápida finalización, pero también enfrenta desafíos como gran carga computacional y configuraciones de seguridad complejas. Los principales proyectos de zk-rollup incluyen StarkNet, zkSync, Aztec Connect y Polygon Hermez, cada uno con sus propias características en términos de ruta tecnológica y compatibilidad con EVM.
La compatibilidad con EVM es un problema clave en el desarrollo de zk-rollups. Los proyectos deben equilibrar la amigabilidad con zk y la compatibilidad con EVM; algunos proyectos eligen ser completamente compatibles con los códigos de operación de EVM, mientras que otros diseñan nuevas máquinas virtuales para conciliar ambos aspectos. Los avances técnicos recientes han mejorado significativamente la compatibilidad con EVM, lo que se espera impulse la prosperidad del ecosistema de desarrollo.
Tres, el principio básico de zk-SNARKs
zk-SNARK(Argumento de Conocimiento Sucinto No Interactivo de Conocimiento) es un protocolo de prueba de cero conocimiento ampliamente utilizado. Posee características como la propiedad de cero conocimiento, concisión, no interactividad, fiabilidad y fiabilidad del conocimiento.
El proceso de prueba de Groth16 zk-SNARKs incluye los siguientes pasos:
Convertir el problema en un circuito
Convertir el circuito a la forma de R1CS( del Sistema de Restricciones de Rangos 1 (Rank-1 Constraint System))
Convertir R1CS a la forma de QAP(Programa Aritmético Cuadrático)
Establecer configuraciones confiables, generar claves de prueba y claves de verificación
Generación y verificación de pruebas zk-SNARKs
Este proceso implica principios matemáticos complejos y técnicas de criptografía, que son la base para lograr zk-SNARKs eficientes.
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.
8 me gusta
Recompensa
8
9
Compartir
Comentar
0/400
IntrovertMetaverse
· 07-20 08:37
No entiendo, pero se siente muy elegante
Ver originalesResponder0
RektHunter
· 07-19 21:00
Me siento mareado, me fui a beber.
Ver originalesResponder0
Ser_APY_2000
· 07-19 00:54
¿De qué se está hablando? Me duele la cabeza.
Ver originalesResponder0
Anon32942
· 07-17 19:31
¿Por qué siento que todos están hablando de zk, un poco como si estuvieran siguiendo la corriente?
Ver originalesResponder0
GasFeeCrier
· 07-17 19:19
No hay fin a las tarifas de gas.
Ver originalesResponder0
WalletWhisperer
· 07-17 19:18
hmm... fascinante cómo las pruebas zk evolucionaron de las matemáticas puras a la mecánica real de la cadena... los patrones de comportamiento son innegables, para ser honesto.
Ver originalesResponder0
BearMarketBuilder
· 07-17 19:12
La tecnología subyacente es la verdadera divinidad.
Ver originalesResponder0
HalfPositionRunner
· 07-17 19:10
¿Cero conocimiento? Ay, si no entiendo, me voy.
Ver originalesResponder0
WenMoon42
· 07-17 19:03
El día en que L2 tenga aplicaciones reales, cada persona tendrá un zk.
Historia del desarrollo de la tecnología de zk-SNARKs: desde el avance teórico hasta las aplicaciones de escalabilidad Layer2
El desarrollo y las aplicaciones de zk-SNARKs
I. La evolución histórica de zk-SNARKs
El sistema moderno de zk-SNARKs se originó 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 demostrar la validez de una afirmación en un sistema interactivo. Si se puede realizar un intercambio de conocimiento cero, se llama zk-SNARK. Este sistema interactivo solo puede ser correcto en un sentido probabilístico, no estrictamente demostrable matemáticamente.
Para superar las limitaciones de los sistemas interactivos, se han desarrollado sistemas no interactivos (NP), que poseen completitud y se convierten en la opción ideal para zk-SNARKs. Los sistemas de zk-SNARKs tempranos eran insuficientes en cuanto a eficiencia y practicidad, permaneciendo principalmente en el nivel teórico. En la última década, con el auge de la criptografía en el ámbito de las criptomonedas, los zk-SNARKs han evolucionado rápidamente, convirtiéndose en una dirección de investigación importante.
El avance clave en las pruebas de conocimiento cero fue el artículo publicado por Groth en 2010, que sentó las bases teóricas para zk-SNARKs. En 2015, Zcash adoptó un sistema de pruebas de conocimiento cero para proteger la privacidad de las transacciones, lo que representa un importante progreso en el nivel de aplicación. Posteriormente, zk-SNARKs se combinaron con contratos inteligentes, ampliando aún más los escenarios de aplicación.
Entre los logros académicos importantes se encuentran: el protocolo Pinocchio de 2013, el algoritmo Groth16 de 2016, Bulletproofs de 2017 y zk-STARKs de 2018. Estos logros han optimizado continuamente el tamaño de las pruebas, la eficiencia de la verificación, entre otros, impulsando el desarrollo de zk-SNARKs.
Dos, principales aplicaciones de zk-SNARKs
Las dos aplicaciones más amplias de zk-SNARKs son la protección de la privacidad y la escalabilidad. Proyectos de transacciones privadas tempranas como Zcash y Monero atrajeron mucha atención después de su lanzamiento, pero la demanda real no fue tan alta como se esperaba. En los últimos años, 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.
transacciones privadas
Las transacciones privadas ya tienen varios proyectos implementados, como Zcash y Tornado que utilizan zk-SNARKs, y Monero que utiliza Bulletproof. Tomando Zcash como ejemplo, su proceso de transacción incluye configuración del sistema, generación de claves, acuñación, generación de pruebas de transacción, verificación y recepción, entre otros pasos. Sin embargo, Zcash también presenta limitaciones, como la dificultad de escalabilidad basada en el modelo UTXO y una baja tasa de uso de transacciones privadas en la práctica.
Tornado utiliza un diseño de un solo gran pool de mezcla, basado en la red de Ethereum, lo que le proporciona mejor versatilidad. Utiliza zk-SNARKs para proporcionar protección de la privacidad de las transacciones, asegurando que solo las monedas depositadas puedan ser retiradas, y que las monedas no puedan ser retiradas varias veces, entre otras características.
escalabilidad
La aplicación de zk-SNARKs en la escalabilidad se centra principalmente en zk-rollup. zk-rollup incluye dos tipos de roles: Sequencer y Aggregator. El Sequencer es responsable de empaquetar las transacciones, mientras que el Aggregator combina una gran cantidad de transacciones para generar un rollup y crear zk-SNARKs, que se utilizan para actualizar el estado de la Capa 1.
zk-rollup tiene ventajas como bajos costos y rápida finalización, pero también enfrenta desafíos como gran carga computacional y configuraciones de seguridad complejas. Los principales proyectos de zk-rollup incluyen StarkNet, zkSync, Aztec Connect y Polygon Hermez, cada uno con sus propias características en términos de ruta tecnológica y compatibilidad con EVM.
La compatibilidad con EVM es un problema clave en el desarrollo de zk-rollups. Los proyectos deben equilibrar la amigabilidad con zk y la compatibilidad con EVM; algunos proyectos eligen ser completamente compatibles con los códigos de operación de EVM, mientras que otros diseñan nuevas máquinas virtuales para conciliar ambos aspectos. Los avances técnicos recientes han mejorado significativamente la compatibilidad con EVM, lo que se espera impulse la prosperidad del ecosistema de desarrollo.
Tres, el principio básico de zk-SNARKs
zk-SNARK(Argumento de Conocimiento Sucinto No Interactivo de Conocimiento) es un protocolo de prueba de cero conocimiento ampliamente utilizado. Posee características como la propiedad de cero conocimiento, concisión, no interactividad, fiabilidad y fiabilidad del conocimiento.
El proceso de prueba de Groth16 zk-SNARKs incluye los siguientes pasos:
Este proceso implica principios matemáticos complejos y técnicas de criptografía, que son la base para lograr zk-SNARKs eficientes.