¿Qué es la prueba de conocimiento cero y su papel en el mundo Blockchain?

Publicado: 2020-01-09

En los últimos años, nos hemos acostumbrado a la forma en que los grandes bancos y otras empresas acceden y emplean nuestra información personal para brindarnos una experiencia mejorada. Con el tiempo, les hemos dado una 'señal verde' a los mecanismos que utilizan nuestros detalles sensibles para ayudarnos a sostenernos de cierta manera.

Pero luego entró la tecnología Blockchain y cambió todo por completo.

La tecnología Blockchain trajo varias características como la transparencia, la inmutabilidad, la descentralización y el libro mayor distribuido. Permitió a los usuarios actuar de forma anónima y realizar transacciones con seguridad de alto nivel.

[Antes de continuar, recomendamos encarecidamente tomarse el tiempo para comprender los conceptos básicos de Blockchain .]

Blockchain, en términos simples, les dio a los usuarios el control de su privacidad y su futuro.

Pero, ¿Blockchain realmente ha logrado hacerlo?

En una palabra, la respuesta es NO .

Muchas redes de blockchain utilizan bases de datos públicas. Por lo tanto, cualquiera que tenga una conexión a Internet puede ver la lista del historial de transacciones de la red. Pueden ver todos los detalles asociados con la transacción y los detalles de su billetera, pero aún desconocen el nombre del usuario. En cambio, aparecerán como una clave pública: el código único que representa al usuario en la red blockchain.

De esta manera, la clave pública creada a través de la técnica criptográfica salvaguarda hasta cierto punto su privacidad. Pero, todavía es posible que uno lo exponga a través de otras técnicas.

Esto puso su tapadera anónima al descubierto; desacreditar el mito del anonimato y la privacidad de Blockchain, y hacer que te des cuenta de que:

La información sensible del usuario almacenada en una red Blockchain es solo confidencial, no anónima .

Quote 1

Del mismo modo, existen varias redes de cadenas de bloques gobernadas por algoritmos de consenso para brindar privacidad y estabilidad de alto nivel, pero la descentralización se considera una segunda prioridad en tales casos. En muchos de estos casos, las dos partes no confían entre sí. [Para leer sobre estos modelos de consenso en detalle, consulte esta guía de algoritmos de consenso de blockchain ].

Esto, en su conjunto, da una clara indicación de que Blockchain no es tan anónimo y descentralizado como muchos de sus entusiastas creen que es. E incluso da lugar a varias preguntas, tales como:

¿Las redes Blockchain realmente necesitan ser anónimas? ¿Cómo puede Blockchain ofrecer más anonimato y mejor protección de la privacidad a sus usuarios?

En las redes Blockchain actuales, las transacciones se registran en el libro público y son de naturaleza transparente. Debido a esto, varias marcas y mercados de renombre como Wall Street dudan en adoptar la tecnología de prueba de conocimiento cero, ya que la confidencialidad del cliente y la transacción es imprescindible para ellos. Esto, en su conjunto, cuestiona si Blockchain web 3.0 podrá impactar en las empresas .

Quote 2

En cuanto a la segunda pregunta, hay varios conceptos y métodos como la mezcla de monedas, Ringct y Coin Join que hacen que las transacciones sean anónimas en Blockchain, pero el que es muy apreciado es la prueba de conocimiento cero .

El que cubriremos en detalle en este artículo.

Entonces, comencemos con una definición simple de blockchain a prueba de conocimiento cero .

¿Qué es la prueba de conocimiento cero?

La prueba de conocimiento cero es un esquema de cifrado propuesto por los investigadores del MIT Silvio Micali , Shafi Goldwasser y Charles Rackoff en la década de 1980. En este método, una parte (Prover) puede probar que una declaración específica es verdadera para la otra parte (Verifier) ​​sin revelar ninguna información adicional.

Zero Knowledge Encryption se asegura de que nadie, excepto usted (ni siquiera el proveedor de servicios o la agencia de desarrollo de aplicaciones de blockchain) pueda acceder a sus datos protegidos.

Con la definición aclarada, tomemos un ejemplo para entender cómo funciona ZKP .

Ejemplo: Kids and Candy Bars

Supongamos que dos niños, Bob y Alice, han recibido algunas barras de chocolate de una fiesta. Bob quiere saber si Alice tiene la misma cantidad de barras de chocolate o no. Pero, al mismo tiempo, ninguno de ellos está listo para revelar el número exacto.

