El tema de la privacidad es central en la idea de las criptomonedas, y mejorar la privacidad es una tarea constante. Vitalik Buterin está estudiando la implementación de zk-SNARKs como parte de la hoja de ruta de Ethereum y Zcash ya la está utilizando como parte integral de su solución de privacidad.
Si bien es posible que hayas oído hablar de zk-SNARK, es posible que te preguntes qué significa realmente, y en esta publicación trataremos de explicarlo en términos simples.
zk-SNARK significa ‘Argumento de conocimiento no interactivo sucinto del conocimiento cero’ (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) y trabaja para probar ciertas condiciones sin revelar la información que debe mantenerse confidencial. Vamos a dividir esto para que sea más fácil de entender.
- Conocimiento cero = Mantiene la confidencialidad y la privacidad.
- Sucinto = Las pruebas se pueden verificar típicamente en cuestión de milisegundos.
- No interactivo = construcciones de prueba donde un mensaje único puede ser enviado desde el probador al verificador sin la necesidad de enviar constantemente mensajes de ida y vuelta.
- Argumento de conocimiento = Un probador puede convencer al verificador de que existe cierta información y que puede acceder y saber qué es, sin revelar la información en su totalidad.
Prueba de conocimiento cero o nulo, en términos muy simples, permiten que ocurra una transacción entre dos partes donde cada parte puede verificarse mutuamente que pueden acceder a un conjunto específico de información que existe, sin revelar nunca qué es esa información.
En otras palabras, le permite a Tom (el probador) probarle a Sam (el verificador) que una afirmación es verdadera, sin revelar la información en su totalidad. Tom puede convencer a Sam de que la información existe y, lo que es más importante, que puede acceder a esta información, sin revelar nunca lo que realmente es.
Las pruebas de conocimiento cero o nulo no son pruebas matemáticas, ya que existe una pequeña probabilidad de error, por lo que estas pruebas son de naturaleza probabilística.
Una prueba de conocimiento cero o nulo debe satisfacer tres propiedades principales (con espacio para una pequeña probabilidad de error):
- Integridad: el probador tiene una forma de convencer al verificador de que cualquier afirmación es verdadera.
- Solidez: ningún probador engañoso puede convencer a un verificador de una afirmación falsa.
- Conocimiento Cero: si un probador puede convencer y verificar que una declaración es verdadera, el verificador aún no tiene información subyacente y no aprende nada más que la afirmación es verdadera.
Los Zk-SNARK esencialmente protegen las transacciones y brindan confidencialidad y privacidad, razón por la cual Zcash ha integrado la tecnología en su criptomoneda. Este es solo uno de los muchos casos de uso de zk-SNARK, pero dada su complejidad computacional y su intensidad, no es práctico utilizarlo aún para muchas otras aplicaciones, fuera de funcionar como un medio de intercambio o moneda enfocado en la privacidad. En teoría, puede usar zk-SNARK para verificar cualquier transacción o relación entre dos partes sin divulgar o filtrar información entre las partes involucradas.
La adopción de Zk-SNARK por parte de Ethereum cambiaría las reglas del juego por decir lo menos, y dado el desafiante entorno regulatorio actual, cada vez más personas podrían estar avanzando hacia monedas digitales centradas en la privacidad. Sin embargo, los gobiernos siempre pueden tomar medidas drásticas para bloquear el acceso a la red, que sigue siendo un problema importante cuando se trata de una verdadera descentralización. Podemos esperar que esta batalla continúe mientras las personas luchan por un mayor control sobre sus finanzas e información, y los gobiernos buscan supervisión para prevenir actividades ilegales.