Escrito por: Nickqiao y Wuyue, geek web3

En abril de este año, Vitalik visitó la Cumbre Blockchain de Hong Kong y pronunció un discurso titulado "Alcanzando los límites del diseño de protocolos", en el que mencionó una vez más el potencial de ZK-SNARK en la hoja de ruta de Ethereum Danksharding y esperaba con ansias el chip ASIC. Es de gran ayuda en la aceleración ZK.

Anteriormente, el cocreador de Scroll, Zhang Ye, también señaló que el espacio de aplicación de ZK en los campos tradicionales puede ser mayor que el de Web3. La informática confiable, las bases de datos, el hardware de verificabilidad, la lucha contra la falsificación de contenido y zkML y otros campos tienen una gran demanda de ZK. , Si ZK demuestra que se puede implementar la generación en tiempo real, se espera que tanto la Web3 como las industrias tradicionales marquen el comienzo de cambios a nivel de paradigma. Sin embargo, desde la perspectiva de la eficiencia y el costo económico, todavía está lejos de una adopción a gran escala. de ZK.

De hecho, ya en 2022, las principales instituciones de capital de riesgo a16z y Paradigm publicaron informes que expresaban claramente su énfasis en la aceleración del hardware ZK. Paradigm incluso afirmó que en el futuro, los ingresos de los mineros de ZK pueden ser comparables a los de los mineros de Bitcoin o Ethereum. , basado en soluciones de aceleración de hardware y GPU para FPGA y ASIC, tendrá un enorme espacio en el mercado. Desde entonces, con la popularidad de los principales ZK Rollups como Scroll y Starknet, la aceleración de hardware se ha convertido en un concepto candente en el mercado. Esta popularidad se ha vuelto más intensa a medida que proyectos como Cysic se acercan al lanzamiento.

Tenemos razones para creer que, basándose en el enorme espacio de demanda de ZK, el modelo SaaS generado por los grupos de minería de ZK y ZKP en tiempo real puede abrir una nueva cadena industrial en este nuevo continente con gran potencial, y el hardware de ZK tiene un fuerte apoyo. Ventajas del pionero Es completamente posible que los fabricantes se conviertan en la próxima generación de Bitmain y dominen el terreno fértil para la aceleración de hardware.

En el campo de la aceleración de hardware, Cysic puede ser uno de los equipos más vistos. El equipo ha ganado importantes premios de la conocida plataforma de competencia tecnológica ZPrize y servirá como mentor de ZPrize en 2023. Su hoja de ruta incluye ToB; El hardware final ZK Mining Pool y ToC ZK-Depin han atraído la atención de los principales capitalistas de riesgo como Polychain, ABCDE, OKX Ventures y Hashkey, y han completado una financiación a gran escala por un total de casi 20 millones de dólares estadounidenses.

Dado que la red de prueba de Cysic está a punto de conectarse a fines de julio y su grupo de minería ZK está a punto de abrirse, las discusiones sobre Cysic en las principales comunidades se están volviendo cada vez más acaloradas. Este artículo tiene como objetivo que más personas comprendan los principios del producto y el modelo comercial de Cysic. y comprender ZK. Una simple popularización de los principios de aceleración de hardware. A continuación, resumiremos brevemente el conocimiento relevante de Cysic para ayudar a más personas a reducir el umbral de comprensión.

Comprender el sistema de pruebas ZK desde el flujo de trabajo

El sistema de prueba ZK es en realidad muy complejo, pero si desea tener una comprensión simple de su estructura general, puede desglosarlo desde la perspectiva de funciones y flujos de trabajo. Para un sistema que ZK convierte la computación ordinaria, su proceso central se resume de la siguiente manera:

Primero, debemos interactuar con el sistema ZK a través del front-end y enviar el contenido para su prueba. El front-end convertirá el formato del contenido para facilitar el procesamiento por parte del sistema de prueba ZK. Posteriormente, el sistema generará ZK Proof a través de un sistema o marco de prueba específico (como Halo2, Plonk, etc.). Este proceso se puede dividir en los siguientes pasos:

