Foresight Ventures | ¡Aceleración de nitrógeno! ¡Cómo el coprocesador ZK rompe las barreras de datos de contratos inteligentes

Principiante1/7/2024, 4:37:55 AM
Este artículo proporciona una visión general e interpretación del concepto, implementación técnica y aplicación del coprocesador ZK.

1. Introducción al concepto

En cuanto al concepto de coprocesador, un ejemplo muy simple y fácil de entender es la relación entre una computadora y una tarjeta gráfica. La CPU puede completar la mayoría de las tareas, pero una vez que se encuentra una tarea específica, la tarjeta gráfica necesita ayuda porque la CPU tiene una potencia de cálculo insuficiente, como el aprendizaje automático, la representación de gráficos o la ejecución de juegos a gran escala. Si no queremos perder cuadros o congelarnos al jugar juegos a gran escala, definitivamente necesitamos una tarjeta gráfica con buen rendimiento. En este escenario, la CPU es el procesador y la tarjeta gráfica es el coprocesador. Al mapear al blockchain, el contrato inteligente es la CPU y el coprocesador ZK es la GPU.

El punto clave es asignar tareas específicas a coprocesadores específicos. Al igual que en una fábrica, el jefe conoce los pasos de cada eslabón y puede hacerlo él mismo o enseñar a los empleados todo el proceso de producción, pero esto es muy ineficiente y solo puede producir una pieza a la vez, y solo después de que una esté terminada puede producir la siguiente, por lo que contrató a muchos empleados específicos. Cada uno desempeña sus funciones y realiza el trabajo que mejor sabe hacer en la cadena de producción en sus propios talleres. Los eslabones de la cadena pueden interactuar entre sí. Comunicarse y coordinar pero no interferir en el trabajo de los demás. Solo hacen lo que mejor saben hacer. Aquellos con manos rápidas y fuerza física pueden atornillar. Quienes saben cómo operar máquinas pueden manejar las máquinas. Quienes saben contabilidad pueden calcular el volumen de producción y los costos. Trabajo de colaboración asincrónica para maximizar la eficiencia laboral.

Durante la Revolución Industrial, los capitalistas ya habían descubierto que este modelo podía llevar la capacidad de producción máxima a sus fábricas. Sin embargo, cuando un paso en el proceso de producción se encuentra con barreras debido a la tecnología u otras razones, otros factores pueden necesitar ser externalizados. Los fabricantes especializados lo hacen. Por ejemplo, para una empresa que produce teléfonos móviles, los chips pueden ser producidos por otras empresas especializadas en chips. La empresa de teléfonos móviles es el procesador central, y la empresa de chips es el coprocesador. Los coprocesadores pueden manejar fácil y asincrónicamente tareas específicas que son demasiado difíciles y engorrosas para que el procesador central las maneje por sí solo.

El coprocesador ZK es relativamente amplio en un sentido amplio. Algunos proyectos lo llaman su propio coprocesador, y algunos lo llaman ZKVM, pero todos tienen la misma idea: permitir a los desarrolladores de contratos inteligentes demostrar sin estado cálculos fuera de la cadena sobre datos existentes. En pocas palabras, algunos trabajos de cálculo en cadena se realizan fuera de la cadena para reducir costos y aumentar la eficiencia. Al mismo tiempo, ZK se utiliza para garantizar la fiabilidad de los cálculos y proteger la privacidad de datos específicos. En el mundo de la blockchain impulsada por datos, esto es especialmente importante.

2. ¿Por qué necesitamos el coprocesador ZK?

Uno de los mayores cuellos de botella que enfrentan los desarrolladores de contratos inteligentes sigue siendo los altos costos asociados con la computación en cadena. Dado que el Gas debe medirse para cada operación, el costo de la lógica de aplicación compleja rápidamente se volverá demasiado alto para ser ejecutado, porque aunque los nodos de archivo en la capa DA de la cadena de bloques pueden almacenar datos históricos, esta es la razón por la que aplicaciones de análisis fuera de la cadena como Analytics, Nansen, 0xscope y Etherscan pueden tener tanta información de la cadena de bloques y pueden retroceder en el tiempo, pero no es sencillo que los contratos inteligentes accedan a todos estos datos. Solo pueden acceder fácilmente a los datos almacenados en el estado de la máquina virtual, los datos del último bloque y otros datos públicos de contratos inteligentes. Para obtener más datos, los contratos inteligentes pueden tener que esforzarse mucho para acceder:

Los contratos inteligentes en la Máquina Virtual Ethereum (EVM) tienen acceso a los hashes de encabezado de bloque de los 256 bloques más recientes. Estos encabezados de bloque contienen toda la información de actividad en la cadena de bloques hasta el bloque actual y se comprimen en un valor de hash de 32 bytes utilizando el árbol de Merkle y el algoritmo de hash Keccak.

Aunque los datos estén empaquetados en hash, se pueden descomprimir, simplemente no es fácil. Por ejemplo, si deseas aprovechar el encabezado del bloque más reciente para acceder de forma segura a datos específicos en el bloque anterior, esto implica una serie compleja de pasos. Primero, necesitas obtener los datos fuera de la cadena desde el nodo de archivo, y luego construir un árbol de Merkle y una prueba de validez del bloque para verificar la autenticidad de los datos en la cadena de bloques. Posteriormente, el EVM procesará estas pruebas de validez, las verificará y las explicará. Esta operación no solo es engorrosa sino que también lleva mucho tiempo, y el gas también es particularmente costoso.

La razón fundamental de este desafío es que las máquinas virtuales blockchain (como EVM) no son adecuadas para manejar grandes cantidades de datos y tareas de computación intensiva, como el trabajo de descompresión mencionado anteriormente. El enfoque de diseño de EVM es ejecutar código de contrato inteligente mientras se garantiza la seguridad y descentralización, en lugar de procesar datos a gran escala o realizar tareas de computación complejas. Por lo tanto, cuando se trata de tareas que requieren grandes cantidades de recursos informáticos, a menudo es necesario encontrar otras soluciones, como utilizar la computación fuera de la cadena u otras tecnologías de escalado. En este momento, emerge el coprocesador ZK.

Los rollups de ZK son en realidad los primeros coprocesadores de ZK, que admiten el mismo tipo de cálculos utilizados en L1 a una escala y cantidad mayor. Este procesador está a nivel de protocolo, y el coprocesador de ZK del que estamos hablando ahora está a nivel de dapp. El coprocesador de ZK mejora la escalabilidad de contratos inteligentes al permitir que los contratos inteligentes deleguen de manera confiable el acceso a datos en cadena históricos y la computación mediante pruebas de ZK. En lugar de realizar todas las operaciones en el EVM, los desarrolladores pueden transferir operaciones costosas al coprocesador de ZK y simplemente utilizar los resultados en cadena. Esto proporciona una nueva forma para que los contratos inteligentes escalen al desacoplar el acceso a datos y la computación del consenso de la cadena de bloques.

El coprocesador ZK introduce un nuevo patrón de diseño para aplicaciones en cadena, eliminando la restricción de que los cálculos deben completarse en la máquina virtual de la cadena de bloques. Esto permite que las aplicaciones accedan a más datos y operen a una escala mayor que antes, al mismo tiempo que controlan los costos de gas, aumentando la escalabilidad y eficiencia de los contratos inteligentes sin comprometer la descentralización y la seguridad.

3. Implementación técnica

Esta parte utilizará la arquitectura Axiom para explicar cómo el coprocesador zk resuelve el problema técnicamente. De hecho, hay dos núcleos: captura de datos y cálculo. En estos dos procesos, ZK garantiza eficiencia y privacidad al mismo tiempo.

3.1 Captura de datos

Uno de los aspectos más importantes de realizar cálculos en el coprocesador ZK es asegurar que todos los datos de entrada se accedan correctamente desde la historia de la cadena de bloques. Como se mencionó anteriormente, esto es en realidad bastante difícil porque los contratos inteligentes solo pueden acceder al estado actual de la cadena de bloques en su código, e incluso este acceso es la parte más costosa de la computación en cadena. Esto significa que los datos históricos en cadena como registros de transacciones o saldos anteriores (entradas interesantes en cadena en cálculos) no pueden ser utilizados de forma nativa por los contratos inteligentes para verificar los resultados del coprocesador.

El coprocesador ZK resuelve este problema de tres formas diferentes, equilibrando costos, seguridad y facilidad de desarrollo:

  1. Almacene datos adicionales en el estado de la cadena de bloques y utilice el EVM para almacenar todos los datos utilizados en la cadena por el coprocesador de verificación de lectura. Este enfoque es bastante costoso y prohibitivo en costos para grandes cantidades de datos.
  2. Confíe en un Oráculo o en una red de signatarios para verificar los datos de entrada al coprocesador. Esto requiere que los usuarios del coprocesador confíen en el Oráculo o en el proveedor de firma múltiple, lo que reduce la seguridad.
  3. Utilice pruebas de conocimiento cero (ZK proofs) para verificar si algún dato en cadena utilizado en el coprocesador ha sido comprometido en la historia de la cadena de bloques. Cada bloque en la cadena de bloques compromete todos los bloques anteriores y, por lo tanto, todos los datos históricos, brindando garantías criptográficas de validez de datos y no requiriendo suposiciones adicionales de confianza por parte del usuario.

3.2 Cálculo

Realizar cálculos fuera de la cadena en un coprocesador ZK requiere convertir programas de computadora tradicionales en circuitos ZK. Actualmente, todos los métodos para lograr esto tienen un gran impacto en el rendimiento, con pruebas ZK que van desde 10,000 a 1,000,000 en sobrecarga en comparación con la ejecución del programa nativo. Por otro lado, el modelo computacional de los circuitos ZK difiere de las arquitecturas informáticas estándar (por ejemplo, actualmente todas las variables deben ser codificadas módulo un primo criptográfico grande, y la implementación puede ser no determinista), lo que significa que a los desarrolladores les resulta difícil escribirlos directamente.

Por lo tanto, los tres enfoques principales para especificar cálculos en coprocesadores ZK son principalmente compensaciones entre rendimiento, flexibilidad y facilidad de desarrollo:

  1. Circuitos personalizados: Los desarrolladores escriben sus propios circuitos para cada aplicación. Este enfoque tiene el mayor potencial de rendimiento, pero requiere un esfuerzo significativo por parte del desarrollador.
  2. eDSL/DSL para circuitos: Los desarrolladores escriben circuitos para cada aplicación, pero abstraen los problemas específicos de ZK en un marco de opinión (similar a usar PyTorch para redes neuronales). Pero el rendimiento es ligeramente inferior.
  3. Los desarrolladores de zkVM escriben circuitos en máquinas virtuales existentes y verifican su ejecución en ZK. Esto proporciona la experiencia más sencilla para los desarrolladores cuando usan máquinas virtuales existentes, pero da como resultado un menor rendimiento y flexibilidad debido a los diferentes modelos de proceso entre las máquinas virtuales y ZK.

