Qué son los zk-SNARKs

From Coda Wiki
Jump to navigation Jump to search

Originalmente publicado aquí


Guía Completa de las Demostraciones Criptográficas Más Poderosas


Primeros Pasos

Demostraciones con Conocimiento Cero (Zero Knowledge Proofs). zk-SNARKs. Estos términos se utilizan con frecuencia en los círculos sobre criptomonedas, a menudo en el contexto de realizar transacciones privadas. En el contexto del Protocolo Coda constituyen parte esencial de nuestra principal innovación: una blockchain pequeña y de tamaño constante. Sus orígenes se remontan a 1985, cuando las demostraciones o pruebas con conocimiento cero se explicaron por primera vez en el informe "La complejidad del conocimiento de los sistemas de demostración interactivos". Pero la pregunta persiste: ¿qué son realmente?


La misión principal de las criptomonedas es permitir que los individuos disminuyan su dependencia tanto de poderes centralizados como de otros intermediarios. Los zk-SNARKs son una innovación que puede hacer realidad esa visión. Sin embargo, dada la complejidad de los mismos es difícil encontrar recursos claros y accesibles. Nuestro equipo de criptógrafos e ingenieros compiló, resumió y revisó los recursos disponibles para ayudarte a dar los primeros pasos, ya seas un principiante o un experto. ¿Conoces un recurso educativo que deberíamos incluir? Háznoslo saber en la sección inferior de comentarios.


Primero, Izaak y Vanishree, dos miembros de nuestro equipo de criptografía que han dedicado sus vidas al estudio de zk-SNARKS, te ayudarán a empezar con una introducción:


Demostraciones con conocimiento cero: una explicación intuitiva

Vanishree Rao, un criptógrafo que trabaja en el Protocolo Coda, ofrece esta explicación utilizando el problema clásico de los 3-colores para introducir conceptos clave que incluyen solidez, conocimiento cero y verificadores. Muy visual, esta lectura corta (<5 minutos) es un excelente punto de partida para empezar.


Uso de zk-SNARK para una blockchain de tamaño constante

En esta presentación, Izaak Meckler, cofundador y CTO de O(1) Labs, y criptógrafo principal a cargo del Protocolo Coda, proporciona una visión general e introductoria no solamente de los conceptos básicos de los zk-SNARKs sino que también incluye ejemplos prácticos de el por qué son importantes.


Aprende más

Estos son los mejores recursos de iniciación que hacen que las Demostraciones con Conocimiento Cero (Zero Knowledge Proofs) y zk-SNARKs sean más accesibles. Las metáforas visuales y las explicaciones simplificadas se utilizan para refinar y ampliar los conceptos presentados anteriormente.


Introducción a las demostraciones con conocimiento cero

Este es un buen punto de partida. Primero, entrando un poco en el trasfondo histórico, explicando el contexto original del informe de 1985 que puso todo en marcha: "La complejidad del conocimiento de los sistemas de demostración interactivos”. Segundo, incluye una versión ilustrativa ligeramente más simple y visual del cuento de la cueva de Alí Baba. En tercer lugar, proporciona un resumen sucinto de las tres propiedades que una demostración con conocimiento cero debe satisfacer: integridad, solidez y conocimiento cero.


Explícame como si tuviera 5 años: Demostración con conocimiento cero - Edición de Halloween

Este ejemplo toma el conocido "Problema del millonario de Yao", donde dos millonarios quieren descubrir si tienen la misma cantidad de dinero sin que ninguno de los dos tenga que revelar sus posesiones, y lo pone en el contexto de dos niños (obviamente llamados Alice y Bob) que quieren saber si consiguieron la misma cantidad de caramelos mientras jugaban a truco o trato.


VIDEO: Demostración con conocimiento cero - ZPK

Si realmente queremos potenciar lo visual, vayamos directamente a YouTube. Esta breve (10 minutos) explicación utiliza animaciones para ilustrar otra versión simple de ser capaces de demostrar que algo es así sin revelar las circunstancias específicas que lo hacen así. En este caso, el ejemplo utilizado es una persona que está tratando de convencer a su amigo daltónico de que hay una diferencia entre una bola verde y una roja. Este video también introduce la diferencia entre los ZKP interactivos y no interactivos, preparando el escenario para la discusión sobre los SNARKS.