1. Planteamiento del problema: Primero debemos determinar qué se va a demostrar. Por ejemplo, el prover declara que domina/conoce ciertos datos, "Conozco una solución N de la ecuación F(x)=w", pero no quiere que otros vean el valor de N.

2. Aritmética y CSP: después de que el probador envíe el contenido a probar, el sistema establecerá un modelo/programa matemático especial para expresar el contenido a probar de manera equivalente y luego realizará la conversión de formato para facilitar el procesamiento por parte del sistema probado. Específicamente, la afirmación antes mencionada "Conozco una solución N para la ecuación F(x)=w" se transformará de la ecuación matemática original a la forma de circuitos de puerta lógica y polinomios.

3. Luego, el sistema seleccionará un sistema de prueba adecuado, como Halo, Plonk, etc., y compilará el contenido generado en los pasos anteriores en un programa ZKP utilizable. El probador utiliza el programa ZKP para generar una prueba y la envía al verificador para su verificación.

La esencia de los sistemas ZK, como zkEVM, que se adoptan con frecuencia en la segunda capa de Ethereum, es primero compilar el contrato inteligente en el código de operación subyacente de EVM y luego convertir el formato de cada código de operación en una forma lógica. circuito de puerta/restricciones polinómicas, y luego se entrega al sistema de prueba ZK back-end para su posterior procesamiento.

Vale la pena mencionar que la solución tecnológica ZKP ampliamente utilizada actualmente en blockchain es principalmente zk-SNARK (argumento de conocimiento conciso no interactivo de conocimiento cero), y ZK Rollup aprovecha principalmente la simplicidad de SNARK en lugar del sexo de conocimiento cero. La simplicidad significa que ZKP ocupa muy poco espacio, puede comprimir grandes cantidades de contenido en unos pocos cientos de bytes y tiene costos de verificación muy bajos.

De esta manera, la carga de trabajo entre Prover y Verifier es asimétrica. El costo de generar ZKP para Prover es muy alto, pero el costo de verificación de Verifier es muy bajo. Siempre que esta asimetría se utilice bien, en "Prover único, Verifier múltiple". "El uso de ZK en el escenario puede concentrar el costo total en el lado del Prover, reduciendo en gran medida el costo del Verifier. Este modelo es extremadamente beneficioso para la verificación descentralizada, y esta es la idea de la segunda capa de Ethereum.

Sin embargo, este modelo de pasar el costo de verificación al lado de la generación ZK no es una panacea. Para el lado del proyecto ZK Rollup, el alto costo de generar ZKP eventualmente se trasladará a las tarifas de UX y de manejo, lo que no favorece el desarrollo. desarrollo de ZK Rollup Desarrollo a largo plazo.

Aunque ZK tiene mucho uso en escenarios de verificación descentralizados y sin confianza, está limitado por el cuello de botella en el tiempo de generación. Ya sea zkEVM o zkVM o ZK Rollup y ZK Bridge, actualmente no existe una base económica para su adopción a gran escala.

En este sentido, han surgido proyectos de aceleración de ZK representados por Cysic, Ingonyama, Irreducible, etc., que intentan reducir el costo de generación de ZKP desde diferentes direcciones. A continuación, presentaremos brevemente los principales métodos de sobrecarga y aceleración de la generación de ZKP desde una perspectiva técnica y por qué Cysic tiene un gran potencial en la pista de aceleración de ZK.

Gastos generales computacionales: MSM y NTT

Mucha gente sabe que el Prover de ZKP requiere mucho tiempo para generar pruebas. En el protocolo ZK-SNARK, a menudo hay una situación en la que el Verificador solo necesita un segundo para verificar la prueba, pero la generación de la prueba puede llevarle al Probador medio día o incluso un día. Para utilizar eficientemente los cálculos de prueba ZKP, es necesario convertir el formato de cálculo de los programas clásicos a uno compatible con ZK.