4. Aplicación

El coprocesador ZK tiene una amplia gama de aplicaciones. El coprocesador ZK puede teóricamente cubrir todos los escenarios de aplicación que Dapp puede cubrir. Siempre que sea una tarea relacionada con datos y computación, el coprocesador ZK puede reducir costos, aumentar la eficiencia y proteger la privacidad. Lo siguiente comenzará desde diferentes enfoques y explorará lo que el procesador ZK puede hacer en la capa de aplicación.

4.1 Defi

4.1.1 DEX

Toma el gancho en Uniswap V4 como ejemplo:

Hook permite a los desarrolladores realizar operaciones especificadas en cualquier punto clave en todo el ciclo de vida del pool de liquidez, como antes o después de negociar tokens, o antes o después de cambios en la posición LP, pools de liquidez personalizados, intercambios, tarifas Cómo interactuar con las posiciones LP, por ejemplo:

  • Promedio Ponderado por Tiempo del Market Maker (TWAMM);
  • tarifas dinámicas basadas en la volatilidad u otros inputs;
  • Orden de límite de precio de cadena;
  • Deposite liquidez fuera del alcance en protocolos de préstamo;
  • Oráculos personalizados en cadena, como oráculos de media geométrica;
  • Compuesto automáticamente las tarifas de LP a las posiciones de LP;
  • Los beneficios de MEV de Uniswap se distribuyen a LP;
  • Programa de descuento por lealtad para LPs o traders;

Simplemente, es un mecanismo que permite a los desarrolladores capturar datos históricos en cualquier cadena y utilizarlos para personalizar el pool en Uniswap según sus propias ideas. La llegada de Hook aporta más capacidad de composición y mayor eficiencia a las transacciones en la cadena. eficiencia de capital. Sin embargo, una vez que la lógica de código que define esto se vuelve complicada, supondrá una gran carga de gas para los usuarios y desarrolladores. En ese momento, zkcoprocessor resulta útil, ya que puede ayudar a ahorrar estos costos de gas y mejorar la eficiencia.

Desde una perspectiva a más largo plazo, el coprocesador ZK acelerará la integración de DEX y CEX. Desde 2022, hemos visto que DEX y CEX se han vuelto funcionalmente consistentes. Todos los principales CEXs están aceptando esta realidad y adoptando billeteras Web3, construyendo EVM L2 y adoptando infraestructuras existentes como la Red Lightning o el código abierto para abrazar el intercambio de liquidez en cadena. Este fenómeno es inseparable del impulso del coprocesador ZK. Todas las funciones que un CEX puede lograr, ya sea el trading en cuadrícula, el seguimiento, el préstamo rápido o el uso de datos de usuario, DEX también se pueden implementar a través del coprocesador ZK, y la componibilidad y libertad de Defi, así como las transacciones de monedas pequeñas en la cadena, son difíciles de lograr con los CEX tradicionales. Al mismo tiempo, la tecnología ZK también puede proteger la privacidad del usuario durante la ejecución.

4.1.2 Airdrop

Si algunos proyectos desean realizar airdrops, necesitan un contrato inteligente para consultar las actividades históricas de la dirección, pero no desean exponer la información de la dirección del usuario y ejecutarlo sin introducir una prueba de confianza adicional. Por ejemplo, un proyecto que realiza préstamos Defi desea, a través de la interacción entre la dirección y una serie de protocolos de préstamos como Aave, Compound, Fraxlend y Spark como estándar para airdrops, la captura de datos históricos y las características de privacidad del coprocesador ZK pueden resolver fácilmente esta necesidad.

4.2 ZKML

Otro punto emocionante del coprocesador ZK está en el área de aprendizaje automático. Dado que los contratos inteligentes pueden tener capacidades de computación fuera de la cadena, será posible realizar aprendizaje automático de alta eficiencia en la cadena. De hecho, el coprocesador ZK también es una parte indispensable para la entrada y cálculo de datos ZKML. Puede extraer la entrada necesaria para el aprendizaje automático de los datos históricos en cadena/fuera de cadena importados en el contrato inteligente, y luego escribir el cálculo en un circuito ZK y lanzarlo en la cadena.

4.3 KYC

KYC es un gran negocio, y ahora el mundo web3 está abrazando gradualmente el cumplimiento. Con el coprocesador ZK, es posible hacer una prueba verificable de contrato inteligente al capturar cualquier dato off-chain proporcionado por el usuario sin la necesidad de exponer ninguna información innecesaria de los usuarios, de hecho, algunos proyectos se están implementando, como el gancho KYC de Uniswap, que utiliza el coprocesador ZK Pado para capturar datos off-chain sin confianza. Prueba de activos, prueba de calificaciones académicas, prueba de viajes, prueba de conducción, prueba de aplicación de la ley, prueba de jugadores, prueba de transacciones... Todos los comportamientos históricos en y fuera de la cadena incluso se pueden empaquetar en una identidad completa, y se pueden escribir con una credibilidad sólida. ZK demuestra que está en la cadena mientras protege la privacidad del usuario.

4.4 Social

La atributo especulativo de Friend.tech es en realidad más fuerte que el atributo social. El núcleo radica en su curva de vinculación. ¿Es posible agregar un gancho a la curva de vinculación de friend.tech para que los usuarios puedan personalizar la dirección de la curva de vinculación, como implementar Después de que termine la locura por las claves de comercio y los especuladores se vayan, la curva de vinculación se suavizará, la barrera de entrada para los verdaderos fanáticos se reducirá y el tráfico real de dominio privado crecerá. O permita que el contrato inteligente obtenga el gráfico social del usuario en cadena/fuera de cadena, y pueda seguir a tus amigos en diferentes Dapps sociales con un clic. O puede establecer un club privado en la cadena, como el club Degen, y solo las direcciones que cumplan con las condiciones históricas de consumo de Gas pueden ingresar, etc.

4.5 Gaming

En los juegos tradicionales de Web2, los datos de usuario son un parámetro muy importante. El comportamiento de compra, el estilo de juego y la contribución pueden hacer que el juego se opere mejor y brinde una mejor experiencia de usuario, como el mecanismo de emparejamiento ELO en los juegos MOBA. La frecuencia de compra de skins, etc., pero estos datos son difíciles de capturar por contratos inteligentes en la cadena de bloques, por lo que solo pueden ser reemplazados con soluciones centralizadas o simplemente abandonados. Sin embargo, la aparición del coprocesador ZK hace posibles soluciones descentralizadas.

5. Proyecto de Fiesta

Ya hay algunos jugadores destacados en esta pista. Las ideas son realmente similares. Generan prueba ZK a través de prueba de almacenamiento o consenso y luego la ponen en la cadena. Sin embargo, cada uno tiene sus propias ventajas en características técnicas y funciones implementadas.

5.1 Axioma

Axiom, el líder en coprocesadores ZK (de conocimiento cero), se centra en que los contratos inteligentes puedan acceder a toda la historia de Ethereum y a cualquier cálculo de verificación ZK sin confianza. Los desarrolladores pueden enviar consultas en cadena a Axiom, que luego las procesa a través de verificaciones ZK y devuelve los resultados al contrato inteligente del desarrollador de manera sin confianza. Esto permite a los desarrolladores construir aplicaciones en cadena más ricas sin depender de suposiciones de confianza adicionales.

Para implementar estas consultas, Axiom realiza los siguientes tres pasos:

  1. leer: Axiom utiliza pruebas de conocimiento cero para leer datos de forma confiable de encabezados de bloques, estado, transacciones y recibos de bloques históricos de Ethereum. Dado que todos los datos on-chain de Ethereum están codificados en estos formatos, Axiom puede acceder a todo lo que los nodos de archivo pueden acceder. Axiom verifica todos los datos de entrada al coprocesador ZK a través de pruebas de ZK de triples de Merkle-Patricia y cadenas de hash de encabezados de bloques. Si bien este enfoque es más difícil de desarrollar, proporciona la mejor seguridad y costo para los usuarios finales porque garantiza que todos los resultados devueltos por Axiom son criptográficamente equivalentes a los cálculos on-chain realizados en el EVM.
  2. calcular: Después de que los datos son ingeridos, Axiom aplica cálculos probados sobre ellos. Los desarrolladores pueden especificar su lógica de cálculo en el front-end de JavaScript, y la validez de cada cálculo se verifica en la prueba ZK. Los desarrolladores pueden visitar AxiomREPL o ver la documentación para aprender sobre las primitivas de computación disponibles. Axiom permite a los usuarios acceder a datos en cadena y especificar sus propios cálculos a través de eDSL. También permite a los usuarios escribir sus propios circuitos utilizando la biblioteca de circuitos ZK.
  3. verificar: Axiom proporciona pruebas de validez ZK para cada resultado de consulta. Estas pruebas aseguran que (1) los datos de entrada se extrajeron correctamente de la cadena y (2) los cálculos se aplicaron correctamente. Estas pruebas ZK se verifican en la cadena en los contratos inteligentes de Axiom, asegurando que los resultados finales se utilicen de manera confiable en los contratos inteligentes de los usuarios.

Porque los resultados son verificados a través de pruebas ZK, los resultados de Axiom son criptográficamente tan seguros como los resultados de Ethereum. Este enfoque no hace suposiciones sobre criptoeconomía, incentivos o teoría de juegos. Axiom cree que este enfoque proporcionará el más alto nivel de seguridad posible para las aplicaciones de contratos inteligentes. El equipo de Axiom trabajó en estrecha colaboración con la Fundación Uniswap y obtuvo Subvenciones de Uniswap, y construirá un oráculo sin confianza en Uniswap.

5.2 Cero Riesgo

Bonsai: En 2023, RISC Zero lanzó Bonsai, un servicio de prueba que permite que las aplicaciones tanto en cadena como fuera de ella soliciten y reciban pruebas zkVM. Bonsai es un servicio universal de prueba de conocimiento cero que permite a cualquier cadena, cualquier protocolo y cualquier aplicación utilizar pruebas de ZK. Es altamente paralelizable, programable y de alto rendimiento.

