La prueba del conocimiento cero explicada

Desde el reciente desarrollo de la criptografía y las criptomonedas resultantes, la seguridad y la privacidad han sido claves en la industria. Varias blockchains proporcionan sus propias medidas de seguridad para que la red sea lo más segura posible. La prueba de conocimiento cero (ZKP) es una medida de seguridad que hace que el verificador demuestre que conoce la respuesta a una pregunta concreta sin dar realmente la respuesta real. Permite demostrar que se conoce algún secreto a otra persona en el “otro” extremo de la comunicación sin revelarlo realmente.

La prueba de conocimiento cero es una expresión matemática que llevan a cabo el probador y el verificador. Puede haber muchos probadores y verificadores para un protocolo ZKF. Es difícil y confuso explicar este fenómeno a una persona sin conocimientos de criptografía, pero las ilustraciones que siguen ofrecerán una imagen más clara.

Ilustración

El primer ejemplo exclusivo para simplificar el protocolo ZKP y su funcionamiento es el cambio de dos vasos de refresco; uno con Pepsi y otro con Coca-Cola. Ambos vasos son idénticos en todos los sentidos y no hay manera de distinguir el que contiene Pepsi y el que tiene Coca-Cola. Sin embargo, tu amigo (prover) afirma que puede distinguir qué vaso tiene Coca-Cola y cuál tiene Pepsi perfectamente pero sin revelar sus conclusiones. Por lo tanto, tiene que demostrarte a ti (verificador) que sabe cuál es el vaso que contiene Coca-Cola sin decirte realmente de qué vaso se trata.

Una forma de hacer esto sería vendar los ojos al verificador y entonces puedes decidir cambiar los vasos o dejarlos como estaban. Una vez que se haya quitado la venda de los ojos, pregunte si se han cambiado las gafas o no. Si es capaz de distinguir si se han cambiado las gafas o no, significa que sabe distinguir entre ambas cosas. Sin embargo, puede que haya sido una suposición afortunada. Hazlo varias veces y la probabilidad de “adivinar” la posición correcta de los vasos bajará a 0,5. Si aún así lo aciertan sucesivamente, entonces se demuestra que el verificador realmente sabe distinguir los dos sin revelar cómo lo hizo.

Ilustración 2

La primera ilustración tiene muchos fallos, como habrás notado. En primer lugar, si una persona ajena (segundo verificador) quiere determinar si es cierto que el prover puede distinguir los dos vasos, tendrá que empezar el proceso de nuevo. Si el número es grande, esto hace que el proceso sea engorroso y lento. En segundo lugar, es posible que tú y tu amigo os hayáis confabulado para hacer un truco sobre cómo distinguir, etc.

Por lo tanto, para resolver estos problemas necesitarás más verificadores y una forma más rápida de proporcionar conocimiento de prueba cero.

Esto se hace mediante permutaciones y verificaciones más complejas, como un “sudoku” en el que cada casilla representa un número que hay que resolver. Un sudoku típico tiene nueve filas y nueve columnas; cada una de las filas y columnas debe contener números del 1 al 9 sin que se repita ningún número. Cada casilla puede ser utilizada por diferentes probadores para demostrar que conocen la solución sin revelar realmente el número.

Conclusión

Este es el sistema de prueba de conocimiento cero. Muchas criptomonedas basadas en la privacidad, como Z Cash y Monero, utilizan este método para asegurar sus transacciones y hacerlas privadas entre los usuarios.

Deja un comentario