Actualmente hay dos formas de hacer esto: una es escribir el circuito usando algún marco de sistema de prueba, como Halo2, la otra es usar un lenguaje de dominio específico (DSL), como Cairo o Circom, para convertir el cálculo a; un formulario de expresión intermedia, para su posterior presentación al sistema de certificación. El sistema de prueba genera una prueba ZK a partir de un circuito escrito o una representación intermedia compilada por DSL.

Cuanto más compleja sea la operación del programa, más tiempo llevará generar la prueba. Además, algunas operaciones son inherentemente hostiles a ZK e implementarlas requiere trabajo adicional. Por ejemplo, las funciones hash SHA o Keccak no son compatibles con ZKP y el uso de estas funciones dará como resultado tiempos de generación de pruebas más prolongados. E incluso operaciones de muy bajo coste en un ordenador clásico pueden resultar hostiles para ZKP.

Dejando de lado las tareas informáticas hostiles de ZK, aunque el proceso de generación de pruebas ZK puede diferir según el sistema de pruebas seleccionado, los cuellos de botella son esencialmente similares. En la generación de pruebas ZK, hay dos tareas informáticas que consumen la mayor cantidad de recursos informáticos: MSM (multiplicación multiescalar) y NTT (transformación teórica de números). Estas dos tareas computacionales pueden representar entre el 80% y el 95% del tiempo de generación de pruebas, dependiendo del esquema de compromiso de ZKP y su implementación específica.

MSM maneja principalmente la multiplicación multiescalar en curvas elípticas, mientras que NTT es una FFT (Transformada Rápida de Fourier) en un campo finito para acelerar el procesamiento de la multiplicación polinomial. El uso de diferentes combinaciones de esquemas dará como resultado diferentes relaciones de carga FFT/MSM.

Tomando a Stark como ejemplo, su PCS (Esquema de compromiso polinomial) utiliza FRI, un compromiso basado en hash, en lugar de la curva elíptica utilizada por KZG o IPA, por lo que no hay ningún cálculo de MSM. Cuanto más arriba en la tabla, más operaciones FFT se requieren y cuanto más abajo, más operaciones MSM se requieren.

Mejoramiento

Dado que las operaciones de MSM implican un acceso a la memoria predecible, aunque pueden paralelizarse masivamente, requieren una gran cantidad de recursos de memoria. Además, los MSM también enfrentan desafíos de escalabilidad y pueden ser lentos incluso cuando están en paralelo. Por lo tanto, aunque los MSM tienen el potencial de acelerarse en hardware, requieren una gran cantidad de memoria y recursos informáticos paralelos.

NTT a menudo implica acceso aleatorio a la memoria, lo que los hace hostiles al hardware y difíciles de manejar en una infraestructura distribuida. Esto se debe a las características de acceso aleatorio de NTT. Si se ejecuta en un entorno distribuido, inevitablemente tendrá que acceder a otros nodos. Una vez que se involucra la interacción de la red, el rendimiento disminuirá significativamente.

Por lo tanto, el acceso a los datos de almacenamiento y el movimiento de datos se convierten en un cuello de botella importante, lo que limita la capacidad de paralelizar las operaciones de NTT. Gran parte del trabajo para acelerar NTT se centra en gestionar cómo interactúa la computación con la memoria.

De hecho, la forma más sencilla de resolver el cuello de botella de eficiencia de MSM y NTT es eliminar por completo estas operaciones. Algunos algoritmos propuestos recientemente, como Hyperplonk, modifican Plonk para eliminar las operaciones NTT. Esto hace que Hyperplonk sea más fácil de acelerar, pero introduce nuevos cuellos de botella como el protocolo sumcheck computacionalmente costoso; También existe el algoritmo STARK, que no requiere MSM, pero su protocolo FRI introduce muchos cálculos hash.

Aceleración de hardware ZK y el objetivo final de Cysic

