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 para probar la veracidad de una afirmación a través de interacciones limitadas en un sistema interactivo. Si se puede realizar un intercambio de conocimiento sin revelar información, se denomina prueba de conocimiento cero. Este sistema interactivo solo puede alcanzar la corrección en un sentido probabilístico, y no la completud matemática.
Para superar esta deficiencia, surgieron los sistemas no interactivos, que tienen completitud y se convierten en la opción ideal para los sistemas de zk-SNARKs. Los primeros sistemas de zk-SNARKs presentaban deficiencias en eficiencia y practicidad, y se mantenían principalmente en el ámbito teórico. En la última década, con el auge de la criptografía en el campo de las criptomonedas, los zk-SNARKs se han convertido gradualmente en una dirección de investigación clave.
El gran avance de los zk-SNARKs fue propuesto por Groth en 2010 con la demostración corta de conocimiento no interactivo basada en emparejamientos, lo que sentó las bases teóricas para los zk-SNARKs. En 2015, Zcash fue el primero en aplicar zk-SNARKs a la protección de la privacidad de las transacciones, inaugurando la combinación de zk-SNARKs con contratos inteligentes y ampliando considerablemente los escenarios de aplicación.
Otros importantes logros académicos incluyen: el protocolo Pinocchio de 2013, el algoritmo Groth16 de 2016, Bulletproofs de 2017, y zk-STARKs propuesto en 2018. Estos avances han impulsado enormemente el desarrollo de zk-SNARKs desde la teoría hasta la práctica.
Aplicaciones principales de zk-SNARKs
Las dos aplicaciones más amplias de zk-SNARKs en la actualidad son la protección de la privacidad y la escalabilidad. Las transacciones privadas tempranas recibieron una gran atención, y los proyectos representativos incluyen Zcash y Monero. A medida que Ethereum se desplaza hacia una ruta de escalabilidad centrada en rollups, los esquemas de escalabilidad basados en zk-SNARKs han vuelto a ser el foco de atención de la industria.
transacciones de privacidad
Las transacciones privadas ya tienen varios proyectos implementados, como Zcash y Tornado que utilizan SNARK, y Monero que utiliza Bulletproof. Tomando a Zcash como ejemplo, su proceso de transacción zk-SNARKs incluye la configuración del sistema, generación de claves, acuñación, transferencia, verificación y recepción, logrando la protección de la privacidad del monto de la transacción y las direcciones.
Sin embargo, proyectos como Zcash todavía tienen algunas limitaciones. Por ejemplo, Zcash se basa en un modelo UTXO, donde parte de la información de la transacción solo está oculta y no completamente escondida. Además, su tasa de uso es baja, lo que indica que la demanda real de transacciones privadas puede no ser tan alta como se esperaba. En comparación, el diseño de un solo gran pool de mezcla de Tornado es más versátil y, al estar basado en la red de Ethereum, tiene una mejor escalabilidad.
aplicación de escalado
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. El Sequencer es responsable de empaquetar las transacciones, mientras que el Aggregator combina una gran cantidad de transacciones y genera zk-SNARKs para actualizar el estado de la cadena principal.
Las ventajas de zk-rollup radican en bajos costos, rápida finalización y protección de la privacidad, pero también existen desventajas como un alto volumen de cálculos y la posible necesidad de una configuración confiable. Actualmente, los principales proyectos de zk-rollup en el mercado incluyen StarkNet, zkSync, Aztec Connect y Polygon Hermez, cada uno de los cuales se enfoca en diferentes aspectos en cuanto a la ruta técnica y la compatibilidad con EVM.
La compatibilidad con EVM ha sido un desafío para los sistemas de conocimiento cero. Actualmente, hay principalmente dos soluciones en la industria: ser completamente compatible con los códigos de operación de Solidity, o diseñar una nueva máquina virtual amigable con ZK y compatible con Solidity. En los últimos años, la rápida iteración tecnológica ha mejorado significativamente la compatibilidad con EVM, lo que tendrá un gran impacto en el ecosistema de desarrollo y la competencia en torno a los zk-SNARKs.
Resumen del principio de implementación de zk-SNARKs
zk-SNARK( es uno de los esquemas de prueba de conocimiento cero más ampliamente utilizados en la actualidad. Tiene características como conocimiento cero, brevedad, no interactivo, confiabilidad y conocimiento.
El proceso de prueba zk-SNARKs de Groth16 incluye los siguientes pasos:
Convertir el problema en un circuito
Convertir el circuito en un sistema de restricciones de rango 1 (R1CS) )
Convertir R1CS a la forma de QAP(Programas Aritméticos Cuadráticos)
Establecer una configuración confiable, generar la clave de prueba y la clave de verificación
Generar y verificar pruebas zk-SNARKs
La tecnología de zk-SNARKs está avanzando rápidamente y se espera que desempeñe un papel importante en más campos en el futuro. Con la mejora de la compatibilidad EVM y la aparición de nuevos algoritmos, podemos esperar que los zk-SNARKs traigan más aplicaciones innovadoras en blockchain 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.
17 me gusta
Recompensa
17
5
Republicar
Compartir
Comentar
0/400
retroactive_airdrop
· 07-14 21:54
¿No son todos los salvadores de GMX y SNX?
Ver originalesResponder0
HappyMinerUncle
· 07-12 06:03
Ay, ¿quién entiende algo tan complicado?
Ver originalesResponder0
MetaMisery
· 07-12 06:03
El estudiante de posgrado se desangra escribiendo su tesis, de nuevo veo zk-SNARKs..
Ver originalesResponder0
MetaMaximalist
· 07-12 05:55
lmao groth es tan 2017... ustedes necesitan ponerse al día con snarks recursivos fr
Ver originalesResponder0
SelfRugger
· 07-12 05:46
¿Alguien lo ha hecho en la teoría teórica nuevamente?
zk-SNARKs: Innovación tecnológica y perspectivas de aplicación desde la teoría hasta la práctica
El desarrollo y las aplicaciones de zk-SNARKs
Historia 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 para probar la veracidad de una afirmación a través de interacciones limitadas en un sistema interactivo. Si se puede realizar un intercambio de conocimiento sin revelar información, se denomina prueba de conocimiento cero. Este sistema interactivo solo puede alcanzar la corrección en un sentido probabilístico, y no la completud matemática.
Para superar esta deficiencia, surgieron los sistemas no interactivos, que tienen completitud y se convierten en la opción ideal para los sistemas de zk-SNARKs. Los primeros sistemas de zk-SNARKs presentaban deficiencias en eficiencia y practicidad, y se mantenían principalmente en el ámbito teórico. En la última década, con el auge de la criptografía en el campo de las criptomonedas, los zk-SNARKs se han convertido gradualmente en una dirección de investigación clave.
El gran avance de los zk-SNARKs fue propuesto por Groth en 2010 con la demostración corta de conocimiento no interactivo basada en emparejamientos, lo que sentó las bases teóricas para los zk-SNARKs. En 2015, Zcash fue el primero en aplicar zk-SNARKs a la protección de la privacidad de las transacciones, inaugurando la combinación de zk-SNARKs con contratos inteligentes y ampliando considerablemente los escenarios de aplicación.
Otros importantes logros académicos incluyen: el protocolo Pinocchio de 2013, el algoritmo Groth16 de 2016, Bulletproofs de 2017, y zk-STARKs propuesto en 2018. Estos avances han impulsado enormemente el desarrollo de zk-SNARKs desde la teoría hasta la práctica.
Aplicaciones principales de zk-SNARKs
Las dos aplicaciones más amplias de zk-SNARKs en la actualidad son la protección de la privacidad y la escalabilidad. Las transacciones privadas tempranas recibieron una gran atención, y los proyectos representativos incluyen Zcash y Monero. A medida que Ethereum se desplaza hacia una ruta de escalabilidad centrada en rollups, los esquemas de escalabilidad basados en zk-SNARKs han vuelto a ser el foco de atención de la industria.
transacciones de privacidad
Las transacciones privadas ya tienen varios proyectos implementados, como Zcash y Tornado que utilizan SNARK, y Monero que utiliza Bulletproof. Tomando a Zcash como ejemplo, su proceso de transacción zk-SNARKs incluye la configuración del sistema, generación de claves, acuñación, transferencia, verificación y recepción, logrando la protección de la privacidad del monto de la transacción y las direcciones.
Sin embargo, proyectos como Zcash todavía tienen algunas limitaciones. Por ejemplo, Zcash se basa en un modelo UTXO, donde parte de la información de la transacción solo está oculta y no completamente escondida. Además, su tasa de uso es baja, lo que indica que la demanda real de transacciones privadas puede no ser tan alta como se esperaba. En comparación, el diseño de un solo gran pool de mezcla de Tornado es más versátil y, al estar basado en la red de Ethereum, tiene una mejor escalabilidad.
aplicación de escalado
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. El Sequencer es responsable de empaquetar las transacciones, mientras que el Aggregator combina una gran cantidad de transacciones y genera zk-SNARKs para actualizar el estado de la cadena principal.
Las ventajas de zk-rollup radican en bajos costos, rápida finalización y protección de la privacidad, pero también existen desventajas como un alto volumen de cálculos y la posible necesidad de una configuración confiable. Actualmente, los principales proyectos de zk-rollup en el mercado incluyen StarkNet, zkSync, Aztec Connect y Polygon Hermez, cada uno de los cuales se enfoca en diferentes aspectos en cuanto a la ruta técnica y la compatibilidad con EVM.
La compatibilidad con EVM ha sido un desafío para los sistemas de conocimiento cero. Actualmente, hay principalmente dos soluciones en la industria: ser completamente compatible con los códigos de operación de Solidity, o diseñar una nueva máquina virtual amigable con ZK y compatible con Solidity. En los últimos años, la rápida iteración tecnológica ha mejorado significativamente la compatibilidad con EVM, lo que tendrá un gran impacto en el ecosistema de desarrollo y la competencia en torno a los zk-SNARKs.
Resumen del principio de implementación de zk-SNARKs
zk-SNARK( es uno de los esquemas de prueba de conocimiento cero más ampliamente utilizados en la actualidad. Tiene características como conocimiento cero, brevedad, no interactivo, confiabilidad y conocimiento.
El proceso de prueba zk-SNARKs de Groth16 incluye los siguientes pasos:
La tecnología de zk-SNARKs está avanzando rápidamente y se espera que desempeñe un papel importante en más campos en el futuro. Con la mejora de la compatibilidad EVM y la aparición de nuevos algoritmos, podemos esperar que los zk-SNARKs traigan más aplicaciones innovadoras en blockchain y otros campos.