Bonsai te permite integrar pruebas de conocimiento cero directamente en cualquier contrato inteligente, sin necesidad de circuitos personalizados. Esto permite que ZK se integre directamente en aplicaciones descentralizadas en cualquier cadena EVM, con el potencial de soportar cualquier otro ecosistema.

zkVM es la base de Bonsai y admite una amplia compatibilidad con el lenguaje, respaldando código Rust comprobable y potencialmente código comprobable de conocimiento cero en cualquier lenguaje compilado a RISC-V (como C++, Rust, Go, etc.). A través de pruebas recursivas, compiladores de circuitos personalizados, continuación de estado y mejoras continuas en los algoritmos de prueba, Bonsai permite a cualquier persona generar pruebas ZK de alto rendimiento para una variedad de aplicaciones.

RISC Zero zkVM: RISC Zero zkVM, lanzado por primera vez en abril de 2022, puede demostrar la ejecución correcta de código arbitrario, lo que permite a los desarrolladores construir aplicaciones ZK en lenguajes maduros como Rust y C++. Este lanzamiento representa un gran avance en el desarrollo de software ZK: zkVM hace posible construir aplicaciones ZK sin necesidad de construir circuitos y utilizar lenguajes personalizados.

Al permitir a los desarrolladores utilizar Rust y aprovechar la madurez del ecosistema de Rust, zkVM permite a los desarrolladores construir rápidamente aplicaciones ZK significativas sin necesidad de tener conocimientos avanzados en matemáticas o criptografía.

Estas aplicaciones incluyen:

  • JSON: Demuestre el contenido de una entrada en un archivo JSON manteniendo privados otros datos.
  • ¿Dónde está Wally: Demuestra que Wally está presente en el archivo JPG manteniendo privadas otras partes de la imagen.
  • ZK Checkmate: Demuestra que viste un movimiento para jaque mate sin revelar el movimiento ganador.
  • Prueba ZK de Experto: Prueba de que puedes explotar una cuenta de Ethereum sin revelar la vulnerabilidad.
  • Verificación de firma ECDSA: Demuestra la validez de la firma ECDSA.

Estos ejemplos se implementan aprovechando un ecosistema de software maduro: la mayoría de los kits de herramientas de Rust están disponibles de serie en Risc Zero zkVM. Ser compatible con Rust es un cambio de juego para el mundo del software ZK: proyectos que podrían llevar meses o años construir en otras plataformas pueden resolverse fácilmente en la plataforma de RISC Zero.

Además de ser más fácil de construir, RISC Zero también cumple con el rendimiento. zkVM cuenta con aceleración de GPU de CUDA y Metal, y realiza la prueba paralela de programas grandes a través de la continuación.

Anteriormente, Risc Zero recibió US$40 millones en financiamiento de la Serie A de Galaxy Digital, IOSG, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, Algaé Ventures, IOBC y otras instituciones.

5.3 Brevis

Brevis, una subsidiaria de Celer Network, se centra en capturar datos históricos multi-cadena. Le brinda a los contratos inteligentes la capacidad de leer sus datos históricos completos desde cualquier cadena y realizar cálculos personalizados completos sin confianza. Actualmente, principalmente admite Ethereum POS, Comos Tendermint y BSC.

Interfaz de la aplicación: El sistema actual de Brevis admite pruebas ZK eficientes y concisas, proporcionando la siguiente información de cadena de origen probada por ZK para contratos de aplicaciones descentralizadas (dApp) conectadas a la cadena de bloques:

  1. El hash del bloque y los estados asociados, transacciones y raíces de recibos de cualquier bloque en la cadena fuente.
  2. Valor de la ranura y metadatos relacionados para cualquier bloque específico, contrato, ranura en la cadena de origen.
  3. Recibos de transacción y metadatos relacionados para cualquier transacción en la cadena de origen.
  4. Entradas de transacción y metadatos relacionados para cualquier transacción en la cadena de origen.
  5. Cualquier mensaje enviado por cualquier entidad en la cadena de origen a cualquier entidad en la cadena de destino.

Visión general de la arquitectura: La arquitectura de Brevis consta de tres partes principales:

  1. red de repetidores: Sincroniza encabezados de bloques e información en cadena de diferentes blockchains y los reenvía a la red de validadores para generar pruebas de validez. Luego envía la información verificada y sus pruebas asociadas al blockchain conectado.
  2. red de probadores: Implementar circuitos para cada protocolo de cliente ligero de la cadena de bloques, actualizaciones de bloques y generar pruebas de los valores de ranura solicitados, transacciones, recibos y lógica de aplicación integrada. Para minimizar el tiempo de prueba, el costo y los costos de verificación en cadena, una red de probadores puede agregar pruebas distribuidas generadas simultáneamente. Además, puede aprovechar aceleradores como GPUs, FPGAs y ASICs para mejorar la eficiencia.
  3. Conectando contratos de validadores en la cadena de bloques: Recibir datos verificados por zk y pruebas relacionadas generadas por la red de validadores, y luego devolver la información verificada al contrato de la dApp.

Esta arquitectura integrada permite a Brevis garantizar alta eficiencia y seguridad al proporcionar datos y computación entre cadenas, permitiendo a los desarrolladores de dApp aprovechar completamente el potencial del blockchain. Con esta arquitectura modular, Brevis puede proporcionar acceso a datos y capacidades de computación completamente descentralizados, flexibles y eficientes para contratos inteligentes on-chain en todas las cadenas admitidas. Esto proporciona un paradigma completamente nuevo para el desarrollo de dApp. Brevis tiene una amplia gama de casos de uso como DeFi impulsado por datos, zKBridges, adquisición de usuarios on-chain, zkDID, abstracción de cuentas sociales, etc., aumentando la interoperabilidad de datos.

5.4 Langrange

Langrange y Brevis tienen una visión similar, con el objetivo de mejorar la interoperabilidad entre múltiples cadenas a través de ZK Big Data Stack, que puede crear pruebas de estado universales en todas las blockchains principales. Al integrarse con el protocolo Langrange, las aplicaciones pueden enviar pruebas agregadas de estado de múltiples cadenas, que luego pueden ser verificadas de forma no interactiva por contratos en otras cadenas.

A diferencia de los protocolos tradicionales de puentes y mensajería, el protocolo Langrange no depende de un grupo específico de nodos para entregar información. En su lugar, aprovecha la criptografía para coordinar pruebas de estado entre cadenas en tiempo real, incluidas aquellas presentadas por usuarios no confiables. Bajo este mecanismo, incluso si la fuente de la información no es confiable, la aplicación de la tecnología de cifrado asegura la validez y seguridad del certificado.

El protocolo Langrange inicialmente será compatible con todos los rollups L1 y L2 compatibles con EVM. Además, Langrange también planea admitir cadenas no compatibles con EVM en un futuro cercano, incluyendo pero no limitado a Solana, Sui, Aptos y cadenas públicas populares basadas en Cosmos SDK.

La diferencia entre el protocolo de Langrange y los protocolos tradicionales de puenteo y mensajería:

Los protocolos tradicionales de puenteo y mensajería se utilizan principalmente para transferir activos o mensajes entre un par específico de cadenas. Estos protocolos normalmente dependen de un conjunto de nodos intermedios para confirmar el encabezado del último bloque de la cadena fuente en la cadena de destino. Este modo está principalmente optimizado para relaciones de cadena única a cadena única, basado en el estado actual de las dos cadenas. En contraste, el protocolo Langrange proporciona un método más general y flexible de interacción entre cadenas, lo que permite que las aplicaciones interactúen en un ecosistema blockchain más amplio en lugar de estar limitadas a una relación de cadena a cadena.

El protocolo Langrange optimiza específicamente el mecanismo para probar el estado de los contratos entre cadenas, en lugar de solo la transmisión de información o activos. Esta característica permite que el protocolo Langrange maneje de manera eficiente análisis complejos que involucran estados contractuales actuales e históricos, que pueden abarcar múltiples cadenas. Esta capacidad permite a Langrange admitir una serie de escenarios complejos de aplicación entre cadenas, como el cálculo de la media móvil de los precios de los activos en los exchanges descentralizados (DEX) multicadena, o el análisis de la volatilidad de los tipos de interés del mercado monetario en múltiples cadenas diferentes.

Por lo tanto, las pruebas del estado de Langrange pueden ser vistas como optimizaciones para las relaciones de cadena de muchos a uno (n a 1). En esta relación entre cadenas, una aplicación descentralizada (DApp) en una cadena depende de la agregación de datos de estado en tiempo real e históricos de múltiples otras cadenas (n). Esta característica amplía enormemente la funcionalidad y eficiencia de las DApps, permitiéndoles agregar y analizar datos de múltiples blockchains diferentes para proporcionar perspectivas más profundas y completas. Este método es significativamente diferente de la relación tradicional de una sola cadena o de una a una cadena, y proporciona un alcance de aplicación y potencial más amplio para las aplicaciones blockchain.

Langrange ha recibido previamente inversiones de 1kx, Maven11, Lattice, CMT Digital y gumi crypto.

5.5 Heródoto

Herodoto está diseñado para proporcionar contratos inteligentes con acceso sincrónico a datos en cadena desde otras capas de Ethereum. Creen que la prueba de almacenamiento puede unificar el estado de múltiples rollups e incluso permitir lecturas síncronas entre las capas de Ethereum. En pocas palabras, se trata de la captura de datos entre la cadena principal de EVM y el rollup. Actualmente es compatible con la red principal de ETH, Starknet, Zksync, OP, Arbitrum y Polygon.

La Prueba de Almacenamiento según la definición de Heródoto es una prueba compuesta que se puede usar para verificar la validez de uno o más elementos en un conjunto de datos grande, como los datos en toda la cadena de bloques de Ethereum.

El proceso de generación de prueba de almacenamiento se divide aproximadamente en tres pasos:

Paso 1: Obtener el acumulador de almacenamiento de cabecera de bloque de compromisos verificables

  • Este paso es obtener un "compromiso" que podemos verificar. Si el acumulador aún no contiene el último encabezado de bloque que necesitamos probar, primero necesitamos probar la continuidad de la cadena para asegurarnos de que cubrimos el rango de bloques que contienen nuestros datos objetivo. Por ejemplo, si los datos que queremos probar están en el bloque 1,000,001, y el contrato inteligente almacenado en el encabezado del bloque solo cubre el bloque 1,000,000, entonces necesitamos actualizar el almacenamiento del encabezado.
  • Si el bloque objetivo ya está en el acumulador, puedes proceder directamente al siguiente paso.