Si bien la optimización a nivel de software y algoritmo es importante y valiosa, existen claras limitaciones. Para optimizar completamente la eficiencia de generación de ZKP, se debe utilizar la aceleración de hardware, de manera muy similar a como los ASIC y las GPU eventualmente dominaron los mercados mineros de BTC y ETH.

Entonces la pregunta es: ¿Cuál es el mejor hardware para acelerar la generación de ZKP? Actualmente existe una variedad de hardware que puede implementar la aceleración ZK, como GPU, FPGA o ASIC. Por supuesto, cada uno tiene sus propias ventajas y desventajas.

Podemos comparar estos tipos de hardware:

Primero, utilizamos un ejemplo simple para ilustrar sus diferencias a nivel de desarrollo. Por ejemplo, ahora queremos implementar una multiplicación paralela simple:

  • En la GPU, utilizando la API proporcionada por CUDA SDK, podemos desarrollar como escribir código nativo para obtener capacidades de computación paralela;

  • En FPGA, necesitamos volver a aprender el lenguaje de descripción del hardware y usar este lenguaje para controlar las conexiones a nivel de hardware para implementar algoritmos paralelos;

  • En los ASIC, la disposición de conexión de los transistores se fija directamente a nivel de hardware durante la fase de diseño del chip y no se puede modificar posteriormente.

Cada una de estas opciones tiene sus propias ventajas y desventajas y es adecuada para diferentes etapas de desarrollo de la vía ZK. Cysic se compromete a convertirse en la solución definitiva para la aceleración de hardware ZK. Su estrategia paso a paso es:

  1. Desarrollar SDK basado en GPU para proporcionar soluciones para aplicaciones ZK e integrar recursos de GPU en toda la red;

  2. Aproveche la flexibilidad y las características equilibradas de FPGA para implementar rápidamente la aceleración de hardware ZK personalizada.

  3. Hardware ZK Depin basado en ASIC desarrollado independientemente

  4. Cysic Network servirá como plataforma SAAS/grupo de minería, integrando toda la potencia informática de ZK Depin y GPU para proporcionar potencia informática y soluciones de verificación para toda la industria ZK.

Entendamos completamente las diferencias de subdivisión de la solución de aceleración ZK y las ideas de desarrollo de Cysic interpretando múltiples pistas subdivididas.

ZK Mining Pool y plataforma SaaS: Cysic Network

De hecho, conocidos ZK Rollups como Scroll y Polygon zkEVM han propuesto claramente el concepto de "Prover descentralizado" en sus hojas de ruta, que en realidad es la construcción de un grupo de minería ZK. Este enfoque orientado al mercado puede reducir la carga del proyecto ZK Rollup y alentar a los mineros y operadores de grupos mineros a optimizar continuamente el programa de aceleración ZK.

En la hoja de ruta de Cysic, se han propuesto claramente planes para un grupo de minería ZK y una plataforma SaaS llamada Cysic Network. No solo integrará la potencia informática propia de Cysic, sino que también absorberá recursos informáticos de terceros a través de incentivos de minería, incluidas GPU inactivas y dispositivos zk DePIN en manos de usuarios comunes.

El diagrama esquemático de todo el flujo de trabajo de verificación es el siguiente:

  1. La parte del proyecto zk envía la tarea de generación de pruebas al agente, y el trabajo de este último es reenviar la tarea de prueba a la red de verificación. Estos Agentes serán administrados oficialmente por Cysic al principio, y más adelante se introducirá la participación de activos para que cualquiera pueda convertirse en Agente;

  2.  

  3. El probador acepta la tarea de prueba y utiliza hardware para generar la prueba ZK. El probador debe prometer un token para participar en la contratación de la tarea de prueba y recibirá una recompensa.

  4.  

  5. El comité verificador es responsable de verificar la validez de la prueba generada por Prover y votar. Cuando se alcance un cierto número de votos, la prueba se considerará válida. Los verificadores se unen al comité apostando tokens, participan en votaciones y reciben recompensas. Este proceso se puede combinar con el concepto AVS de EigenLayer para reutilizar las instalaciones de restauración existentes.

