2023 es el primer año del brote de ZK y ya hay algunas opiniones. En este artículo, nos centraremos en analizar diferentes tipos de pistas de hardware de zkEVM y ZKP, etc., y los analizaremos uno por uno. En la reunión de investigación de inversiones sobre el tema ZK iniciada por ChainTimes la semana pasada, todos se comunicaron activamente. Este artículo clasificará el análisis sobre zkEVM y el hardware compartido por MetaStone Capital.
01.Acerca de zk-rollup
Como solución de escalabilidad de Ethereum, Rollups puede agrupar y comprimir transacciones a través de su propia red y enviarlas a la cadena de Ethereum para su verificación. Puede aumentar la eficiencia operativa de la red al verificar múltiples transacciones en la red al mismo tiempo. para aumentar el número de ejecuciones de transacciones y lograr la expansión.
A través de la cantidad de transacciones ejecutadas al mismo tiempo por el propio Rollup, se puede mejorar el problema de TPS por el que se ha criticado a Ethereum. En función de la seguridad del propio Ethereum, la cantidad de transacciones ejecutables se puede aumentar en varios órdenes de magnitud.
zkRollups puede combinar la privacidad con soluciones a través de tecnología de prueba de conocimiento cero, que permite a una parte probar algo a otra sin revelar la información que prueba esa parte, logrando así privacidad. Por supuesto, no todos los zkRollups aprovecharán las propiedades de privacidad de la tecnología de conocimiento cero. Al mismo tiempo, en comparación con L1, zkRollups tiene economías de escala más fuertes. En cuanto a L1 Ethereum, su costo y velocidad de procesamiento generalmente no son adecuados para cada vez más usuarios. Para zkRollups, más usuarios de transacciones reducirán aún más el costo. de utilizar la red y lograr el propósito original.
Los beneficios obvios de aplicar zk-rollup en ETH son:
1. Compartir la seguridad de la capa de consenso de Ethereum
2. Resuelva el problema de escalabilidad en el triángulo imposible de blockchain
3. Enormes efectos de red
02. Cómo funcionan EVM y zkEVM
a. Principio de funcionamiento de EVM
El código de bytes del contrato inteligente se carga desde el almacenamiento del EVM y lo ejecutan nodos peer-to-peer en el EVM.
Los códigos de operación de EVM interactúan con diferentes partes del estado de EVM y realizan operaciones de lectura y escritura (incluida la memoria y la pila)
El código de operación EVM realiza cálculos sobre el valor obtenido del almacén de estado antes de devolver el nuevo valor para completar la transición de estado.
b.Cómo funciona zkEVM
Es decir, se genera una prueba de conocimiento cero para verificar cada uno de los procesos anteriores, se genera un certificado de validez y se envía al contrato verificador de ETH para su verificación. La verificación incluye ver si se obtiene el valor correcto del estado anterior, si hay una desviación en el cálculo, etc. El proceso de generar una prueba de validez es también el proceso de crear un circuito de prueba de conocimiento cero.

