Saltar al contenido principal

IA Verificable On-Chain con zkML y Pruebas Criptográficas

· 43 min de lectura
Dora Noda
Software Engineer

Introducción: La Necesidad de una IA Verificable en la Blockchain

A medida que los sistemas de IA aumentan su influencia, asegurar que sus resultados sean confiables se vuelve crítico. Los métodos tradicionales se basan en garantías institucionales (esencialmente, “solo confía en nosotros”), que no ofrecen garantías criptográficas. Esto es especialmente problemático en contextos descentralizados como las blockchains, donde un contrato inteligente o un usuario debe confiar en un resultado derivado de la IA sin poder volver a ejecutar un modelo pesado on-chain. El Aprendizaje Automático de Conocimiento Cero (zkML) aborda esto al permitir la verificación criptográfica de los cálculos de ML. En esencia, zkML permite a un probador generar una prueba sucinta de que “el resultado YY provino de ejecutar el modelo MM en la entrada XXsin revelar XX ni los detalles internos de MM. Estas pruebas de conocimiento cero (ZKPs) pueden ser verificadas por cualquiera (o cualquier contrato) de manera eficiente, cambiando la confianza en la IA de la “política a la prueba”.

La verificabilidad on-chain de la IA significa que una blockchain puede incorporar cálculos avanzados (como inferencias de redes neuronales) verificando una prueba de ejecución correcta en lugar de realizar el cómputo en sí. Esto tiene amplias implicaciones: los contratos inteligentes pueden tomar decisiones basadas en predicciones de IA, los agentes autónomos descentralizados pueden demostrar que siguieron sus algoritmos, y los servicios de cómputo cross-chain u off-chain pueden proporcionar resultados verificables en lugar de oráculos no verificables. En última instancia, zkML ofrece un camino hacia una IA sin confianza y que preserva la privacidad – por ejemplo, demostrando que las decisiones de un modelo de IA son correctas y autorizadas sin exponer datos privados o los pesos del modelo propietario. Esto es clave para aplicaciones que van desde análisis de salud seguros hasta juegos en blockchain y oráculos de DeFi.

Cómo Funciona zkML: Comprimiendo la Inferencia de ML en Pruebas Sucintas

A un alto nivel, zkML combina sistemas de pruebas criptográficas con la inferencia de ML para que una evaluación de modelo compleja pueda ser “comprimida” en una pequeña prueba. Internamente, el modelo de ML (por ejemplo, una red neuronal) se representa como un circuito o programa que consta de muchas operaciones aritméticas (multiplicaciones de matrices, funciones de activación, etc.). En lugar de revelar todos los valores intermedios, un probador realiza el cálculo completo off-chain y luego utiliza un protocolo de prueba de conocimiento cero para certificar que cada paso se realizó correctamente. El verificador, con solo la prueba y algunos datos públicos (como el resultado final y un identificador para el modelo), puede estar criptográficamente convencido de la corrección sin volver a ejecutar el modelo.

Para lograr esto, los frameworks de zkML típicamente transforman el cálculo del modelo en un formato adecuado para las ZKPs:

  • Compilación de Circuitos: En los enfoques basados en SNARK, el grafo de computación del modelo se compila en un circuito aritmético o un conjunto de restricciones polinómicas. Cada capa de la red neuronal (convoluciones, multiplicaciones de matrices, activaciones no lineales) se convierte en un subcircuito con restricciones que aseguran que las salidas sean correctas dadas las entradas. Debido a que las redes neuronales involucran operaciones no lineales (ReLUs, Sigmoides, etc.) que no se adaptan naturalmente a los polinomios, se utilizan técnicas como las tablas de búsqueda para manejarlas eficientemente. Por ejemplo, una ReLU (salida = max(0, entrada)) puede ser forzada por una restricción personalizada o una búsqueda que verifica que la salida es igual a la entrada si la entrada ≥ 0, y cero en caso contrario. El resultado final es un conjunto de restricciones criptográficas que el probador debe satisfacer, lo que implícitamente demuestra que el modelo se ejecutó correctamente.
  • Traza de Ejecución y Máquinas Virtuales: Una alternativa es tratar la inferencia del modelo como una traza de programa, como se hace en los enfoques de zkVM. Por ejemplo, la zkVM JOLT se enfoca en el conjunto de instrucciones RISC-V; se puede compilar el modelo de ML (o el código que lo calcula) a RISC-V y luego probar que cada instrucción de la CPU se ejecutó correctamente. JOLT introduce una técnica de “singularidad de búsqueda”, reemplazando las costosas restricciones aritméticas con búsquedas rápidas en tablas para cada operación válida de la CPU. Cada operación (suma, multiplicación, operación a nivel de bits, etc.) se verifica mediante una búsqueda en una tabla gigante de resultados válidos precalculados, utilizando un argumento especializado (Lasso/SHOUT) para mantener la eficiencia. Esto reduce drásticamente la carga de trabajo del probador: incluso las operaciones complejas de 64 bits se convierten en una sola búsqueda en la tabla en la prueba en lugar de muchas restricciones aritméticas.
  • Protocolos Interactivos (GKR Sum-Check): Un tercer enfoque utiliza pruebas interactivas como GKR (Goldwasser–Kalai–Rotblum) para verificar un cálculo en capas. Aquí, el cálculo del modelo se ve como un circuito aritmético en capas (cada capa de la red neuronal es una capa del grafo del circuito). El probador ejecuta el modelo normalmente pero luego participa en un protocolo sum-check para demostrar que las salidas de cada capa son correctas dadas sus entradas. En el enfoque de Lagrange (DeepProve, detallado a continuación), el probador y el verificador realizan un protocolo polinómico interactivo (hecho no interactivo a través de Fiat-Shamir) que verifica la consistencia de los cálculos de cada capa sin rehacerlos. Este método de sum-check evita generar un circuito estático monolítico; en su lugar, verifica la consistencia de los cálculos paso a paso con operaciones criptográficas mínimas (principalmente hashing o evaluaciones de polinomios).

Independientemente del enfoque, el resultado es una prueba sucinta (típicamente de unos pocos kilobytes a unas pocas decenas de kilobytes) que certifica la corrección de toda la inferencia. La prueba es de conocimiento cero, lo que significa que cualquier entrada secreta (datos privados o parámetros del modelo) puede mantenerse oculta – influyen en la prueba pero no se revelan a los verificadores. Solo se revelan las salidas o afirmaciones públicas deseadas. Esto permite escenarios como “probar que el modelo MM aplicado a los datos del paciente XX produce el diagnóstico YY, sin revelar XX ni los pesos del modelo”.

