La privacidad siempre se ha considerado una característica valiosa dentro de la comunidad de criptomonedas. Es el precursor de la fungibilidad, necesaria para una forma de dinero ampliamente utilizada. De manera similar, la mayoría de los poseedores de criptoactivos no quieren que sus tenencias y su historial de transacciones sean completamente públicos. Entre las diversas técnicas criptográficas destinadas a proporcionar privacidad a las cadenas de bloques, las pruebas zk-SNARK y zk-STARK son dos ejemplos dignos de mención.

zk-SNARK significa argumento de conocimiento sucinto no interactivo de conocimiento cero, y zk-STARK representa un argumento de conocimiento transparente sucinto de conocimiento cero. Las pruebas zk-SNARK se utilizan en proyectos de criptomonedas (como Zcash), en sistemas de pago basados ​​en blockchain y como una forma de autenticar de forma segura a los clientes en los servidores. Pero si bien los zk-SNARK han logrado avances significativos para estar bien establecidos y adoptados, las pruebas de zk-STARK ahora se promocionan como la versión nueva y mejorada del protocolo, que aborda muchos de los inconvenientes anteriores de los zk-SNARK.

La parábola de la cueva de Ali Baba

En 1990, el criptógrafo Jean-Jacques Quisquater (junto con otros colaboradores) publicó un artículo titulado "Cómo explicar los protocolos de conocimiento cero a sus hijos". El artículo introduce el concepto de pruebas zk con una parábola que involucra la cueva de Ali Baba. Desde su creación, la parábola ha sido adaptada varias veces y ahora tenemos múltiples variaciones. Aún así, la información subyacente es esencialmente la misma.

Imaginemos una cueva en forma de anillo con una única entrada y una puerta mágica que separa los dos caminos laterales. Para atravesar la puerta mágica, es necesario susurrar las palabras secretas correctas. Así que considere que Alice (amarilla) quiere demostrarle a Bob (azul) que sabe cuáles son las palabras secretas, sin dejar de mantenerlas en secreto. Para ello, Bob acepta esperar afuera mientras ella entra a la cueva y camina hasta el final de uno de los dos caminos posibles. En este ejemplo, decide seguir el Camino 1.

Después de un rato, Bob pasa por la entrada y grita de qué lado quiere que aparezca Alice (camino 2 en este caso).

Si Alice realmente conoce el secreto, aparecerá de manera confiable en el camino que Bob nombra.

Todo el proceso puede repetirse varias veces como una forma de confirmar que Alice no está eligiendo el camino correcto por suerte.

La parábola de la cueva de Ali Baba ilustra el concepto de pruebas de conocimiento cero, que forman parte de los protocolos zk-SNARK y zk-STARK. Las pruebas ZK se pueden utilizar para demostrar la posesión de determinados conocimientos sin revelar ninguna información al respecto.

zk-SNARK

Zcash es uno de los primeros ejemplos de un proyecto que utiliza zk-SNARK. Mientras que otros proyectos de privacidad como Monero emplean firmas de anillo y otras técnicas, zk-SNARK cambia fundamentalmente la forma en que se comparten los datos. La privacidad de Zcash se deriva del hecho de que las transacciones en la red pueden permanecer cifradas pero aún así verificarse como válidas mediante el uso de pruebas de conocimiento cero. Por lo tanto, quienes hacen cumplir las reglas de consenso no necesitan conocer todos los datos subyacentes a cada transacción. Vale la pena mencionar que las funciones de privacidad en Zcash no están activas de forma predeterminada, sino que son opcionales y dependen de la configuración manual.

Las pruebas de conocimiento cero permiten a un individuo demostrarle a otro que una afirmación es verdadera sin revelar ninguna información más allá de la validez de la afirmación. A las partes involucradas se les llama comúnmente probador y verificador, y la declaración que mantienen en secreto se llama testigo. El principal objetivo de estas pruebas es revelar la menor cantidad de datos posible entre las dos partes. En otros términos, se pueden utilizar pruebas de conocimiento cero para demostrar que se tiene cierto conocimiento sin revelar ninguna información sobre el conocimiento en sí.

