¿Qué son los zkSNARK? ¿Cómo trabajan?

Desde mi breve exposición al concepto, zkSNARKs parece ser una forma de criptografía de conocimiento cero.

¿Qué puede traer zkSNARKs a la mesa para Ethereum?

He mirado proyectos como este , pero aún no entiendo su aplicabilidad a la plataforma.

Respuestas (2)

No entraré en detalles criptográficos duros, porque no sé mucho al respecto, y necesita páginas y páginas para explicarse correctamente. Pero probemos!!!

Los ZKSnarks, también conocidos como: Zero Knowledge Succinct Non-interactive Arguments of Knowledge , son pruebas rápidas computacionales de conocimiento cero que le permiten demostrar cosas sin dar ninguna información e incluso sin necesidad de una interacción entre el probador y el verificador.


Veamos un ejemplo.

  1. Digamos que Bob quiere demostrarle a Alex que sabe la respuesta a algún problema.
  2. Bob, recibirá de un TEE (Entorno de ejecución de confianza) un valor S y un CRS.
  3. Si Bob conoce la solución al problema que le pide Alex, podrá demostrar la divisibilidad entre varias funciones polinómicas.
  4. Si tiene la solución correcta, la salida de la operación de resta de emparejamientos realizada por el verificador es 1, de lo contrario 0.

Es tan... tan difícil de resumir, pero se verá así:

  • Cualquier problema matemático se puede resumir en un circuito (código C compilado, por ejemplo).
  • El circuito se transforma en un Programa Aritmético Cuadrático (QAP) extrayendo sus funciones polinómicas.
  • Que a su vez, puede verse como un Modelo de Cómputo.

Con todo esto, somos capaces de construir Snarks, que nos permiten verificar una prueba sin adquirir conocimiento de la solución y sin interacción entre el probador y el verificador.

Aquí hay una representación visual de las matemáticas involucradas:

ingrese la descripción de la imagen aquí


¿Por qué todo esto es interesante para Ethereum?

Porque los nodos podrán verificar la corrección de un bloque (sin doble gasto, por ejemplo) sin conocer ninguna información al respecto . Es como el sueño de un criptógrafo, evaluar una declaración sin conocer ningún dato de la misma.

Lo que significa que todas las direcciones, el saldo y mucha más información estarán totalmente encriptadas , pero un nodo aún puede evaluar (súper rápido, porque los snarks son pruebas concisas) sin conocer ninguna información.

El problema con Snarks y Ethereum es que Snarks funciona en Zcash porque solo hay transacciones . Y es más simple implementar esos Snarks en una cadena de bloques que solo admite transacciones . Pero en el caso de Ethereum, con SmartContracts involucrados... es mucho más difícil implementar ZKSnarks (no sé exactamente por qué, pero supongo que hay problemas con el EVM).

Espero que ayude, y lo siento si es confuso, pero es difícil de explicar.

Soy tan fan de tus respuestas. Sigan con el buen trabajo :)
Jajajaja es porque haces buenas preguntas!! Te mereces buenas respuestas :P

zkSNARKs ofrecerá la posibilidad de transacciones privadas , o transacciones confidenciales .

Si bien las matemáticas y la criptografía detrás de esto son bastante complejas, puede encontrar una descripción general en el contexto de Ethereum en este artículo escrito por Consensys .

¿Bastante complejo? ¿Ha revisado todas las matemáticas y criptografía detrás de ellos? Porque la semana pasada vino un matemático a nuestra universidad para dar a unos alumnos una visión en profundidad de ellos, y vi que las matemáticas eran dificilísimas. Emparejamientos, curvas elípticas, ocultaciones, QAP, etc. Me resultaron muy difíciles de entender a la perfección, ¿cuál es tu opinión?
Es lo suficientemente complejo y avanzado como para no estar dispuesto a tratar de entenderlo íntimamente... a menos que sea absolutamente necesario. La dificultad es un concepto relativo. Una vez que entendemos algo, siempre parece fácil. Estoy seguro de que hay personas que consideran que las matemáticas detrás de zkSNARKs son fáciles. Pero para esas personas, el patrón MVC probablemente parecerá difícil de comprender hasta que se esfuercen por investigar todos los conceptos detrás de él.
Totalmente de acuerdo, ¡Gracias por compartir tu opinión! :)