Habilitando la verificación on-chain: Una vez que se genera una prueba, se puede publicar en una blockchain. Los contratos inteligentes pueden incluir lógica de verificación para comprobar la prueba, a menudo utilizando primitivas criptográficas precompiladas. Por ejemplo, Ethereum tiene precompilaciones para las operaciones de emparejamiento BLS12-381 utilizadas en muchos verificadores de zk-SNARK, lo que hace que la verificación on-chain de las pruebas SNARK sea eficiente. Las STARKs (pruebas basadas en hash) son más grandes, pero aún pueden verificarse on-chain con una optimización cuidadosa o posiblemente con algunas suposiciones de confianza (la L2 de StarkWare, por ejemplo, verifica las pruebas STARK en Ethereum mediante un contrato verificador on-chain, aunque con un costo de gas más alto que las SNARKs). La clave es que la cadena no necesita ejecutar el modelo de ML – solo ejecuta una verificación que es mucho más barata que el cómputo original. En resumen, zkML comprime la costosa inferencia de IA en una pequeña prueba que las blockchains (o cualquier verificador) pueden comprobar en milisegundos o segundos.

Lagrange DeepProve: Arquitectura y Rendimiento de un Avance en zkML

DeepProve de Lagrange Labs es un framework de inferencia zkML de última generación centrado en la velocidad y la escalabilidad. Lanzado en 2025, DeepProve introdujo un nuevo sistema de prueba que es dramáticamente más rápido que las soluciones anteriores como Ezkl. Su diseño se centra en el protocolo de prueba interactivo GKR con sum-check y optimizaciones especializadas para circuitos de redes neuronales. Así es como funciona DeepProve y logra su rendimiento:

  • Preprocesamiento Único: Los desarrolladores comienzan con una red neuronal entrenada (los tipos actualmente soportados incluyen perceptrones multicapa y arquitecturas CNN populares). El modelo se exporta al formato ONNX, una representación de grafo estándar. La herramienta de DeepProve luego analiza el modelo ONNX y lo cuantiza (convierte los pesos a formato de punto fijo/entero) para una aritmética de campo eficiente. En esta fase, también genera las claves de prueba y verificación para el protocolo criptográfico. Esta configuración se realiza una vez por modelo y no necesita repetirse por cada inferencia. DeepProve enfatiza la facilidad de integración: “Exporta tu modelo a ONNX → configuración única → genera pruebas → verifica en cualquier lugar”.

  • Prueba (Inferencia + Generación de Prueba): Después de la configuración, un probador (que podría ser ejecutado por un usuario, un servicio o la red de probadores descentralizada de Lagrange) toma una nueva entrada XX y ejecuta el modelo MM sobre ella, obteniendo la salida YY. Durante esta ejecución, DeepProve registra una traza de ejecución de los cálculos de cada capa. En lugar de traducir cada multiplicación en un circuito estático por adelantado (como hacen los enfoques SNARK), DeepProve utiliza el protocolo GKR de tiempo lineal para verificar cada capa sobre la marcha. Para cada capa de la red, el probador se compromete con las entradas y salidas de la capa (por ejemplo, a través de hashes criptográficos o compromisos polinómicos) y luego participa en un argumento de sum-check para demostrar que las salidas realmente resultan de las entradas según la función de la capa. El protocolo sum-check convence iterativamente al verificador de la corrección de una suma de evaluaciones de un polinomio que codifica el cálculo de la capa, sin revelar los valores reales. Las operaciones no lineales (como ReLU, softmax) se manejan eficientemente a través de argumentos de búsqueda en DeepProve – si se calculó la salida de una activación, DeepProve puede probar que cada salida corresponde a un par de entrada-salida válido de una tabla precalculada para esa función. Capa por capa, se generan pruebas y luego se agregan en una única prueba sucinta que cubre todo el pase hacia adelante del modelo. El trabajo pesado de la criptografía se minimiza – el probador de DeepProve realiza principalmente cálculos numéricos normales (la inferencia real) más algunos compromisos criptográficos ligeros, en lugar de resolver un sistema gigante de restricciones.

  • Verificación: El verificador utiliza la prueba sucinta final junto con algunos valores públicos – típicicamente el identificador comprometido del modelo (un compromiso criptográfico con los pesos de MM), la entrada XX (si no es privada) y la salida declarada YY – para verificar la corrección. La verificación en el sistema de DeepProve implica verificar la transcripción del protocolo sum-check y los compromisos finales de polinomios o hashes. Esto es más complejo que verificar un SNARK clásico (que podría ser unos pocos emparejamientos), pero es vastamente más barato que volver a ejecutar el modelo. En los benchmarks de Lagrange, verificar una prueba de DeepProve para una CNN mediana toma del orden de 0.5 segundos en software. Eso es ~0.5s para confirmar, por ejemplo, que una red convolucional con cientos de miles de parámetros se ejecutó correctamente – más de 500× más rápido que re-computar ingenuamente esa CNN en una GPU para verificación. (De hecho, DeepProve midió una verificación hasta 521× más rápida para CNNs y 671× para MLPs en comparación con la re-ejecución). El tamaño de la prueba es lo suficientemente pequeño como para transmitirlo on-chain (decenas de KB), y la verificación podría realizarse en un contrato inteligente si fuera necesario, aunque 0.5s de cómputo podrían requerir una optimización cuidadosa del gas o una ejecución en capa 2.

Arquitectura y Herramientas: DeepProve está implementado en Rust y proporciona un conjunto de herramientas (la biblioteca zkml) para los desarrolladores. Soporta nativamente los grafos de modelos ONNX, lo que lo hace compatible con modelos de PyTorch o TensorFlow (después de exportarlos). El proceso de prueba actualmente apunta a modelos de hasta unos pocos millones de parámetros (las pruebas incluyen una red densa de 4M de parámetros). DeepProve aprovecha una combinación de componentes criptográficos: un compromiso polinómico multilineal (para comprometerse con las salidas de las capas), el protocolo sum-check para verificar los cálculos y argumentos de búsqueda para operaciones no lineales. Notablemente, el repositorio de código abierto de Lagrange reconoce que se basa en trabajos anteriores (la implementación de sum-check y GKR del proyecto Ceno de Scroll), lo que indica una intersección de zkML con la investigación de rollups de conocimiento cero.

Para lograr escalabilidad en tiempo real, Lagrange combina DeepProve con su Red de Probadores – una red descentralizada de probadores ZK especializados. La generación de pruebas pesadas puede ser delegada a esta red: cuando una aplicación necesita probar una inferencia, envía el trabajo a la red de Lagrange, donde muchos operadores (con staking en EigenLayer para seguridad) calculan las pruebas y devuelven el resultado. Esta red incentiva económicamente la generación de pruebas confiables (los trabajos maliciosos o fallidos resultan en el slashing del operador). Al distribuir el trabajo entre los probadores (y potencialmente aprovechar GPUs o ASICs), la Red de Probadores de Lagrange oculta la complejidad y el costo a los usuarios finales. El resultado es un servicio zkML rápido, escalable y descentralizado: “inferencias de IA verificables, rápidas y asequibles”.

