¿Qué es una Prueba Zk-Snark?

Las blockchains heredadas, como Bitcoin o Dogecoin, se enfrentan al problema de las largas esperas para verificar toda la cadena debido a su tamaño cada vez mayor. Sin embargo, con Mina, los participantes podrán verificar completamente la red y las transacciones desde sus dispositivos ordinarios utilizando pruebas recursivas de conocimiento cero , o zk-SNARK .

También desglosamos zk-SNARK por escrito a continuación, comparándolo con un juego de «¿Dónde está Waldo?» Comprenderá qué son, cómo funcionan y cómo garantizan su privacidad.

¿Qué es el Conocimiento Cero?

Los zk-SNARK se parecen mucho a jugar un juego ultra seguro de » ¿Dónde está Waldo ?» – la serie de libros ilustrados donde el lector debe encontrar a “Waldo”, un personaje vestido con ropa a rayas, entre masas de otros personajes en una gran escena.

¿Qué son los zk-snarks?

Aquí usamos el ejemplo del juego Where’s Waldo para describir el desafío de demostrar que sabemos dónde está Waldo, sin estropear el juego para los demás. En este ejemplo, mostramos cómo cambiamos la forma en que se construye la prueba para probar el paradero de Waldo sin filtrar información al verificador.


Normalmente, una vez que encuentras a Waldo, simplemente lo señalas en la página, demostrando que sabes dónde está. Y su amigo (el verificador) podría verificar que su prueba es válida al ver a Waldo hacia dónde apunta. Sin embargo, este tipo de prueba filtra información al mostrarle a tu amigo (el verificador) dónde se encuentra en la página.

¿Qué pasaría si, en cambio, quisieras convencer a tu amigo de que sabías exactamente dónde estaba Waldo, pero no querías arruinarles el juego? En otras palabras, querías demostrar que sabías dónde estaba Waldo, sin señalarlo.

En ese caso, necesitaría cambiar la forma de construir su prueba:

  • Primero, necesitaría obtener una hoja de papel grande, mucho más grande que el tamaño del libro.
  • A continuación, deberá colocar el papel sobre el libro y barajar el libro detrás del papel de construcción al azar.
  • Luego, dado que sabe dónde está el libro y dónde está Waldo, cortaría un pequeño agujero en el papel de construcción, revelando a Waldo, pero sin mostrar ningún contexto alrededor de Waldo. Esta es tu prueba.
  • Finalmente, su amigo, el verificador, miraría y solo vería el papel de construcción con el agujero que revela a Waldo, convenciéndolos de su prueba. No sabrán el contexto en torno a Waldo porque el papel de construcción cubre toda la información contextual sobre quién está al lado de Waldo.

Esta prueba no filtra ninguna información sobre la ubicación de Waldo: a un verificador que vea esta prueba no le resultará más fácil encontrar a Waldo que a alguien que no lo haya hecho. Solo muestra que sabemos dónde está Waldo, sin revelar la ubicación de Waldo. En otras palabras, no tenemos conocimiento sobre el contexto de la información para una declaración dada, pero no tenemos que revelar ningún conocimiento sobre nada más.

Llamamos a esto una prueba de conocimiento cero porque no filtra información a nadie que la observe.

¿Qué es un argumento de conocimiento sucinto no interactivo?

zk-SNARK es un acrónimo que significa Zero Knowledge Succinct Non-Interactive Argument of Knowledge.

S- Sucinto significa que las pruebas son pequeñas y fáciles de verificar, ¡incluso si el concepto que se está demostrando es complicado!

N- No interactivo significa que no necesitamos una comunicación de ida y vuelta entre un probador y un verificador, como «¿Dónde está Waldo?» Por ejemplo, un probador puede entregar la prueba, el artilugio de papel de construcción, y un verificador puede decir si la prueba es válida sin hacer más preguntas.

AR- El argumento es un formalismo para hablar de estas pruebas porque hay algo de criptografía sofisticada y no determinismo que no hace que estas «pruebas formales» en el sentido tradicional (aunque todavía podemos pensar en ellas como tales).

K: el conocimiento se refiere al hecho de que el probador en realidad tiene la evidencia en sí mismo: no solo prueban que Waldo existe en la página, sino que, como probador, saben dónde está Waldo en la página.

Todos los zk-SNARK tienen estas propiedades; no filtran información, son pequeños y fáciles de verificar, incluso si la noción que se prueba es complicada, no requieren comunicación de ida y vuelta y son pruebas de conocimiento: el probador debe saber realmente lo que se afirma, no solo que sea cierto.

Las blockchains no juegan un juego de «¿Dónde está Waldo?» aunque. En cambio, prueban que toda la blockchain es válida.

¿Por qué una blockchain necesita validez?

Las blockchains están a cargo de muchas personas independientes en lugar de una entidad central. Por lo tanto, es necesario que muchas personas verifiquen que una blockchain es válida antes de confiar en ella. Con otras cadenas, las personas verifican la validez de una cadena de bloques reproduciendo cada bloque uno por uno.

Sin embargo, con Mina, hacemos esto demostrando simplemente que existe una secuencia de bloques que forman una blockchain válida.

Cómo Mina aborda la validez de Blockchain

En lugar de volver a validar la secuencia completa de bloques cada vez que se crea un nuevo bloque, Mina simplemente ajusta ligeramente la declaración de prueba, ahorrando tiempo y energía.

Mina prueba que hubo una prueba válida para alguna secuencia de bloques y una nueva extra que también es válida. En cierto sentido, cada vez que se crea y transmite un nuevo bloque a través de la red, ampliamos la prueba para respaldar este bloque adicional.