3.programa de ejecución zkEVM
01. Las condiciones básicas de zkEVM requieren una máquina virtual compatible con evm para ejecutar códigos de operación y ejecutar contratos inteligentes.
02. Existe un circuito de verificación que genera pruebas de conocimiento cero. Complete el proceso de generación de pruebas utilizando información anterior al estado, entrada de transacción y posterior al estado como entrada.
03. Presentar el certificado de validez al contrato de verificación ETH para su verificación.
4. Problemas de compatibilidad entre Scroll y zkSync, Starknet y Polygon
Debido a que EVM no consideró la cuestión del cálculo de zkp cuando se diseñó originalmente, hay dos formas de combinar zk + zvm:
un método de compilación
El propio Starknet utiliza el lenguaje Cairo (lenguaje de sistema a prueba de conocimiento cero). Si los desarrolladores quieren mover aplicaciones eth a starknet, necesitan tomar prestado el compilador del equipo de starknet para la compilación, lo que permite que los proyectos escritos en Solidity puedan "hacer un solo clic" en su código base. ”Se traduce a El Cairo.
zksync también se compila en lenguaje A través del lenguaje intermedio YUL, utilizando el marco LLVM, el código de bytes del contrato de solidez se compila en el lenguaje YUL y luego se compila en el código de bytes ejecutable zksync ZKEVM establecido a través del código de bytes YUL.
Polygon se compila en código de bytes, y el código de bytes de solidez de código abierto se compila en un código de microoperación ejecutable de polígono uvm, que en realidad reemplaza el código de operación nativo de evm. Pero el objetivo del progreso es completar la compatibilidad con evm desde el nivel de código de bytes.
b.scroll es el proceso de diseño de circuitos de conocimiento cero para códigos de operación evm
Scroll ejecutará el contrato inteligente en el EVM, transferirá el código de bytes del contrato inteligente a la memoria, lo ejecutará uno por uno con los códigos de operación, obtendrá el árbol Merkle y personalizará un circuito para cada árbol. Cada código de operación tiene un circuito y, cuando se combinan, no hay ningún paso de traducción ni necesidad de modificar nada.
El zkEVM a nivel de código de bytes es fácil de usar para los desarrolladores: la implementación de umbral bajo es un punto. Además, sin convertir el código de Solidity a otro lenguaje de codificación, los desarrolladores pueden usar directamente herramientas de desarrollo, bibliotecas, billeteras (como MetaMask), Market y comunes de Ethereum. Depurador, este es el más crítico. Por el contrario, el uso de la compatibilidad a nivel de idioma causará ciertas dificultades a los desarrolladores para usar herramientas éticas y migrar aplicaciones ecológicas de Ethereum, y la compatibilidad será peor.
Dejando a un lado la compatibilidad, cómo comparar ZK-EVM:
En un entorno de código abierto, las diferencias entre las diversas soluciones ZK del sistema Prove general son muy pequeñas y las diferencias no son significativas, lo que afecta débilmente la eficiencia de Prove. En términos de ingeniería, se mide en términos de complejidad de prueba, complejidad de verificación, complejidad de comunicación, etc., así como las ideas generales de desarrollo del circuito. Es imposible juzgar quién ganará al final. Porque los efectos de red, la cultura comunitaria, la promoción de operaciones, los efectos de riqueza, el apoyo a los desarrolladores, etc. son los elementos más importantes del ecosistema.
5. Tipos actuales de ZKP
Para probar un cálculo mediante ZK, normalmente es necesario traducir un programa tradicional a un programa compatible con ZK.
Cuanto más complejo sea el cálculo y no sea compatible con ZK, más lento será el proceso de generación de pruebas. Algunas operaciones no son compatibles con ZK (operación sha/bit a bit). Si el cálculo es compatible con ZK, más rápido. será el sistema de prueba Actualmente existen PLONK, Spartan y STARK. Estos sistemas de prueba pueden generar una prueba basada en la entrada.
Sin embargo, el cuello de botella actual en la generación de pruebas no es más que uno de los dos. Todos los sistemas de prueba incluyen básicamente dos algoritmos: FFT y MSM. El factor principal que limita la velocidad de los dos algoritmos actualmente depende del costo del hardware y del ancho de banda.
Los tipos de hardware actuales incluyen principalmente los siguientes tres tipos de GPU FPGA ASIC. Actualmente, ZKP aún se encuentra en la etapa inicial de desarrollo. Todavía hay poco trabajo de estandarización en los parámetros del sistema (como el ancho de FFT o la selección de bits del elemento). El sistema de prueba tampoco existe un estándar relevante.
Según los factores anteriores, para escenarios ZKP, FPGA tiene 2 atributos principales que lo hacen mejor que ASIC:
01Escribir varias veces” VS “Escribir una vez”
La lógica de negocios en el ASIC es de escritura única. Si hay modificaciones en la lógica ZKP, es necesario empezar de nuevo. FPGA puede volver a flashear en 1 segundo y admite volver a flashear innumerables veces, lo que significa que el mismo hardware se puede reutilizar entre diferentes cadenas que ejecutan sistemas de prueba incompatibles (por ejemplo, si desea extraer MEV entre cadenas), y el mismo hardware se puede reutilizar en cualquier momento. Adaptarse de forma flexible a los cambios en el "meta" de ZK.
02Suministro más saludable:
El diseño, la fabricación y la implementación de ASIC suelen tardar entre 12 y 18 meses o más. La cadena de suministro de FPGA es saludable. Los principales proveedores de FPGA, como Xilinx, permiten realizar pedidos al por mayor en línea (es decir, no se requiere ningún otro contacto) y llegar en un plazo de 16 semanas. Esto permite que las operaciones centradas en FPGA tengan un circuito de retroalimentación más estrecho sobre sus productos y expandan sus operaciones mediante la compra e implementación de más FPGA.
Y también esperamos que el rendimiento de FPGA sea mejor que el de GPU, principalmente por dos razones:
1) Gastos generales de hardware: los principales FPGA (nodos de procesamiento líderes, velocidades de reloj, eficiencia energética y ancho de banda de memoria) son aproximadamente 3 veces más baratos que las principales GPU. La demanda mundial de GPU agrava aún más el problema.
2) Eficiencia del consumo de energía: el consumo de energía de FPGA es >10 veces mayor que el de la GPU. La razón principal es que la GPU necesita estar conectada a un dispositivo host, que generalmente consume mucha energía.
Creemos que los futuros ganadores del mercado serán: FPGA > ASIC (o GPU). Si solo una o una pequeña cantidad de soluciones ZK L1 o L2 dominan la escala en el futuro, y el sistema de prueba ZK se estabiliza en torno a una sola implementación, es posible que ASIC supere a FPGA. Pero en la actualidad, esta situación no se producirá en unos años.
Los mineros de Bitcoin ganaron más de 15 mil millones de dólares y los mineros de Ethereum ganaron poco más de 17 mil millones de dólares. Las pruebas de conocimiento cero eventualmente se convertirán en el medio de facto para la integridad computacional y la privacidad en la web, en cuyo caso la oportunidad para los mineros/probadores de ZK puede ser similar en tamaño al mercado de minería de prueba de trabajo.
ZKP es lento y requiere aceleración de hardware para implementar cálculos complejos. Creemos que la tecnología más importante para la aceleración de hardware de ZK es FPGA, no GPU (limitada por el costo y la eficiencia energética) o ASIC (limitada por su inflexibilidad y su largo ciclo de iteración).
