zk-SNARK es una prueba que le permite a una de las partes probar de que tiene cierta información sin revelarla.
Esta palabra, que puede parecer complicada para algunos, son las siglas de Zero-Knowledge Succint Non-Interactive Argument of Knowledge, o Conocimiento Cero de Argumento Sucinto de Conocimiento no Interactivo en español.
Una creación que permite determinar la verdad cuando se interactúa con una cadena de bloques y que acelera de manera importante la verificación de una transacción, todo mientras se ocultan los datos importantes de terceros.
La primera parte de este término es Zero Knowledge, que implica que una de las partes quiere demostrar que algo es verdadero sin decir exactamente que.
Sabemos que en la tecnología blockchain los participantes pueden necesitar probar que se han cumplido ciertos requerimientos antes de poder completar una transacción. Por ejemplo, que tienen los fondos necesarios para hacer un envío. El problema es que quizás no quieren revelar cuantas cryptos tienen en total.
Aquí es donde entra zk-SNARK, mostrando ser útil para probar la identidad dentro de una cadena de bloques.
Por ejemplo, si queremos verificar la identidad de otra persona, esa persona puede enviarnos un mensaje secreto sin decir exactamente que es al resto, solo nosotros podemos decodificar ese mensaje utilizando nuestra clave privada. Lugo podemos enviar de nuevo el mensaje a esa persona, probando así su identidad.
Contenido
¿Por qué es necesario zk-SNARK?
Muchos creen que criptomonedas como Bitcoin ofrecen privacidad a los usuarios y que esta es una característica de la principal crypto.
Sin embargo, el sistema no fue creado con esta cualidad en mente, sino con la necesidad de crear un sistema sin confianza que garantice la integridad del ecosistema para su uso como moneda digital y red para el envío de transacciones.
También se suele hablar de anonimato en el caso de Bitcoin, una creencia muy extendida, ya que no existe una relación directa entre la dirección de esta cadena de bloques y la identidad de una persona.
Pero gracias a soluciones como el análisis de cadena y la información que muchas veces entregamos a exchanges u otras plataformas donde operamos, es posible determinar hasta cierto punto quien está detrás de una dirección.
Por eso es que se considera a Bitcoin como un sistema pseudónimo. Donde por defecto no sabemos quién participa en las transacciones, pero con algo de esfuerzo podría conseguirse. Más aún, si no se realizan esfuerzos por tratar de conservar el anonimato.
Aunque estas medidas no son infalibles y aun cuando el usuario tome los recaudos necesarios, siempre existe la posibilidad de revelar información importante sobre nuestra tenencia de BTC.
Es por la falta de privacidad de la primera criptomoneda que algunos desarrolladores han comenzado a trabajar en soluciones más orientadas a esta característica. Tal es el caso de Zcash, una cadena de bloques que utiliza la tecnología zk-SNARK.
¿Cómo funciona zk-SNARK?
zk-SNARK utiliza un concepto conocido como prueba de conocimiento cero, la cual fue desarrollado mucho antes que la tecnología blockchain, a finales de 1980.
Esta desarrollo, por ponerlo en términos sencillos, consiste en que dos partes de una transacción pueden verificar que tienen una serie de información mientras no tienen que revelar que información es en particular.
En la gran mayoría de tipos de prueba, al menos una de las partes debe tener acceso a esta información. Por ejemplo, cuando se utiliza una contraseña en un escenario más tradicional.
Aquí la persona suministra el password y la otra parte verifica que el contenido de este es correcto según la información con la que cuenta en su base de datos.
En este escenario, la otra parte debe saber cual es el contenido de la contraseña en función de poder determinar que es la correcta.
En una versión que utiliza la prueba de conocimiento cero, una de las partes le demuestra a la otra a través de una prueba matemática que tiene la contraseña correcta sin tener que revelar la contraseña en sí.
Esto presenta grandes ventajas en materia de privacidad y seguridad, ya que la otra parte no debe conocer la contraseña y, por tanto, no la almacena en un lugar centralizado que puede ser robado.
Explicar como funciona de manera precisa todo esto de zkSNARK es complejo, puesto que involucra una gran cantidad de matemática. Lo cual quizás no es interesante.
Lo relevante aquí es que una de las partes no solo puede demostrar que la información existe, sino también dar fe de que tiene en su poder esta información.
Algo que en implementaciones como la de Zcash se realiza prácticamente de mantera instantánea, siendo un protocolo donde no se requiere una interacción entre la parte que proporciona las pruebas y la que verifica.
¿Qué significa Succinct Non-interactive Argument of Knowledge?
Ya vimos que zk-SNARK es un acrónimo compuesto de varias palabras un poco complejas o que en principio no nos dicen nada. Pero veamos cada una de ellas para entender mejor esta mejora:
- S-Succint (Sucinto): significa que las pruebas son pequeñas y fáciles de verificar, aun cuando el concepto que se quiere probar es complicado.
- N-Non Interactive (No Interactivo): significa que no se requiere de una comunicación de ida y vuelta entre la persona que prueba y la que verifica. Una de las partes entrega la prueba y un verificador puede decir si esta es válida o no sin hacer más preguntas.
- AR-Argument (Argumento): no se tratan de pruebas como tal en el sentido tradicional, debido a que aquí interviene la criptografía y el no determinismo. Por tanto, esto es un formalismo para hablar de ellas.
- K-Knowledge (Conocimiento): se refiere al hecho de que el probador realmente tiene la evidencia, la información. No solo demuestra que esta existe, sino cual es exactamente sin revelar la misma.
Problemas que tiene zk-SNARK
En principio parece una tecnología interesante, ya que podemos hacer uso de algo como una blockchain mientras mantenemos la privacidad y el anonimato sin esfuerzo alguno.
Pero existen algunas preocupaciones que rodean a zk-SNARK que ahora vamos a comentar por el hecho de que no todo es tan bueno como parece.
Por empezar, si alguien consigue la clave privada utiliza para crear los parámetros del protocolo de pruebas, podría crear pruebas falsas que se verían válidas para el verificador. En un caso concreto, esto podría derivar que alguien cree nuevos tokens de Zcash como si se tratase de una falsificación.
En el caso de esta criptomoneda, la misma fue diseñada de cierta forma que previene este problema. Para eso, los protocolos de pruebas son creados y repartidos entre múltiples partes.
Si bien en el caso de Zcash se desarrolló de tal manera que las posibilidades de falsificación son mínimas, todavía hay una preocupación más que se relaciona con esta crypto.
Zcash fue creada con una especie de impuesto del 20% sobre todos los buques que se crean durante los primeros años. Esto en función de pagar a los desarrolladores, por eso se conoce también como “impuesto del fundador”. El cual se utiliza para compensar a los creadores de la criptomoneda.
Para muchos esto plantea un problema bastante grabe, ya que debido al funcionamiento de este concepto, el sistema podría crear una cantidad infinita de tokens sin que nadie se entere de la existencia de los mismos.
Y es que debido a la privacidad que se busca aquí, no se puede saber con exactitud el suministro total de este proyecto.
Hay personas trabajando en esto, para brindar más confianza sobre el sistema. En particular un equipo llamado Suterusu que está desarrollando un sistema nuevo llamado zk-ConSNARK.
zk-SNARK en Ethereum
Algunos desarrolladores también están buscando integrar zk-SNARK en Ethereum. Algo que en principio no parece muy sencillo por como funciona esta blockchain.
Todo esto se realiza mediante contratos inteligentes, permitiendo conseguir una mayor privacidad en esta cadena de bloques que hace posibles otras aplicaciones más allá de ser solo una moneda.
Lista de criptomonedas que utilizan zk-SNARK
Hay varias criptomonedas que hacen uso de esta tecnología para ofrecer alternativas de criptomoneda privadas, aunque no es la única forma de conseguirlo.
En concreto, ya hemos hablado de una de ellas, pero también existen otras. Que aunque no tan conocidas, pueden ser interesante o volverse populares en el futuro.
Las cuales son:
- Zcash
- Mina
- Celo
- Pirate Chain
- Telos
- VersusCoin
- Firo
- PIVX
- Cellframe
- BlackHat
- ZClassic
- Findora
- Valkirie Network
Resumen
- zk-SNARK es un protocolo de prueba de cero conocimiento usando en la encriptación.
- Es un acrónimo que significa “Argumento sucinto de conocimiento no interactivo”.
- Creado a finales de 1980, este protocolo es anterior a la tecnología blockchain, pero en la actualidad es utilizado en algunas criptomonedas, como ZCash, que buscan resolver el problema del anonimato de Bitcoin.
- Las pruebas Zk-SNARK se basan en una configuración inicial del “sistema de confianza” que ha sido criticada como un defecto de seguridad inherente.
Agrega un Comentario