Si hay algo por sentado en el ecosistema Blockchain, es que es una tecnología que cambia y ve mejoras continuamente, por lo que el conocimiento que teníamos hace un año hoy fácilmente podría estar desactualizado. Si bien los principios de esta tecnología no cambian, las formas de llevar esos principios a hechos si evolucionan constantemente.
Una de esas evoluciones es Zero Knowledge Proof (ZKP) o Prueba de Conocimiento Cero, concepto que he decidido aprender mucho más y en el camino compartir los aprendizajes en una serie de artículos.
¿Qué es Zero Knowledge Proof?
En pocas palabras, Zero Knowledge Proof es la capacidad de probar la veracidad de una información sin tener que revelar la información real o completa en sí misma, un ejemplo de esto en la vida real sería tener la posibilidad de votar en una elección demostrando que estás dentro del registro de electores sin tener que dar tus datos personales.
Su uso dentro de Blockchain puede garantizar una mayor privacidad en transacciones financieras, como lo hace ZCash, o tener una identidad digital que te permita demostrar tu acceso a DAOs o servicios web3 sin revelar tu información personal, como lo está haciendo Polygon ID.
¿Cómo funciona Zero Knowledge Proof?
ZKP utiliza protocolos criptográficos avanzados para validar la veracidad de una declaración sin revelar información sensible.
Uno de los ejemplos más conocidos de Zero Knowledge es el protocolo zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), que permite a una parte probar que posee información (por ejemplo, la propiedad de ciertos tokens) sin revelar detalles sobre esa información. Utiliza algoritmos matemáticos que generan pruebas criptográficas verificables sin la necesidad de interactuar con otras partes.
El papel de ZKP en el futuro del ecosistema web3
Dentro de las soluciones desarrolladas con ZKP, se encuentran los ZK rollups, que puede llevar la escalabilidad del ecosistema web3 aún más allá. Como el resto de rollups, éstas agrupan múltiples transacciones en una sola y las envían a la cadena principal para su verificación, sin embargo, se diferencian de las otras rollups por su privacidad. Al usar la Prueba de Conocimiento Cero, en lugar de enviar cada transacción completa a la red principal, envían una “prueba” de que la transacción se ha validado y es auténtica.
De esta forma, aumentan la privacidad de los usuarios y se reduce el riesgo de que se revele información confidencial, aumentan la velocidad y reducen el tamaño de la transacción, además del gas necesario para llevarlas a cabo.
Puede ser un camino a una mayor adopción ya que la privacidad y seguridad son factores claves para fomentar la confianza en el ecosistema web3, con la posibilidad de proteger información personal y financiera de los usuarios, estos podrían sentirse más cómodos y seguros utilizando tecnologías basadas en ZK de lo que actualmente pueden estarlo con otras aplicaciones descentralizadas que mantienen una transparencia que no todos los usuarios prefieren.
De hecho, la protección de los datos de los usuarios va muy de la mano de la descentralización, ya que elimina la necesidad de confiarle mayor información a intermediarios, siendo el usuario quien tiene el control sobre sus datos, resultando en una transparencia selectiva.
Esto es especialmente relevante en escenarios donde se requiere verificar la autenticidad de ciertos datos, como la verificación de pertenecer a una DAO para crear una propuesta, sin revelar el usuario o wallet de quien la ha creado. Este ejemplo ayudaría a que el resto de miembros de la DAO voten frente a esa propuesta teniendo como prioridad el valor de la misma y no otros datos que puedan viciar su decisión, como el nombre o la cantidad de tokens de gobernanza que tiene quien hizo la propuesta.
Desventajas de ZKP
Lamentablemente, no todo es perfecto con Zero Knowledge Proof, ya que necesitan mucha capacidad de computo, sobre todo las ZK interactivas, que requieren comunicación entre el que quiere demostrar el conocimiento y el que va a verificar la prueba.
Incluso las ZK no interactivas, que permiten al que quiere demostrar su conocimiento generar una prueba matemática que puede ser verificada por cualquiera sin necesidad de comunicación adicional entre las partes, necesitan de capacidades computacionales que pueden ralentizar los dispositivos.
Ya que requieren una cantidad significativa de recursos computacionales y tiempo para calcular las pruebas, no es recomendable para aplicaciones con poca actividad en cadena, ya que es posible que el costo de realizar estas pruebas no se justifique con los beneficios que puede traer usar una ZK.
Con estas desventajas, vemos que probablemente Zero Knowledge Proof no solucionará todos los problemas dentro del ecosistema pero sigue siendo un paso importante para la escalabilidad, privacidad y el empoderamiento de los usuarios, por lo que aprender sobre este concepto a profundidad nos acerca a visualizar y construir el futuro de Blockchain.
Referencias:
Zero-Knowledge Proof (ZKP): How It Works and Why Its Important
Introducción a Zero Knowledge Proof
Computer Scientist Explains One Concept in 5 Levels of Difficulty | WIRED