VIDEO: Demostración con conocimiento cero

Si el video anterior se corresponde con el nivel de iniciación a los ZPKs, piense en este como el video inmediatamente superior. Con más detalle y ejemplos visuales diferentes, incluido un mazo de cartas en el que se demuestra que una carta es de cierto color sin revelar nada más, este video también reitera las propiedades fundamentales requeridas para una demostración con conocimiento cero.


Demostraciones con conocimiento cero: una iniciación ilustrada - 1 y 2

Muy bien, ¡ahora estamos entrando en lo bueno! Esta serie de dos partes ha sido realizada por Matthew Green, quien ha estado involucrado con Zcash desde el comienzo del proyecto y que pasa la mayor parte de su tiempo como criptógrafo y profesor en la Universidad Johns Hopkins. La primera parte trata sobre varias cosas. Primero, profundiza en los orígenes y antecedentes de los ZKPs, incluida una discusión de por qué nos interesamos en ellos. En segundo lugar, utiliza un conjunto de ejemplos del mundo real, incluida una versión del problema de 3-colores del gráfico con temática sobre telecomunicaciones para explicar qué hace que este tipo de interacción sea "conocimiento cero". En tercer lugar, introduce conceptos importantes como los esquemas de compromiso. Si bien la parte 1 es claramente no técnica, la parte 2 aún entrando en territorio técnico es relativamente fácil de seguir.


WTF es Zero-Knowledge Proof e Introducción a las Demostraciones con Conocimiento Cero (Zero Knowledge Proof): el protocolo de la próxima generación de Blockchain

Ahora que ha tenido la oportunidad de comprender realmente las ideas básicas de las demostraciones con conocimiento cero, y que ha visto varias metáforas visuales, es momento de introducir algunos conceptos adicionales. Ambas piezas son muy similares y funcionan en tándem. Aunque todavía están en nivel iniciación, ampliarán su perspectiva para incluir: 1) la diferencia entre demostraciones con conocimiento cero interactivas y no interactivas y 2) zk-SNARKS. La segunda pieza en particular hace un buen trabajo al desglosar cada parte del acrónimo como una forma de comenzar a comprender los conceptos involucrados.


Demostraciones con conocimiento cero Primera parte: los protocolos criptográficos y sus variaciones

Esta pieza más o menos reitera muchos de los conceptos tratados en las piezas anteriores. Una valiosa adición es una definición simplificada adicional de los zk-SNARKs y una comparación con los zk-STARKs.


VIDEO: ¿Qué son los ZK-Snarks?

Ahora que hemos conectado las demostraciones con conocimiento cero con los SNARKs, os proponemos otro video de introducción rápida para personas con mente visual. Esta descripción general de 4 minutos nos proporciona los conceptos básicos para que posteriormente podamos sumergirnos en un contenido más sustantivo.


zk-SNARKS y zk-STARKS explicados

Esta pieza proviene de la Academia Binance y va más allá al explicar la diferencia entre zk-SNARKS y zk-STARKS. Esta es una de las explicaciones cortas no técnicas más sucintas y claras que existen.


¿Qué son los zkSNARKs? La guía completa de matemáticas mágicas

Aunque en su mayoría se trata de contenido no técnico, utiliza un poco las matemáticas para profundizar en la explicación de zkSNARKs. Dicho esto, lo hace después de exponer muchas imágenes útiles y explicaciones iniciales sencillas, y lo hace de una manera que, después de asimilar el contenido anterior, prometemos entenderás.


Por qué los zk-SNARK son cruciales para la privacidad de datos de Blockchain

