2019 fue un gran año en el espacio de investigación de Conocimiento Cero.
Se hicieron grandes avances en zkSNARKs, zkSTARKs – ambos conocidos protocolos de criptografía a prueba de conocimiento cero – configuraciones universales, optimizaciones, y más.
A lo largo del año, nuevos protocolos como Sonic Plonk Slonk Marlin SuperSonic Halo y Fractal fueron lanzados. El mes de septiembre se denominó SNARKtember solo para ser seguido por SNARKtober, SNARKvember y SNARKcember … los últimos 2 son nombres lamentablemente menos pegadizos, pero no menos repletos de nuevas investigaciones.
Y en conjunto con estos avances técnicos, un anfitrión de nuevos casos de uso han surgido. Anunciado durante mucho tiempo principalmente como un método para habilitar la privacidad en las redes criptográficas, Las pruebas de conocimiento cero (ZKP) están demostrando ser útiles para resolver una serie de "grandes desafíos de blockchain". De hecho, hoy vemos que los ZKP se proponen como una clave para construir soluciones de escalado efectivas, como pruebas de validez, para verificación o certificación criptográfica, así como para proporcionar posibles mejoras en la interoperabilidad de cadena cruzada, el almacenamiento y una serie de otros componentes web descentralizados.
En Zero Knowledge Podcast entrevistamos semanalmente a los profesionales, investigadores e ingenieros que trabajan en estos sistemas. A continuación se presentan algunos de los casos de uso que han comenzado a surgir a través de estas conversaciones.
ZKPs para la privacidad
Creo que por ahora, todos estamos de acuerdo en que la verdadera privacidad es fundamental para la adopción de blockchain, especialmente si el objetivo es tienen empresas, pequeñas empresas o incluso individuos que usan criptomonedas en su vida cotidiana.
Los ZKP son bien conocidos por proporcionar privacidad criptográfica real a blockchains no privadas. El primer uso popular de ZKP en blockchain fue hacer saldos de tokens privados, así como proteger las transacciones y la actividad general de blockchain de observadores externos. El modelo de ficha blindada Zcash es probablemente la versión más conocida de esto. En Zcash, zkSNARKs le permite mover sus tokens de un estado transparente a un estado privado protegido, donde solo usted podrá rastrear su actividad y ver su equilibrio. Dentro de las cuentas blindadas, también puede transferir tokens de forma privada.
Otro ejemplo más reciente son los mezcladores alimentados por ZKP que viven en otra cadena de bloques existente, como Tornado.cash y Miximus construido en Ethereum. En el caso de Miximus, un usuario realiza un depósito ETH en un contrato inteligente, creando un compromiso único en un árbol Merkle. Retirar al usuario proporciona una prueba de su conocimiento de su compromiso único (el secreto) usando un ZKP pero no revela este compromiso.
ZEXE otro protocolo de privacidad especialmente diseñado que también tiene zkSNARKs en El núcleo de su construcción es privado y programable y hace que la verificación de transacciones sea constante. A diferencia de Zcash, no existe un estado transparente (o no privado). Una introducción clave con ZEXE es la capacidad de ofrecer privacidad de datos, así como lo que describen en el documento como "privacidad de la función", es decir, privacidad sobre el propósito de una transacción. Con la mayoría de las construcciones ZK existentes basadas en Ethereum que usan contratos inteligentes, es fácil ver si una transacción en particular es para un token privado versus un DAO privado, por lo que no hay privacidad de la función.
Con el ejemplo de Mixmus anterior, puede haber puede haber una pérdida de privacidad adicional debido al uso de contratos inteligentes que pueden exponer información sobre los pagos de gas de un usuario. ZEXE resuelve estos problemas y utiliza ZKP para dar fe de la exactitud de la transacción sin revelar los detalles internos de la cadena de bloques.
Los desarrolladores detrás del protocolo AZTEC mientras tanto, también están trabajando para proporcionar esta función de privacidad en redes no privadas preexistentes con su trabajo haciendo que los contratos inteligentes sean privados. El objetivo es hacer que la privacidad sea programable y, por lo tanto, hacer privado el propósito de las transacciones (así como los datos subyacentes), incluso cuando esto sucede en la Capa 2.
ZKP para escalado / compresión
Una característica interesante de un cero prueba de conocimiento es su capacidad de probar la validez de un conjunto de datos. Con esto en mente, se exploraron e intentaron nuevos enfoques de escala en 2019 usando ZKP.
Actualmente se dividen en 2 campos: (1) usando paquetes de transacciones fuera de la cadena escritos en la cadena principal usando ZKP o (2) usando recursión – aka SNARKs recursivos – para hacer una cadena más pequeña (y por lo tanto más rápida de verificar).
En la primera categoría, encontramos Rollup ZK . En esta construcción de tipo Plasma, hay un lote de transacciones fuera de la cadena que necesitan ser validas en la cadena. A diferencia de Plasma (o Optimistic Rollup ), donde la participación económica y los mecanismos de teoría de juegos se utilizan para mantener a las partes actuando correctamente, la idea aquí es que el usuario se ve obligado a probar, utilizando un prueba de conocimiento cero, de que su comportamiento es correcto de acuerdo con el protocolo.
Sin embargo, el paquete acumulativo de ZK (junto con otras construcciones de ZKP construidas usando contratos inteligentes) todavía tiene la desventaja de usar zkSNARK sobre cómputo de propósito general, como Ejecución de EVM. Este es un proceso que sigue siendo difícil y requiere muchos recursos. Dicho esto, ya estamos viendo el modelo ZK Rollup como base para Matter Labs 'protocolo de escalamiento zkSync centrado en el usuario, que se utiliza para construir intercambios descentralizados (DEX), así como construcciones similares que utilizan STARK (en lugar de SNARK) como pruebas de validez procedentes del equipo StarkWare .
El segundo tipo de escalado se realiza mediante la reducción de la cadena utilizando SNARK recursivos es decir SNARKs combinados y reducidos aún más, mientras son validados, por un SNARK. Estos SNARKs se 'Snarkified' aún más hasta que tenga un SNARK superior que pruebe la validez de la multitud de SNARKs dentro de él.
En esencia, puede usar esta técnica para comprimir una cadena de bloques en una sola prueba, lo que demuestra la validez de los SNARK subyacentes (que a su vez prueban la validez de otros SNARK subyacentes, y así sucesivamente …) haciéndolos accesibles pero eficientes en cuanto al espacio. O (1) Labs es la compañía que trabaja principalmente en esta técnica, pero también estamos experimentando con esta técnica en Filecoin y Zcash.
ZKP como verificación / certificación [19659007] Otra propiedad de los ZKP (especialmente cuando se combinan con otras técnicas como MPC) es la capacidad de proporcionar "revelación selectiva".
Los ZKP pueden probar la existencia de un secreto sin revelar cuál es el secreto. Dicho de otra manera, alguna característica / característica de un secreto puede revelarse como "verdadera" sin revelar nada más. Esta revelación selectiva podría ser increíblemente útil para crear sistemas que cumplan.
Por ejemplo, probar que cierta información privada es el tipo correcto de información, que cae en un rango particular o que coincide con otro conjunto de datos. [19659002] Esto es clave si vamos a diseñar sistemas criptográficos compatibles o, más específicamente, sistemas que sigan un conjunto de leyes o requieran algún tipo de verificación / certificación.
Como ejemplo tangible, podría usar un ZKP para demostrar que algunas direcciones se pueden encontrar en una lista blanca sin revelar qué direcciones se están probando ni aquellas en la lista blanca. Todo lo que se revela es que las direcciones coinciden. Pero este concepto puede aprovecharse más allá de las criptomonedas o los sistemas financieros: también podría usarse para mejorar o reemplazar los sistemas de certificación del mundo real.
Empresas como Qedit y Findora se centran en desarrollando estos sistemas, pero estamos viendo que este caso de uso aparece en todo el espacio, especialmente en proyectos que involucran a clientes empresariales más tradicionales.
ZKPs en interoperabilidad
El caso de uso menos explorado (y aún muy emocionante) para ZKP es la interoperabilidad.
Basándose en algunas de las características que hacen que los ZKP sean útiles para escalar, estos siguen siendo principalmente temas de investigación en este momento, pero también nos revelan un alcance aún más amplio de los beneficios potenciales que tienen los ZKP. Para pensar en cómo los ZKP podrían usarse para la interoperabilidad, analizamos la compresión de los bloques de construcción clave en las construcciones de cadenas cruzadas o el uso de la prueba de validez entre cadenas.
Estas son algunas de las preguntas e ideas en las que hemos estado pensando: ¿podríamos usa ZKP para proporcionar cierta privacidad en el movimiento de tokens de cadena cruzada? ¿Podríamos tomar la idea de "fuera de cadena a dentro de cadena" del paquete acumulativo de ZK pero mover tokens de una cadena a otra con ZKP como pruebas de validez? ¿Podría usar algo como Bolt que proporciona una construcción privada tipo Lightning, para mover cosas de una cadena a otra en privado? ¿Podrían los ZKP integrarse en una construcción similar a tBTC ?
Uno de mis ejemplos de interoperabilidad mejorada favorita proviene de Celo . Basándose en algunos avances presentados en el documento Zexe, han utilizado ZKP y recursividad para hacer que los clientes de luz sean más ligeros es decir, comprimir el tamaño del cliente de luz para que puedan funcionar en dispositivos móviles. Esto también tendría beneficios realmente buenos para las construcciones de cadena cruzada, específicamente aquellas que dependen de clientes ligeros y puentes.
Así que para concluir: mientras esperamos los nuevos desarrollos en el ZK Space este año que viene, estamos seguros de conozca aún más formas en que podemos usar ZKP para agregar beneficios a las cadenas de bloques existentes, y posiblemente descubrir nuevas características de esta criptografía aparentemente simple pero aparentemente poderosa.
Gracias a Tarun Chitra, Rob Habermeier, Christopher Goes y Howard Wu por su aporte en este artículo.
Anna Rose es la coanfitrión del Zero Knowledge Podcast un programa que cubre la investigación de Zero Knowledge y la web descentralizada. También es la anfitriona de la Cumbre bianual de Conocimiento Cero
[DISPLAY_ULTIMATE_PLUS]
Referencia: https://www.theblockcrypto.com/post/52004/look-there-where-emerging-use-cases-for-zkps-in-2019?utm_source=rss&utm_medium=rss