Entonces, lo que hacen es que Bob trae cuatro cajas con cerradura a una habitación, asumiendo que la cantidad de barras de chocolate recibidas será 10, 20, 30 y 40. Etiqueta cada caja con un valor correspondiente a la cantidad de barras de chocolate.

Luego, Bob se queda con la llave de la caja que define el número de barras de chocolate que recibió en su bolsillo (digamos que tiene 30 barras de chocolate) y tira las llaves de todas las demás cajas. Y sale de la habitación.

Ahora, Alice entra a la habitación con 4 pequeños pedazos de papel y escribe '+' en uno de ellos y '-' en todos los demás. Aquí, '+' denota el número de barras de chocolate que recibió, mientras que '-' representa cualquier otro valor.

Desliza el trozo de papel con el signo '+' en una casilla (digamos en la que representa 20 barras de chocolate) y '-' en el resto de las casillas. Y ella se va.

Ahora, Bob vuelve a entrar en la habitación y abre la caja cuya llave está en su bolsillo. Luego, verifica si la caja tiene un papel con el signo '+' o el signo '-'. Si es un signo '+', se da cuenta de que Alice tiene el mismo número de barras de chocolate. Mientras que, en el otro caso, no lo hace.

Como sabemos que Alice tiene 20 barras de chocolate y Bob tiene 30 barras de chocolate, está claro que Bob encontrará un signo '-' en la caja con llave cuya llave tiene. Esto le dejará claro que ambos no tienen la misma cantidad de barras de chocolate.

En el mismo momento, Alice volverá a entrar en la habitación y encontrará un signo '-' en la mano de Bob y también se dará cuenta de que tienen una cantidad diferente de barras de chocolate.

Nota: con este método, Bob aprenderá que no tienen la misma cantidad de barras de chocolate. Pero, él todavía no tendrá idea si Alice tiene más o menos barras de chocolate que él, y viceversa.

Por lo tanto, el ethereum a prueba de conocimiento cero mantiene la privacidad de la información confidencial de los usuarios mientras realizan una transacción (en este caso, la transacción es averiguar si tienen la misma cantidad de barras de chocolate o no).

Aunque este ejemplo lo habría ayudado a comprender qué son exactamente las pruebas de conocimiento cero (ZKP), actualicemos el concepto con una imagen:

Zero Knowledge Proofs (ZKPs)

Ahora, a medida que se explica el concepto de pruebas de conocimiento cero (ZKP), es el mejor momento para analizar qué hace que todos lo prefieran sobre otras opciones disponibles. Profundicemos en los pros y los contras de la prueba de conocimiento cero:

Beneficios de las pruebas de conocimiento cero (ZKP)

  1. Simple : una de las principales ventajas de la criptografía de conocimiento cero es que no implica ningún método de cifrado complejo.
  2. Seguro : no requiere que nadie revele ningún tipo de información.
  3. Transacciones : otro beneficio asegurador asociado con los ZKP se refiere a la reducción de las transacciones en blockchain. Como resultado, los usuarios no tendrían que preocuparse por el almacenamiento de información para incluir compatibilidad e identidad con diferentes tipos de activos.

Si bien estas son las ventajas de la prueba de conocimiento cero, el concepto también tiene algunas desventajas. Algunos de los cuales son: -

  1. Largo : en la tecnología de conocimiento cero , hay alrededor de 2k cálculos, cada uno de los cuales requiere una cierta cantidad de tiempo para procesarse. Esta es la principal desventaja de optar por una prueba de conocimiento cero.
  2. Imperfecto : los mensajes enviados al verificador/proveedor pueden destruirse o modificarse.
  3. Limitado : el protocolo de conocimiento cero exige que el secreto sea un valor numérico. En otros casos, se requiere una traducción.

Con esto cubierto, profundicemos en los tecnicismos antes de evaluar cuándo y cómo se pueden introducir los protocolos de conocimiento cero en el ecosistema Blockchain.

Comenzando con cuáles son las características centrales de una prueba de conocimiento cero.

Propiedades de las pruebas de conocimiento cero

Zero-Knowledge Proofs Properties

1. Integridad

Si la declaración es verdadera y ambos usuarios siguen las reglas religiosamente, entonces el verificador se convencerá sin ninguna ayuda externa.

2. Solidez

Si la declaración es falsa, el verificador no estará convencido en ningún escenario (incluso si el probador dice que la declaración es verdadera para una pequeña probabilidad).