Hasta ahora hemos visto muchas explicaciones visuales de lo que son las demostraciones con conocimiento cero, así como definiciones sencillas para entender el concepto de zk-SNARK. Lo que aún no hemos visto es una articulación simple y clara de por qué todo esto importa. En esta pieza para Forbes, Samantha Radocchia hace exactamente eso. Traza las líneas entre la gran cantidad de datos que recopilan los servicios que nos rodean, el abuso indiscriminado y la inseguridad de esos datos, y la necesidad de tecnologías de privacidad como los SNARKs.


VIDEO: Rapsodia en conocimiento cero: Demostrar sin revelar

Esta maravillosa charla expone muchos de los conceptos que se encuentran en los artículos anteriores y los pone en una secuencia sucinta y clara. Si buscas un solo video para resumir absolutamente todo el contenido de esta sección inicial y prepararte para la siguiente sección, más técnica, este es el indicado.


Detalle técnico

Si has leído hasta aquí, estás listo para entrar en los detalles técnicos. Los enlaces siguientes cubren tanto el cómo y el por qué, explicando con más detalle las aplicaciones de los zk-SNARKs y por qué son tan prometedores para cumplir con la misión principal de las criptomonedas.


Introducción a los zk-SNARKs con ejemplos

Publicado en el blog de ConsenSys, este artículo coloca todos los conceptos clave que has aprendido anteriormente, como verificadores, demostradores y testigos, en un marco matemático que puede proporcionar la base para una comprensión más técnica. Incluso para una audiencia no técnica, esta es una lectura interesante que probablemente podrás seguir.


VIDEO: Introducción a los SNARKs

Filmado en DevCon3, esta charla de 20 minutos es una introducción a los SNARKs del Dr. Christian Reitweissner. Uno de los aspectos valiosos de esta charla es la descripción del contexto. Incluso antes de sumergirse en el tema, explica por qué los SNARKs son tan importantes para las blockchains, discutiendo tanto la escalabilidad como la privacidad.


VIDEO: Eli Ben-Sasson, científico fundador de ZCash, co-inventor de zk-SNARKs, cofundador de Starkware

A veces necesitas ir directamente a la fuente. Eli Ben-Sasson fue co-fundador de Zcash, co-inventor de los SNARKs y tiene (como es de esperar) una gran cantidad de conocimiento para compartir. Esta no es su entrevista de video estándar, sino que se trata de un seminario introductorio sobre el tema. Lo aprovecharas todavía más una vez comprendidos los conceptos básicos anteriores pero, en cualquier caso, este vídeo es absolutamente imprescindible.


[https://medium.com/@weijiek/how-i-learned-zk-snarks-from-scratch-177a01c5514e Demostraciones con conocimiento cero, un juego de mesa y abstracciones permeables: cómo aprendí zk-SNARKs desde cero]

Directamente relacionado con el blog del punto anterior, esta pieza es de un programador que, entre otros recursos, lo utilizó para aprender cómo trabajar con zk-SNARKs. Esta es una gran combinación de diario de aprendizaje personal más algunas ideas que ayudan a complementarlo.


Aprendiendo sobre zk-SNARKs

Zaki Manian, del equipo de Tendermint, compiló esta guía de recursos para facilitar el aprendizaje de los ZKPs y SNARKs. Organiza el contenido que propone en diferentes categorías: Encuestas, Programas aritméticos cuadráticos, Criptografía de Pares, estudios e informes sobre SNARKs e Investigación reciente. Si nuestra recopilación es tu guía de iniciación, esta compilación constituye un excelente punto de partida para profundizar.


Serie SNARK de Vitalik Buterin

Cuando se trata de contenido SNARK, esta es la meca del conocimiento. Desde finales de 2016 hasta principios de 2017, el creador de Ethereum, Vitalik Buterin, escribió una serie de tres partes. La primera pieza fue “Programas de aritmética cuadrática: de cero a héroe” profundizando (como Vitalik lo puso) en "la maquinaria detrás de la tecnología". La Parte 2 fue "Explorando los pares de curva elíptica”, y la parte 3 fue "zk-SNARKS: bajo la superfície”. Esta última es una exploración mucho más técnica que se basa en el marco base descrito en las otras. No es para faltos de espíritu, y en cualquier caso se trata de un material asombroso.