Paso 2: Demostrar la existencia de una cuenta específica

  • Este paso requiere generar una prueba de inclusión del Trie de Estado que consiste en todas las cuentas en la red de Ethereum. La raíz del estado es una parte importante para derivar el hash de compromiso del bloque y también es parte del almacenamiento del encabezado. Es importante tener en cuenta que el hash del encabezado del bloque en el acumulador puede diferir del hash real del bloque porque se puede haber utilizado un método de hash diferente por eficiencia.

Paso 3: Demostrar datos específicos en el árbol de cuentas

  • En este paso, se pueden generar pruebas de inclusión para datos como nonces, balances, raíces de almacenamiento o codeHash. Cada cuenta de Ethereum tiene un triplete de almacenamiento (Merkle Patricia Tree), que se utiliza para guardar los datos de almacenamiento de la cuenta. Si los datos que queremos probar están en el almacén de cuentas, debemos generar pruebas de inclusión adicionales para los puntos de datos específicos de ese almacén.

Después de generar todas las pruebas de inclusión necesarias y las pruebas computacionales, se forma una prueba de almacenamiento completa. Esta prueba se envía a la cadena, donde se verifica contra una única confirmación inicial (como un bloquehash) o la raíz MMR almacenada en el encabezado. Este proceso garantiza la autenticidad y la integridad de los datos, al tiempo que mantiene la eficiencia del sistema.

Herodoto ya cuenta con el respaldo de Geometry, Fabric Ventures, Lambda Class y Starkware.

5.6 HyperOracle

Hyper Oracle está específicamente diseñado para oráculos programables de conocimiento cero para mantener segura y descentralizada la cadena de bloques. A través de su estándar zkGraph, Hyper Oracle hace que los datos en cadena y los cálculos equivalentes en cadena sean prácticos, verificables y con una finalidad rápida. Proporciona a los desarrolladores una forma completamente nueva de interactuar con la cadena de bloques.

El nodo zkOracle de Hyper Oracle está principalmente compuesto por dos componentes: zkPoS y zkWASM.

  1. zkPoS: Este componente es responsable de obtener el encabezado del bloque y la raíz de datos de la cadena de bloques de Ethereum a través de una prueba de conocimiento cero (zk) para garantizar la corrección del consenso de Ethereum. zkPoS también actúa como un circuito externo para zkWASM.
  2. zkWASM: Utiliza datos obtenidos de zkPoS como entrada clave para ejecutar zkGraphs. zkWASM es responsable de ejecutar mapas de datos personalizados definidos por zkGraphs y generar pruebas de conocimiento cero para estas operaciones. Los operadores de nodos zkOracle pueden seleccionar la cantidad de zkGraphs que desean ejecutar, que puede ser desde uno hasta todos los zkGraphs desplegados. El proceso de generación de pruebas zk puede delegarse a una red distribuida de probadores.

La salida de zkOracle son datos fuera de la cadena, y los desarrolladores pueden usar estos datos a través del estándar zkGraph de Hyper Oracle. Los datos también vienen con certificados zk para verificar la validez de los datos y los cálculos.

Para mantener la seguridad de la red, la red Hyper Oracle requiere solo un nodo zkOracle. Sin embargo, pueden existir múltiples nodos zkOracle en la red, operando contra zkPoS y cada zkGraph. Esto permite que las pruebas zk se generen en paralelo, mejorando significativamente el rendimiento. En general, Hyper Oracle proporciona a los desarrolladores una plataforma de interacción blockchain eficiente y segura al combinar tecnología zk avanzada y arquitectura de nodos flexible.

En enero de 2023, Hyper Oracle anunció que había recibido US$3 millones en financiación de la ronda de pre-semilla en la que participaron conjuntamente Dao5, Sequoia China, Foresight Ventures y FutureMoney Group.

5.7 Ruta

Pado es una existencia especial entre los coprocesadores ZK. Otros coprocesadores se centran en capturar datos en cadena, mientras que Pado proporciona un camino para capturar datos fuera de cadena, con el objetivo de llevar todos los datos de Internet a los contratos inteligentes. Reemplaza la función del oráculo en cierta medida, al tiempo que garantiza la privacidad y elimina la necesidad de confiar en fuentes de datos externas.

5.8 Comparación entre el coprocesador ZK y la máquina oráculo

  • Latencia: El oráculo es asíncrono, por lo que la latencia al acceder a datos planos es más larga en comparación con el coprocesador ZK.
  • Costo: Si bien muchos oráculos no requieren pruebas computacionales y, por lo tanto, son menos costosos, son menos seguros. Almacenar pruebas es más caro, pero más seguro.
  • Seguridad: La máxima seguridad de la transmisión de datos está limitada por el nivel de seguridad del propio oráculo. En contraste, el coprocesador ZK coincide con la seguridad de la cadena. Además, los oráculos son vulnerables a los ataques de manipulación debido al uso de pruebas fuera de la cadena.

La figura a continuación muestra el flujo de trabajo de Pado:

Pado utiliza nodos criptográficos como probadores de respaldo. Con el fin de reducir las suposiciones de confianza, el equipo de Pado adoptará una estrategia evolutiva y mejorará gradualmente la descentralización del servicio de probador. El probador participa activamente en el proceso de recuperación y compartición de datos del usuario mientras demuestra la autenticidad de los datos del usuario obtenidos de fuentes de datos de red. Lo que lo hace único es que Pado aprovecha MPC-TLS (Cálculo seguro de múltiples partes de la capa de transporte) e IZK (Prueba interactiva de conocimiento cero) para permitir a los probadores demostrar datos "a ciegas". Esto significa que los validadores no pueden ver ningún dato original, incluida la información de usuario pública y privada. Sin embargo, el verificador todavía puede garantizar el origen de los datos de cualquier dato TLS transmitido a través de métodos criptográficos.

  1. MPC-TLS: TLS es un protocolo de seguridad utilizado para proteger la privacidad y la integridad de los datos de las comunicaciones en Internet. Cuando visitas un sitio web y ves el icono de "candado" y "https" en la URL, significa que tu visita está segura a través de TLS. MPC-TLS imita la funcionalidad de un cliente TLS, permitiendo que el autenticador de Pado colabore con el cliente TLS para realizar las siguientes tareas: \
    Es importante tener en cuenta que estas operaciones relacionadas con TLS se realizan entre el cliente y el verificador a través del protocolo de Computación de Dos Partes (2PC). El diseño de MPC-TLS se basa en algunas tecnologías de cifrado, como el circuito de obfuscación (GC), la transmisión de olvido (OT), IZK, etc.
    • Establecer una conexión TLS, incluido el cálculo de la clave primaria, clave de sesión e información de verificación.
    • Ejecutar consultas a través de un canal TLS, incluyendo la generación de solicitudes encriptadas y la desencriptación de respuestas del servidor.
  2. EXC: Prueba interactiva de conocimiento cero es una prueba de conocimiento cero en la que el probador y el verificador pueden interactuar. En el protocolo IZK, el resultado del verificador es aceptar o rechazar la afirmación del probador. En comparación con NIZK simples (como zk-STARKs o zk-SNARKs), el protocolo IZK tiene varias ventajas, como alta escalabilidad para afirmaciones grandes, bajo costo computacional, no necesita configuración confiable y uso de memoria minimizado.

Pado está desarrollando activamente el gancho kyc de Uniswap, buscando más datos sobre escenarios de aplicación en cadena, y fue seleccionado en la primera tanda del programa de becas de Consensys.

6. Perspectivas Futuras

El coprocesador ZK permite que la cadena de bloques capture más datos y obtenga recursos informáticos fuera de la cadena a un costo menor sin dañar la descentralización. También desacopla el flujo de trabajo de los contratos inteligentes y aumenta la escalabilidad y eficiencia.

Desde el lado de la demanda solo, el coprocesador ZK es una necesidad. Desde la perspectiva de la pista DEX sola, este gancho tiene un gran potencial y puede hacer muchas cosas. Si sushiswap no tiene ganchos, no podrá competir con uniswap, y será muy pronto eliminado. Si zkcoprocessor no se utiliza para ganchos, el gas será muy caro para los desarrolladores y usuarios, porque los ganchos introducen nueva lógica y hacen que los contratos inteligentes sean más complejos, lo cual es contraproducente. Por ahora, usar el coprocesador zk es la mejor solución. Ya sea desde la perspectiva de la captura de datos o el cálculo, varios métodos tienen diferentes ventajas y desventajas. El coprocesador adecuado para funciones específicas es un buen coprocesador. El mercado de computación verificable en cadena tiene amplias perspectivas y reflejará nuevo valor en más campos.

En el futuro desarrollo de blockchain, tiene el potencial de romper las barreras tradicionales de datos de web2. La información ya no será islas aisladas y logrará una mayor interoperabilidad. Los co-procesadores ZK se convertirán en potentes intermediarios para garantizar la seguridad, la privacidad y las condiciones sin confianza para reducir costos y aumentar la eficiencia en la captura, el cálculo y la verificación de contratos inteligentes, liberar la red de datos, abrir más posibilidades y convertirse en la infraestructura para aplicaciones de intención real y agentes de IA en cadena. Solo si no puedes pensar en ello, no puedes hacerlo.

Imagínese un escenario en el futuro: utilizando la alta confiabilidad y privacidad de ZK para la verificación de datos, los conductores de viajes compartidos en línea pueden construir una red de agregación además de sus propias plataformas. Esta red de datos puede cubrir Uber, Lyft, Didi, bolt, etc., los conductores de viajes compartidos en línea pueden proporcionar datos en sus propias plataformas. Tú tomas una pieza, yo tomo una pieza y la pongo en la cadena de bloques. Poco a poco, se establece y agrega una red independiente de su propia plataforma. Todos los datos de los conductores se han convertido en un gran agregador de datos de viajes compartidos en línea y, al mismo tiempo, pueden hacer que los conductores sean anónimos y no filtrar su privacidad.

7. Índice

https://blog.axiom.xyz/what-is-a-zk-coprocessor/

https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

https://dev.risczero.com/api

https://blog.uniswap.org/uniswap-v4

https://blog.celer.network/2023/03/21/brevis-a-zk-omnichain-data-attestation-platform/

https://lagrange-labs.gitbook.io/lagrange-labs/overview/what-is-the-lagrange-protocol

https://docs.herodotus.dev/herodotus-docs/

https://docs.padolabs.org/

Renuncia:

  1. Este artículo es reimpreso de [ForesightResearch]. Todos los derechos de autor pertenecen al autor original [Mike]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y lo resolverán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Foresight Ventures | ¡Aceleración de nitrógeno! ¡Cómo el coprocesador ZK rompe las barreras de datos de contratos inteligentes