3. Conocimiento cero

En ambos casos, el verificador no podrá conocer ninguna información más allá de que la afirmación sea verdadera o falsa.

Si bien se cubren los principios de ZKP , hablemos de los diferentes tipos de ZKP en los que puede invertir un entusiasta de los negocios.

Tipos de pruebas de conocimiento cero

1. Prueba interactiva de conocimiento cero

En una prueba interactiva de conocimiento cero , un probador realiza una serie de acciones bajo el mecanismo de probabilidad matemática para convencer al verificador de un hecho en particular.

2. Prueba de conocimiento cero no interactivo (NIZKP)

Como se muestra en el nombre, la prueba de conocimiento cero no interactiva no requiere un proceso interactivo. Es decir, el probador puede generar todos los desafíos a la vez y los verificadores pueden responder más tarde. Esto restringe la posibilidad de colusión. Sin embargo, requiere máquinas y software adicionales para averiguar la secuencia de experimentos.

Nota: Es posible hacer una transición de ZKP no interactivo a interactivo.

Improving Privacy on a Blockchain

¿Dónde implementar la prueba de conocimiento cero en el sistema Blockchain?

1. Mensajería

En la mensajería, el cifrado de extremo a extremo es imprescindible para que nadie pueda leer su mensaje privado además de con quien se está comunicando. Para garantizar la seguridad, las plataformas de mensajería solicitan a los usuarios que verifiquen su identidad en el servidor y viceversa.

Pero, con la llegada de ZKP, podrán generar una confianza de extremo a extremo en el mundo de la mensajería sin filtrar ninguna información adicional. Esta es una de las principales aplicaciones de la prueba de conocimiento cero en el mundo de la cadena de bloques.

2. Autenticación

La prueba de conocimiento cero también puede facilitar la transmisión de información confidencial, como información de autenticación, con mayor seguridad. Puede construir un canal seguro para que los usuarios empleen su información sin revelarla. Y así evitar la fuga de datos en los peores escenarios.

3. Protección de almacenamiento

Otro posible caso de uso de pruebas de conocimiento cero (ZKP) es en el campo de la utilidad de almacenamiento.

La prueba de conocimiento cero viene con un protocolo que no solo protege la unidad de almacenamiento, sino también la información que contiene. No hace falta decir que los canales de acceso también están protegidos para brindar una experiencia segura y sin inconvenientes.

4. Envío de transacciones privadas de blockchain

Cuando se habla de enviar transacciones privadas de blockchain, es muy importante mantenerlo fuera del alcance de terceros. Ahora, mientras que los métodos tradicionales son algo protectores, tienen algunas lagunas.

Esta es otra área donde entra en juego ZKP. El concepto, cuando se integra sabiamente, ayuda a que sea casi imposible piratear o interceptar las transacciones privadas de la cadena de bloques.

5. Documentación compleja

Dado que la prueba de conocimiento cero tiene el potencial de cifrar datos en fragmentos, permite controlar ciertos bloques para brindar acceso a un usuario en particular, mientras restringe el acceso para otros. De esta forma, el concepto protege la documentación compleja de quienes no están autorizados a verla.

6. Control del sistema de archivos

Otro lugar donde puede ver una implementación efectiva de prueba de conocimiento cero es el sistema de archivos.

El concepto agrega diferentes capas de seguridad a los archivos, usuarios e incluso inicios de sesión que dificultan la piratería o la manipulación de los datos almacenados.

Read here

7. Transmisión de transacciones privadas de blockchain

La transmisión de intercambios privados de blockchain es uno de los avisos más destacados entre varias ejecuciones eminentes de ZKP en blockchain. Las transacciones privadas de Blockchain deben protegerse de cualquier tercero mientras se envían.

La principal preocupación al enviar transacciones privadas de blockchain alude a las diferentes lagunas aparentes en las estrategias regulares. La poderosa integración de ZKP con transacciones privadas de blockchain puede hacerlas versátiles frente a cualquier tipo de piratería o interferencia.

8. Democratización de la verificación de votos

El ejemplo más obvio de la aplicación de ZKP con blockchain alude a su papel democrático en la verificación de votos. Los ZKP pueden dar respuestas confiables para votaciones auditables al registrar los votos en una cadena de bloques pública (como ethereum).

