Pruebas de conocimiento cero: el futuro de Ethereum

PrincipianteJan 10, 2024
Este artículo explora la tecnología y las aplicaciones de las pruebas de conocimiento cero.
Pruebas de conocimiento cero: el futuro de Ethereum

La prueba de conocimiento cero fue propuesta por S. Goldwasser, S. Micali y C. Rackoff a principios de los años 1980.

Se refiere a la capacidad del demostrador para convencer al verificador de que una determinada afirmación es correcta sin proporcionarle ninguna información útil. Es decir, el probador prueba al verificador y le hace creer que conoce o posee un determinado mensaje, pero el proceso de prueba no puede revelar ninguna información sobre el mensaje probado al verificador.

juego de verificación de sudoku

El juego de verificación Sudoku es un ejemplo clásico de prueba de conocimiento cero, escrito por Aviv Zohar, líder de los equipos fundadores de los dos protocolos Ghost y Spectre.

La probadora Alice quiere demostrarle al verificador Bob que conoce la solución de cierto juego de Sudoku, pero no quiere revelarle el contenido específico de la solución al verificador Bob. La prueba se puede lograr mediante el siguiente proceso:

  1. Alice escribe 9 grupos de números del 1 al 9 en 81 tarjetas y los organiza según la solución cuando Bob los evita, con los números del rompecabezas hacia arriba y los números de respuesta hacia abajo;

  1. Bob selecciona aleatoriamente uno de los tres métodos de verificación: fila, columna o cuadro;

  1. Bajo el testimonio de Bob, Alice coloca 81 cartas en 9 bolsas opacas en grupos de cada fila/columna/palacio según la elección de Bob, baraja el orden de las cartas en cada bolsa y se las entrega a Bob;

  1. Bob abre 9 bolsas. Si cada bolsa contiene 9 números no repetidos del 1 al 9, entonces esta verificación pasa.

La probabilidad de que Alice engañe con éxito a Bob adivinando de antemano qué método de verificación (fila/columna/casa) elegirá Bob es 1/3. Por lo tanto, Bob puede seleccionar aleatoriamente diferentes métodos de verificación cada vez y repetir el proceso de prueba anterior varias veces hasta que Bob crea que Alice conoce la solución del juego Sudoku y Bob no conoce ninguna información específica sobre la solución durante todo el proceso.

Lo que el juego anterior quiere demostrar es la solución a un problema de Sudoku. Alice le pide a Bob que seleccione al azar filas, columnas y tarjetas de cuadrícula de nueve cuadrados cada vez, las junte y las mezcle al azar. Bob no puede conocer la solución al problema al abrir la bolsa, pero puede creer que Alice tiene una alta probabilidad de conocer la solución al problema.

Dado que Alice y Bob pueden pasar la verificación de Bob después de múltiples rondas de interacción, se denomina prueba interactiva de conocimiento cero. La prueba interactiva de conocimiento cero requiere que el verificador Bob envíe continuamente experimentos aleatorios después de que la probadora Alice dé la respuesta (compromiso).

Supongamos que hay una máquina de prueba no interactiva de Sudoku de conocimiento cero. Esta máquina básicamente automatiza las pruebas de Sudoku de Alice y Bob, y ya no requiere interacción humana.

Alice solo necesita colocar la tarjeta en la cinta transportadora y la máquina elegirá automáticamente recolectar las cartas por fila, columna o palacio, las colocará en la bolsa en orden y luego enviará la bolsa a través de la cinta transportadora. Luego, Bob puede abrir la bolsa y revelar las cartas que contiene.

La máquina tiene un panel de control que se abre a una serie de perillas que indican la selección (fila, columna, palacio) para cada prueba.

Esto se llama conocimiento cero no interactivo (NIZK), pero requerirá algunas máquinas o programas adicionales y una secuencia de pruebas que nadie puede conocer. Con tal programa y secuencia de prueba, la máquina de pruebas puede calcular automáticamente una prueba y evitar que cualquiera de las partes la falsifique.

Principios técnicos

La prueba de conocimiento cero implica muchas teorías matemáticas y criptográficas, incluido el contenido de la teoría de la complejidad computacional, como los modelos Computacionalmente/Estadísticamente Indistinguibles, Simuladores y Oráculo Aleatorio. Para facilitar la comprensión, describimos las tres propiedades básicas del protocolo de prueba de conocimiento cero en un lenguaje más popular de la siguiente manera:

  1. Integridad: si el probador sabe que la evidencia puede probar la exactitud de la proposición, el verificador puede confiar en ella con una alta probabilidad.
  2. Solidez: Es difícil para un probador malicioso engañar al verificador con una proposición equivocada.
  3. Conocimiento cero: una vez ejecutado el proceso de prueba, el verificador solo obtiene la información de que el probador tiene este conocimiento, pero no obtiene ninguna información sobre el conocimiento en sí.

