Por Siddharth Rao, IOSG Ventures
Sobre el rendimiento de la Máquina Virtual Ethereum (EVM)
Cada operación en la red principal de Ethereum cuesta una cierta cantidad de Gas. Si ponemos todos los cálculos necesarios para ejecutar aplicaciones básicas en la cadena, la aplicación fallará o el usuario irá a la quiebra.
Esto dio origen a L2: OPRU introdujo un secuenciador para agrupar un montón de transacciones y luego enviarlas a la red principal. Esto no sólo ayuda a que la aplicación herede la seguridad de Ethereum, sino que también brinda a los usuarios una mejor experiencia. Los usuarios pueden enviar transacciones más rápido y las tarifas son más económicas. Aunque las operaciones se han abaratado, todavía utiliza el EVM nativo como capa de ejecución. De manera similar a ZK Rollups, Scroll, Polygon zkEVM usa o usará circuitos zk basados en EVM, y zk Proof se generará en cada transacción o en un gran paquete de transacciones realizadas en su probador. Si bien esto permite a los desarrolladores crear aplicaciones de "cadena completa", ¿sigue siendo eficiente y rentable ejecutar aplicaciones de alto rendimiento?
¿Cuáles son estas aplicaciones de alto rendimiento?
Lo primero que me viene a la mente son juegos, libros de pedidos en cadena, redes sociales Web3, aprendizaje automático, modelado genómico, etc. Todo esto requiere mucho cálculo y es muy costoso ejecutarlo en L2. Otro problema de EVM es que la velocidad de cálculo y la eficiencia no son tan buenas como las de otros sistemas actuales, como SVM (Sealevel Virtual Machine).
Si bien L3 EVM puede abaratar el cálculo, la estructura del EVM en sí puede no ser la mejor manera de realizar cálculos elevados porque no puede calcular operaciones paralelas. Cada vez que se construye una nueva capa encima, para mantener el espíritu de descentralización, es necesario construir una nueva infraestructura (una nueva red de nodos), lo que aún requiere la misma cantidad de proveedores para escalar, o un conjunto completamente nuevo de Se requieren proveedores de nodos (individuos/empresas) para proporcionar recursos, o ambos.
Por lo tanto, cada vez que se construye una solución más avanzada, es necesario actualizar la infraestructura existente o construir una nueva capa encima. Para resolver este problema, necesitamos una infraestructura informática poscuántica segura, descentralizada, sin confianza y de alto rendimiento que pueda utilizar de manera verdadera y eficiente algoritmos cuánticos para computar aplicaciones descentralizadas.
Los Alt-L1 como Solana, Sui y Aptos son capaces de ejecutarse en paralelo, pero debido al sentimiento del mercado, la escasez de liquidez y la falta de desarrolladores en el mercado, no desafiarán a Ethereum. Porque hay falta de confianza y el foso que Ethereum ha construido con los efectos de red es monumental. Por ahora, no existe ningún asesino de ETH/EVM. La pregunta aquí es, ¿por qué todos los cálculos deberían realizarse en cadena? ¿Existe un sistema de ejecución descentralizado y sin confianza similar? Esto es lo que puede lograr el sistema DCompute.
La infraestructura DCompute debe ser descentralizada, post-cuántica segura y sin confianza. No necesita o no debe ser tecnología blockchain/distribuida, pero es muy importante verificar los resultados del cálculo, las transiciones de estado correctas y la confirmación final. Así es como opera la cadena EVM, permitiendo que la computación descentralizada, segura y sin confianza se mueva fuera de la cadena mientras se mantiene la seguridad y la inmutabilidad de la red.
Lo que aquí ignoramos principalmente es la cuestión de la disponibilidad de datos. Este artículo no deja de centrarse en la disponibilidad de datos, ya que soluciones como Celestia y EigenDA ya están avanzando en esta dirección.
1: Solo subcontratación informática

