zk-SNARKs: de la historia a la aplicación, revelando el principio y las perspectivas futuras de zk-SNARK.

robot
Generación de resúmenes en curso

El desarrollo y las perspectivas de aplicación de zk-SNARKs

Historia del zk-SNARKs

El sistema moderno de zk-SNARKs se remonta a la investigación colaborativa de Goldwasser, Micali y Rackoff en 1985. Propusieron cómo demostrar la validez de una declaración en un sistema interactivo a través del intercambio mínimo de información. Este concepto se conoce como zk-SNARKs, es decir, demostrar la validez de un enunciado sin revelar ninguna información adicional.

Los sistemas de zk-SNARKs tempranos presentaban deficiencias en términos de eficiencia y practicidad, permaneciendo principalmente en el ámbito teórico. Solo en la última década, con la amplia aplicación de la criptografía en el campo de las criptomonedas, los zk-SNARKs comenzaron a prosperar, convirtiéndose en una dirección de investigación clave. Entre ellas, el desarrollo de protocolos de zk-SNARKs generales, no interactivos y con un tamaño de prueba reducido es una de las direcciones de exploración más importantes.

Un importante avance en las pruebas de conocimiento cero fue la propuesta en 2010 de Groth de una prueba corta no interactiva con emparejamiento, que estableció la base teórica para zk-SNARKs. En 2015, la aplicación de pruebas de conocimiento cero en el proyecto Zcash logró la protección de la privacidad de las transacciones, abriendo así escenarios de aplicación más amplios.

A partir de entonces, una serie de importantes logros académicos surgieron uno tras otro:

  • El protocolo Pinocchio de 2013 mejoró significativamente la eficiencia de la prueba y la verificación.
  • En 2016, Groth16 simplificó aún más el tamaño de la prueba y mejoró la velocidad de verificación.
  • En 2017, se propusieron los Bulletproofs, que son pruebas de conocimiento cero no interactivas y concisas sin necesidad de un ajuste de confianza.
  • En 2018, se propusieron zk-STARKs como pruebas de integridad computacional escalables, transparentes y resistentes a ataques cuánticos.

Otras tecnologías emergentes como PLONK, Halo2, etc. también están impulsando continuamente el progreso de zk-SNARKs.

HashKey ZK 101 Primera edición: Principios históricos e industria

zk-SNARKs principales aplicaciones

Las dos direcciones de aplicación más amplias 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, surgieron proyectos representativos como Zcash y Monero en sus inicios. Sin embargo, debido a que la demanda de transacciones privadas no cumplió con las expectativas, este tipo de proyectos han ido desapareciendo gradualmente de la vista principal.

En términos de escalabilidad, con la transición de Ethereum 2.0 hacia una ruta centrada en rollups, las soluciones de escalabilidad basadas en zk-SNARKs han vuelto a ser el centro de atención.

HashKey ZK 101 Primera edición: principios históricos y la industria

transacciones privadas

Las principales implementaciones de las transacciones privadas incluyen:

  • Zcash y Tornado Cash que utilizan zk-SNARKs
  • Monero que utiliza Bulletproofs
  • El sistema de mezcla de monedas de Dash( solo oculta la dirección )

Tomando como ejemplo a Zcash, su proceso de transacción incluye: configuración del sistema, generación de claves, acuñación, volcado, verificación y recepción, entre otros pasos. Sin embargo, Zcash también presenta algunas limitaciones, como el hecho de que se basa en un modelo UTXO, lo que dificulta su integración con otras aplicaciones, y la proporción de transacciones que realmente utilizan la privacidad no es alta.

Tornado Cash utiliza un único gran pool de mezcla de monedas, basado en la red de Ethereum, y utiliza la tecnología zk-SNARKs. Puede garantizar que solo se pueden retirar las monedas depositadas y que cada moneda solo se puede retirar una vez.

En comparación, la implementación de la protección de la privacidad es relativamente fácil; en el futuro, si se resuelve el problema de la escalabilidad, la privacidad tampoco será un obstáculo principal.

ampliación

Las aplicaciones de zk-SNARKs en la escalabilidad son principalmente dos:

  1. Escalabilidad de la red de primera capa, como el proyecto Mina
  2. Escalado de la segunda capa, es decir, zk-rollup

La idea central de zk-rollup es combinar una gran cantidad de transacciones y generar un zk-SNARKs, luego validar esta prueba en la cadena principal para actualizar el estado. Este enfoque tiene ventajas como bajos costos, alta seguridad y rapidez en la finalización de las transacciones, pero también enfrenta desafíos como una gran carga computacional y la necesidad de una configuración confiable.

Los principales proyectos de zk-rollup en el mercado actual incluyen StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring y Scroll. La principal diferencia en la hoja de ruta técnica de estos proyectos radica en la elección entre SNARK o STARK, así como en si son compatibles con EVM.

La compatibilidad con EVM es un problema importante. Los proyectos necesitan equilibrar la eficiencia de zk-SNARKs y la amigabilidad hacia los desarrolladores de Ethereum. Algunos proyectos eligen ser completamente compatibles con los opcodes de Solidity, mientras que otros diseñan nuevas máquinas virtuales para equilibrar la amigabilidad con zk-SNARKs y la compatibilidad con Solidity. Los recientes avances rápidos en la compatibilidad con EVM han proporcionado más opciones a los desarrolladores.

HashKey ZK 101 Primera edición: Principios históricos y la industria

Principios básicos de zk-SNARKs

zk-SNARK( zk-SNARKs ) es una técnica de prueba de conocimiento cero ampliamente utilizada. Tiene las siguientes características:

  • zk-SNARKs: no revelar información adicional
  • Sencillo: tamaño de verificación pequeño
  • No interactivo: no se requieren múltiples interacciones
  • Fiable: los probadores con capacidad limitada no pueden falsificar pruebas
  • Conocimiento: el probador debe conocer información válida para construir la prueba

Groth16 es una implementación común de zk-SNARKs, cuyos pasos básicos son los siguientes:

  1. Convertir el problema en un circuito
  2. Convertir el circuito a la forma R1CS (Rank-1 Constraint System)
  3. Convertir R1CS a QAP (Programa Aritmético Cuadrático)
  4. Realizar la configuración confiable, generar la clave de prueba y la clave de verificación
  5. Generación y verificación de zk-SNARKs

HashKey ZK 101 Primera edición: principios históricos e industria

La tecnología de prueba de cero conocimiento está avanzando rápidamente, brindando nuevas posibilidades a la blockchain. En el futuro, continuaremos explorando los principios de zk-SNARK, casos de uso y su relación con otras tecnologías como zk-STARK.

HashKey ZK 101 Primera edición: Principios históricos e industria

ZK-3.13%
Ver originales
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.
  • Recompensa
  • 5
  • Republicar
  • Compartir
Comentar
0/400
MoneyBurnervip
· 08-10 20:31
¿Puedo introducir una posición ahora que zk está despegando? ¡Acabo de construir una posición de cinco!
Ver originalesResponder0
RooftopVIPvip
· 08-10 17:56
¿De qué sirve la teoría pura? Deja de competir.
Ver originalesResponder0
FalseProfitProphetvip
· 08-10 17:50
Esto aprovecha la popularidad del shitcoin.
Ver originalesResponder0
IfIWereOnChainvip
· 08-10 17:48
Ah, ¿no es esto simplemente una firma electrónica?
Ver originalesResponder0
DataOnlookervip
· 08-10 17:46
Finalmente he llegado a mi conocimiento cero favorito.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)