Introducción

Manta Pacific, un Ethereum modular Layer 2 diseñado para aplicaciones ZK, ha obtenido más de 60 millones de dólares en financiación de instituciones destacadas como Polychain, Binance Labs, CoinFund y SevenX Ventures. Manta Pacific integra circuitos ZK en su arquitectura de Capa 2, ofreciendo diseños altamente modulares y múltiples módulos de funciones ZK para DApps. Los desarrolladores pueden invocar fácilmente las funcionalidades de ZK con solo unas pocas líneas de código utilizando SDK y API.

El enfoque de Manta permite la realización completa de las funcionalidades de ZK dentro del entorno de Capa 2, lo que permite una integración perfecta de la corrección de ZK y la compresión de transacciones en aplicaciones existentes o la implementación de nuevas aplicaciones adaptadas a las características de ZK. Esta es una capacidad única de Manta Pacific.

Las pruebas de conocimiento cero (ZKP) son un concepto versátil aplicable a cualquier problema NP. Su desarrollo teórico y aplicaciones prácticas se han convertido en un foco importante en la investigación criptográfica. La primitiva criptográfica principal utilizada por Manta es un tipo específico de prueba de conocimiento cero no interactiva, conocida como argumento de conocimiento sucinto no interactivo de conocimiento cero (zkSNARK). Este sistema permite la verificación de resultados computacionales complejos sin la necesidad de repetir todo el cálculo.

Marco zkSNARK

Descripción general

Un zkSNARK consta de tres algoritmos de tiempo polinomial: KeyGen, Prove y Verify. Estos algoritmos facilitan la generación, prueba y verificación de una prueba de conocimiento cero a través de un circuito aritmético.

  1. KeyGen(1^λ, C) -> (pk, vk):

    • Dado un parámetro de seguridad λ (por ejemplo, 128 bits) y un circuito aritmético C, el algoritmo KeyGen genera una clave de prueba pk y una clave de verificación vk. Estas claves son públicas y se pueden utilizar repetidamente para probar y verificar la pertenencia al lenguaje definido por el circuito C.

  2. Demuestre(pk, x, a) -> π:

    • Usando la clave de prueba pk y las entradas (x, a), donde x es una entrada pública y a es un testigo, el algoritmo Prove genera una prueba π no interactiva. Esta prueba afirma que existe un testigo a tal que C(x, a) = 0.

  3. Verificar (vk, x, π) -> {0,1}:

    • El algoritmo Verify utiliza la clave de verificación vk, la entrada pública x y la prueba π para determinar si x es realmente un miembro del lenguaje definido por C. Genera 1 si la prueba es válida; de lo contrario, 0.

Representación matemática

Considere un campo finito F y un circuito aritmético C definido sobre F. Para una entrada x ∈ F^n y un testigo a ∈ F^h, el circuito C(x, a) genera valores en F. El objetivo es demostrar que para un x dado, existe un testigo a tal que C(x, a) = 0.

Analogía

Las pruebas de conocimiento cero pueden compararse con un espectáculo de magia en el que Alice (la demostradora) utiliza una serie de trucos inteligentes (cálculos matemáticos) para mostrarle a Bob (el verificador) pistas (la prueba) que lo convencen de que, efectivamente, hay un secreto dentro de una caja. . Bob queda convencido sin ver el secreto en sí. Alice usa una "llave mágica" especial (la clave de verificación pública vk), que cualquiera puede usar para verificar las pistas. Este "espectáculo de magia" puede repetirse en diferentes localizaciones y ante distintos públicos.

Otras Primitivas Criptográficas en Manta

Esquema de compromiso no interactivo (COMM)

Un esquema de compromiso no interactivo garantiza la coherencia de la información. Dado un mensaje my una semilla aleatoria r, el compromiso c := COMMIT_r(m) se puede verificar revelando r y m. Este esquema es vinculante, lo que significa que el mensaje comprometido no se puede cambiar una vez realizado el compromiso.

Funciones pseudoaleatorias (PRF)