El proceso de interacción detallado es el siguiente:

De hecho, hay un punto en el proceso anterior, ya sea que se trate de la promesa de activos o la distribución de incentivos, así como la presentación de tareas informáticas y otras acciones, todos deben depender de una plataforma dedicada, lo que requiere una cadena de bloques como dedicada. instalación.

Para ello, Cysic Network ha construido una cadena pública exclusiva y ha adoptado un algoritmo de consenso único llamado Prueba de Computación (PoC). Su principio básico se basa en la función VRF y el rendimiento histórico de Prover, como la disponibilidad de equipos y el rendimiento. número de envíos de pruebas, precisión de la prueba, etc., para seleccionar el productor de bloques responsable de producir el bloque (nota: los bloques aquí deben usarse para registrar la información de cada dispositivo y distribuir incentivos de Token).

Por supuesto, además del grupo de minería ZK y la plataforma SaaS, Cysic ha hecho muchos arreglos para soluciones de aceleración ZK basadas en diferentes hardware. A continuación, comprendamos sus resultados en las tres rutas de GPU, FPGA y ASIC respectivamente.

GPU, FPGA y ASIC

El núcleo de la aceleración de hardware ZK es paralelizar algunas operaciones clave tanto como sea posible. Desde la perspectiva de las características funcionales del hardware, para lograr la máxima flexibilidad y versatilidad, una gran parte del área del chip de la CPU se utiliza para proporcionar funciones de control y cachés en todos los niveles, lo que resulta en capacidades de computación paralela débiles.

En las GPU, la proporción del área del chip utilizada para la informática ha aumentado considerablemente, lo que permite admitir el procesamiento paralelo a gran escala. Ahora que las GPU son muy populares, bibliotecas como Nvidia Cuda pueden ayudar a los desarrolladores a aprovechar el paralelismo de las GPU sin conocer el hardware subyacente. El SDK de CUDA se puede utilizar para encapsular la biblioteca CUDA ZK para acelerar las operaciones de MSM y NTT.

FPGA es una matriz compuesta por una gran cantidad de pequeñas unidades de procesamiento. Para programar FPGA, se debe utilizar un lenguaje de descripción de hardware especial, que luego se compila en una combinación de circuitos de transistores. Por lo tanto, FPGA en realidad utiliza directamente circuitos de transistores para implementar algoritmos específicos sin compilar el sistema de instrucciones. Este nivel de personalización y flexibilidad es mucho mayor que con una GPU.

El precio actual de FPGA es sólo aproximadamente un tercio del de GPU, y su eficiencia energética puede ser más de diez veces mayor que la de GPU. Esta importante ventaja de eficiencia energética se debe en parte al hecho de que la GPU debe estar conectada a un dispositivo host, lo que normalmente consume mucha energía. Se puede decir que FPGA puede agregar más módulos informáticos para satisfacer las necesidades de MSM y NTT sin aumentar el consumo de energía. Esto hace que los FPGA sean particularmente adecuados para escenarios a prueba de ZK que requieren un uso intensivo de computación y un alto rendimiento de datos y un bajo tiempo de respuesta.

Sin embargo, el mayor problema con FPGA es que pocos desarrolladores tienen experiencia en programación. Para el proyecto ZK, es extremadamente difícil organizar un equipo con experiencia en criptografía y en ingeniería de FPGA.

ASIC es equivalente a usar hardware para implementar un determinado programa. Una vez que se completa el diseño, el hardware no se puede cambiar. En consecuencia, los programas que ASIC puede ejecutar no se pueden cambiar y solo se pueden usar para tareas específicas. Las ventajas de aceleración de hardware de FPGA en términos de MSM y NTT descritas anteriormente también están disponibles en ASIC. Y debido a su diseño de circuito dedicado, ASIC tiene el mayor rendimiento y el menor consumo de energía entre todas las soluciones.