Principiante1/7/2024, 4:37:55 AM
Este artículo proporciona una visión general e interpretación del concepto, implementación técnica y aplicación del coprocesador ZK.

1. Introducción al concepto

En cuanto al concepto de coprocesador, un ejemplo muy simple y fácil de entender es la relación entre una computadora y una tarjeta gráfica. La CPU puede completar la mayoría de las tareas, pero una vez que se encuentra una tarea específica, la tarjeta gráfica necesita ayuda porque la CPU tiene una potencia de cálculo insuficiente, como el aprendizaje automático, la representación de gráficos o la ejecución de juegos a gran escala. Si no queremos perder cuadros o congelarnos al jugar juegos a gran escala, definitivamente necesitamos una tarjeta gráfica con buen rendimiento. En este escenario, la CPU es el procesador y la tarjeta gráfica es el coprocesador. Al mapear al blockchain, el contrato inteligente es la CPU y el coprocesador ZK es la GPU.

El punto clave es asignar tareas específicas a coprocesadores específicos. Al igual que en una fábrica, el jefe conoce los pasos de cada eslabón y puede hacerlo él mismo o enseñar a los empleados todo el proceso de producción, pero esto es muy ineficiente y solo puede producir una pieza a la vez, y solo después de que una esté terminada puede producir la siguiente, por lo que contrató a muchos empleados específicos. Cada uno desempeña sus funciones y realiza el trabajo que mejor sabe hacer en la cadena de producción en sus propios talleres. Los eslabones de la cadena pueden interactuar entre sí. Comunicarse y coordinar pero no interferir en el trabajo de los demás. Solo hacen lo que mejor saben hacer. Aquellos con manos rápidas y fuerza física pueden atornillar. Quienes saben cómo operar máquinas pueden manejar las máquinas. Quienes saben contabilidad pueden calcular el volumen de producción y los costos. Trabajo de colaboración asincrónica para maximizar la eficiencia laboral.

Durante la Revolución Industrial, los capitalistas ya habían descubierto que este modelo podía llevar la capacidad de producción máxima a sus fábricas. Sin embargo, cuando un paso en el proceso de producción se encuentra con barreras debido a la tecnología u otras razones, otros factores pueden necesitar ser externalizados. Los fabricantes especializados lo hacen. Por ejemplo, para una empresa que produce teléfonos móviles, los chips pueden ser producidos por otras empresas especializadas en chips. La empresa de teléfonos móviles es el procesador central, y la empresa de chips es el coprocesador. Los coprocesadores pueden manejar fácil y asincrónicamente tareas específicas que son demasiado difíciles y engorrosas para que el procesador central las maneje por sí solo.

El coprocesador ZK es relativamente amplio en un sentido amplio. Algunos proyectos lo llaman su propio coprocesador, y algunos lo llaman ZKVM, pero todos tienen la misma idea: permitir a los desarrolladores de contratos inteligentes demostrar sin estado cálculos fuera de la cadena sobre datos existentes. En pocas palabras, algunos trabajos de cálculo en cadena se realizan fuera de la cadena para reducir costos y aumentar la eficiencia. Al mismo tiempo, ZK se utiliza para garantizar la fiabilidad de los cálculos y proteger la privacidad de datos específicos. En el mundo de la blockchain impulsada por datos, esto es especialmente importante.

2. ¿Por qué necesitamos el coprocesador ZK?

Uno de los mayores cuellos de botella que enfrentan los desarrolladores de contratos inteligentes sigue siendo los altos costos asociados con la computación en cadena. Dado que el Gas debe medirse para cada operación, el costo de la lógica de aplicación compleja rápidamente se volverá demasiado alto para ser ejecutado, porque aunque los nodos de archivo en la capa DA de la cadena de bloques pueden almacenar datos históricos, esta es la razón por la que aplicaciones de análisis fuera de la cadena como Analytics, Nansen, 0xscope y Etherscan pueden tener tanta información de la cadena de bloques y pueden retroceder en el tiempo, pero no es sencillo que los contratos inteligentes accedan a todos estos datos. Solo pueden acceder fácilmente a los datos almacenados en el estado de la máquina virtual, los datos del último bloque y otros datos públicos de contratos inteligentes. Para obtener más datos, los contratos inteligentes pueden tener que esforzarse mucho para acceder:

Los contratos inteligentes en la Máquina Virtual Ethereum (EVM) tienen acceso a los hashes de encabezado de bloque de los 256 bloques más recientes. Estos encabezados de bloque contienen toda la información de actividad en la cadena de bloques hasta el bloque actual y se comprimen en un valor de hash de 32 bytes utilizando el árbol de Merkle y el algoritmo de hash Keccak.

Aunque los datos estén empaquetados en hash, se pueden descomprimir, simplemente no es fácil. Por ejemplo, si deseas aprovechar el encabezado del bloque más reciente para acceder de forma segura a datos específicos en el bloque anterior, esto implica una serie compleja de pasos. Primero, necesitas obtener los datos fuera de la cadena desde el nodo de archivo, y luego construir un árbol de Merkle y una prueba de validez del bloque para verificar la autenticidad de los datos en la cadena de bloques. Posteriormente, el EVM procesará estas pruebas de validez, las verificará y las explicará. Esta operación no solo es engorrosa sino que también lleva mucho tiempo, y el gas también es particularmente costoso.

La razón fundamental de este desafío es que las máquinas virtuales blockchain (como EVM) no son adecuadas para manejar grandes cantidades de datos y tareas de computación intensiva, como el trabajo de descompresión mencionado anteriormente. El enfoque de diseño de EVM es ejecutar código de contrato inteligente mientras se garantiza la seguridad y descentralización, en lugar de procesar datos a gran escala o realizar tareas de computación complejas. Por lo tanto, cuando se trata de tareas que requieren grandes cantidades de recursos informáticos, a menudo es necesario encontrar otras soluciones, como utilizar la computación fuera de la cadena u otras tecnologías de escalado. En este momento, emerge el coprocesador ZK.

Los rollups de ZK son en realidad los primeros coprocesadores de ZK, que admiten el mismo tipo de cálculos utilizados en L1 a una escala y cantidad mayor. Este procesador está a nivel de protocolo, y el coprocesador de ZK del que estamos hablando ahora está a nivel de dapp. El coprocesador de ZK mejora la escalabilidad de contratos inteligentes al permitir que los contratos inteligentes deleguen de manera confiable el acceso a datos en cadena históricos y la computación mediante pruebas de ZK. En lugar de realizar todas las operaciones en el EVM, los desarrolladores pueden transferir operaciones costosas al coprocesador de ZK y simplemente utilizar los resultados en cadena. Esto proporciona una nueva forma para que los contratos inteligentes escalen al desacoplar el acceso a datos y la computación del consenso de la cadena de bloques.

El coprocesador ZK introduce un nuevo patrón de diseño para aplicaciones en cadena, eliminando la restricción de que los cálculos deben completarse en la máquina virtual de la cadena de bloques. Esto permite que las aplicaciones accedan a más datos y operen a una escala mayor que antes, al mismo tiempo que controlan los costos de gas, aumentando la escalabilidad y eficiencia de los contratos inteligentes sin comprometer la descentralización y la seguridad.

3. Implementación técnica

Esta parte utilizará la arquitectura Axiom para explicar cómo el coprocesador zk resuelve el problema técnicamente. De hecho, hay dos núcleos: captura de datos y cálculo. En estos dos procesos, ZK garantiza eficiencia y privacidad al mismo tiempo.

3.1 Captura de datos

Uno de los aspectos más importantes de realizar cálculos en el coprocesador ZK es asegurar que todos los datos de entrada se accedan correctamente desde la historia de la cadena de bloques. Como se mencionó anteriormente, esto es en realidad bastante difícil porque los contratos inteligentes solo pueden acceder al estado actual de la cadena de bloques en su código, e incluso este acceso es la parte más costosa de la computación en cadena. Esto significa que los datos históricos en cadena como registros de transacciones o saldos anteriores (entradas interesantes en cadena en cálculos) no pueden ser utilizados de forma nativa por los contratos inteligentes para verificar los resultados del coprocesador.

El coprocesador ZK resuelve este problema de tres formas diferentes, equilibrando costos, seguridad y facilidad de desarrollo:

  1. Almacene datos adicionales en el estado de la cadena de bloques y utilice el EVM para almacenar todos los datos utilizados en la cadena por el coprocesador de verificación de lectura. Este enfoque es bastante costoso y prohibitivo en costos para grandes cantidades de datos.
  2. Confíe en un Oráculo o en una red de signatarios para verificar los datos de entrada al coprocesador. Esto requiere que los usuarios del coprocesador confíen en el Oráculo o en el proveedor de firma múltiple, lo que reduce la seguridad.
  3. Utilice pruebas de conocimiento cero (ZK proofs) para verificar si algún dato en cadena utilizado en el coprocesador ha sido comprometido en la historia de la cadena de bloques. Cada bloque en la cadena de bloques compromete todos los bloques anteriores y, por lo tanto, todos los datos históricos, brindando garantías criptográficas de validez de datos y no requiriendo suposiciones adicionales de confianza por parte del usuario.

3.2 Cálculo

Realizar cálculos fuera de la cadena en un coprocesador ZK requiere convertir programas de computadora tradicionales en circuitos ZK. Actualmente, todos los métodos para lograr esto tienen un gran impacto en el rendimiento, con pruebas ZK que van desde 10,000 a 1,000,000 en sobrecarga en comparación con la ejecución del programa nativo. Por otro lado, el modelo computacional de los circuitos ZK difiere de las arquitecturas informáticas estándar (por ejemplo, actualmente todas las variables deben ser codificadas módulo un primo criptográfico grande, y la implementación puede ser no determinista), lo que significa que a los desarrolladores les resulta difícil escribirlos directamente.

Por lo tanto, los tres enfoques principales para especificar cálculos en coprocesadores ZK son principalmente compensaciones entre rendimiento, flexibilidad y facilidad de desarrollo:

  1. Circuitos personalizados: Los desarrolladores escriben sus propios circuitos para cada aplicación. Este enfoque tiene el mayor potencial de rendimiento, pero requiere un esfuerzo significativo por parte del desarrollador.
  2. eDSL/DSL para circuitos: Los desarrolladores escriben circuitos para cada aplicación, pero abstraen los problemas específicos de ZK en un marco de opinión (similar a usar PyTorch para redes neuronales). Pero el rendimiento es ligeramente inferior.
  3. Los desarrolladores de zkVM escriben circuitos en máquinas virtuales existentes y verifican su ejecución en ZK. Esto proporciona la experiencia más sencilla para los desarrolladores cuando usan máquinas virtuales existentes, pero da como resultado un menor rendimiento y flexibilidad debido a los diferentes modelos de proceso entre las máquinas virtuales y ZK.