Hitos de Rendimiento: Las afirmaciones de DeepProve están respaldadas por benchmarks contra el estado del arte anterior, Ezkl. Para una CNN con ~264k parámetros (modelo a escala de CIFAR-10), el tiempo de prueba de DeepProve fue de ~1.24 segundos frente a ~196 segundos para Ezkl – aproximadamente 158× más rápido. Para una red densa más grande con 4 millones de parámetros, DeepProve probó una inferencia en ~2.3 segundos frente a ~126.8 segundos para Ezkl (~54× más rápido). Los tiempos de verificación también se redujeron: DeepProve verificó la prueba de la CNN de 264k en ~0.6s, mientras que verificar la prueba de Ezkl (basada en Halo2) tomó más de 5 minutos en CPU en esa prueba. Las mejoras de velocidad provienen de la complejidad casi lineal de DeepProve: su probador escala aproximadamente O(n) con el número de operaciones, mientras que los probadores SNARK basados en circuitos a menudo tienen una sobrecarga superlineal (FFT y compromisos polinómicos que escalan). De hecho, el rendimiento del probador de DeepProve puede estar dentro de un orden de magnitud del tiempo de ejecución de la inferencia simple – los sistemas GKR recientes pueden ser <10× más lentos que la ejecución sin procesar para grandes multiplicaciones de matrices, un logro impresionante en ZK. Esto hace que las pruebas en tiempo real o bajo demanda sean más factibles, allanando el camino para la IA verificable en aplicaciones interactivas.

Casos de Uso: Lagrange ya está colaborando con proyectos de Web3 e IA para aplicar zkML. Los casos de uso de ejemplo incluyen: rasgos de NFT verificables (probar que una evolución generada por IA de un personaje de juego o coleccionable es calculada por el modelo autorizado), procedencia de contenido de IA (probar que una imagen o texto fue generado por un modelo específico, para combatir los deepfakes), modelos de riesgo de DeFi (probar la salida de un modelo que evalúa el riesgo financiero sin revelar datos propietarios), e inferencia de IA privada en salud o finanzas (donde un hospital puede obtener predicciones de IA con una prueba, asegurando la corrección sin exponer los datos del paciente). Al hacer que los resultados de la IA sean verificables y preserven la privacidad, DeepProve abre la puerta a una “IA en la que puedes confiar” en sistemas descentralizados – pasando de una era de “confianza ciega en modelos de caja negra” a una de “garantías objetivas”.

zkML Basado en SNARK: Ezkl y el Enfoque Halo2

El enfoque tradicional de zkML utiliza zk-SNARKs (Argumentos de Conocimiento Sucintos No Interactivos) para probar la inferencia de redes neuronales. Ezkl (de ZKonduit/Modulus Labs) es un ejemplo líder de este enfoque. Se basa en el sistema de prueba Halo2 (un SNARK de estilo PLONK con compromisos polinómicos sobre BLS12-381). Ezkl proporciona una cadena de herramientas donde un desarrollador puede tomar un modelo de PyTorch o TensorFlow, exportarlo a ONNX, y hacer que Ezkl lo compile en un circuito aritmético personalizado automáticamente.

Cómo funciona: Cada capa de la red neuronal se convierte en restricciones:

  • Las capas lineales (densas o de convolución) se convierten en colecciones de restricciones de multiplicación-suma que fuerzan los productos punto entre entradas, pesos y salidas.
  • Las capas no lineales (como ReLU, sigmoide, etc.) se manejan mediante búsquedas o restricciones por partes porque tales funciones no son polinómicas. Por ejemplo, una ReLU puede implementarse mediante un selector booleano bb con restricciones que aseguren que y=xby = x \cdot b y 0b10 \le b \le 1 y b=1b=1 si x>0x>0 (una forma de hacerlo), o más eficientemente mediante una tabla de búsqueda que mapea xmax(0,x)x \mapsto \max(0,x) para un rango de valores de xx. Los argumentos de búsqueda de Halo2 permiten mapear trozos de valores de 16 bits (o más pequeños), por lo que los dominios grandes (como todos los valores de 32 bits) generalmente se “trocean” en varias búsquedas más pequeñas. Este troceado aumenta el número de restricciones.
  • Las operaciones con enteros grandes o divisiones (si las hay) se dividen de manera similar en piezas pequeñas. El resultado es un gran conjunto de restricciones R1CS/PLONK adaptadas a la arquitectura específica del modelo.

Ezkl luego utiliza Halo2 para generar una prueba de que estas restricciones se cumplen dadas las entradas secretas (pesos del modelo, entradas privadas) y las salidas públicas. Herramientas e integración: Una ventaja del enfoque SNARK es que aprovecha primitivas bien conocidas. Halo2 ya se utiliza en rollups de Ethereum (por ejemplo, Zcash, zkEVMs), por lo que está probado en batalla y tiene un verificador on-chain fácilmente disponible. Las pruebas de Ezkl utilizan la curva BLS12-381, que Ethereum puede verificar a través de precompilaciones, lo que hace sencillo verificar una prueba de Ezkl en un contrato inteligente. El equipo también ha proporcionado APIs fáciles de usar; por ejemplo, los científicos de datos pueden trabajar con sus modelos en Python y usar la CLI de Ezkl para producir pruebas, sin un conocimiento profundo de los circuitos.

Fortalezas: El enfoque de Ezkl se beneficia de la generalidad y el ecosistema de los SNARKs. Soporta modelos razonablemente complejos y ya ha visto “integraciones prácticas (desde modelos de riesgo de DeFi hasta IA en juegos)”, probando tareas de ML del mundo real. Debido a que opera a nivel del grafo de computación del modelo, puede aplicar optimizaciones específicas de ML: por ejemplo, podar pesos insignificantes o cuantizar parámetros para reducir el tamaño del circuito. También significa que la confidencialidad del modelo es natural – los pesos pueden tratarse como datos de testigo privados, por lo que el verificador solo ve que algún modelo válido produjo la salida, o en el mejor de los casos un compromiso con el modelo. La verificación de las pruebas SNARK es extremadamente rápida (típicamente unos pocos milisegundos o menos on-chain), y los tamaños de las pruebas son pequeños (unos pocos kilobytes), lo cual es ideal para el uso en blockchain.