2. Subcontratar la informática y la disponibilidad de datos
Cuando vimos el Tipo 1, los zk-rollups ya estaban haciendo esto, pero estaban limitados por el EVM o requerían que los desarrolladores aprendieran un lenguaje/conjunto de instrucciones completamente nuevo. La solución ideal debe ser eficiente, efectiva (costo y recursos), descentralizada, privada y verificable. Las pruebas ZK se pueden crear en servidores AWS, pero no están descentralizadas. Soluciones como Nillion y Nexus intentan resolver el problema de la informática general de forma descentralizada. Pero estas soluciones no son verificables sin las pruebas ZK.
El tipo 2 combina un modelo de cálculo fuera de la cadena con una capa de disponibilidad de datos que permanece separada, pero los cálculos aún deben verificarse en la cadena.
Echemos un vistazo a los diferentes modelos informáticos descentralizados disponibles en la actualidad que no son completamente confiables y pueden no serlo.
Sistemas de Computación Alternativos

Mapa ecológico informático subcontratado de Ethereum
- Computaciones de enclave seguro/entornos de ejecución confiables
Un TEE (Trusted Execution Environment) es como una caja especial dentro de una computadora o teléfono inteligente. Tiene su propio candado y llave y solo se puede acceder a él mediante programas específicos (llamados aplicaciones confiables). Cuando estas aplicaciones confiables se ejecutan dentro del TEE, están protegidas por otros programas e incluso por el propio sistema operativo.
Es como un escondite secreto al que sólo pueden entrar unos pocos amigos especiales. Los ejemplos más comunes de TEE son enclaves seguros, que existen en los dispositivos que utilizamos, como el chip T1 de Apple y el SGX de Intel, y se utilizan para ejecutar operaciones críticas dentro del dispositivo, como FaceID.
Dado que TEE es un sistema aislado, el proceso de autenticación no se puede interrumpir porque se supone que hay confianza en la autenticación. Piense en ello como si hubiera una puerta de seguridad que usted cree que es segura porque Intel o Apple la construyeron, pero hay suficientes infractores de seguridad (incluidos piratas informáticos y otras computadoras) en el mundo que pueden violar esta puerta de seguridad. Los TEE no son "seguros poscuánticos", lo que significa que una computadora cuántica con recursos ilimitados podría romper la seguridad del TEE. A medida que las computadoras se vuelven más poderosas, debemos tener en cuenta la seguridad poscuántica al construir sistemas informáticos y esquemas de criptografía a largo plazo.
- Computación segura multipartita (SMPC)
SMPC (Secure Multi-Party Computation) también es una solución informática bien conocida por los profesionales de la tecnología blockchain. El flujo de trabajo general en la red SMPC constará de las tres partes siguientes:
Paso 1: convertir las entradas calculadas en acciones y distribuirlas entre los nodos SMPC.
Paso 2: Realice el cálculo real, que normalmente implica el intercambio de mensajes entre nodos SMPC. Al final de este paso, cada nodo poseerá una parte del valor de salida calculado.
Paso 3: envíe los resultados compartidos a uno o más nodos de resultados, que ejecutan LSS (algoritmo secreto de recuperación de recursos compartidos) para reconstruir los resultados de salida.
Imagine una línea de producción de automóviles, donde los componentes de construcción y fabricación del automóvil (motor, puertas, espejos) se subcontratan al Fabricante de Equipo Original (OEM) (el nodo de trabajo), y luego hay una línea de ensamblaje que coloca todos los componentes. juntos para hacer el auto (el nodo de resultado).
Compartir secretos es muy importante para los modelos informáticos descentralizados que preservan la privacidad. Esto evita que una sola parte obtenga el "secreto" completo (en este caso, la entrada) y produzca maliciosamente resultados incorrectos. SMPC es probablemente uno de los sistemas descentralizados más sencillos y seguros. Si bien actualmente no existe un modelo totalmente descentralizado, es lógicamente posible.
Los proveedores de MPC como Sharemind proporcionan infraestructura MPC para informática, pero los proveedores aún están centralizados. ¿Cómo garantizar la privacidad, cómo garantizar que la red (o Sharemind) esté libre de comportamientos maliciosos? De aquí provienen las pruebas de zk y los cálculos verificables de zk.
- Cálculo de mensajes nulos (NMC)
NMC es un nuevo método de computación distribuida desarrollado por el equipo de Nillion. Es una versión mejorada de MPC donde los nodos no necesitan comunicarse interactuando entre sí a través de resultados. Para hacer esto, utilizaron una primitiva criptográfica llamada One-Time Masking, que utiliza una serie de números aleatorios llamados factores ciegos para enmascarar un secreto, similar al relleno de una sola vez. OTM está diseñado para proporcionar corrección de manera eficiente, lo que significa que los nodos NMC no necesitan intercambiar ningún mensaje para realizar cálculos. Esto significa que NMC no tendrá los problemas de escalabilidad de SMPC.
- Cálculo verificable de conocimiento cero
ZK Verifiable Computation (ZK Verifiable Computation) genera una prueba de conocimiento cero para un conjunto de entradas y una función, y demuestra que cualquier cálculo realizado por el sistema se realizará correctamente. Aunque el cálculo de verificación ZK es nuevo, ya es una parte muy crítica de la hoja de ruta de expansión de la red Ethereum.
Existen varias formas de implementación de pruebas ZK (como se muestra en la figura siguiente, según el resumen del artículo "Off-Chaining_Models"):