Posteriormente, los procesos de votación no necesitarían la confirmación de un tercero además de excluir el requisito de restricción. Los ZKP pueden permitir a los votantes demostrar su elegibilidad para emitir un voto, evitando así la exposición de sus datos personales confidenciales. Asimismo, los electores pueden solicitar evidencia inmutable para la consideración de su voto en el cómputo final de votos.

9. Seguridad de la información confidencial

Por último, pero no menos importante, la prueba de conocimiento cero también refina la forma en que la tecnología blockchain está renovando las transacciones .

ZKP agrega un nivel de seguridad de alto nivel a cada bloque que contiene información bancaria confidencial, como los detalles y el historial de su tarjeta de crédito, de modo que los bancos solo necesitan manipular los bloques requeridos cuando un usuario solicita información. Otros bloques permanecen intactos y, por lo tanto, protegidos.

Por ejemplo

Desarrolladores expertos utilizan ZoKrates (una caja de herramientas digital) para diseñar y verificar ZKP a través de Solidity, un lenguaje de programación orientado a objetos que se utiliza para crear contratos inteligentes basados ​​en Ethereum.

Aztec busca llevar la prueba de conocimiento cero de Ethereum a la red Ethereum existente mediante el desarrollo de una pila de contratos inteligentes centrados en la privacidad.

Entonces, estos fueron algunos de los casos de uso de prueba de conocimiento cero en los servicios de desarrollo de blockchain . Para hacer que su marca esté presente en el mercado mediante la creación de uno de estos, contrate a una empresa de desarrollo de aplicaciones de cadena de bloques .

Y en caso de que esté confundido acerca de su implementación en el mundo real, verifique los siguientes proyectos existentes que operan con la convergencia de dos.

Quote 3

Ejemplos de la vida real de convergencia de pruebas de conocimiento cero y blockchain

1. ZCash

Zcash es una plataforma de cadena de bloques de código abierto y sin permiso que ofrece la funcionalidad para mantener las transacciones 'transparentes' y 'protegidas' según el requisito.

En el primer caso, las transacciones se rigen por un t-addr, al igual que las transacciones de bitcoin. Mientras que en el último caso, se utiliza una prueba de conocimiento cero llamada zk-SNARKs y las transacciones son controladas por un z-addr.

Es el primer caso de uso de criptomonedas y la aplicación de ZKP en el mundo de las criptomonedas. Es la primera criptomoneda a prueba de conocimiento cero que implementa la tecnología.

2. ING

ING es un banco con sede en los Países Bajos que ha introducido su propia cadena de bloques de conocimiento cero. Sin embargo, han modificado su sistema de conocimiento cero para convertirlo en una prueba de rango de conocimiento de conocimiento cero para reducir la necesidad de poder computacional.

De esta forma, han preparado su sistema de conocimiento cero para elevar el impacto de blockchain en fintech .

3. ZCoin

La empresa utiliza el protocolo Zerocoin, que se basa en la prueba de conocimiento cero, para mejorar la seguridad y el anonimato en el proceso de transacción. Sin embargo, lo que lo distingue de otros proyectos que trabajan en este concepto es que también ofrece escalabilidad.

Aunque varios actores internacionales han comenzado a mostrar interés en implementar el concepto de prueba de conocimiento cero en la cadena de bloques, el ritmo de adopción es demasiado lento. Y la razón principal detrás es el siguiente conjunto de desafíos asociados con la adición de ZKP al entorno de la cadena de bloques.

Desafíos que podría enfrentar al integrar ZKP en su proyecto Blockchain

1. Ausencia de estándares

Dado que la tecnología blockchain en sí misma se encuentra en su etapa inicial de adopción, no existen estándares, sistemas ni lenguajes homogéneos que permitan a los desarrolladores de aplicaciones y prospectos comerciales interactuar con el concepto de ZKP y aprovechar su potencial de manera eficiente.

2. Escalabilidad

Otro desafío que restringe la adopción de la prueba de conocimiento cero en el entorno de la cadena de bloques es la escalabilidad, siempre que dichos algoritmos requieran una gran capacidad informática para operar a un alto nivel.

Let's Get in Touch

Terminando

Ahora que tiene claro el concepto de ZKP y su alcance en el dominio Blockchain (junto con ejemplos de la vida real), esperamos encontrarlo invirtiendo en la aplicación más amplia del concepto mientras ingresa al mundo descentralizado.

Pero, en caso de que aún tenga alguna consulta, conéctese con nuestros consultores de Blockchain o nuestros expertos en servicios de desarrollo de aplicaciones de blockchain de EE. UU.