Debilidades: El rendimiento es el talón de Aquiles. La prueba basada en circuitos impone grandes sobrecargas, especialmente a medida que los modelos crecen. Se ha señalado que, históricamente, los circuitos SNARK podrían requerir un millón de veces más trabajo para el probador que simplemente ejecutar el modelo. Halo2 y Ezkl optimizan esto, pero aún así, operaciones como grandes multiplicaciones de matrices generan toneladas de restricciones. Si un modelo tiene millones de parámetros, el probador debe manejar correspondientemente millones de restricciones, realizando pesadas FFTs y multiexponenciaciones en el proceso. Esto conduce a altos tiempos de prueba (a menudo minutos u horas para modelos no triviales) y un alto uso de memoria. Por ejemplo, probar incluso una CNN relativamente pequeña (por ejemplo, unos pocos cientos de miles de parámetros) puede llevar decenas de minutos con Ezkl en una sola máquina. El equipo detrás de DeepProve citó que Ezkl tardó horas para ciertas pruebas de modelos que DeepProve puede hacer en minutos. Los modelos grandes podrían ni siquiera caber en la memoria o requerir dividirse en múltiples pruebas (que luego necesitan agregación recursiva). Si bien Halo2 está “moderadamente optimizado”, cualquier necesidad de “trocear” búsquedas o manejar operaciones de bits anchos se traduce en una sobrecarga adicional. En resumen, la escalabilidad es limitada – Ezkl funciona bien para modelos pequeños a medianos (y de hecho superó a algunas alternativas anteriores como las VMs ingenuas basadas en Stark en benchmarks), pero tiene dificultades a medida que el tamaño del modelo crece más allá de un punto.

A pesar de estos desafíos, Ezkl y bibliotecas zkML similares basadas en SNARK son importantes peldaños. Demostraron que la inferencia de ML verificada es posible on-chain y tienen un uso activo. Notablemente, proyectos como Modulus Labs demostraron la verificación de un modelo de 18 millones de parámetros on-chain usando SNARKs (con una fuerte optimización). El costo no fue trivial, pero muestra la trayectoria. Además, el Protocolo Mina tiene su propio kit de herramientas zkML que utiliza SNARKs para permitir que los contratos inteligentes en Mina (que están basados en Snark) verifiquen la ejecución de modelos de ML. Esto indica un creciente soporte multiplataforma para zkML basado en SNARK.

Enfoques Basados en STARK: ZK Transparente y Programable para ML

Los zk-STARKs (Argumentos de Conocimiento Escalables y Transparentes) ofrecen otra ruta hacia zkML. Los STARKs utilizan criptografía basada en hash (como FRI para compromisos polinómicos) y evitan cualquier configuración de confianza. A menudo operan simulando una CPU o VM y probando que la traza de ejecución es correcta. En el contexto de ML, se puede construir un STARK personalizado para la red neuronal o usar una VM STARK de propósito general para ejecutar el código del modelo.

VMs STARK Generales (RISC Zero, Cairo): Un enfoque directo es escribir código de inferencia y ejecutarlo en una VM STARK. Por ejemplo, Risc0 proporciona un entorno RISC-V donde cualquier código (por ejemplo, una implementación en C++ o Rust de una red neuronal) puede ser ejecutado y probado a través de un STARK. De manera similar, el lenguaje Cairo de StarkWare puede expresar cálculos arbitrarios (como una inferencia de LSTM o CNN) que luego son probados por el probador STARK de StarkNet. La ventaja es la flexibilidad – no necesitas diseñar circuitos personalizados para cada modelo. Sin embargo, los primeros benchmarks mostraron que las VMs STARK ingenuas eran más lentas en comparación con los circuitos SNARK optimizados para ML. En una prueba, una prueba basada en Halo2 (Ezkl) fue aproximadamente 3× más rápida que un enfoque basado en STARK en Cairo, e incluso 66× más rápida que una VM STARK RISC-V en un cierto benchmark en 2024. Esta brecha se debe a la sobrecarga de simular cada instrucción de bajo nivel en un STARK y las constantes más grandes en las pruebas STARK (el hashing es rápido pero se necesita mucho; los tamaños de las pruebas STARK son más grandes, etc.). Sin embargo, las VMs STARK están mejorando y tienen el beneficio de una configuración transparente (sin configuración de confianza) y seguridad post-cuántica. A medida que el hardware y los protocolos amigables con STARK avancen, las velocidades de prueba mejorarán.

El enfoque de DeepProve vs STARK: Curiosamente, el uso de GKR y sum-check por parte de DeepProve produce una prueba más parecida a un STARK en espíritu – es una prueba interactiva, basada en hash, sin necesidad de una cadena de referencia estructurada. La contrapartida es que sus pruebas son más grandes y la verificación es más pesada que la de un SNARK. Sin embargo, DeepProve muestra que un diseño de protocolo cuidadoso (especializado en la estructura en capas de ML) puede superar ampliamente tanto a las VMs STARK genéricas como a los circuitos SNARK en tiempo de prueba. Podemos considerar a DeepProve como un probador zkML de estilo STARK a medida (aunque usan el término zkSNARK por brevedad, no tiene la verificación de tamaño constante pequeño de un SNARK tradicional, ya que una verificación de 0.5s es más grande que la verificación típica de un SNARK). Las pruebas STARK tradicionales (como las de StarkNet) a menudo involucran decenas de miles de operaciones de campo para verificar, mientras que un SNARK verifica en quizás unas pocas docenas. Por lo tanto, una contrapartida es evidente: los SNARKs producen pruebas más pequeñas y verificadores más rápidos, mientras que los STARKs (o GKR) ofrecen una escalabilidad más fácil y sin configuración de confianza a costa del tamaño de la prueba y la velocidad de verificación.

Mejoras emergentes: La zkVM JOLT (discutida anteriormente bajo JOLTx) en realidad está produciendo SNARKs (usando compromisos tipo PLONK) pero encarna ideas que también podrían aplicarse en el contexto de STARK (las búsquedas Lasso teóricamente podrían usarse con compromisos FRI). StarkWare y otros están investigando formas de acelerar la prueba de operaciones comunes (como usar puertas personalizadas o pistas en Cairo para operaciones con enteros grandes, etc.). También está Circomlib-ML de Privacy & Scaling Explorations (PSE), que proporciona plantillas de Circom para capas de CNN, etc. – eso está orientado a SNARK, pero conceptualmente se podrían hacer plantillas similares para lenguajes STARK.