Para el actual circuito ZK, Cysic espera demostrar que el tiempo puede alcanzar una velocidad de 1 a 5 segundos. Para lograr este objetivo, solo ASIC puede lograrlo.

Si bien estas ventajas parecen muy atractivas, la tecnología ZK avanza rápidamente y los ciclos de diseño y producción de ASIC suelen tardar entre 1 y 2 años y cuestan entre 10 y 20 millones de dólares. Por lo tanto, es necesario esperar hasta que la tecnología ZK sea lo suficientemente estable antes de poder ponerla en producción a gran escala para evitar producir chips que pronto quedarán obsoletos.

En este sentido, Cysic ha hecho arreglos completos en los tres campos de GPU, FPGA y ASIC;

A nivel de soluciones de aceleración de GPU, con el nacimiento de varios nuevos sistemas a prueba de ZK, Cysic los adaptó basándose en el SDK de aceleración CUDA de desarrollo propio y vinculó datos en la red de potencia informática de GPU de Cysic mediante la recopilación de cien mil recursos de la comunidad. Tarjetas gráficas informáticas de nivel, y Cysic CUDA SDK es entre un 50 % y un 80 % o más más rápido que el último marco de código abierto.

En FPGA, Cysic ha completado la implementación del árbol MSM, NTT, Poseidon Merkle y otros módulos más rápidos del mundo a través de soluciones de desarrollo propio, que cubren la parte más importante de la informática ZK, y esta solución ha sido verificada como prototipo por múltiples proyectos importantes de ZK.

SolarMSM de desarrollo propio de Cysic puede completar cálculos MSM de escala 2^30 en 0,195 segundos, mientras que SolarNTT puede completar cálculos NTT de escala 2^30 en 0,218 segundos, que es el rendimiento más alto entre todos los resultados de aceleración de hardware FPGA disponibles públicamente.

En el campo ASIC, aunque todavía hay una cierta distancia de la aplicación a gran escala de ZK ASIC, Cysic ha trazado este camino con anticipación y lanzó sus chips y equipos ZK DePIN desarrollados de forma independiente.

Para atraer a los usuarios finales de C y cumplir con los requisitos de rendimiento y costos de las diferentes partes del proyecto ZK, Cysic lanzará dos productos de hardware ZK: ZK Air y ZK Pro.

ZK Air es similar en tamaño a un banco de energía y una fuente de alimentación para computadora portátil. Los usuarios comunes pueden conectarlo directamente a computadoras portátiles, iPads o incluso teléfonos móviles a través de la interfaz Tipo-C para brindar soporte de energía informática para proyectos ZK específicos y recibir recompensas. Actualmente, la potencia informática de ZK Air aún supera la de las tarjetas gráficas de consumo y puede acelerar las tareas de generación de pruebas ZK a pequeña escala.

ZK Pro es similar a una máquina minera tradicional. Su potencia informática ha alcanzado el efecto de múltiples tarjetas gráficas de alto nivel para consumidores interconectadas con un servidor GPU. Puede acelerar enormemente la generación de pruebas ZK y es adecuado para proyectos ZK a gran escala. como ZK-Rollup y ZKML (aprendizaje automático de conocimiento cero).

Con estos dos dispositivos, Cysic finalmente construirá una red ZK-DePIN estable y confiable. Ambos dispositivos se encuentran actualmente en desarrollo y se espera que estén disponibles en 2025.

Además, a través de Cysic Network, los usuarios finales de C pueden unirse al mercado de aceleración de hardware ZK con un umbral muy bajo. Junto con la gran demanda de potencia informática del proyecto ZK, esto puede provocar que el mercado vuelva a desencadenar una ola de locura. Minería de Bitcoin, el tamaño del mercado del campo informático ZK puede marcar el comienzo una vez más de un crecimiento explosivo.