Arriba tenemos una comprensión básica de la implementación de la prueba ZK, entonces, ¿cuáles son las condiciones requeridas para usar la prueba ZK para verificar los cálculos?
Primero, debemos elegir una primitiva de prueba. La primitiva de prueba ideal tiene un bajo costo de generación de pruebas, bajos requisitos de memoria y es fácil de verificar.
En segundo lugar, elija un circuito zk diseñado para generar computacionalmente pruebas de las primitivas anteriores.
Finalmente, la función dada se calcula en algún sistema/red informática con la entrada proporcionada y se proporciona la salida.
El dilema del desarrollador: demostrar el dilema de la eficiencia
Otra cosa que tengo que decir es que el umbral para construir circuitos sigue siendo muy alto. Ya no es fácil para los desarrolladores aprender Solidity. Ahora se requiere que los desarrolladores aprendan Circom, etc. para construir circuitos o aprender un lenguaje de programación específico (. como Cairo) para crear aplicaciones zk, esto parece algo descabellado.


Como muestran las estadísticas anteriores, transformar el entorno Web3 para que sea más adecuado para el desarrollo parece ser más sostenible que presentar a los desarrolladores el nuevo entorno de desarrollo Web3.
Si ZK es el futuro de Web3, y las aplicaciones Web3 deben crearse utilizando las habilidades de desarrollador existentes, entonces los circuitos ZK deben diseñarse para admitir pruebas generadas por computación ejecutadas por algoritmos escritos en lenguajes como JavaScript o Rust.
Este tipo de soluciones existen y me vienen a la mente dos equipos: RiscZero y Lurk Labs. Ambos equipos comparten una visión muy similar, que es que permiten a los desarrolladores crear aplicaciones zk sin pasar por una curva de aprendizaje pronunciada.
Todavía es temprano para Lurk Labs, pero el equipo ha estado trabajando en este proyecto durante mucho tiempo. Se enfocan en generar Pruebas Nova a través de circuitos universales. La prueba de Nova fue presentada por Abhiram Kothapalli de la Universidad Carnegie Mellon y Srinath Setty de Microsoft Research e Ioanna Tziallae de la Universidad de Nueva York. En comparación con otros sistemas SNARK, Nova demuestra tener ventajas especiales a la hora de realizar cálculos incrementales verificables (IVC). La Computación Incremental Verificable (IVC) es un concepto en informática y criptografía que tiene como objetivo permitir la verificación de un cálculo sin tener que volver a calcular todo el cálculo desde cero. Cuando el cálculo es largo y complejo, es necesario optimizar la prueba para IVC.

Las pruebas de Nova no funcionan "de fábrica" como otros sistemas de prueba. Nova es solo un truco de plegado y los desarrolladores aún necesitan un sistema de prueba para generar pruebas. Es por eso que Lurk Labs creó Lurk Lang, una implementación LISP. Dado que LISP es un lenguaje de nivel inferior, facilita la generación de pruebas en circuitos de uso general y también es fácil de traducir a JavaScript, lo que ayudará a Lurk Labs a obtener el apoyo de 17,4 millones de desarrolladores de Javascript. También se admite la traducción de otros lenguajes de propósito general como Python.
Considerándolo todo, las pruebas Nova parecen ser un gran sistema de prueba original. Si bien su desventaja es que el tamaño de la prueba aumenta linealmente con el tamaño del cálculo, las pruebas Nova, por otro lado, tienen espacio para una mayor compresión.
El tamaño de las pruebas STARK no aumenta con la cantidad de cálculos, por lo que es más adecuado para verificar cálculos muy grandes. Para mejorar aún más la experiencia del desarrollador, también lanzaron Bonsai Network, una red informática distribuida verificada mediante pruebas generadas por RiscZero. Este es un esquema simple que representa cómo funciona la red Bonsai de RiscZero.