En la práctica, los ecosistemas no-Ethereum que aprovechan los STARKs incluyen StarkNet (que podría permitir la verificación on-chain de ML si alguien escribe un verificador, aunque el costo es alto) y el servicio Bonsai de Risc0 (que es un servicio de prueba off-chain que emite pruebas STARK que pueden ser verificadas en varias cadenas). A partir de 2025, la mayoría de las demos de zkML en blockchain han favorecido los SNARKs (debido a la eficiencia del verificador), pero los enfoques STARK siguen siendo atractivos por su transparencia y potencial en entornos de alta seguridad o resistentes a la cuántica. Por ejemplo, una red de cómputo descentralizada podría usar STARKs para permitir que cualquiera verifique el trabajo sin una configuración de confianza, útil para la longevidad. Además, algunas tareas de ML especializadas podrían explotar estructuras amigables con STARK: por ejemplo, los cálculos que usan intensivamente operaciones XOR/bit podrían ser más rápidos en STARKs (ya que son baratos en álgebra booleana y hashing) que en la aritmética de campo de los SNARKs.

Resumen de SNARK vs STARK para ML:

  • Rendimiento: Los SNARKs (como Halo2) tienen una enorme sobrecarga de prueba por puerta pero se benefician de potentes optimizaciones y constantes pequeñas para la verificación; los STARKs (genéricos) tienen una sobrecarga constante mayor pero escalan de manera más lineal y evitan criptografía costosa como los emparejamientos. DeepProve muestra que personalizar el enfoque (sum-check) produce un tiempo de prueba casi lineal (rápido) pero con una prueba similar a un STARK. JOLT muestra que incluso una VM general puede hacerse más rápida con un uso intensivo de búsquedas. Empíricamente, para modelos de hasta millones de operaciones: un SNARK bien optimizado (Ezkl) puede manejarlo pero podría tardar decenas de minutos, mientras que DeepProve (GKR) puede hacerlo en segundos. Las VMs STARK en 2024 probablemente estaban en un punto intermedio o peor que los SNARKs a menos que fueran especializadas (Risc0 fue más lento en las pruebas, Cairo fue más lento sin pistas personalizadas).
  • Verificación: Las pruebas SNARK se verifican más rápidamente (milisegundos, y datos mínimos on-chain ~ unos pocos cientos de bytes a unos pocos KB). Las pruebas STARK son más grandes (decenas de KB) y tardan más (decenas de ms a segundos) en verificarse debido a muchos pasos de hashing. En términos de blockchain, una verificación de SNARK podría costar, por ejemplo, ~200k de gas, mientras que una verificación de STARK podría costar millones de gas – a menudo demasiado alto para L1, aceptable en L2 o con esquemas de verificación sucintos.
  • Configuración y Seguridad: Los SNARKs como Groth16 requieren una configuración de confianza por circuito (poco amigable para modelos arbitrarios), pero los SNARKs universales (PLONK, Halo2) tienen una configuración única que puede reutilizarse para cualquier circuito hasta un cierto tamaño. Los STARKs no necesitan configuración y solo usan suposiciones de hash (más suposiciones de complejidad polinómica clásica), y son seguros post-cuánticos. Esto hace que los STARKs sean atractivos para la longevidad – las pruebas permanecen seguras incluso si surgen las computadoras cuánticas, mientras que los SNARKs actuales (basados en BLS12-381) serían rotos por ataques cuánticos.

Consolidaremos estas diferencias en una tabla comparativa en breve.

FHE para ML (FHE-o-ML): Cómputo Privado vs. Cómputo Verificable

El Cifrado Totalmente Homomórfico (FHE) es una técnica criptográfica que permite realizar cálculos directamente sobre datos cifrados. En el contexto de ML, FHE puede habilitar una forma de inferencia que preserva la privacidad: por ejemplo, un cliente puede enviar una entrada cifrada a un host de modelo, el host ejecuta la red neuronal sobre el texto cifrado sin descifrarlo, y devuelve un resultado cifrado que el cliente puede descifrar. Esto asegura la confidencialidad de los datos – el propietario del modelo no aprende nada sobre la entrada (y potencialmente el cliente solo aprende la salida, no los detalles internos del modelo si solo obtiene la salida). Sin embargo, FHE por sí solo no produce una prueba de corrección de la misma manera que lo hacen las ZKPs. El cliente debe confiar en que el propietario del modelo realmente realizó el cálculo honestamente (el texto cifrado podría haber sido manipulado). Por lo general, si el cliente tiene el modelo o espera una cierta distribución de salidas, el engaño flagrante puede ser detectado, pero los errores sutiles o el uso de una versión incorrecta del modelo no serían evidentes solo a partir de la salida cifrada.

Compensaciones en el rendimiento: FHE es notoriamente pesado en cómputo. Ejecutar una inferencia de aprendizaje profundo bajo FHE incurre en una ralentización de órdenes de magnitud. Los primeros experimentos (por ejemplo, CryptoNets en 2016) tardaron decenas de segundos en evaluar una pequeña CNN sobre datos cifrados. Para 2024, mejoras como CKKS (para aritmética aproximada) y mejores bibliotecas (Microsoft SEAL, Concrete de Zama) han reducido esta sobrecarga, pero sigue siendo grande. Por ejemplo, un usuario informó que usar Concrete-ML de Zama para ejecutar un clasificador CIFAR-10 tardó 25–30 minutos por inferencia en su hardware. Después de optimizaciones, el equipo de Zama logró ~40 segundos para esa inferencia en un servidor de 192 núcleos. Incluso 40s es extremadamente lento en comparación con una inferencia en texto plano (que podría ser de 0.01s), mostrando una sobrecarga de ~10310^3104×10^4\times. Modelos más grandes o mayor precisión aumentan aún más el costo. Además, las operaciones FHE consumen mucha memoria y requieren un bootstrapping ocasional (un paso de reducción de ruido) que es computacionalmente costoso. En resumen, la escalabilidad es un problema importante – el estado del arte de FHE podría manejar una pequeña CNN o una regresión logística simple, pero escalar a grandes CNNs o Transformers está más allá de los límites prácticos actuales.

Ventajas de privacidad: El gran atractivo de FHE es la privacidad de los datos. La entrada puede permanecer completamente cifrada durante todo el proceso. Esto significa que un servidor no confiable puede computar sobre los datos privados de un cliente sin aprender nada sobre ellos. Por el contrario, si el modelo es sensible (propietario), se podría concebir cifrar los parámetros del modelo y hacer que el cliente realice la inferencia FHE de su lado – pero esto es menos común porque si el cliente tiene que hacer el pesado cómputo FHE, niega la idea de delegarlo a un servidor potente. Típicamente, el modelo es público o está en manos del servidor en texto claro, y los datos son cifrados por la clave del cliente. La privacidad del modelo en ese escenario no se proporciona por defecto (el servidor conoce el modelo; el cliente aprende las salidas pero no los pesos). Hay configuraciones más exóticas (como el cómputo seguro de dos partes o FHE de múltiples claves) donde tanto el modelo como los datos pueden mantenerse privados entre sí, pero eso incurre en aún más complejidad. En contraste, zkML a través de ZKPs puede asegurar la privacidad del modelo y la privacidad de los datos a la vez – el probador puede tener tanto el modelo como los datos como testigo secreto, revelando solo lo necesario al verificador.