Los PRF generan salidas que parecen aleatorias a partir de entradas fijas. Se pueden utilizar para generar direcciones, valores nonce y claves públicas. En aplicaciones criptográficas, diferentes etiquetas distinguen diferentes PRF incluso si comparten la misma función principal.

Acumuladores criptográficos

Los acumuladores permiten la prueba de membresía eficiente y sin conocimiento para grandes conjuntos de datos. Permiten agregar numerosos puntos de datos en un valor pequeño de tamaño fijo, lo que facilita la verificación eficiente de la inclusión de datos sin proporcionar el conjunto de datos completo. Esto es particularmente útil en blockchain para mejorar los procesos de verificación y almacenamiento de datos.

Esquema de cifrado integrado de curva elíptica (ECIES)

ECIES, basado en el intercambio de claves de curva elíptica Diffie-Hellman, permite el intercambio seguro de información a través de un canal inseguro. El remitente cifra el mensaje utilizando la clave pública del destinatario, y sólo el destinatario, que posee la clave privada correspondiente, puede descifrarlo. Este esquema se utiliza a menudo con cifrados en bloque como AES para una protección de cifrado sólida.

Transacciones del circuito Manta ZK

Las transacciones del circuito Manta ZK siguen el modelo UTXO, donde las transacciones consumen monedas antiguas de una o más entradas y generan monedas nuevas. Las operaciones de acuñación crean nuevos UTXO, mientras que las operaciones de transacción consumen los UTXO existentes. El proceso implica:

  1. Configuración: Inicialización del sistema con los parámetros del sistema NIZK.

  2. GenMint: generar una transacción de acuñación, seleccionar un UTXO como entrada, especificar nuevos valores de monedas y generar una prueba.

  3. Mint: la red verifica y registra el nuevo UTXO tras una verificación de prueba exitosa.

  4. GenTransfer: genera una transacción de transferencia, especifica el estado actual del libro mayor, las monedas a transferir y la clave pública del destinatario, y genera una prueba.

  5. Transferencia: el verificador ejecuta la transacción de transferencia y actualiza el estado del libro mayor tras una verificación de prueba exitosa.

  6. GenReclaim: generación de una transacción de recuperación para recuperar saldos no utilizados de UTXO.

  7. Reclamación: el verificador ejecuta la transacción de reclamación y actualiza el estado del libro mayor tras una verificación de prueba exitosa.

Marco de prueba de seguridad

Construcción del simulador

Para demostrar la propiedad de conocimiento cero del esquema zkSNARK, se construye un simulador para generar una vista indistinguible de la de un adversario real (Real adv). Esto se demuestra al mostrar que bajo el esquema de compromiso y los supuestos del PRF, no es factible distinguir la visión generada por el simulador de la visión del adversario real.

Argumento híbrido

Se construyen una serie de vistas intermedias reemplazando gradualmente elementos de la vista Real adv hasta llegar a la vista Ideal adv. El argumento gira en torno a la premisa de que un adversario capaz de distinguir dos puntos de vista intermedios consecutivos también puede distinguir entre el punto de vista inicial Real adv y el punto de vista Ideal adv final. La prueba muestra que la ventaja del adversario al distinguir estos puntos de vista está polinómicamente limitada, lo que afirma la seguridad del esquema zkSNARK.

Conclusión

Las pruebas de seguridad para estos sistemas normalmente implican la construcción de dos experimentos: uno para la ejecución del protocolo real (Real) y otro para una ejecución del protocolo ideal (Ideal), donde un simulador imita el comportamiento del adversario real. Si los resultados de estos experimentos son indistinguibles, el protocolo se considera seguro. El modelo de seguridad Ideal/Real es un concepto común en las pruebas de conocimiento cero, que garantiza que el verificador (o el sistema) pueda estar convencido de la veracidad de ciertas declaraciones mientras se mantiene la seguridad contra posibles atacantes.

Esta exploración detallada destaca los rigurosos principios matemáticos y mecanismos criptográficos que sustentan el circuito ZK de Manta, enfatizando su enfoque innovador y sus garantías de seguridad.