“Conocimiento” versus “Información”

  1. El “conocimiento” está relacionado con la “dificultad computacional”, pero la “información” no;
  2. El “conocimiento” se relaciona con lo que se conoce públicamente, mientras que la “información” se relaciona principalmente con cosas que son parcialmente públicas.

La prueba de conocimiento cero se originó a partir del protocolo de prueba interactiva. Tomando el protocolo Schnorr como ejemplo para analizar los principios y características de la prueba interactiva de conocimiento cero. El protocolo Schnorr es un protocolo de autenticación de identidad y también lo utilizan muchos esquemas de firma digital PKI en la actualidad.

PKI es la abreviatura de Public Key Infrastructure. Es una tecnología y especificación que cumple con los estándares y que utiliza tecnología de cifrado de clave pública para proporcionar una plataforma básica segura para el desarrollo del comercio electrónico.

En el protocolo Schnorr, el probador A demuestra que posee la clave privada sk correspondiente a la clave pública pk interactuando con el verificador B tres veces, pero el verificador B no puede obtener la información de la clave privada sk durante todo el proceso.

Los protocolos interactivos de prueba de conocimiento cero se basan en intentos aleatorios por parte del verificador y requieren múltiples interacciones entre el probador y el verificador para completarse. La prueba de conocimiento cero no interactiva reduce el número de interacciones a una, lo que permite la prueba fuera de línea y la verificación pública. Por ejemplo, en escenarios de aplicaciones de prueba de conocimiento cero, como blockchain, la prueba generalmente debe publicarse directamente en lugar de depender de una implementación interactiva, y debe admitir la verificación pública fuera de línea de múltiples partes.

Actualmente existen tres algoritmos principales en la tecnología de prueba de conocimiento cero:

zk-SNARK

zk-SNARK (Argumentos de conocimiento sucintos no interactivos de conocimiento cero) es un esquema universal de prueba de conocimiento cero ampliamente utilizado. Al convertir cualquier proceso de cálculo en la forma de varios circuitos de puerta, y utilizar una serie de propiedades matemáticas de polinomios para convertir circuitos de puerta en polinomios, y luego generar pruebas no interactivas, que pueden implementar la aplicación de varios escenarios comerciales complejos. En la actualidad, zk-SNARK se ha implementado en campos de blockchain como la moneda digital y las finanzas de blockchain, y actualmente es una de las soluciones universales a prueba de conocimiento cero más maduras.

El lanzamiento de zk-SNARK requiere una configuración confiable. Una configuración confiable significa que en una configuración confiable, varias partes generan cada una una clave parcial para iniciar la red y luego destruir la clave. Si los secretos de las claves utilizadas para crear la configuración de confianza no se destruyen, estos secretos podrían explotarse para falsificar transacciones mediante verificaciones falsas.

zk-STARK

zk-STARK (Zero-Knowledge Succinct Transparent Arguments of Knowledge), que representa una argumentación de conocimiento concisa y transparente de conocimiento cero), es una evolución técnica del algoritmo zk-SNARK, que resuelve la debilidad de SNARK confiando en configuraciones confiables y no depende en eso. Cualquier fideicomiso se configura para completar la verificación de la cadena de bloques, lo que reduce la complejidad del lanzamiento de la red y elimina cualquier riesgo de colusión.

A prueba de balas

Bulletproofs (protocolo de pruebas cortas de conocimiento cero no interactivo) tiene en cuenta las ventajas de SNARK y STARK, puede ejecutarse sin una configuración confiable y puede reducir el tamaño de las pruebas criptográficas de más de 10 kB a menos de 1 kB, la relación de compresión alcanza más del 80%, al tiempo que reduce las tarifas de transacción en un 80%. Ha atraído gran atención en el campo debido a sus tarifas de transacción relativamente bajas, el tamaño del algoritmo y la falta de confianza.

Aplicación de la prueba de conocimiento cero

La prueba de conocimiento cero puede garantizar la seguridad de los datos y resolver muchos problemas de privacidad. El proceso de prueba requiere una pequeña cantidad de cálculos y la cantidad de información intercambiada por ambas partes se reduce considerablemente. Tiene las ventajas de seguridad y eficiencia. Inicialmente, las pruebas de conocimiento cero se utilizaban con frecuencia en la verificación de identidad, firmas digitales, protocolos de autenticación, etc. La aparición de blockchain ha proporcionado más direcciones nuevas para la aplicación de pruebas de conocimiento cero.

Escalado de etéreo