4. Aplicación

El coprocesador ZK tiene una amplia gama de aplicaciones. El coprocesador ZK puede teóricamente cubrir todos los escenarios de aplicación que Dapp puede cubrir. Siempre que sea una tarea relacionada con datos y computación, el coprocesador ZK puede reducir costos, aumentar la eficiencia y proteger la privacidad. Lo siguiente comenzará desde diferentes enfoques y explorará lo que el procesador ZK puede hacer en la capa de aplicación.

4.1 Defi

4.1.1 DEX

Toma el gancho en Uniswap V4 como ejemplo:

Hook permite a los desarrolladores realizar operaciones especificadas en cualquier punto clave en todo el ciclo de vida del pool de liquidez, como antes o después de negociar tokens, o antes o después de cambios en la posición LP, pools de liquidez personalizados, intercambios, tarifas Cómo interactuar con las posiciones LP, por ejemplo:

  • Promedio Ponderado por Tiempo del Market Maker (TWAMM);
  • tarifas dinámicas basadas en la volatilidad u otros inputs;
  • Orden de límite de precio de cadena;
  • Deposite liquidez fuera del alcance en protocolos de préstamo;
  • Oráculos personalizados en cadena, como oráculos de media geométrica;
  • Compuesto automáticamente las tarifas de LP a las posiciones de LP;
  • Los beneficios de MEV de Uniswap se distribuyen a LP;
  • Programa de descuento por lealtad para LPs o traders;

Simplemente, es un mecanismo que permite a los desarrolladores capturar datos históricos en cualquier cadena y utilizarlos para personalizar el pool en Uniswap según sus propias ideas. La llegada de Hook aporta más capacidad de composición y mayor eficiencia a las transacciones en la cadena. eficiencia de capital. Sin embargo, una vez que la lógica de código que define esto se vuelve complicada, supondrá una gran carga de gas para los usuarios y desarrolladores. En ese momento, zkcoprocessor resulta útil, ya que puede ayudar a ahorrar estos costos de gas y mejorar la eficiencia.

Desde una perspectiva a más largo plazo, el coprocesador ZK acelerará la integración de DEX y CEX. Desde 2022, hemos visto que DEX y CEX se han vuelto funcionalmente consistentes. Todos los principales CEXs están aceptando esta realidad y adoptando billeteras Web3, construyendo EVM L2 y adoptando infraestructuras existentes como la Red Lightning o el código abierto para abrazar el intercambio de liquidez en cadena. Este fenómeno es inseparable del impulso del coprocesador ZK. Todas las funciones que un CEX puede lograr, ya sea el trading en cuadrícula, el seguimiento, el préstamo rápido o el uso de datos de usuario, DEX también se pueden implementar a través del coprocesador ZK, y la componibilidad y libertad de Defi, así como las transacciones de monedas pequeñas en la cadena, son difíciles de lograr con los CEX tradicionales. Al mismo tiempo, la tecnología ZK también puede proteger la privacidad del usuario durante la ejecución.

4.1.2 Airdrop

Si algunos proyectos desean realizar airdrops, necesitan un contrato inteligente para consultar las actividades históricas de la dirección, pero no desean exponer la información de la dirección del usuario y ejecutarlo sin introducir una prueba de confianza adicional. Por ejemplo, un proyecto que realiza préstamos Defi desea, a través de la interacción entre la dirección y una serie de protocolos de préstamos como Aave, Compound, Fraxlend y Spark como estándar para airdrops, la captura de datos históricos y las características de privacidad del coprocesador ZK pueden resolver fácilmente esta necesidad.

4.2 ZKML

Otro punto emocionante del coprocesador ZK está en el área de aprendizaje automático. Dado que los contratos inteligentes pueden tener capacidades de computación fuera de la cadena, será posible realizar aprendizaje automático de alta eficiencia en la cadena. De hecho, el coprocesador ZK también es una parte indispensable para la entrada y cálculo de datos ZKML. Puede extraer la entrada necesaria para el aprendizaje automático de los datos históricos en cadena/fuera de cadena importados en el contrato inteligente, y luego escribir el cálculo en un circuito ZK y lanzarlo en la cadena.

4.3 KYC

KYC es un gran negocio, y ahora el mundo web3 está abrazando gradualmente el cumplimiento. Con el coprocesador ZK, es posible hacer una prueba verificable de contrato inteligente al capturar cualquier dato off-chain proporcionado por el usuario sin la necesidad de exponer ninguna información innecesaria de los usuarios, de hecho, algunos proyectos se están implementando, como el gancho KYC de Uniswap, que utiliza el coprocesador ZK Pado para capturar datos off-chain sin confianza. Prueba de activos, prueba de calificaciones académicas, prueba de viajes, prueba de conducción, prueba de aplicación de la ley, prueba de jugadores, prueba de transacciones... Todos los comportamientos históricos en y fuera de la cadena incluso se pueden empaquetar en una identidad completa, y se pueden escribir con una credibilidad sólida. ZK demuestra que está en la cadena mientras protege la privacidad del usuario.

4.4 Social

La atributo especulativo de Friend.tech es en realidad más fuerte que el atributo social. El núcleo radica en su curva de vinculación. ¿Es posible agregar un gancho a la curva de vinculación de friend.tech para que los usuarios puedan personalizar la dirección de la curva de vinculación, como implementar Después de que termine la locura por las claves de comercio y los especuladores se vayan, la curva de vinculación se suavizará, la barrera de entrada para los verdaderos fanáticos se reducirá y el tráfico real de dominio privado crecerá. O permita que el contrato inteligente obtenga el gráfico social del usuario en cadena/fuera de cadena, y pueda seguir a tus amigos en diferentes Dapps sociales con un clic. O puede establecer un club privado en la cadena, como el club Degen, y solo las direcciones que cumplan con las condiciones históricas de consumo de Gas pueden ingresar, etc.

4.5 Gaming

En los juegos tradicionales de Web2, los datos de usuario son un parámetro muy importante. El comportamiento de compra, el estilo de juego y la contribución pueden hacer que el juego se opere mejor y brinde una mejor experiencia de usuario, como el mecanismo de emparejamiento ELO en los juegos MOBA. La frecuencia de compra de skins, etc., pero estos datos son difíciles de capturar por contratos inteligentes en la cadena de bloques, por lo que solo pueden ser reemplazados con soluciones centralizadas o simplemente abandonados. Sin embargo, la aparición del coprocesador ZK hace posibles soluciones descentralizadas.

5. Proyecto de Fiesta

Ya hay algunos jugadores destacados en esta pista. Las ideas son realmente similares. Generan prueba ZK a través de prueba de almacenamiento o consenso y luego la ponen en la cadena. Sin embargo, cada uno tiene sus propias ventajas en características técnicas y funciones implementadas.

5.1 Axioma

Axiom, el líder en coprocesadores ZK (de conocimiento cero), se centra en que los contratos inteligentes puedan acceder a toda la historia de Ethereum y a cualquier cálculo de verificación ZK sin confianza. Los desarrolladores pueden enviar consultas en cadena a Axiom, que luego las procesa a través de verificaciones ZK y devuelve los resultados al contrato inteligente del desarrollador de manera sin confianza. Esto permite a los desarrolladores construir aplicaciones en cadena más ricas sin depender de suposiciones de confianza adicionales.

Para implementar estas consultas, Axiom realiza los siguientes tres pasos:

  1. leer: Axiom utiliza pruebas de conocimiento cero para leer datos de forma confiable de encabezados de bloques, estado, transacciones y recibos de bloques históricos de Ethereum. Dado que todos los datos on-chain de Ethereum están codificados en estos formatos, Axiom puede acceder a todo lo que los nodos de archivo pueden acceder. Axiom verifica todos los datos de entrada al coprocesador ZK a través de pruebas de ZK de triples de Merkle-Patricia y cadenas de hash de encabezados de bloques. Si bien este enfoque es más difícil de desarrollar, proporciona la mejor seguridad y costo para los usuarios finales porque garantiza que todos los resultados devueltos por Axiom son criptográficamente equivalentes a los cálculos on-chain realizados en el EVM.
  2. calcular: Después de que los datos son ingeridos, Axiom aplica cálculos probados sobre ellos. Los desarrolladores pueden especificar su lógica de cálculo en el front-end de JavaScript, y la validez de cada cálculo se verifica en la prueba ZK. Los desarrolladores pueden visitar AxiomREPL o ver la documentación para aprender sobre las primitivas de computación disponibles. Axiom permite a los usuarios acceder a datos en cadena y especificar sus propios cálculos a través de eDSL. También permite a los usuarios escribir sus propios circuitos utilizando la biblioteca de circuitos ZK.
  3. verificar: Axiom proporciona pruebas de validez ZK para cada resultado de consulta. Estas pruebas aseguran que (1) los datos de entrada se extrajeron correctamente de la cadena y (2) los cálculos se aplicaron correctamente. Estas pruebas ZK se verifican en la cadena en los contratos inteligentes de Axiom, asegurando que los resultados finales se utilicen de manera confiable en los contratos inteligentes de los usuarios.

Porque los resultados son verificados a través de pruebas ZK, los resultados de Axiom son criptográficamente tan seguros como los resultados de Ethereum. Este enfoque no hace suposiciones sobre criptoeconomía, incentivos o teoría de juegos. Axiom cree que este enfoque proporcionará el más alto nivel de seguridad posible para las aplicaciones de contratos inteligentes. El equipo de Axiom trabajó en estrecha colaboración con la Fundación Uniswap y obtuvo Subvenciones de Uniswap, y construirá un oráculo sin confianza en Uniswap.

5.2 Cero Riesgo

Bonsai: En 2023, RISC Zero lanzó Bonsai, un servicio de prueba que permite que las aplicaciones tanto en cadena como fuera de ella soliciten y reciban pruebas zkVM. Bonsai es un servicio universal de prueba de conocimiento cero que permite a cualquier cadena, cualquier protocolo y cualquier aplicación utilizar pruebas de ZK. Es altamente paralelizable, programable y de alto rendimiento.

