Hola amigos
Namada es un protocolo blockchain de prueba de participación de capa 1 que proporciona privacidad independiente de los activos y de múltiples cadenas. Como sabes por el artículo anterior sobre MASP, esta es una de las principales tecnologías del proyecto, que garantiza la confidencialidad utilizando la tecnología ZKP modernizada basada en el modelo Sapling de Zcash. Dado que existen varias implementaciones de ZKP, además de paquetes acumulativos que también utilizan esta solución, veremos específicamente la opción que utiliza Namada. De una forma u otra.
Partido Comunista de China
Las pruebas de conocimiento cero son mecanismos que permiten a una parte revelar el conocimiento de información a otra sin revelar la información en sí. Las pruebas ZK, también llamadas pruebas de validez, se utilizaron originalmente para ocultar detalles de transacciones en cadenas de bloques centradas en la privacidad.
Pero las pruebas ZK tienen otro caso de uso interesante: escalar cadenas de bloques de propósito general. Con pruebas de validez, los nodos de blockchain pueden verificar transacciones sin almacenar detalles ni reproducir cálculos. Esto reduce el tiempo de confirmación y aumenta el rendimiento de la red.
Debido a sus beneficios de escalabilidad, las pruebas ZK se han convertido en la infraestructura central para proyectos de escalamiento de blockchain, especialmente los rollups de conocimiento cero.
Argumento de conocimiento sucinto, no interactivo y de conocimiento cero ZK-SNARK
ZK-SNARK es un protocolo de generación de pruebas de conocimiento cero para verificar la autenticidad de la información sin revelar los datos subyacentes. El acrónimo significa "Argumento breve no interactivo de conocimiento cero".
El protocolo ZK-SNARK involucra dos partes: el probador (A) y el verificador (B). El probador es la parte que hace la reclamación y el verificador es la parte responsable de verificar la reclamación.
La información, llamémosla secreta, se indica dentro del mensaje. El probador utiliza el mecanismo ZK-SNARK para crear una prueba que muestra al verificador que la afirmación es verdadera... sin revelar dicha información.
Un caso de uso hipotético de ZK-SNARK es autenticar la identidad de un usuario. Una persona puede probar un reclamo (por ejemplo, soy ciudadano de un determinado país) sin revelar información personal (por ejemplo, un pasaporte o número de seguro social).
ZK-SNARK se denominan así porque tienen los siguientes parámetros:
1. Conocimiento cero: esto significa que el verificador no sabe nada sobre la afirmación más que si es verdadera o falsa.
2. Sucinto: una prueba lo suficientemente pequeña como para que un verificador pueda revisarla en un corto período de tiempo.
3. No interactivo: Los SNARK no son interactivos porque los probadores y verificadores no necesitan intercambiar información adicional más allá de la evidencia original proporcionada. Los primeros sistemas de prueba de conocimiento cero requerían que los probadores y verificadores intercambiaran múltiples mensajes para verificar las declaraciones.
4. Argumento: Un SNARK es una declaración “con base matemática” que cumple con requisitos estrictos, lo que hace difícil engañar (es decir, crear evidencia falsa).
5. Conocimiento. La evidencia basada en SNARK no se puede crear con acceso a información subyacente (secreta).
ZK-SNARK en cadenas de bloques
Los sistemas informáticos distribuidos, como las cadenas de bloques públicas, deben resolver el llamado "problema de integridad computacional". La integridad computacional (CI) se refiere a la exactitud de los resultados obtenidos de un cálculo particular.
En las cadenas de bloques públicas, la integridad computacional se refiere a la exactitud de las transacciones realizadas en la red. La mayoría de las cadenas de bloques logran esto haciendo que otras computadoras (nodos) vuelvan a ejecutar cada transacción.
Sin embargo, este enfoque es problemático. Obligar a cada nodo a reproducir cada transacción ralentiza la red y limita la escalabilidad. Los nodos también deben almacenar datos de transacciones (de lo contrario no pueden reproducir los cálculos), lo que hace que el tamaño de la cadena de bloques aumente exponencialmente.
Pero ¿qué pasaría si los nodos pudieran verificar la validez de los cálculos sin reproducirlos? Esto mejorará el rendimiento de la red y eliminará la necesidad de que los nodos almacenen datos de transacciones redundantes. ¿Cómo hacerlo?
Utilice ZK-SNARK:
Las pruebas de validez generadas por ZK-SNARK pueden confirmar la validez de una transacción sin revelar los datos de entrada. Esta es la razón por la que las criptomonedas centradas en la privacidad, como Zcash y Monero, y por supuesto Namada, utilizan SNARK para ocultar la información de las transacciones.
SNARK también puede demostrar la exactitud de los cálculos fuera de la cadena sin que los nodos tengan que repetir cada paso del cálculo. Aquí es donde ZK-SNARK se vuelve útil para escalar blockchains.
Verificar los cálculos fuera de la cadena utilizando SNARK es un proceso complejo que comienza con la codificación de los cálculos en una declaración matemática. Esta afirmación matemática forma la base de la prueba de validez.
Luego, el verificador realiza una operación en la prueba para verificar su exactitud. Si una prueba pasa todas las pruebas, el cálculo subyacente se considera válido. Por eso los SNARK son cortos: el tamaño de la prueba de validez es muchas veces menor que el cálculo que verifica.
Ejemplo de algoritmos operativos ZK-SNARK
Generador de llaves
El generador de claves establece el parámetro para generar un par de claves. Aquí, una fuente confiable puede eliminar información personal después de generar un par de claves públicas o privadas. Luego se genera otro par de claves utilizando la información disponible públicamente. De este par, uno se utilizará como prueba y el otro como verificación.Prueba
Recibe una clave de prueba y debe acreditar sus conocimientos. Recibirá y verificará la clave privada y luego enviará la solicitud.Inspector
El verificador recibirá datos del probador y verificará la autenticidad de la declaración. El revisor no aprenderá nada más que la aprobación. Si hay una tarea que debe ser breve, solo debería tomar unos pocos milisegundos en completarse.
¿Opciones para usar ZK-SNARK?
Mensajeros en la cadena de bloques
Con la garantía de una solución ZKP segura en blockchain, es posible crear una valiosa plataforma de mensajería que sea segura para todos.Controles del sistema de archivos de próxima generación
Los ZKP pueden ayudar a agregar múltiples capas de seguridad a los archivos y los inicios de sesión. Como resultado, las ZKP pueden crear serios obstáculos para que los piratas informáticos o manipuladores modifiquen y obtengan datos.Protección de almacenamiento (¿MASP?)
Los ZKP incluyen un protocolo de seguridad con la información contenida en la unidad de almacenamiento. Los canales de acceso cuentan con sólidas medidas de seguridad que crean un entorno altamente seguro e ininterrumpido.Transferencia de transacciones privadas de blockchain
El problema más notable en las transacciones privadas de blockchain son las numerosas lagunas evidentes en los procedimientos normales. La integración de ZKP con transacciones privadas en blockchain puede crear un proceso poderoso y seguro contra los piratas informáticos.Organizaciones de seguridad de datos
Las organizaciones que controlan datos confidenciales, como bancos y hospitales, deben protegerlos del acceso de terceros. ZKP y blockchain juntos pueden hacer que el acceso a los datos sea imposible.
Ventajas de ZK-SNARK
Sencillez
Simplicidad en términos de uso para los usuarios comunes de blockchain, no necesita saber qué hay debajo del capó, simplemente vaya.Seguridad
Los ZKP son extremadamente seguros cuando se trata de intercambiar información.Rapidez
Reducir el tiempo requerido para las transacciones en blockchain.Confidencialidad
Proteger la privacidad del usuario es la característica más valiosa de ZKP. Nunca requiere el intercambio de datos confidenciales y, por lo tanto, es en general muy privado.
Aplicación de ZK-SNARK
Namada utiliza transacciones seguras que no revelan información sobre la cantidad y el tipo de activo, así como información sobre el destinatario y el remitente.
Por ejemplo, los contratos inteligentes basados en ZK-SNARK permiten a las instituciones bancarias y financieras ofrecer préstamos con garantía insuficiente si el prestatario ha demostrado su solvencia. Los prestatarios pueden generar credenciales basadas en registros de fuentes autorizadas sin revelar información personal o profesional confidencial.
Protocolos de identidad descentralizados basados en ZKP, donde los usuarios pueden obtener su información y credenciales sin depender de un tercero. Estas credenciales están firmadas por emisores que pueden asociar con autoridad reclamaciones con los usuarios, incluida la nacionalidad, la profesión, la educación, etc.
La capacidad de monetizar conjuntos de datos confidenciales y de propiedad exclusiva para instituciones y proveedores de datos tradicionales. En lugar de publicar todos los datos de la cadena, estos proveedores de servicios pueden utilizar las confirmaciones recibidas del ZKP para confirmar los hechos sobre los datos que se publicarán. Esto crea un nuevo mercado para que los proveedores de datos moneticen y aumenten los ingresos de sus conjuntos de datos sin fugas.
Conclusión
Los ZKP tienen un gran potencial de desarrollo, incluso en el área de mantenimiento de la privacidad del usuario, escalamiento y muchos otros procesos. Las tecnologías que utilizan ZKP son muy efectivas y esto se ve claramente en el creciente número de proyectos que las utilizan en su pila. Esto incluye Namada, un proyecto centrado en la confidencialidad de activos en el que las pruebas de conocimiento cero juegan un papel importante.