Dentro del acrónimo SNARK, “sucinto” significa que estas pruebas son de menor tamaño y pueden verificarse rápidamente. "No interactivo" significa que hay poca o ninguna interacción entre el probador y el verificador. Las versiones anteriores de los protocolos de conocimiento cero generalmente requieren que el probador y el verificador se comuniquen entre sí y, por lo tanto, se consideran pruebas ZK "interactivas". Pero en construcciones “no interactivas”, los probadores y verificadores sólo tienen que intercambiar una prueba.

Actualmente, las pruebas de zk-SNARK dependen de una configuración inicial confiable entre un probador y un verificador, lo que significa que se requiere un conjunto de parámetros públicos para construir pruebas sin conocimiento y, por lo tanto, transacciones privadas. Estos parámetros son casi como las reglas del juego; están codificados en el protocolo y son uno de los factores necesarios para demostrar que una transacción es válida. Sin embargo, esto crea un posible problema de centralización porque los parámetros suelen ser formulados por un grupo muy pequeño.

Si bien una configuración inicial confiable es fundamental para las implementaciones actuales de zk-SNARK, los investigadores están trabajando para encontrar otras alternativas como una forma de reducir la cantidad de confianza requerida en el proceso. La fase de configuración inicial es importante para prevenir gastos falsificados porque si alguien tuviera acceso a la aleatoriedad que generó los parámetros, podría crear pruebas falsas que parecían válidas para el verificador. En Zcash, la fase de configuración inicial se conoce como Ceremonia de Generación de Parámetros.

Pasando a la parte del acrónimo “Argumentos del conocimiento”. Los zk-SNARK se consideran computacionalmente sólidos, lo que significa que un demostrador deshonesto tiene muy pocas posibilidades de engañar exitosamente al sistema sin tener realmente el conocimiento (o el testigo) para respaldar su declaración. Esta propiedad se conoce como solidez y supone que el probador tiene una potencia informática limitada.

En teoría, un probador con suficiente poder computacional podría crear pruebas falsas, y esta es una de las razones por las que muchos consideran que las computadoras cuánticas son una amenaza para los zk-SNARK (y los sistemas blockchain).

Las pruebas de conocimiento cero se pueden verificar rápidamente y normalmente ocupan muchos menos datos que una transacción estándar de Bitcoin. Esto abre un camino para que la tecnología zk-SNARK se utilice como solución de privacidad y escalabilidad.

zk-STARK

Los zk-STARK fueron creados por Eli-Ben Sasson, profesor del Instituto de Tecnología Technion-Israel. Como versión alternativa de las pruebas zk-SNARK, los zk-STARK generalmente se consideran una variante más eficiente de la tecnología, potencialmente más rápida y económica, según la implementación. Pero lo más importante es que los zk-STARK no requieren una configuración inicial confiable (de ahí la “T” de transparente).

Técnicamente hablando, los zk-STARK no requieren una configuración confiable inicial porque dependen de una criptografía más eficiente a través de funciones hash resistentes a colisiones. Este enfoque también elimina los supuestos de la teoría de números de los zk-SNARK, que son computacionalmente costosos y teóricamente propensos a ser atacados por computadoras cuánticas.

En otras palabras, las pruebas zk-STARK presentan una estructura más simple en términos de supuestos criptográficos. Sin embargo, esta novedosa tecnología tiene al menos una desventaja importante: el tamaño de las pruebas es mayor en comparación con los zk-SNARK. Esta diferencia en el tamaño de los datos puede presentar limitaciones según el contexto de uso, pero probablemente sea algo que pueda descubrirse a medida que la tecnología se pruebe e investigue más a fondo.

Pensamientos finales

Está claro que tanto los zk-SNARK como los zk-STARK apelan a la creciente preocupación por la privacidad. Dentro del mundo de las criptomonedas, estos protocolos tienen un gran potencial y podrían ser una vía innovadora hacia la adopción generalizada.