Bonsai te permite integrar pruebas de conocimiento cero directamente en cualquier contrato inteligente, sin necesidad de circuitos personalizados. Esto permite que ZK se integre directamente en aplicaciones descentralizadas en cualquier cadena EVM, con el potencial de soportar cualquier otro ecosistema.

zkVM es la base de Bonsai y admite una amplia compatibilidad con el lenguaje, respaldando código Rust comprobable y potencialmente código comprobable de conocimiento cero en cualquier lenguaje compilado a RISC-V (como C++, Rust, Go, etc.). A través de pruebas recursivas, compiladores de circuitos personalizados, continuación de estado y mejoras continuas en los algoritmos de prueba, Bonsai permite a cualquier persona generar pruebas ZK de alto rendimiento para una variedad de aplicaciones.

RISC Zero zkVM: RISC Zero zkVM, lanzado por primera vez en abril de 2022, puede demostrar la ejecución correcta de código arbitrario, lo que permite a los desarrolladores construir aplicaciones ZK en lenguajes maduros como Rust y C++. Este lanzamiento representa un gran avance en el desarrollo de software ZK: zkVM hace posible construir aplicaciones ZK sin necesidad de construir circuitos y utilizar lenguajes personalizados.

Al permitir a los desarrolladores utilizar Rust y aprovechar la madurez del ecosistema de Rust, zkVM permite a los desarrolladores construir rápidamente aplicaciones ZK significativas sin necesidad de tener conocimientos avanzados en matemáticas o criptografía.

Estas aplicaciones incluyen:

  • JSON: Demuestre el contenido de una entrada en un archivo JSON manteniendo privados otros datos.
  • ¿Dónde está Wally: Demuestra que Wally está presente en el archivo JPG manteniendo privadas otras partes de la imagen.
  • ZK Checkmate: Demuestra que viste un movimiento para jaque mate sin revelar el movimiento ganador.
  • Prueba ZK de Experto: Prueba de que puedes explotar una cuenta de Ethereum sin revelar la vulnerabilidad.
  • Verificación de firma ECDSA: Demuestra la validez de la firma ECDSA.

Estos ejemplos se implementan aprovechando un ecosistema de software maduro: la mayoría de los kits de herramientas de Rust están disponibles de serie en Risc Zero zkVM. Ser compatible con Rust es un cambio de juego para el mundo del software ZK: proyectos que podrían llevar meses o años construir en otras plataformas pueden resolverse fácilmente en la plataforma de RISC Zero.

Además de ser más fácil de construir, RISC Zero también cumple con el rendimiento. zkVM cuenta con aceleración de GPU de CUDA y Metal, y realiza la prueba paralela de programas grandes a través de la continuación.

Anteriormente, Risc Zero recibió US$40 millones en financiamiento de la Serie A de Galaxy Digital, IOSG, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, Algaé Ventures, IOBC y otras instituciones.

5.3 Brevis

Brevis, una subsidiaria de Celer Network, se centra en capturar datos históricos multi-cadena. Le brinda a los contratos inteligentes la capacidad de leer sus datos históricos completos desde cualquier cadena y realizar cálculos personalizados completos sin confianza. Actualmente, principalmente admite Ethereum POS, Comos Tendermint y BSC.

Interfaz de la aplicación: El sistema actual de Brevis admite pruebas ZK eficientes y concisas, proporcionando la siguiente información de cadena de origen probada por ZK para contratos de aplicaciones descentralizadas (dApp) conectadas a la cadena de bloques:

  1. El hash del bloque y los estados asociados, transacciones y raíces de recibos de cualquier bloque en la cadena fuente.
  2. Valor de la ranura y metadatos relacionados para cualquier bloque específico, contrato, ranura en la cadena de origen.
  3. Recibos de transacción y metadatos relacionados para cualquier transacción en la cadena de origen.
  4. Entradas de transacción y metadatos relacionados para cualquier transacción en la cadena de origen.
  5. Cualquier mensaje enviado por cualquier entidad en la cadena de origen a cualquier entidad en la cadena de destino.

Visión general de la arquitectura: La arquitectura de Brevis consta de tres partes principales:

  1. red de repetidores: Sincroniza encabezados de bloques e información en cadena de diferentes blockchains y los reenvía a la red de validadores para generar pruebas de validez. Luego envía la información verificada y sus pruebas asociadas al blockchain conectado.
  2. red de probadores: Implementar circuitos para cada protocolo de cliente ligero de la cadena de bloques, actualizaciones de bloques y generar pruebas de los valores de ranura solicitados, transacciones, recibos y lógica de aplicación integrada. Para minimizar el tiempo de prueba, el costo y los costos de verificación en cadena, una red de probadores puede agregar pruebas distribuidas generadas simultáneamente. Además, puede aprovechar aceleradores como GPUs, FPGAs y ASICs para mejorar la eficiencia.
  3. Conectando contratos de validadores en la cadena de bloques: Recibir datos verificados por zk y pruebas relacionadas generadas por la red de validadores, y luego devolver la información verificada al contrato de la dApp.

Esta arquitectura integrada permite a Brevis garantizar alta eficiencia y seguridad al proporcionar datos y computación entre cadenas, permitiendo a los desarrolladores de dApp aprovechar completamente el potencial del blockchain. Con esta arquitectura modular, Brevis puede proporcionar acceso a datos y capacidades de computación completamente descentralizados, flexibles y eficientes para contratos inteligentes on-chain en todas las cadenas admitidas. Esto proporciona un paradigma completamente nuevo para el desarrollo de dApp. Brevis tiene una amplia gama de casos de uso como DeFi impulsado por datos, zKBridges, adquisición de usuarios on-chain, zkDID, abstracción de cuentas sociales, etc., aumentando la interoperabilidad de datos.

5.4 Langrange

Langrange y Brevis tienen una visión similar, con el objetivo de mejorar la interoperabilidad entre múltiples cadenas a través de ZK Big Data Stack, que puede crear pruebas de estado universales en todas las blockchains principales. Al integrarse con el protocolo Langrange, las aplicaciones pueden enviar pruebas agregadas de estado de múltiples cadenas, que luego pueden ser verificadas de forma no interactiva por contratos en otras cadenas.

A diferencia de los protocolos tradicionales de puentes y mensajería, el protocolo Langrange no depende de un grupo específico de nodos para entregar información. En su lugar, aprovecha la criptografía para coordinar pruebas de estado entre cadenas en tiempo real, incluidas aquellas presentadas por usuarios no confiables. Bajo este mecanismo, incluso si la fuente de la información no es confiable, la aplicación de la tecnología de cifrado asegura la validez y seguridad del certificado.

El protocolo Langrange inicialmente será compatible con todos los rollups L1 y L2 compatibles con EVM. Además, Langrange también planea admitir cadenas no compatibles con EVM en un futuro cercano, incluyendo pero no limitado a Solana, Sui, Aptos y cadenas públicas populares basadas en Cosmos SDK.

La diferencia entre el protocolo de Langrange y los protocolos tradicionales de puenteo y mensajería:

Los protocolos tradicionales de puenteo y mensajería se utilizan principalmente para transferir activos o mensajes entre un par específico de cadenas. Estos protocolos normalmente dependen de un conjunto de nodos intermedios para confirmar el encabezado del último bloque de la cadena fuente en la cadena de destino. Este modo está principalmente optimizado para relaciones de cadena única a cadena única, basado en el estado actual de las dos cadenas. En contraste, el protocolo Langrange proporciona un método más general y flexible de interacción entre cadenas, lo que permite que las aplicaciones interactúen en un ecosistema blockchain más amplio en lugar de estar limitadas a una relación de cadena a cadena.

El protocolo Langrange optimiza específicamente el mecanismo para probar el estado de los contratos entre cadenas, en lugar de solo la transmisión de información o activos. Esta característica permite que el protocolo Langrange maneje de manera eficiente análisis complejos que involucran estados contractuales actuales e históricos, que pueden abarcar múltiples cadenas. Esta capacidad permite a Langrange admitir una serie de escenarios complejos de aplicación entre cadenas, como el cálculo de la media móvil de los precios de los activos en los exchanges descentralizados (DEX) multicadena, o el análisis de la volatilidad de los tipos de interés del mercado monetario en múltiples cadenas diferentes.

Por lo tanto, las pruebas del estado de Langrange pueden ser vistas como optimizaciones para las relaciones de cadena de muchos a uno (n a 1). En esta relación entre cadenas, una aplicación descentralizada (DApp) en una cadena depende de la agregación de datos de estado en tiempo real e históricos de múltiples otras cadenas (n). Esta característica amplía enormemente la funcionalidad y eficiencia de las DApps, permitiéndoles agregar y analizar datos de múltiples blockchains diferentes para proporcionar perspectivas más profundas y completas. Este método es significativamente diferente de la relación tradicional de una sola cadena o de una a una cadena, y proporciona un alcance de aplicación y potencial más amplio para las aplicaciones blockchain.

Langrange ha recibido previamente inversiones de 1kx, Maven11, Lattice, CMT Digital y gumi crypto.

5.5 Heródoto

Herodoto está diseñado para proporcionar contratos inteligentes con acceso sincrónico a datos en cadena desde otras capas de Ethereum. Creen que la prueba de almacenamiento puede unificar el estado de múltiples rollups e incluso permitir lecturas síncronas entre las capas de Ethereum. En pocas palabras, se trata de la captura de datos entre la cadena principal de EVM y el rollup. Actualmente es compatible con la red principal de ETH, Starknet, Zksync, OP, Arbitrum y Polygon.

La Prueba de Almacenamiento según la definición de Heródoto es una prueba compuesta que se puede usar para verificar la validez de uno o más elementos en un conjunto de datos grande, como los datos en toda la cadena de bloques de Ethereum.

El proceso de generación de prueba de almacenamiento se divide aproximadamente en tres pasos:

Paso 1: Obtener el acumulador de almacenamiento de cabecera de bloque de compromisos verificables

  • Este paso es obtener un "compromiso" que podemos verificar. Si el acumulador aún no contiene el último encabezado de bloque que necesitamos probar, primero necesitamos probar la continuidad de la cadena para asegurarnos de que cubrimos el rango de bloques que contienen nuestros datos objetivo. Por ejemplo, si los datos que queremos probar están en el bloque 1,000,001, y el contrato inteligente almacenado en el encabezado del bloque solo cubre el bloque 1,000,000, entonces necesitamos actualizar el almacenamiento del encabezado.
  • Si el bloque objetivo ya está en el acumulador, puedes proceder directamente al siguiente paso.