La belleza del diseño de la red Bonsai es que los cálculos se pueden inicializar, verificar y generar en la cadena. Todo esto parece una utopía, pero las pruebas STARK también plantean problemas: los costes de verificación son demasiado elevados.
Las pruebas de Nova parecen ser muy adecuadas para cálculos repetidos (su esquema de plegado es rentable) y cálculos pequeños, lo que puede hacer de Lurk una buena solución para la verificación de inferencias de ML.
¿Quién es el ganador?


Algunos sistemas zk-SNARK requieren un proceso de configuración confiable durante la fase de configuración inicial para generar un conjunto de parámetros iniciales. La suposición de confianza aquí es que la configuración confiable se realizó de manera honesta, sin ningún comportamiento malicioso ni manipulación. Si se ataca, esto podría conducir a la creación de pruebas inválidas.
STARK demuestra la seguridad de las pruebas hipotéticas de bajo orden, utilizadas para verificar las propiedades de bajo orden de los polinomios. También suponen que la función hash se comporta como un oráculo aleatorio.
La implementación adecuada de ambos sistemas también es una suposición segura.
Las redes SMPC se basan en los siguientes puntos:
Los participantes de SMPC pueden incluir participantes "honestos pero curiosos" que pueden intentar acceder a cualquier información subyacente comunicándose con otros nodos.
La seguridad de la red SMPC se basa en el supuesto de que los participantes ejecutan el protocolo correctamente y no introducen errores o comportamientos maliciosos intencionalmente.
Algunos protocolos SMPC pueden requerir una fase de configuración confiable para generar parámetros de cifrado o valores iniciales. La suposición de confianza aquí es que la configuración confiable se implementa de manera honesta.
Al igual que con la red SMPC, los supuestos de seguridad siguen siendo los mismos, pero debido a la presencia de OTM (Off-The-Grid Multi-party Computation), no hay participantes "honestos pero curiosos".
OTM es un protocolo informático multipartito diseñado para proteger la privacidad de los participantes. Logra la protección de la privacidad al permitir a los participantes mantener privados sus datos de entrada en el cálculo. Por lo tanto, los actores "honestos pero curiosos" no existirán porque no pueden intentar acceder a la información subyacente comunicándose con otros nodos.
¿Hay un ganador claro? No lo sabemos. Pero cada método tiene sus propias ventajas. Si bien NMC parece una clara actualización de SMPC, la red aún no está en línea y no ha sido probada en el campo.
El beneficio de utilizar el cálculo verificable de ZK es que es seguro y preserva la privacidad, pero no tiene capacidades integradas para compartir secretos. La asimetría entre la generación de pruebas y la verificación lo convierte en un modelo ideal para la computación subcontratada verificable. Si el sistema utiliza cálculos de verificación zk puros, la computadora (o el nodo individual) debe ser muy potente para realizar grandes cantidades de cálculos. Para permitir compartir y equilibrar la carga y al mismo tiempo preservar la privacidad, es necesario compartir secretos. En este caso, un sistema como SMPC o NMC se puede combinar con un generador zk como Lurk o RiscZero para crear una poderosa infraestructura informática subcontratada, distribuida y verificable.
Esto se vuelve especialmente importante a medida que las redes MPC/SMPC actuales están centralizadas. El mayor proveedor de MPC actualmente es Sharemind, y la capa de verificación ZK encima puede resultar útil. El modelo económico de la red MPC descentralizada aún no se ha desarrollado completamente. En teoría, el modo NMC es una actualización del sistema MPC, pero aún no hemos visto su éxito.
En la competencia por soluciones a prueba de ZK, puede que no haya una situación en la que el ganador se lo lleve todo. Cada método de prueba está optimizado para un tipo específico de cálculo y ninguno se adapta a todos los tipos de modelos. Hay muchos tipos de tareas computacionales y dependen de las compensaciones que los desarrolladores hagan en cada sistema de prueba. El autor cree que los sistemas basados en STARK y SNARK y sus futuras optimizaciones tienen un lugar en el futuro de ZK.