No se necesita verificación on-chain (y ninguna es posible): Con FHE, el resultado sale cifrado para el cliente. El cliente luego lo descifra para obtener la predicción real. Si queremos usar ese resultado on-chain, el cliente (o quien tenga la clave de descifrado) tendría que publicar el resultado en texto plano y convencer a otros de que es correcto. Pero en ese punto, la confianza vuelve a estar en juego – a menos que se combine con una ZKP. En principio, se podría combinar FHE y ZKP: por ejemplo, usar FHE para mantener los datos privados durante el cómputo, y luego generar una prueba ZK de que el resultado en texto plano corresponde a un cálculo correcto. Sin embargo, combinarlos significa que pagas la penalización de rendimiento de FHE y ZKP – extremadamente impráctico con la tecnología actual. Por lo tanto, en la práctica, FHE-of-ML y zkML sirven para diferentes casos de uso:

  • FHE-of-ML: Ideal cuando el objetivo es la confidencialidad entre dos partes (cliente y servidor). Por ejemplo, un servicio en la nube puede alojar un modelo de ML y los usuarios pueden consultarlo con sus datos sensibles sin revelar los datos a la nube (y si el modelo es sensible, quizás desplegarlo a través de codificaciones amigables con FHE). Esto es excelente para servicios de ML que preservan la privacidad (predicciones médicas, etc.). El usuario todavía tiene que confiar en que el servicio ejecute fielmente el modelo (ya que no hay prueba), pero al menos se previene cualquier fuga de datos. Algunos proyectos como Zama incluso están explorando una “EVM habilitada para FHE (fhEVM)” donde los contratos inteligentes podrían operar sobre entradas cifradas, pero verificar esos cálculos on-chain requeriría que el contrato de alguna manera imponga el cálculo correcto – un desafío abierto que probablemente requiera pruebas ZK o hardware seguro especializado.
  • zkML (ZKPs): Ideal cuando el objetivo es la verificabilidad y la auditabilidad pública. Si quieres que cualquiera (o cualquier contrato) esté seguro de que “el Modelo MM fue evaluado correctamente en XX y produjo YY, las ZKPs son la solución. También proporcionan privacidad como un extra (puedes ocultar XX o YY o MM si es necesario tratándolos como entradas privadas para la prueba), pero su característica principal es la prueba de ejecución correcta.

Una relación complementaria: Vale la pena señalar que las ZKPs protegen al verificador (no aprenden nada sobre los secretos, solo que el cálculo se realizó correctamente), mientras que FHE protege los datos del probador de la parte que computa. En algunos escenarios, estos podrían combinarse – por ejemplo, una red de nodos no confiables podría usar FHE para computar sobre los datos privados de los usuarios y luego proporcionar pruebas ZK a los usuarios (o a la blockchain) de que los cálculos se realizaron de acuerdo con el protocolo. Esto cubriría tanto la privacidad como la corrección, pero el costo de rendimiento es enorme con los algoritmos actuales. Más factibles a corto plazo son los híbridos como Entornos de Ejecución Confiable (TEE) más ZKP o Cifrado Funcional más ZKP – estos están más allá de nuestro alcance, pero apuntan a proporcionar algo similar (los TEEs mantienen los datos/modelo secretos durante el cómputo, luego una ZKP puede certificar que el TEE hizo lo correcto).

En resumen, FHE-of-ML prioriza la confidencialidad de las entradas/salidas, mientras que zkML prioriza la corrección verificable (con posible privacidad). La Tabla 1 a continuación contrasta las propiedades clave:

EnfoqueRendimiento del Probador (Inferencia y Prueba)Tamaño de la Prueba y VerificaciónCaracterísticas de Privacidad¿Configuración de Confianza?¿Post-Cuántico?
zk-SNARK (Halo2, Groth16, PLONK, etc)Sobrecarga pesada del probador (hasta 10^6× el tiempo de ejecución normal sin optimizaciones; en la práctica 10^3–10^5×). Optimizado para un modelo/circuito específico; tiempo de prueba en minutos para modelos medianos, horas para grandes. Los SNARKs de zkML recientes (DeepProve con GKR) mejoran esto enormemente (sobrecarga casi lineal, por ejemplo, segundos en lugar de minutos para modelos de millones de parámetros).Pruebas muy pequeñas (a menudo < 100 KB, a veces ~unos pocos KB). La verificación es rápida: unos pocos emparejamientos o evaluaciones de polinomios (típicamente < 50 ms on-chain). Las pruebas basadas en GKR de DeepProve son más grandes (decenas–cientos de KB) y se verifican en ~0.5 s (aún mucho más rápido que volver a ejecutar el modelo).Confidencialidad de datos: Sí – las entradas pueden ser privadas en la prueba (no reveladas). Privacidad del modelo: Sí – el probador puede comprometerse con los pesos del modelo y no revelarlos. Ocultación de salida: Opcional – la prueba puede ser de una declaración sin revelar la salida (por ejemplo, “la salida tiene la propiedad P”). Sin embargo, si la salida misma se necesita on-chain, típicamente se vuelve pública. En general, los SNARKs ofrecen flexibilidad completa de conocimiento cero (oculta las partes que quieras).Depende del esquema. Groth16/EZKL requieren una configuración de confianza por circuito; PLONK/Halo2 usan una configuración universal (una vez). El sum-check GKR de DeepProve es transparente (sin configuración) – una ventaja de ese diseño.Los SNARKs clásicos (curvas BLS12-381) no son seguros PQ (vulnerables a ataques cuánticos sobre el logaritmo discreto de curvas elípticas). Algunos SNARKs más nuevos usan compromisos seguros PQ, pero Halo2/PLONK como se usan en Ezkl no son seguros PQ. GKR (DeepProve) usa compromisos de hash (por ejemplo, Poseidon/Merkle) que se conjetura son seguros PQ (dependiendo de la resistencia a la preimagen del hash).
zk-STARK (FRI, prueba basada en hash)La sobrecarga del probador es alta pero con un escalado más lineal. Típicamente 10^2–10^4× más lento que nativo para tareas grandes, con espacio para paralelizar. Las VMs STARK generales (Risc0, Cairo) mostraron un rendimiento más lento vs SNARK para ML en 2024 (por ejemplo, 3×–66× más lento que Halo2 en algunos casos). Los STARKs especializados (o GKR) pueden acercarse a una sobrecarga lineal y superar a los SNARKs para circuitos grandes.Las pruebas son más grandes: a menudo decenas de KB (creciendo con el tamaño del circuito/log(n)). El verificador debe hacer múltiples comprobaciones de hash y FFT – tiempo de verificación ~O(n^ε) para un ε pequeño (por ejemplo, ~50 ms a 500 ms dependiendo del tamaño de la prueba). On-chain, esto es más costoso (el verificador L1 de StarkWare puede costar millones de gas por prueba). Algunos STARKs soportan pruebas recursivas para comprimir el tamaño, a costa del tiempo del probador.Privacidad de datos y modelo: Un STARK puede hacerse de conocimiento cero aleatorizando los datos de la traza (agregando cegamiento a las evaluaciones de polinomios), por lo que puede ocultar entradas privadas de manera similar a un SNARK. Muchas implementaciones de STARK se centran en la integridad, pero las variantes zk-STARK sí permiten la privacidad. Así que sí, pueden ocultar entradas/modelos como los SNARKs. Ocultación de salida: igualmente posible en teoría (el probador no declara la salida como pública), pero rara vez se usa ya que usualmente la salida es lo que queremos revelar/verificar.Sin configuración de confianza. La transparencia es una característica de los STARKs – solo requieren una cadena aleatoria común (que Fiat-Shamir puede derivar). Esto los hace atractivos para un uso abierto (cualquier modelo, en cualquier momento, sin ceremonia por modelo).Sí, los STARKs se basan en suposiciones de seguridad de hash e información teórica (como el oráculo aleatorio y la dificultad de decodificar ciertas palabras de código en FRI). Se cree que son seguros contra adversarios cuánticos. Por lo tanto, las pruebas STARK son resistentes a PQ, una ventaja para la IA verificable a prueba de futuro.
FHE para ML (Cifrado Totalmente Homomórfico aplicado a la inferencia)Probador = parte que realiza el cómputo sobre datos cifrados. El tiempo de cómputo es extremadamente alto: 10^3–10^5× más lento que la inferencia en texto plano es común. Hardware de alta gama (servidores de muchos núcleos, FPGA, etc.) puede mitigar esto. Algunas optimizaciones (inferencia de baja precisión, parámetros FHE nivelados) pueden reducir la sobrecarga, pero hay un impacto fundamental en el rendimiento. FHE es actualmente práctico para modelos pequeños o modelos lineales simples; las redes profundas siguen siendo un desafío más allá de tamaños de juguete.No se genera ninguna prueba. El resultado es una salida cifrada. La verificación en el sentido de comprobar la corrección no es proporcionada por FHE solo – se confía en que la parte que computa no haga trampa. (Si se combina con hardware seguro, se podría obtener una atestación; de lo contrario, un servidor malicioso podría devolver un resultado cifrado incorrecto que el cliente descifraría a una salida errónea sin saber la diferencia).Confidencialidad de datos: Sí – la entrada está cifrada, por lo que la parte que computa no aprende nada sobre ella. Privacidad del modelo: Si el propietario del modelo está haciendo el cómputo sobre la entrada cifrada, el modelo está en texto plano de su lado (no protegido). Si los roles se invierten (el cliente tiene el modelo cifrado y el servidor computa), el modelo podría mantenerse cifrado, pero este escenario es menos común. Hay técnicas como el ML seguro de dos partes que combinan FHE/MPC para proteger ambos, pero van más allá del FHE simple. Ocultación de salida: Por defecto, la salida del cómputo está cifrada (solo descifrable por la parte con la clave secreta, usualmente el propietario de la entrada). Así que la salida está oculta para el servidor que computa. Si queremos que la salida sea pública, el cliente puede descifrarla y revelarla.No se necesita configuración. Cada usuario genera su propio par de claves para el cifrado. La confianza se basa en que las claves permanezcan secretas.La seguridad de los esquemas FHE (por ejemplo, BFV, CKKS, TFHE) se basa en problemas de retículos (Learning With Errors), que se cree que son resistentes a los ataques cuánticos (al menos no se conoce ningún algoritmo cuántico eficiente). Por lo tanto, FHE se considera generalmente seguro post-cuántico.

Tabla 1: Comparación de los enfoques zk-SNARK, zk-STARK y FHE para la inferencia de aprendizaje automático (compensaciones de rendimiento y privacidad).

Casos de Uso e Implicaciones para Aplicaciones Web3