Paso 2: Demostrar la existencia de una cuenta específica

  • Este paso requiere generar una prueba de inclusión del Trie de Estado que consiste en todas las cuentas en la red de Ethereum. La raíz del estado es una parte importante para derivar el hash de compromiso del bloque y también es parte del almacenamiento del encabezado. Es importante tener en cuenta que el hash del encabezado del bloque en el acumulador puede diferir del hash real del bloque porque se puede haber utilizado un método de hash diferente por eficiencia.

Paso 3: Demostrar datos específicos en el árbol de cuentas

  • En este paso, se pueden generar pruebas de inclusión para datos como nonces, balances, raíces de almacenamiento o codeHash. Cada cuenta de Ethereum tiene un triplete de almacenamiento (Merkle Patricia Tree), que se utiliza para guardar los datos de almacenamiento de la cuenta. Si los datos que queremos probar están en el almacén de cuentas, debemos generar pruebas de inclusión adicionales para los puntos de datos específicos de ese almacén.

Después de generar todas las pruebas de inclusión necesarias y las pruebas computacionales, se forma una prueba de almacenamiento completa. Esta prueba se envía a la cadena, donde se verifica contra una única confirmación inicial (como un bloquehash) o la raíz MMR almacenada en el encabezado. Este proceso garantiza la autenticidad y la integridad de los datos, al tiempo que mantiene la eficiencia del sistema.

Herodoto ya cuenta con el respaldo de Geometry, Fabric Ventures, Lambda Class y Starkware.

5.6 HyperOracle

Hyper Oracle está específicamente diseñado para oráculos programables de conocimiento cero para mantener segura y descentralizada la cadena de bloques. A través de su estándar zkGraph, Hyper Oracle hace que los datos en cadena y los cálculos equivalentes en cadena sean prácticos, verificables y con una finalidad rápida. Proporciona a los desarrolladores una forma completamente nueva de interactuar con la cadena de bloques.

El nodo zkOracle de Hyper Oracle está principalmente compuesto por dos componentes: zkPoS y zkWASM.

  1. zkPoS: Este componente es responsable de obtener el encabezado del bloque y la raíz de datos de la cadena de bloques de Ethereum a través de una prueba de conocimiento cero (zk) para garantizar la corrección del consenso de Ethereum. zkPoS también actúa como un circuito externo para zkWASM.
  2. zkWASM: Utiliza datos obtenidos de zkPoS como entrada clave para ejecutar zkGraphs. zkWASM es responsable de ejecutar mapas de datos personalizados definidos por zkGraphs y generar pruebas de conocimiento cero para estas operaciones. Los operadores de nodos zkOracle pueden seleccionar la cantidad de zkGraphs que desean ejecutar, que puede ser desde uno hasta todos los zkGraphs desplegados. El proceso de generación de pruebas zk puede delegarse a una red distribuida de probadores.

La salida de zkOracle son datos fuera de la cadena, y los desarrolladores pueden usar estos datos a través del estándar zkGraph de Hyper Oracle. Los datos también vienen con certificados zk para verificar la validez de los datos y los cálculos.

Para mantener la seguridad de la red, la red Hyper Oracle requiere solo un nodo zkOracle. Sin embargo, pueden existir múltiples nodos zkOracle en la red, operando contra zkPoS y cada zkGraph. Esto permite que las pruebas zk se generen en paralelo, mejorando significativamente el rendimiento. En general, Hyper Oracle proporciona a los desarrolladores una plataforma de interacción blockchain eficiente y segura al combinar tecnología zk avanzada y arquitectura de nodos flexible.

En enero de 2023, Hyper Oracle anunció que había recibido US$3 millones en financiación de la ronda de pre-semilla en la que participaron conjuntamente Dao5, Sequoia China, Foresight Ventures y FutureMoney Group.

5.7 Ruta

Pado es una existencia especial entre los coprocesadores ZK. Otros coprocesadores se centran en capturar datos en cadena, mientras que Pado proporciona un camino para capturar datos fuera de cadena, con el objetivo de llevar todos los datos de Internet a los contratos inteligentes. Reemplaza la función del oráculo en cierta medida, al tiempo que garantiza la privacidad y elimina la necesidad de confiar en fuentes de datos externas.

5.8 Comparación entre el coprocesador ZK y la máquina oráculo

  • Latencia: El oráculo es asíncrono, por lo que la latencia al acceder a datos planos es más larga en comparación con el coprocesador ZK.
  • Costo: Si bien muchos oráculos no requieren pruebas computacionales y, por lo tanto, son menos costosos, son menos seguros. Almacenar pruebas es más caro, pero más seguro.
  • Seguridad: La máxima seguridad de la transmisión de datos está limitada por el nivel de seguridad del propio oráculo. En contraste, el coprocesador ZK coincide con la seguridad de la cadena. Además, los oráculos son vulnerables a los ataques de manipulación debido al uso de pruebas fuera de la cadena.

La figura a continuación muestra el flujo de trabajo de Pado:

Pado utiliza nodos criptográficos como probadores de respaldo. Con el fin de reducir las suposiciones de confianza, el equipo de Pado adoptará una estrategia evolutiva y mejorará gradualmente la descentralización del servicio de probador. El probador participa activamente en el proceso de recuperación y compartición de datos del usuario mientras demuestra la autenticidad de los datos del usuario obtenidos de fuentes de datos de red. Lo que lo hace único es que Pado aprovecha MPC-TLS (Cálculo seguro de múltiples partes de la capa de transporte) e IZK (Prueba interactiva de conocimiento cero) para permitir a los probadores demostrar datos "a ciegas". Esto significa que los validadores no pueden ver ningún dato original, incluida la información de usuario pública y privada. Sin embargo, el verificador todavía puede garantizar el origen de los datos de cualquier dato TLS transmitido a través de métodos criptográficos.

  1. MPC-TLS: TLS es un protocolo de seguridad utilizado para proteger la privacidad y la integridad de los datos de las comunicaciones en Internet. Cuando visitas un sitio web y ves el icono de "candado" y "https" en la URL, significa que tu visita está segura a través de TLS. MPC-TLS imita la funcionalidad de un cliente TLS, permitiendo que el autenticador de Pado colabore con el cliente TLS para realizar las siguientes tareas: \
    Es importante tener en cuenta que estas operaciones relacionadas con TLS se realizan entre el cliente y el verificador a través del protocolo de Computación de Dos Partes (2PC). El diseño de MPC-TLS se basa en algunas tecnologías de cifrado, como el circuito de obfuscación (GC), la transmisión de olvido (OT), IZK, etc.
    • Establecer una conexión TLS, incluido el cálculo de la clave primaria, clave de sesión e información de verificación.
    • Ejecutar consultas a través de un canal TLS, incluyendo la generación de solicitudes encriptadas y la desencriptación de respuestas del servidor.
  2. EXC: Prueba interactiva de conocimiento cero es una prueba de conocimiento cero en la que el probador y el verificador pueden interactuar. En el protocolo IZK, el resultado del verificador es aceptar o rechazar la afirmación del probador. En comparación con NIZK simples (como zk-STARKs o zk-SNARKs), el protocolo IZK tiene varias ventajas, como alta escalabilidad para afirmaciones grandes, bajo costo computacional, no necesita configuración confiable y uso de memoria minimizado.

Pado está desarrollando activamente el gancho kyc de Uniswap, buscando más datos sobre escenarios de aplicación en cadena, y fue seleccionado en la primera tanda del programa de becas de Consensys.

6. Perspectivas Futuras

El coprocesador ZK permite que la cadena de bloques capture más datos y obtenga recursos informáticos fuera de la cadena a un costo menor sin dañar la descentralización. También desacopla el flujo de trabajo de los contratos inteligentes y aumenta la escalabilidad y eficiencia.

Desde el lado de la demanda solo, el coprocesador ZK es una necesidad. Desde la perspectiva de la pista DEX sola, este gancho tiene un gran potencial y puede hacer muchas cosas. Si sushiswap no tiene ganchos, no podrá competir con uniswap, y será muy pronto eliminado. Si zkcoprocessor no se utiliza para ganchos, el gas será muy caro para los desarrolladores y usuarios, porque los ganchos introducen nueva lógica y hacen que los contratos inteligentes sean más complejos, lo cual es contraproducente. Por ahora, usar el coprocesador zk es la mejor solución. Ya sea desde la perspectiva de la captura de datos o el cálculo, varios métodos tienen diferentes ventajas y desventajas. El coprocesador adecuado para funciones específicas es un buen coprocesador. El mercado de computación verificable en cadena tiene amplias perspectivas y reflejará nuevo valor en más campos.

En el futuro desarrollo de blockchain, tiene el potencial de romper las barreras tradicionales de datos de web2. La información ya no será islas aisladas y logrará una mayor interoperabilidad. Los co-procesadores ZK se convertirán en potentes intermediarios para garantizar la seguridad, la privacidad y las condiciones sin confianza para reducir costos y aumentar la eficiencia en la captura, el cálculo y la verificación de contratos inteligentes, liberar la red de datos, abrir más posibilidades y convertirse en la infraestructura para aplicaciones de intención real y agentes de IA en cadena. Solo si no puedes pensar en ello, no puedes hacerlo.

Imagínese un escenario en el futuro: utilizando la alta confiabilidad y privacidad de ZK para la verificación de datos, los conductores de viajes compartidos en línea pueden construir una red de agregación además de sus propias plataformas. Esta red de datos puede cubrir Uber, Lyft, Didi, bolt, etc., los conductores de viajes compartidos en línea pueden proporcionar datos en sus propias plataformas. Tú tomas una pieza, yo tomo una pieza y la pongo en la cadena de bloques. Poco a poco, se establece y agrega una red independiente de su propia plataforma. Todos los datos de los conductores se han convertido en un gran agregador de datos de viajes compartidos en línea y, al mismo tiempo, pueden hacer que los conductores sean anónimos y no filtrar su privacidad.

7. Índice

https://blog.axiom.xyz/what-is-a-zk-coprocessor/

https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

https://dev.risczero.com/api

https://blog.uniswap.org/uniswap-v4

https://blog.celer.network/2023/03/21/brevis-a-zk-omnichain-data-attestation-platform/

https://lagrange-labs.gitbook.io/lagrange-labs/overview/what-is-the-lagrange-protocol

https://docs.herodotus.dev/herodotus-docs/

https://docs.padolabs.org/

Renuncia:

  1. Este artículo es reimpreso de [ForesightResearch]. Todos los derechos de autor pertenecen al autor original [Mike]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y lo resolverán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!