Blockchain no puede satisfacer las necesidades actuales debido a sus propios problemas de rendimiento. Se espera que las soluciones de escalamiento basadas en conocimiento cero resuelvan el cuello de botella en el rendimiento de blockchain. El escalado se refiere a aumentar la velocidad y el rendimiento de las transacciones sin sacrificar la descentralización y la seguridad. ZK-Rollups es una solución de escalamiento de Capa 2 basada en prueba de conocimiento cero. Mejora el rendimiento de la cadena de bloques al transferir cálculos a la cadena, es decir, empaquetar una gran cantidad de transacciones en un bloque acumulativo y generar un bloque válido para el bloque fuera de la cadena. El contrato inteligente en la Capa 1 solo necesita verificar la prueba para aplicar directamente el nuevo estado, lo que puede lograr un menor Gas y una mayor seguridad en la cadena.

Protección de la privacidad

En el contexto de blockchain, las pruebas de conocimiento cero se pueden utilizar para verificar la validez de las transacciones sin revelar el remitente, el destinatario, el monto involucrado y otros datos confidenciales de la transacción. Por lo tanto, las pruebas de conocimiento cero desempeñan un papel muy importante en la protección de la privacidad de los datos en la cadena. Las aplicaciones típicas incluyen privacidad L2, cadenas públicas de privacidad, monedas de privacidad y KYC de privacidad.

Aztec Network es el primer proyecto blockchain de privacidad de Capa 2 en Ethereum, cuyo objetivo es brindar privacidad y escalabilidad para aplicaciones centralizadas. Aztec utiliza un modelo UTXO similar al principio de la cuenta Bitcoin. En este modelo, la nota es la unidad básica de operación del protocolo. Cuando se comercializa un activo, el valor del billete se cifra, la propiedad del billete cambia y el registro de billetes registrará el estado de cada billete. Todos los activos AZTEC del usuario están en el registro de notas. La suma de boletos válidos propiedad de esta dirección de usuario.

Aleo es la primera plataforma que proporciona aplicaciones completas de protección de la privacidad y es una cadena pública basada en la protección de la privacidad a prueba de conocimiento cero. El núcleo de Aleo es ZEXE, que es un DPC de computación privada descentralizada (computación privada descentralizada), que separa el cálculo y el consenso, proporciona zkCloud para ejecutar transacciones fuera de la cadena y envía la prueba a la cadena después de la ejecución de la transacción. Dado que solo se envían pruebas a la cadena, es técnicamente imposible que alguien vea o explote el conocimiento de los detalles de la transacción, lo que permite la privacidad de la transacción.

Zcash recibe el sobrenombre de creador de las monedas de privacidad. La privacidad de las transacciones confidenciales depende de funciones hash y cifrados de flujo en criptografía estándar. El remitente, el destinatario y el volumen de transacciones en el registro de transacciones están cifrados en la cadena. Los usuarios pueden elegir si desean proporcionar a otros una clave de visualización (solo aquellos con esta clave pueden ver el contenido de la transacción) y usar zk-SNARK fuera de la cadena para verificar la validez de la transacción.

zkPass es una solución KYC descentralizada basada en computación segura de múltiples partes y pruebas de conocimiento cero, que permite a los usuarios probar de forma anónima sus afirmaciones de identidad ante terceros a través de credenciales de identidad Web2. Por ejemplo, la plataforma de cadena de alianza de archivos de integridad Ufile Chain es una plataforma blockchain de alianza que se centra en la autenticación, el almacenamiento, la circulación, la confirmación de derechos y la protección de la privacidad de la información personal. Es un sistema de cadena de alianza con instituciones autorizadas como universidades, empresas y departamentos gubernamentales como nodos centrales. Ufile Chain utiliza tecnología a prueba de conocimiento cero para garantizar la privacidad y seguridad de la información personal. Los usuarios de datos solo pueden obtener información limitada relacionada con su negocio, lo que garantiza que sea difícil para los usuarios de datos obtener información de usuario en texto plano completa y efectiva. Nadie, incluidos los funcionarios de UfileChain, puede obtener información personal válida del usuario.

Resumen

Gracias al desarrollo de aplicaciones tecnológicas emergentes como blockchain y la informática de privacidad en los últimos años, la tecnología a prueba de conocimiento cero se ha convertido en una tecnología importante para generar confianza y en una parte indispensable del organismo de blockchain.

En esencia, la tecnología a prueba de conocimiento cero puede desconfiar de la cadena de bloques y llevarla de suposiciones económicas a suposiciones basadas en criptografía para expandir aún más las funciones nativas, como la disponibilidad de datos fuera de la cadena y las billeteras de cuentas abstractas nativas, especialmente para Ethereum. Proporciona una solución, o incluso la única solución, a los problemas relacionados con la escalabilidad y la protección de la privacidad que enfrentan las cadenas subyacentes como Fang.

Descargo de responsabilidad:

  1. Este artículo se reimprime de [web3朱大胆]. Todos los derechos de autor pertenecen al autor original [小猪Go]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!
Criar conta