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 la aplicación básica en la cadena, la aplicación se bloqueará o el usuario se declarará en quiebra.
Esto dio origen a L2: OPRU presenta un recopilador para agrupar un montón de transacciones antes de comprometerse con la red principal. Esto no solo ayuda a la aplicación a asumir 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. Si bien las operaciones se han abaratado, aún utiliza el EVM nativo como capa de ejecución. Similar a ZK Rollups, Scroll y Polygon zkEVM usan o usarán circuitos zk basados en EVM, y se generará zk Proof en cada transacción o en un gran lote 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?
¿Qué son estas aplicaciones de alto rendimiento?
Lo primero que me viene a la mente son los juegos, los libros de pedidos en cadena, las redes sociales Web3, el aprendizaje automático, el modelado del genoma, etc. Todos estos son computacionalmente intensivos y costosos de ejecutar en L2. Otro problema de EVM es que la velocidad de cálculo y la eficiencia no son tan buenas como otros sistemas actuales, como SVM (Sealevel Virtual Machine).
Si bien el EVM L3 puede abaratar los cálculos, la estructura del EVM en sí puede no ser la mejor manera de realizar cálculos altos porque no puede calcular operaciones paralelas. Cada vez que se construye una nueva capa superior, para mantener el espíritu de descentralización, se necesita construir una nueva infraestructura (nueva red de nodos), que todavía requiere la misma cantidad de proveedores para expandirse, o un conjunto completamente nuevo de Nodos. Se requieren proveedores (individuales/corporativos) para proporcionar recursos, o ambos.
Por lo tanto, cada vez que se crea una solución más avanzada, la infraestructura existente debe actualizarse o debe construirse una nueva capa sobre ella. Para resolver este problema, necesitamos una infraestructura informática segura, descentralizada, sin confianza y de alto rendimiento poscuántica que pueda usar algoritmos cuánticos de manera real y eficiente para computar aplicaciones descentralizadas.
Alt-L1 como Solana, Sui y Aptos son capaces de ejecutarse en paralelo, pero debido al sentimiento del mercado, la falta de liquidez y la falta de desarrolladores en el mercado, no desafiarán a Ethereum. Por la falta de confianza, y el foso construido por Ethereum con efectos de red es un hito. Hasta el momento, el asesino ETH/EVM no existe. La pregunta aquí es, ¿por qué todo el cálculo debe estar en cadena? ¿Existe un sistema de ejecución igualmente desconfiado y descentralizado? Esto es lo que puede lograr el sistema DCompute.
La infraestructura de DCompute debe ser descentralizada, segura post-cuántica y sin confianza, no necesita o no debe ser tecnología blockchain/distribuida, pero es muy importante verificar los resultados de los cálculos, las transiciones de estado correctas y la confirmación final. Así es como funciona la cadena EVM: mientras se mantiene la seguridad y la inmutabilidad de la red, la informática descentralizada, confiable y segura se puede mover fuera de la cadena.
Lo que principalmente ignoramos aquí es el tema de la disponibilidad de datos. Esta publicación no deja de centrarse en la disponibilidad de datos, ya que soluciones como Celestia y EigenDA ya se están moviendo en esta dirección.
1: solo cómputo subcontratado
(来源:Modelos fuera de cadena y enfoques para cálculos fuera de cadena, Jacob Eberhardt y Jonathan Heiss)
2. Externalizar la informática y la disponibilidad de datos
(来源:Modelos fuera de cadena y enfoques para cálculos fuera de cadena, Jacob Eberhardt y Jonathan Heiss)
Cuando vimos el Tipo 1, los zk-rollups ya estaban haciendo esto, pero estaban limitados por el EVM o necesitaban enseñar a los desarrolladores un conjunto de instrucciones/lenguaje completamente nuevo. La solución ideal debe ser eficiente, efectiva (costo y recursos), descentralizada, privada y verificable. Las pruebas de ZK se pueden crear en servidores de 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 pruebas ZK.
El tipo 2 combina un modelo de computación fuera de la cadena con una capa de disponibilidad de datos que permanece separada, pero la computación aún debe verificarse en la cadena.
Echemos un vistazo a los diferentes modelos informáticos descentralizados disponibles en la actualidad que no son totalmente confiables y posiblemente completamente inseguros.
Cálculos alternativos
Mapa ecológico de la computación de subcontratación de Ethereum (Fuente: IOSG Ventures)
Cálculos de enclave seguro/entornos de confianza
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 ciertos programas (llamados aplicaciones confiables) pueden acceder a él. Cuando estas aplicaciones de confianza 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 solo pueden acceder unos pocos amigos especiales. Los ejemplos más comunes de TEE son enclaves seguros, que existen en los dispositivos que usamos, como el chip T1 de Apple y el SGX de Intel, para ejecutar operaciones críticas dentro del dispositivo, como FaceID.
Dado que el TEE es un sistema aislado, el proceso de autenticación no puede verse comprometido debido a las suposiciones de confianza en la autenticación. Piense en ello como si tuviera una puerta de seguridad que cree que es segura porque Intel o Apple la construyeron, pero hay suficientes interruptores de seguridad en el mundo (incluidos los piratas informáticos y otras computadoras) que pueden violar esa puerta de seguridad. Los TEE no son "seguros poscuánticos", lo que significa que una computadora cuántica con recursos ilimitados puede violar la seguridad del TEE. A medida que las computadoras se vuelven rápidamente más poderosas, debemos construir sistemas informáticos a largo plazo y esquemas criptográficos teniendo en cuenta la seguridad poscuántica.
Cómputo seguro de múltiples partes (SMPC)
SMPC (Secure Multi-Party Computing) también es una solución informática muy conocida en la industria de la tecnología blockchain.El flujo de trabajo general en la red SMPC constará de las siguientes tres partes:
Paso 1: Convierta la entrada calculada en recursos compartidos y distribúyalos entre los nodos SMPC.
Paso 2: Realice el cálculo real, que generalmente involucra el intercambio de mensajes entre los nodos SMPC. Al final de este paso, cada nodo tendrá una parte del valor de salida calculado.
Paso 3: envíe el resultado compartido a uno o más nodos de resultados, que ejecutan LSS (algoritmo de recuperación de uso compartido secreto) para reconstruir el resultado 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 equipos originales (OEM) (nodos de trabajo), y luego hay una línea de ensamblaje que junta todos los componentes. para hacer el coche (dando como resultado el nodo).
Compartir secretos es importante para un modelo informático descentralizado que preserve la privacidad. Esto evita que una sola parte obtenga el "secreto" completo (la entrada en este caso) y produzca resultados erróneos de forma malintencionada. SMPC es probablemente uno de los sistemas descentralizados más fáciles y seguros. Si bien actualmente no existe un modelo completamente descentralizado, es lógicamente posible.
Los proveedores de MPC como Sharemind brindan infraestructura de MPC para computación, pero los proveedores aún están centralizados. ¿Cómo garantizar la privacidad, cómo garantizar que la red (o Sharemind) no sea maliciosa? Este es el origen de la prueba zk y el cálculo verificable zk.
** Cómputo de mensaje cero (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 a través de los resultados. Para hacer esto, usaron una primitiva criptográfica llamada One-Time Masking, que usa una serie de números aleatorios llamados factores de cegamiento para enmascarar un Secreto, similar al relleno de una sola vez. OTM tiene como objetivo 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ómputo verificable de conocimiento cero
La computación verificable ZK (ZK Verifiable Computation) es generar una prueba de conocimiento cero para un conjunto de entradas y una función, y probar que cualquier cálculo realizado por el sistema se realizará correctamente. Aunque el cálculo de verificación de ZK es nuevo, ya es una parte muy crítica de la hoja de ruta de expansión de la red Ethereum.
ZK demuestra que existen varias formas de implementación (como se muestra en la figura a continuación, según el resumen del documento "Off-Chaining_Models"):
(Fuente: IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Arriba tenemos una comprensión básica de la implementación de pruebas zk, entonces, ¿cuáles son las condiciones para usar pruebas ZK para verificar los cálculos?
En primer lugar, debemos elegir una primitiva de prueba. La primitiva de prueba ideal tiene un bajo costo para generar pruebas, no requiere mucha memoria y es fácil de verificar.
Segundo, elija un circuito zk diseñado para generar computacionalmente pruebas de las primitivas anteriores
Finalmente, en un sistema/red de cómputo, la función dada se calcula en la entrada proporcionada y se da la salida.
Dilema del desarrollador - Demostrar el dilema de la eficiencia
Otra cosa que tengo que decir es que el umbral para construir circuitos todavía es muy alto. No es fácil para los desarrolladores aprender Solidity. Ahora se requiere que los desarrolladores aprendan Circom para construir circuitos, o aprender un lenguaje de programación específico (como Cairo) construir zk-apps parece una perspectiva lejana.
Como muestran las estadísticas anteriores, **hacer que el entorno Web3 sea más adecuado para el desarrollo parece ser más sostenible que llevar a los desarrolladores a un nuevo entorno de desarrollo Web3. **
Si ZK es el futuro de Web3, y las aplicaciones Web3 deben construirse utilizando las habilidades de desarrollo existentes, entonces los circuitos ZK deben diseñarse de tal manera que admitan cálculos realizados por algoritmos escritos en lenguajes como Java o Rust para generar pruebas. .
Tales soluciones existen, y pienso en dos equipos: RiscZero y Lurk Labs. Ambos equipos comparten una visión muy similar de que permiten a los desarrolladores crear aplicaciones zk sin pasar por una curva de aprendizaje pronunciada.
Todavía es pronto para Lurk Labs, pero el equipo ha estado trabajando en este proyecto durante mucho tiempo. Se enfocan en generar Nova Proofs a través de circuitos de propósito general. Las pruebas Nova fueron propuestas por Abhiram Kothapalli de la Universidad Carnegie Mellon, 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 en la realización de cálculos verificables incrementales (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 una computación sin volver a calcular la computación completa desde cero. Las pruebas deben optimizarse para IVC cuando el tiempo de cálculo es largo y complejo.
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 suena a utopía, pero la prueba STARK también trae problemas: el costo de verificación es demasiado alto.
Las pruebas de Nova parecen ser adecuadas para cálculos repetidos (su esquema de plegado es rentable) y cálculos pequeños, lo que puede hacer que Lurk sea una buena solución para la verificación de inferencias de ML.
¿Quién es el ganador?
(Fuente: IOSG Ventures)
Algunos sistemas zk-SNARK requieren un proceso de configuración confiable durante la fase de configuración inicial, generando un conjunto inicial de parámetros. La suposición de confianza aquí es que las configuraciones confiables se realizan de manera honesta, sin ningún comportamiento malicioso ni manipulación. Si es atacado, podría conducir a la creación de pruebas inválidas.
Las pruebas STARK asumen la seguridad de las pruebas de bajo orden para verificar las propiedades de bajo orden de los polinomios. También asumen que las funciones hash se comportan como oráculos aleatorios.
La implementación adecuada de ambos sistemas también es una suposición de seguridad.
La red SMPC se basa en lo siguiente:
*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 correctamente el protocolo y no introducen errores o comportamientos maliciosos de forma intencionada.
Ciertos protocolos SMPC pueden requerir una fase de configuración confiable para generar parámetros cifrados o valores iniciales. La suposición de confianza aquí es que la configuración de confianza se aplica con honestidad.
Al igual que la red SMPC, el supuesto de seguridad sigue siendo el mismo, pero debido a la existencia de OTM (Off-The-Grid Multi-party Computation), no hay participantes "honestos pero curiosos".
OTM es un protocolo de computación de múltiples partes diseñado para proteger la privacidad de los participantes. Logra la protección de la privacidad al permitir que los participantes no revelen sus datos de entrada en el cálculo. Por lo tanto, no existirían participantes "honestos pero curiosos", ya que no podrían comunicarse con otros nodos en un intento de acceder a la información subyacente.
¿Hay un ganador claro? No lo sabemos. Pero cada método tiene sus propias ventajas. Si bien NMC parece una actualización obvia de SMPC, la red aún no está activa ni probada en batalla.
El beneficio de usar el cálculo verificable ZK es que es seguro y preserva la privacidad, pero no tiene un intercambio de secretos incorporado. La asimetría entre la generación de pruebas y la verificación lo convierte en un modelo ideal para el cómputo subcontratado verificable. Si el sistema usa cálculos puros a prueba de zk, la computadora (o un solo nodo) debe ser muy poderosa para realizar muchos cálculos. Para permitir compartir y balancear la carga mientras se preserva la privacidad, debe haber un intercambio secreto. En este caso, un sistema como SMPC o NMC se puede combinar con un generador zk como Lurk o RiscZero para crear una potente infraestructura informática externalizada verificable distribuida.
Esto se vuelve aún más importante hoy que las redes MPC/SMPC están centralizadas. El proveedor de MPC más grande en este momento es Sharemind, y una capa de verificación ZK encima podría resultar útil. El modelo económico de la red MPC descentralizada aún no ha funcionado. En teoría, el modo NMC es una actualización del sistema MPC, pero aún no hemos visto su éxito.
En la carrera por los esquemas de prueba 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 particular de cálculo y nadie se ajusta a todos los tipos de modelos. Hay muchos tipos de tareas computacionales, y también depende de las compensaciones que los desarrolladores hagan con cada sistema de prueba. El autor cree que tanto los sistemas basados en STARK como los sistemas basados en SNARK y sus futuras optimizaciones tienen un lugar en el futuro de ZK.
Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
Bajo el auge de la innovación de EVM, ¿quién es el ganador?
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 la aplicación básica en la cadena, la aplicación se bloqueará o el usuario se declarará en quiebra.
Esto dio origen a L2: OPRU presenta un recopilador para agrupar un montón de transacciones antes de comprometerse con la red principal. Esto no solo ayuda a la aplicación a asumir 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. Si bien las operaciones se han abaratado, aún utiliza el EVM nativo como capa de ejecución. Similar a ZK Rollups, Scroll y Polygon zkEVM usan o usarán circuitos zk basados en EVM, y se generará zk Proof en cada transacción o en un gran lote 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?
¿Qué son estas aplicaciones de alto rendimiento?
Lo primero que me viene a la mente son los juegos, los libros de pedidos en cadena, las redes sociales Web3, el aprendizaje automático, el modelado del genoma, etc. Todos estos son computacionalmente intensivos y costosos de ejecutar en L2. Otro problema de EVM es que la velocidad de cálculo y la eficiencia no son tan buenas como otros sistemas actuales, como SVM (Sealevel Virtual Machine).
Si bien el EVM L3 puede abaratar los cálculos, la estructura del EVM en sí puede no ser la mejor manera de realizar cálculos altos porque no puede calcular operaciones paralelas. Cada vez que se construye una nueva capa superior, para mantener el espíritu de descentralización, se necesita construir una nueva infraestructura (nueva red de nodos), que todavía requiere la misma cantidad de proveedores para expandirse, o un conjunto completamente nuevo de Nodos. Se requieren proveedores (individuales/corporativos) para proporcionar recursos, o ambos.
Por lo tanto, cada vez que se crea una solución más avanzada, la infraestructura existente debe actualizarse o debe construirse una nueva capa sobre ella. Para resolver este problema, necesitamos una infraestructura informática segura, descentralizada, sin confianza y de alto rendimiento poscuántica que pueda usar algoritmos cuánticos de manera real y eficiente para computar aplicaciones descentralizadas.
Alt-L1 como Solana, Sui y Aptos son capaces de ejecutarse en paralelo, pero debido al sentimiento del mercado, la falta de liquidez y la falta de desarrolladores en el mercado, no desafiarán a Ethereum. Por la falta de confianza, y el foso construido por Ethereum con efectos de red es un hito. Hasta el momento, el asesino ETH/EVM no existe. La pregunta aquí es, ¿por qué todo el cálculo debe estar en cadena? ¿Existe un sistema de ejecución igualmente desconfiado y descentralizado? Esto es lo que puede lograr el sistema DCompute.
La infraestructura de DCompute debe ser descentralizada, segura post-cuántica y sin confianza, no necesita o no debe ser tecnología blockchain/distribuida, pero es muy importante verificar los resultados de los cálculos, las transiciones de estado correctas y la confirmación final. Así es como funciona la cadena EVM: mientras se mantiene la seguridad y la inmutabilidad de la red, la informática descentralizada, confiable y segura se puede mover fuera de la cadena.
Lo que principalmente ignoramos aquí es el tema de la disponibilidad de datos. Esta publicación no deja de centrarse en la disponibilidad de datos, ya que soluciones como Celestia y EigenDA ya se están moviendo en esta dirección.
1: solo cómputo subcontratado
(来源:Modelos fuera de cadena y enfoques para cálculos fuera de cadena, Jacob Eberhardt y Jonathan Heiss)
2. Externalizar la informática y la disponibilidad de datos
(来源:Modelos fuera de cadena y enfoques para cálculos fuera de cadena, Jacob Eberhardt y Jonathan Heiss)
Cuando vimos el Tipo 1, los zk-rollups ya estaban haciendo esto, pero estaban limitados por el EVM o necesitaban enseñar a los desarrolladores un conjunto de instrucciones/lenguaje completamente nuevo. La solución ideal debe ser eficiente, efectiva (costo y recursos), descentralizada, privada y verificable. Las pruebas de ZK se pueden crear en servidores de 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 pruebas ZK.
El tipo 2 combina un modelo de computación fuera de la cadena con una capa de disponibilidad de datos que permanece separada, pero la computación aún debe verificarse en la cadena.
Echemos un vistazo a los diferentes modelos informáticos descentralizados disponibles en la actualidad que no son totalmente confiables y posiblemente completamente inseguros.
Cálculos alternativos
Mapa ecológico de la computación de subcontratación de Ethereum (Fuente: IOSG Ventures)
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 ciertos programas (llamados aplicaciones confiables) pueden acceder a él. Cuando estas aplicaciones de confianza 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 solo pueden acceder unos pocos amigos especiales. Los ejemplos más comunes de TEE son enclaves seguros, que existen en los dispositivos que usamos, como el chip T1 de Apple y el SGX de Intel, para ejecutar operaciones críticas dentro del dispositivo, como FaceID.
Dado que el TEE es un sistema aislado, el proceso de autenticación no puede verse comprometido debido a las suposiciones de confianza en la autenticación. Piense en ello como si tuviera una puerta de seguridad que cree que es segura porque Intel o Apple la construyeron, pero hay suficientes interruptores de seguridad en el mundo (incluidos los piratas informáticos y otras computadoras) que pueden violar esa puerta de seguridad. Los TEE no son "seguros poscuánticos", lo que significa que una computadora cuántica con recursos ilimitados puede violar la seguridad del TEE. A medida que las computadoras se vuelven rápidamente más poderosas, debemos construir sistemas informáticos a largo plazo y esquemas criptográficos teniendo en cuenta la seguridad poscuántica.
SMPC (Secure Multi-Party Computing) también es una solución informática muy conocida en la industria de la tecnología blockchain.El flujo de trabajo general en la red SMPC constará de las siguientes tres partes:
Paso 1: Convierta la entrada calculada en recursos compartidos y distribúyalos entre los nodos SMPC.
Paso 2: Realice el cálculo real, que generalmente involucra el intercambio de mensajes entre los nodos SMPC. Al final de este paso, cada nodo tendrá una parte del valor de salida calculado.
Paso 3: envíe el resultado compartido a uno o más nodos de resultados, que ejecutan LSS (algoritmo de recuperación de uso compartido secreto) para reconstruir el resultado 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 equipos originales (OEM) (nodos de trabajo), y luego hay una línea de ensamblaje que junta todos los componentes. para hacer el coche (dando como resultado el nodo).
Compartir secretos es importante para un modelo informático descentralizado que preserve la privacidad. Esto evita que una sola parte obtenga el "secreto" completo (la entrada en este caso) y produzca resultados erróneos de forma malintencionada. SMPC es probablemente uno de los sistemas descentralizados más fáciles y seguros. Si bien actualmente no existe un modelo completamente descentralizado, es lógicamente posible.
Los proveedores de MPC como Sharemind brindan infraestructura de MPC para computación, pero los proveedores aún están centralizados. ¿Cómo garantizar la privacidad, cómo garantizar que la red (o Sharemind) no sea maliciosa? Este es el origen de la prueba zk y el cálculo verificable zk.
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 a través de los resultados. Para hacer esto, usaron una primitiva criptográfica llamada One-Time Masking, que usa una serie de números aleatorios llamados factores de cegamiento para enmascarar un Secreto, similar al relleno de una sola vez. OTM tiene como objetivo 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.
La computación verificable ZK (ZK Verifiable Computation) es generar una prueba de conocimiento cero para un conjunto de entradas y una función, y probar que cualquier cálculo realizado por el sistema se realizará correctamente. Aunque el cálculo de verificación de ZK es nuevo, ya es una parte muy crítica de la hoja de ruta de expansión de la red Ethereum.
ZK demuestra que existen varias formas de implementación (como se muestra en la figura a continuación, según el resumen del documento "Off-Chaining_Models"):
Arriba tenemos una comprensión básica de la implementación de pruebas zk, entonces, ¿cuáles son las condiciones para usar pruebas ZK para verificar los cálculos?
Dilema del desarrollador - Demostrar el dilema de la eficiencia
Otra cosa que tengo que decir es que el umbral para construir circuitos todavía es muy alto. No es fácil para los desarrolladores aprender Solidity. Ahora se requiere que los desarrolladores aprendan Circom para construir circuitos, o aprender un lenguaje de programación específico (como Cairo) construir zk-apps parece una perspectiva lejana.
Como muestran las estadísticas anteriores, **hacer que el entorno Web3 sea más adecuado para el desarrollo parece ser más sostenible que llevar a los desarrolladores a un nuevo entorno de desarrollo Web3. **
Si ZK es el futuro de Web3, y las aplicaciones Web3 deben construirse utilizando las habilidades de desarrollo existentes, entonces los circuitos ZK deben diseñarse de tal manera que admitan cálculos realizados por algoritmos escritos en lenguajes como Java o Rust para generar pruebas. .
Tales soluciones existen, y pienso en dos equipos: RiscZero y Lurk Labs. Ambos equipos comparten una visión muy similar de que permiten a los desarrolladores crear aplicaciones zk sin pasar por una curva de aprendizaje pronunciada.
Todavía es pronto para Lurk Labs, pero el equipo ha estado trabajando en este proyecto durante mucho tiempo. Se enfocan en generar Nova Proofs a través de circuitos de propósito general. Las pruebas Nova fueron propuestas por Abhiram Kothapalli de la Universidad Carnegie Mellon, 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 en la realización de cálculos verificables incrementales (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 una computación sin volver a calcular la computación completa desde cero. Las pruebas deben optimizarse para IVC cuando el tiempo de cálculo es largo y complejo.
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 suena a utopía, pero la prueba STARK también trae problemas: el costo de verificación es demasiado alto.
Las pruebas de Nova parecen ser adecuadas para cálculos repetidos (su esquema de plegado es rentable) y cálculos pequeños, lo que puede hacer que Lurk sea una buena solución para la verificación de inferencias de ML.
¿Quién es el ganador?
(Fuente: IOSG Ventures)
Algunos sistemas zk-SNARK requieren un proceso de configuración confiable durante la fase de configuración inicial, generando un conjunto inicial de parámetros. La suposición de confianza aquí es que las configuraciones confiables se realizan de manera honesta, sin ningún comportamiento malicioso ni manipulación. Si es atacado, podría conducir a la creación de pruebas inválidas.
Las pruebas STARK asumen la seguridad de las pruebas de bajo orden para verificar las propiedades de bajo orden de los polinomios. También asumen que las funciones hash se comportan como oráculos aleatorios.
La implementación adecuada de ambos sistemas también es una suposición de seguridad.
La red SMPC se basa en lo siguiente:
*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 correctamente el protocolo y no introducen errores o comportamientos maliciosos de forma intencionada.
OTM es un protocolo de computación de múltiples partes diseñado para proteger la privacidad de los participantes. Logra la protección de la privacidad al permitir que los participantes no revelen sus datos de entrada en el cálculo. Por lo tanto, no existirían participantes "honestos pero curiosos", ya que no podrían comunicarse con otros nodos en un intento de acceder a la información subyacente.
¿Hay un ganador claro? No lo sabemos. Pero cada método tiene sus propias ventajas. Si bien NMC parece una actualización obvia de SMPC, la red aún no está activa ni probada en batalla.
El beneficio de usar el cálculo verificable ZK es que es seguro y preserva la privacidad, pero no tiene un intercambio de secretos incorporado. La asimetría entre la generación de pruebas y la verificación lo convierte en un modelo ideal para el cómputo subcontratado verificable. Si el sistema usa cálculos puros a prueba de zk, la computadora (o un solo nodo) debe ser muy poderosa para realizar muchos cálculos. Para permitir compartir y balancear la carga mientras se preserva la privacidad, debe haber un intercambio secreto. En este caso, un sistema como SMPC o NMC se puede combinar con un generador zk como Lurk o RiscZero para crear una potente infraestructura informática externalizada verificable distribuida.
Esto se vuelve aún más importante hoy que las redes MPC/SMPC están centralizadas. El proveedor de MPC más grande en este momento es Sharemind, y una capa de verificación ZK encima podría resultar útil. El modelo económico de la red MPC descentralizada aún no ha funcionado. En teoría, el modo NMC es una actualización del sistema MPC, pero aún no hemos visto su éxito.
En la carrera por los esquemas de prueba 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 particular de cálculo y nadie se ajusta a todos los tipos de modelos. Hay muchos tipos de tareas computacionales, y también depende de las compensaciones que los desarrolladores hagan con cada sistema de prueba. El autor cree que tanto los sistemas basados en STARK como los sistemas basados en SNARK y sus futuras optimizaciones tienen un lugar en el futuro de ZK.