La convergencia de la IA y la blockchain a través de zkML desbloquea nuevos y potentes patrones de aplicación en Web3:

  • Agentes Autónomos Descentralizados y Toma de Decisiones On-Chain: Los contratos inteligentes o las DAOs pueden incorporar decisiones impulsadas por IA con garantías de corrección. Por ejemplo, imagina una DAO que utiliza una red neuronal para analizar las condiciones del mercado antes de ejecutar operaciones. Con zkML, el contrato inteligente de la DAO puede requerir una prueba zkSNARK de que el modelo de ML autorizado (con un compromiso de hash conocido) se ejecutó con los datos más recientes y produjo la acción recomendada, antes de que se acepte la acción. Esto evita que actores maliciosos inyecten una predicción falsa – la cadena verifica el cómputo de la IA. Con el tiempo, incluso se podrían tener agentes autónomos completamente on-chain (contratos que consultan IA off-chain o contienen modelos simplificados) tomando decisiones en DeFi o juegos, con todos sus movimientos probados como correctos y conformes a las políticas a través de pruebas zk. Esto aumenta la confianza en los agentes autónomos, ya que su “pensamiento” es transparente y verificable en lugar de una caja negra.

  • Mercados de Cómputo Verificable: Proyectos como Lagrange están creando efectivamente mercados de computación verificable – los desarrolladores pueden externalizar la inferencia de ML pesada a una red de probadores y recibir a cambio una prueba con el resultado. Esto es análogo a la computación en la nube descentralizada, pero con confianza incorporada: no necesitas confiar en el servidor, solo en la prueba. Es un cambio de paradigma para los oráculos y la computación off-chain. Protocolos como la próxima DSC (capa de secuenciación descentralizada) de Ethereum o las redes de oráculos podrían usar esto para proporcionar fuentes de datos o análisis con garantías criptográficas. Por ejemplo, un oráculo podría suministrar “el resultado del modelo X en la entrada Y” y cualquiera puede verificar la prueba adjunta on-chain, en lugar de confiar en la palabra del oráculo. Esto podría habilitar IA-como-servicio verificable en la blockchain: cualquier contrato puede solicitar un cómputo (como “califica estos riesgos crediticios con mi modelo privado”) y aceptar la respuesta solo con una prueba válida. Proyectos como Gensyn están explorando mercados de entrenamiento e inferencia descentralizados utilizando estas técnicas de verificación.

  • NFTs y Juegos – Procedencia y Evolución: En los juegos de blockchain o coleccionables NFT, zkML puede probar que los rasgos o movimientos del juego fueron generados por modelos de IA legítimos. Por ejemplo, un juego podría permitir que una IA evolucione los atributos de una mascota NFT. Sin ZK, un usuario astuto podría modificar la IA o el resultado para obtener una mascota superior. Con zkML, el juego puede requerir una prueba de que “las nuevas estadísticas de la mascota fueron calculadas por el modelo de evolución oficial sobre las estadísticas antiguas de la mascota”, evitando trampas. De manera similar para los NFTs de arte generativo: un artista podría lanzar un modelo generativo como un compromiso; más tarde, al acuñar NFTs, probar que cada imagen fue producida por ese modelo dada una semilla, garantizando la autenticidad (e incluso haciéndolo sin revelar el modelo exacto al público, preservando la propiedad intelectual del artista). Esta verificación de procedencia asegura la autenticidad de una manera similar a la aleatoriedad verificable – excepto que aquí es creatividad verificable.

  • IA que Preserva la Privacidad en Dominios Sensibles: zkML permite la confirmación de resultados sin exponer las entradas. En el sector de la salud, los datos de un paciente podrían ser procesados por un modelo de diagnóstico de IA por un proveedor de la nube; el hospital recibe un diagnóstico y una prueba de que el modelo (que podría ser propiedad privada de una compañía farmacéutica) se ejecutó correctamente sobre los datos del paciente. Los datos del paciente permanecen privados (solo se usó una forma cifrada o comprometida en la prueba), y los pesos del modelo permanecen propietarios – sin embargo, el resultado es confiable. Los reguladores o las aseguradoras también podrían verificar que solo se usaron modelos aprobados. En finanzas, una empresa podría demostrar a un auditor o regulador que su modelo de riesgo se aplicó a sus datos internos y produjo ciertas métricas sin revelar los datos financieros sensibles subyacentes. Esto permite el cumplimiento y la supervisión con garantías criptográficas en lugar de confianza manual.

  • Interoperabilidad Cross-Chain y Off-Chain: Debido a que las pruebas de conocimiento cero son fundamentalmente portátiles, zkML puede facilitar resultados de IA cross-chain. Una cadena podría tener una aplicación intensiva en IA ejecutándose off-chain; puede publicar una prueba del resultado en una blockchain diferente, que lo aceptará sin necesidad de confianza. Por ejemplo, considera una DAO multi-cadena que utiliza una IA para agregar el sentimiento en las redes sociales (datos off-chain). El análisis de IA (NLP complejo sobre grandes datos) se realiza off-chain por un servicio que luego publica una prueba en una pequeña blockchain (o múltiples cadenas) de que “el análisis se realizó correctamente y la puntuación de sentimiento de salida = 0.85”. Todas las cadenas pueden verificar y usar ese resultado en su lógica de gobernanza, sin que cada una necesite volver a ejecutar el análisis. Este tipo de cómputo verificable interoperable es lo que la red de Lagrange pretende soportar, sirviendo a múltiples rollups o L1s simultáneamente. Elimina la necesidad de puentes confiables o suposiciones de oráculos al mover resultados entre cadenas.

  • Alineación y Gobernanza de la IA: En una nota más prospectiva, zkML ha sido destacado como una herramienta para la gobernanza y seguridad de la IA. Las declaraciones de visión de Lagrange, por ejemplo, argumentan que a medida que los sistemas de IA se vuelven más poderosos (incluso superinteligentes), la verificación criptográfica será esencial para asegurar que sigan las reglas acordadas. Al requerir que los modelos de IA produzcan pruebas de su razonamiento o restricciones, los humanos retienen un grado de control – “no puedes confiar en lo que no puedes verificar”. Si bien esto es especulativo e involucra tanto aspectos sociales como técnicos, la tecnología podría hacer cumplir que un agente de IA que se ejecuta de forma autónoma todavía demuestre que está utilizando un modelo aprobado y que no ha sido manipulado. Las redes de IA descentralizadas podrían usar pruebas on-chain para verificar las contribuciones (por ejemplo, una red de nodos que entrena colaborativamente un modelo puede probar que cada actualización se calculó fielmente). Por lo tanto, zkML podría desempeñar un papel en asegurar que los sistemas de IA sigan siendo responsables ante los protocolos definidos por humanos, incluso en entornos descentralizados o no controlados.

En conclusión, zkML y la IA verificable on-chain representan una convergencia de la criptografía avanzada y el aprendizaje automático que promete mejorar la confianza, la transparencia y la privacidad en las aplicaciones de IA. Al comparar los principales enfoques – zk-SNARKs, zk-STARKs y FHE – vemos un espectro de compensaciones entre rendimiento y privacidad, cada uno adecuado para diferentes escenarios. Los frameworks basados en SNARK como Ezkl y las innovaciones como DeepProve de Lagrange han hecho factible probar inferencias sustanciales de redes neuronales con un esfuerzo práctico, abriendo la puerta a implementaciones en el mundo real de IA verificable. Los enfoques basados en STARK y VM prometen una mayor flexibilidad y seguridad post-cuántica, que se volverán importantes a medida que el campo madure. FHE, aunque no es una solución para la verificabilidad, aborda la necesidad complementaria de la computación de ML confidencial, y en combinación con ZKPs o en contextos privados específicos puede empoderar a los usuarios para aprovechar la IA sin sacrificar la privacidad de los datos.

Las implicaciones para Web3 son significativas: podemos prever contratos inteligentes reaccionando a predicciones de IA, sabiendo que son correctas; mercados de cómputo donde los resultados se venden sin confianza; identidades digitales (como la prueba de humanidad de Worldcoin a través de IA de iris) protegidas por zkML para confirmar que alguien es humano sin filtrar su imagen biométrica; y en general una nueva clase de “inteligencia demostrable” que enriquece las aplicaciones de blockchain. Quedan muchos desafíos – rendimiento para modelos muy grandes, ergonomía para desarrolladores y la necesidad de hardware especializado – pero la trayectoria es clara. Como señaló un informe, “las ZKPs de hoy pueden soportar modelos pequeños, pero los modelos de moderados a grandes rompen el paradigma”; sin embargo, los rápidos avances (mejoras de velocidad de 50×–150× con DeepProve sobre el estado del arte anterior) están empujando ese límite hacia afuera. Con la investigación en curso (por ejemplo, sobre aceleración de hardware y prueba distribuida), podemos esperar que modelos de IA progresivamente más grandes y complejos se vuelvan demostrables. zkML podría evolucionar pronto de demos de nicho a un componente esencial de la infraestructura de IA confiable, asegurando que a medida que la IA se vuelve ubicua, lo haga de una manera que sea auditable, descentralizada y alineada con la privacidad y seguridad del usuario.