En el artículo 'Avance del sector prometedor: El mercado de potencia computacional descentralizado (Parte I)', ya hemos comprendido la importancia de la potencia computacional en el contexto de las expectativas de IA y hemos explorado profundamente los dos principales desafíos que se enfrentan actualmente en el establecimiento de un mercado de potencia computacional AGI descentralizado. Este artículo comenzará con los conceptos fundamentales de las pruebas de conocimiento cero y, adentrándose progresivamente en mayor profundidad, explorará las múltiples posibilidades del mercado de potencia computacional descentralizado, un sector floreciente y prometedor. (El artículo anterior también mencionó el mercado de potencia computacional de Bitcoin, pero considerando el reciente crecimiento explosivo en el ecosistema de Bitcoin, este aspecto se discutirá más a fondo en nuestros futuros artículos relacionados con el ecosistema de Bitcoin).
En la década de 1980, tres criptógrafos del MIT (Shafi Goldwasser, Silvio Micali y Charles Rackoff) publicaron un artículo titulado "La complejidad del conocimiento de los sistemas de prueba interactiva". Este artículo describía una técnica criptográfica innovadora que permite verificar la autenticidad de la información sin revelar la propia información. Los autores llamaron a esta técnica "prueba de conocimiento cero" y proporcionaron una definición específica y un marco para el concepto.
Durante las décadas siguientes, la tecnología de prueba de conocimiento cero, basada en este documento, se desarrolló y mejoró gradualmente en diversos campos. Hoy en día, las pruebas de conocimiento cero se han convertido en un término que abarca muchas métodos criptográficos "modernos" o "avanzados", especialmente aquellos relacionados con el futuro de la cadena de bloques.
Prueba de conocimiento cero (ZKP), se utiliza indistintamente en este texto dependiendo del contexto, se refiere a un método en el que un probador puede demostrar la corrección de una afirmación a un verificador sin proporcionar ninguna información específica sobre la afirmación en sí. Tres atributos fundamentales de este método incluyen la completitud, la solidez y el conocimiento cero. La completitud asegura la demostrabilidad de afirmaciones verdaderas, la solidez garantiza que no se pueden demostrar afirmaciones falsas, y el conocimiento cero significa que el verificador no obtiene ninguna información más allá de la verdad de la afirmación.
Según el método de comunicación entre el probador y el verificador, existen dos tipos de pruebas de conocimiento cero: interactivas y no interactivas. En las pruebas interactivas, hay una serie de interacciones entre el probador y el verificador. Estas interacciones forman parte del proceso de prueba, en el que el probador responde a una serie de consultas o desafíos del verificador para demostrar la veracidad de su afirmación. Este proceso suele implicar múltiples rondas de comunicación, en las que el verificador plantea una pregunta o un desafío en cada ronda y el probador responde para demostrar la exactitud de su afirmación. En las pruebas no interactivas, no se requieren varias rondas de interacción. En este caso, el probador crea una única prueba verificable de forma independiente y la envía al verificador. El verificador puede verificar de forma independiente la veracidad de esta prueba sin necesidad de comunicarse con el probador.
1. Interactivo: La historia de Alibaba y los cuarenta ladrones es un ejemplo clásico que se cita a menudo para explicar las pruebas interactivas de conocimiento cero. En una versión simplificada de la historia, Alibaba, que conoce las palabras mágicas para abrir una cueva llena de tesoros, es capturado por los ladrones. Si revela las palabras mágicas, corre el riesgo de ser asesinado por falta de uso posterior. Si se niega, los ladrones podrían matarlo por no conocer el secreto. Para demostrar que conoce el secreto sin revelarlo, Alibaba utiliza dos entradas, A y B, a la cueva, que conducen a una cámara central con una puerta protegida por contraseña. Alibaba entra en la cueva y elige una entrada mientras los ladrones esperan afuera, incapaces de ver su elección. Luego, los ladrones gritan al azar A o B, exigiendo que Alibaba salga por la entrada elegida. Si Alibaba realmente conoce las palabras mágicas, puede usar la contraseña para pasar por la puerta central y salir por la entrada designada. Repitiendo este proceso con éxito varias veces, Alibaba demuestra que conoce el secreto sin revelarlo.
Las pruebas de conocimiento cero tienen diversas implementaciones en blockchain, con zk-STARK (Argumento Transparente Escalable de Conocimiento Cero) y zk-SNARK (Argumento Sucinto No Interactivo de Conocimiento Cero) siendo los más conocidos. Ambos son pruebas de conocimiento cero no interactivas, como se indica por "No Interactivo" en sus nombres.
zk-SNARK es un esquema de prueba de conocimiento cero de propósito general ampliamente utilizado (no una sola tecnología sino una categoría). Convierte cualquier proceso computacional en una serie de circuitos de compuertas, luego utiliza propiedades polinomiales para transformar estos circuitos en polinomios, comprimiendo y generando así pruebas no interactivas pequeñas para aplicaciones comerciales complejas. zk-SNARK requiere una configuración de confianza, donde varias partes generan cada una una parte de la clave en un entorno de confianza y luego la destruyen. Si la información secreta utilizada en la configuración de confianza no se destruye, podría ser explotada para falsificar transacciones a través de una verificación falsa.
zk-STARK evolucionó de zk-SNARK, abordando la dependencia de las configuraciones confiables. Puede completar la verificación de blockchain sin ninguna configuración confiable, reduciendo la complejidad de lanzar redes y eliminando los riesgos de colusión. Sin embargo, zk-STARK tiene el problema de generar pruebas más grandes, lo que es desventajoso en términos de almacenamiento, verificación en cadena y tiempo de generación. Si has experimentado versiones anteriores de StarkNet (usando zk-STARK), es posible que hayas notado una diferencia significativa en velocidad y tarifas de Gas en comparación con otras soluciones de Capa 2. Por lo tanto, zk-SNARK es más comúnmente adoptado. Otras soluciones menos convencionales incluyen PLONK y Bulletproofs, cada una con sus propias ventajas y desventajas en tamaño de prueba, tiempo de demostrador y tiempo de verificación. Lograr una prueba de conocimiento cero ideal es un desafío, y los algoritmos convencionales suelen equilibrar diferentes dimensiones.
El desarrollo de ZK normalmente implica dos componentes clave:
Expresión de computación compatible con ZK: Esto incluye un lenguaje específico de dominio (DSL) o una biblioteca de bajo nivel. Bibliotecas de bajo nivel como Arkworks proporcionan herramientas y primitivas necesarias, lo que permite a los desarrolladores reescribir manualmente el código en un lenguaje de nivel inferior. Los DSLs como Cairo o Circom son lenguajes de programación diseñados para aplicaciones ZK, compilando en las primitivas necesarias para la generación de pruebas. Operaciones más complejas dan lugar a tiempos de generación de pruebas más largos, y ciertas operaciones (como operaciones de bits utilizadas en SHA o Keccak) pueden no ser adecuadas para ZK, lo que resulta en una generación de pruebas prolongada.
Sistema de prueba: El sistema de prueba es el núcleo de una aplicación ZK, implementando dos funciones básicas: Probar y Verificar. La función Prove permite generar una prueba (que requiere cálculos matemáticos extensos, mientras que las pruebas más complejas tardan más en generarse) de que una declaración es correcta sin revelar los detalles de la prueba. La función Verificar se utiliza para comprobar la exactitud de esta prueba (cuanto más compleja y grande sea la prueba, mayor será el rendimiento y menor será el tiempo necesario para la verificación). Los diferentes sistemas de prueba, como Groth16, GM17, PLONK, Spartan y STARK, varían en eficiencia, seguridad y facilidad de uso.
Puentes y interoperabilidad cruzada de ZKP: ZKP puede crear pruebas de validez para protocolos de mensajería entre cadenas, lo que permite verificar rápidamente los mensajes en la cadena de destino. Esto es similar a verificar zkRollups en la base L1. Sin embargo, la mensajería entre cadenas es más compleja debido a los diferentes esquemas de firma y funciones criptográficas que necesitan verificación entre las cadenas de origen y destino.
ZKP en motores de juegos en cadena: Dark Forest demuestra cómo ZKP puede habilitar juegos de información incompleta en cadena. Esto es crucial para diseñar juegos más interactivos donde las acciones de los jugadores permanecen privadas hasta que decidan revelarlas. A medida que madura el juego en cadena, ZKP se convertirá en parte de los motores de ejecución del juego. Las nuevas empresas que integren con éxito funciones de privacidad en motores de juegos en cadena de alto rendimiento jugarán un papel significativo.
Soluciones de identidad: ZKP abre múltiples oportunidades en el dominio de la identidad. Se pueden utilizar para pruebas de reputación o para vincular identidades Web2 y Web3. Actualmente, nuestras identidades Web2 y Web3 son separadas. Proyectos como Clique utilizan oráculos para conectar estas identidades. ZKP puede llevar esto más lejos al vincular de forma anónima identidades Web2 y Web3, permitiendo casos de uso como la membresía anónima en DAO, siempre que puedan demostrar experiencia específica de dominio utilizando datos de Web2 o Web3. Otro caso de uso son los préstamos Web3 sin garantías basados en el estatus social Web2 de un prestatario (por ejemplo, el número de seguidores en Twitter).
ZKP para Cumplimiento Regulatorio: Web3 permite que cuentas en línea anónimas participen activamente en el sistema financiero, logrando una significativa libertad financiera e inclusividad. Con las regulaciones Web3 en aumento, ZKP se puede utilizar para cumplir sin violar el anonimato. ZKP puede demostrar que un usuario no es ciudadano ni residente de un país sancionado. También se puede utilizar para demostrar el estatus de inversionista acreditado u otros requisitos KYC/AML.
Financiamiento de deuda privada nativa Web3: El financiamiento de deuda de TradeFi se utiliza a menudo para apoyar a las startups en crecimiento para acelerar el crecimiento o iniciar nuevas líneas de negocio sin agregar capital de riesgo adicional. El auge de los DAOs Web3 y las empresas anónimas crea oportunidades para el financiamiento de deuda nativa Web3. Por ejemplo, utilizando ZKP, los DAOs o empresas anónimas pueden obtener préstamos sin garantía y tasas competitivas basadas en métricas de prueba de crecimiento, sin revelar información del prestatario a los prestamistas.
Privacidad en DeFi: Las instituciones financieras a menudo mantienen la privacidad de su historial de transacciones y exposición al riesgo. Sin embargo, el uso de protocolos de finanzas descentralizadas (DeFi) en cadena se vuelve desafiante debido a las técnicas avanzadas de análisis en cadena. Una solución potencial es desarrollar productos DeFi centrados en la privacidad para proteger la privacidad de los participantes. Un protocolo que intenta esto es zkSwap de Penumbra. Además, zk.money de Aztec ofrece algunas oportunidades de ganancias DeFi privadas al oscurecer la participación del usuario en protocolos DeFi transparentes. En general, los protocolos que implementan con éxito productos DeFi eficientes y centrados en la privacidad pueden atraer volúmenes significativos de transacciones y ingresos de participantes institucionales.
ZKP para la publicidad de Web3: Web3 capacita a los usuarios para que sean dueños de sus derechos de datos, como el historial de navegación, las actividades privadas de la billetera, etc. Web3 también permite la monetización de estos datos en beneficio de los usuarios. Dado que la monetización de datos puede entrar en conflicto con la privacidad, ZKP puede desempeñar un papel crucial en controlar qué datos personales pueden ser revelados a los anunciantes y agregadores de datos.
Compartir y monetizar datos privados: Muchos de nuestros datos privados, si se comparten con las entidades adecuadas, pueden tener impactos significativos. Los datos personales de salud pueden ser recolectados de manera colaborativa para ayudar a los investigadores a desarrollar nuevos medicamentos. Los registros financieros privados se pueden compartir con entidades regulatorias y de supervisión para identificar y sancionar prácticas corruptas. ZKP puede permitir el compartir privado y la monetización de dichos datos.
Gobernanza: A medida que las DAO (Organizaciones Autónomas Descentralizadas) y la gobernanza on-chain se vuelven más frecuentes, la Web3 se está moviendo hacia la democracia participativa directa. Una falla importante en el modelo de gobernanza actual es la falta de privacidad de la participación. ZKP puede ser fundamental para resolver este problema. Los participantes en la gobernanza pueden votar sin revelar sus opciones de voto. Además, ZKP puede restringir la visibilidad de las propuestas de gobernanza solo a los miembros de las DAO, lo que permite a las DAO crear ventajas competitivas.
ZKRollup: La escalabilidad es uno de los casos de uso más importantes de ZKP en blockchain. La tecnología zkRollup agrega múltiples transacciones en una sola transacción. Estas transacciones se procesan y calculan fuera de la cadena (fuera de la cadena principal del blockchain). Para estas transacciones agregadas, zkRollup utiliza ZKP para generar una prueba que puede verificar la validez de las transacciones sin revelar sus detalles específicos, comprimiendo significativamente el tamaño de los datos. El ZKP generado se envía luego a la cadena principal del blockchain. Los nodos en la cadena principal solo necesitan verificar la validez de la prueba, no procesar cada transacción individual, lo que reduce considerablemente la carga de la cadena principal.
Los protocolos de prueba de conocimiento cero (ZKP), aunque tienen múltiples ventajas, actualmente se enfrentan a un problema principal: la verificación es fácil, pero la generación es difícil. El principal cuello de botella en la generación de la mayoría de los sistemas de prueba es la multiplicación multiescalar (MSM) o la transformada rápida de Fourier (FFT) y su inversa. La composición y los pros y los contras de estos son los siguientes:
Multiplicación multi-escalar (MSM): MSM es un cálculo clave en criptografía, que implica la multiplicación de puntos y escalares en la criptografía de curvas elípticas. En ZKPs, MSM se utiliza para construir relaciones matemáticas complejas sobre puntos en curvas elípticas. Estos cálculos suelen implicar un gran número de puntos de datos y operaciones, clave para generar y verificar pruebas. MSM es particularmente importante en ZKPs, ya que ayuda a construir pruebas que pueden verificar declaraciones encriptadas sin exponer información privada. MSM se puede ejecutar en varios hilos, lo que admite el procesamiento paralelo. Sin embargo, al tratar con grandes vectores de elementos, como 50 millones de elementos, las operaciones de multiplicación aún pueden ser lentas y requerir recursos de memoria sustanciales. Además, MSM enfrenta desafíos de escalabilidad, ya que sigue siendo lento incluso con una extensa paralelización.
Transformada rápida de Fourier (FFT): FFT es un algoritmo eficiente para calcular la multiplicación de polinomios y resolver problemas de interpolación de polinomios. En ZKPs, a menudo se utiliza para optimizar el cálculo de polinomios, un paso crucial en la generación de pruebas. FFT acelera el cálculo descomponiendo operaciones complejas de polinomios en partes más pequeñas y simples, crucial para la eficiencia en el proceso de generación de pruebas. El uso de FFT mejora significativamente la capacidad de los sistemas ZKP para manejar polinomios complejos y conjuntos de datos grandes. Sin embargo, las operaciones de FFT dependen de intercambios frecuentes de datos, lo que dificulta mejorar significativamente la eficiencia a través de la informática distribuida o la aceleración de hardware. Los intercambios de datos en las operaciones de FFT requieren un ancho de banda sustancial, especialmente al tratar con conjuntos de datos más grandes que la capacidad de memoria del hardware.
Si bien la optimización del software también es una dirección de investigación importante, el método más directo y de fuerza bruta para acelerar la generación de pruebas es apilar suficiente potencia computacional en hardware. Entre las diversas opciones de hardware computacional (GPU, FPGA, ASIC), ¿cuál es la mejor elección? Dado que las GPU ya han sido brevemente presentadas en la sección anterior, aquí entendemos principalmente la lógica de diseño y los pros y los contras de FPGA y ASIC.
ASIC: ASIC (Circuito Integrado Específico de la Aplicación) es un circuito integrado diseñado específicamente para satisfacer las necesidades de una aplicación en particular. En comparación con los procesadores de propósito general o los circuitos integrados estándar, los ASIC están personalizados para realizar tareas o aplicaciones específicas, por lo tanto, suelen mostrar una mayor eficiencia y rendimiento en las aplicaciones para las que están diseñados. En el conocido campo de la minería de Bitcoin, los ASIC son hardware computacional muy importante, ya que su alta eficiencia y bajo consumo de energía los convierten en una elección ideal para la minería de Bitcoin. Sin embargo, los ASIC tienen dos claras desventajas: dado que están diseñados para aplicaciones específicas (por ejemplo, las máquinas de minería ASIC de Bitcoin están diseñadas en torno al algoritmo de hash SHA-256), los costos de diseño y fabricación pueden ser muy altos sin una adopción masiva, y el ciclo de diseño y verificación puede ser relativamente largo.
FPGA: FPGA significa matriz de puertas programable en campo, un tipo de dispositivo reprogramable desarrollado sobre la base de circuitos lógicos tradicionales y matrices de puertas como PAL (Arreglo Lógico Programable), GAL (Lógica de Matriz Genérica) y CPLD (Dispositivo Lógico Programable Complejo). Al igual que los ASIC, los FPGAs son circuitos integrados utilizados en el diseño electrónico para implementar funciones específicas, superando las limitaciones de los circuitos semipersonalizados del pasado y el número limitado de compuertas en los dispositivos programables anteriores. Sus características clave son la “reprogramabilidad, bajo consumo de energía, baja latencia y potencia computacional sólida”. Sin embargo, la desventaja de los FPGAs es que su funcionalidad depende completamente de la implementación de hardware, no pueden realizar operaciones como saltos de condición de rama y solo pueden realizar operaciones de punto fijo. En términos de costo, el costo de diseño de los FPGAs es menor que el de los ASIC, pero los costos de fabricación también deben considerarse en función de la escala. Por supuesto, el costo total de ambos es mucho más alto que el de las GPUs.
Volviendo a la discusión sobre la aceleración de hardware de ZKP, primero debe reconocerse que ZKP todavía está en las primeras etapas de desarrollo. Los parámetros del sistema (como el ancho de FFT o el tamaño de bits de los elementos) o la elección de sistemas de prueba (solo los sistemas de prueba mencionados anteriormente tienen cinco variedades) todavía rara vez están estandarizados. Comparamos los tres tipos de hardware computacional en este entorno:
· Cambios en ZK 'Meta': Como se mencionó anteriormente, la lógica empresarial en ASIC se escribe una vez. Si alguna lógica ZKP cambia, es necesario comenzar desde cero. Las FPGAs pueden ser actualizadas cualquier número de veces dentro de 1 segundo, lo que significa que pueden ser reutilizadas en múltiples cadenas con sistemas de prueba incompatibles (por ejemplo, extracción MEV entre cadenas) y adaptarse de manera flexible a los cambios en ZK 'meta'. Si bien las GPU no son tan rápidamente reconfigurables a nivel de hardware como las FPGAs, ofrecen una gran flexibilidad a nivel de software. Las GPU pueden adaptarse a diferentes algoritmos ZKP y cambios en la lógica a través de actualizaciones de software. Aunque estas actualizaciones pueden no ser tan rápidas como con las FPGAs, aún pueden completarse en un tiempo relativamente corto.
· Suministro: El diseño, fabricación e implementación de ASICs suelen requerir de 12 a 18 meses o más. En contraste, la cadena de suministro de FPGA es relativamente saludable, con proveedores líderes como Xilinx permitiendo que llegue un gran número de pedidos minoristas en un plazo de 16 semanas desde el sitio web (es decir, sin ningún punto de contacto). Mirando las GPUs, naturalmente tienen una gran ventaja en el suministro. Desde la fusión de Ethereum Shanghai, ha habido un gran número de máquinas de minería de GPU inactivas en toda la red. Las series de tarjetas gráficas posteriores desarrolladas por Nvidia y AMD también pueden suministrarse en grandes cantidades.
A partir de los dos puntos anteriores, a menos que la pista ZK forme un consenso y estandarice la adopción de un esquema, los ASIC no tienen ninguna ventaja. Dada la actual diversificación del desarrollo de los esquemas de ZKP, las GPUs y las FPGAs serán los dos principales tipos de hardware computacional que necesitaremos discutir a continuación.
· Ciclo de desarrollo: debido a la popularidad de las GPU y a herramientas de desarrollo maduras como CUDA (para las GPU de NVIDIA) y OpenCL (multiplataforma), el desarrollo de GPU es más accesible. El desarrollo de FPGA suele implicar lenguajes de descripción de hardware más complejos (como VHDL o Verilog), lo que requiere más tiempo de aprendizaje y desarrollo.
· Consumo de energía: Las FPGA suelen superar a las GPU en términos de eficiencia energética. Esto se debe principalmente a que las FPGA se pueden optimizar para tareas específicas, reduciendo así el consumo innecesario de energía. Si bien las GPU son poderosas en el procesamiento de tareas altamente paralelizadas, esto también viene con un mayor consumo de energía.
· Personalización: Las FPGA se pueden programar para optimizar algoritmos ZKP específicos, lo que mejora la eficiencia. En el caso de algoritmos ZKP específicos, es posible que la arquitectura general de las GPU no sea tan eficiente como el hardware especializado.
· Velocidad de generación: Según una comparación de trapdoor-tech de GPUs (usando Nvidia 3090 como ejemplo) y FPGAs (usando Xilinx VU9P como ejemplo), bajo BLS12–381 (un tipo específico de curva elíptica), utilizando el mismo algoritmo de multiplicación modular/adición modular, la velocidad de generación de GPUs es cinco veces mayor que la de FPGAs.
En resumen, a corto plazo, considerando el ciclo de desarrollo, el paralelismo, la velocidad de generación, el costo y la gran cantidad de dispositivos inactivos listos en toda la red, las GPUs son sin duda la opción más ventajosa en la actualidad. La dirección actual de la optimización de hardware también se centra principalmente en las GPUs. El momento para que las FPGAs se hagan cargo por completo de la competencia aún no ha llegado. Por lo tanto, ¿es posible construir un mercado de potencia informática ZKP similar a la minería de PoW (un término que personalmente concebí)?
Al contemplar la construcción de un mercado de potencia computacional ZKP, ya hemos sacado conclusiones sobre el aspecto del hardware del texto anterior. Las preguntas restantes son las siguientes: ¿Necesita ZKP descentralización? ¿Es lo suficientemente atractivo el tamaño del mercado? Si todas las cadenas públicas basadas en ZK eligen construir sus propios mercados de generación de pruebas, ¿cuál es la importancia de un mercado de potencia computacional ZKP?
La Importancia de la Descentralización: En primer lugar, la mayoría de los proyectos actuales de zkRollup (como Starkware y zKsync) dependen de servidores centralizados, considerando solo la expansión de Ethereum. La centralización significa que todavía existe el riesgo de que la información del usuario sea censurada, sacrificando en cierta medida la naturaleza más importante de permisión sin autorización de la cadena de bloques. Para los protocolos de privacidad que utilizan ZK, la descentralización de la generación de ZKP es extremadamente necesaria. La segunda razón para la descentralización es el costo, similar a la sección anterior sobre AGI. El costo de los servicios en la nube y la adquisición de hardware es muy alto, y la generación de pruebas suele ser solo adecuada para proyectos grandes. Para proyectos pequeños en sus etapas iniciales, un mercado de pruebas descentralizado puede aliviar en gran medida sus dificultades de financiación en el inicio, y también reducir la competencia desleal debido a restricciones financieras.
Tamaño del mercado: Paradigm predijo el año pasado que el mercado de mineros/generadores de prueba ZK podría crecer a un tamaño comparable al mercado de minería PoW anterior. La razón fundamental es que tanto los compradores como los vendedores en el mercado de potencia computacional ZKP son abundantes. Para los antiguos mineros de Ethereum, los numerosos proyectos de cadena pública y de capa 2 basados en ZK son mucho más atractivos que las cadenas públicas bifurcadas de Ethereum. Sin embargo, también debemos tener en cuenta que la mayoría de las cadenas públicas basadas en ZK o Layer 2 son totalmente capaces de construir sus propios mercados de generación de pruebas. Si quieren ajustarse a la narrativa de la descentralización, este paso también está inevitablemente en su hoja de ruta (como con Starkware y zkSync, que tendrán sus propias soluciones descentralizadas en el futuro). Entonces, ¿el mercado de potencia computacional de ZKP todavía tiene un propósito?
La Importancia de Construirlo: En primer lugar, las aplicaciones de ZKP son extremadamente amplias (como ya hemos ejemplificado varias veces en el texto anterior, y nos referiremos a un proyecto más adelante). En segundo lugar, incluso si cada cadena ZK tiene su propio mercado de generación de pruebas, el mercado de potencia computacional todavía tiene tres funciones que pueden hacer que los vendedores consideren vender su potencia computacional.
Proof Market es un mercado descentralizado de energía computacional ZKP construido por =nil; (una empresa de desarrollo de Ethereum). Que yo sepa, actualmente es el único mercado de energía computacional construido en torno a la generación ZKP. Esencialmente, es un protocolo de accesibilidad a datos sin confianza que permite a las cadenas de bloques y protocolos de capa 1 y capa 2 generar pruebas de conocimiento cero basadas en la necesidad de compartir datos sin problemas, sin depender de intermediarios centralizados. Aunque Proof Market no es el mercado construido en torno a GPU individuales como imaginaba (Proof Market se basa en proveedores de hardware profesionales, y la minería de GPU para ZKP también puede referirse a Roller Network en la arquitectura Scroll o Aleo), sigue siendo muy relevante a la hora de considerar cómo se construye y aplica ampliamente un mercado de potencia computacional ZKP. El flujo de trabajo de Proof Market es el siguiente:
Solicitante de Prueba:
zkLLVM:
Mercado de Pruebas:
Generador de pruebas:
Mecanismo de recompensa:
En todo el proceso, la solicitud, la generación, la verificación y la distribución de recompensas por pruebas giran en torno a Proof Market. Este proceso tiene como objetivo crear un mercado descentralizado donde la generación y verificación de ZKP estén automatizadas, y los participantes puedan recibir recompensas correspondientes a sus contribuciones.
Desde su lanzamiento de prueba en enero de 2023, los principales escenarios de aplicación de Proof Market han sido los protocolos que operan fuera de la capa 1 (L1) de Ethereum, como zkRollup, zkBridge conectado a Ethereum y las cadenas públicas que utilizan zkP.
Con la integración de los puntos finales de Ethereum (una interfaz de puerta de enlace que permite que otros sistemas o servicios se conecten e integren), Proof Market será aplicable a más aplicaciones, especialmente aquellas que necesitan solicitar directamente pruebas de las aplicaciones EVM para proporcionar una experiencia de usuario más fluida o necesitan trabajar con datos almacenados en cadena.
Aquí hay algunos escenarios de aplicación potenciales:
El conocido proyecto LSD Lido también está utilizando Proof Market para construir una solución que mejore la seguridad y la credibilidad del contrato de Oracle de Contabilidad de Lido. El Oracle de Contabilidad de Lido se basa en un comité de Oracle compuesto por terceros de confianza y un mecanismo de quórum para mantener su estado, lo que plantea posibles vectores de ataque. El proceso de solución en Proof Market es el siguiente:
Definición del problema
Especificación de la solución
Lido: Necesita asegurarse de que ciertos datos del estado de la Capa de Consenso sean accesibles en la Capa de Ejecución.
Oracle: Informa el valor total bloqueado y el número de validadores al contrato TVL.
Productor de pruebas: Genera pruebas de integridad computacional.
Verificador de pruebas: Verifica pruebas en el contrato EL.
Fases de implementación
Comparado con el gran plan del mercado de potencia computacional AGI, el mercado de potencia computacional ZKP está realmente más limitado a aplicaciones dentro de la cadena de bloques. Sin embargo, la ventaja es que el desarrollo del mercado de potencia computacional ZKP no necesita considerar diseños extremadamente complejos como las redes neuronales, lo que hace que la dificultad general de desarrollo sea menor y los requisitos de financiación también lo sean. Al combinar los proyectos mencionados anteriormente, no es difícil ver que mientras que el mercado de potencia computacional AGI todavía está desconcertado sobre cómo aterrizar, el mercado de potencia computacional ZKP ya ha penetrado en múltiples escenarios de aplicación en la cadena de bloques en múltiples dimensiones.
Desde una perspectiva de mercado, el mercado de potencia computacional ZKP todavía se encuentra en una etapa de océano azul, y el mencionado Mercado de Prueba no es el diseño ideal en mi opinión. Combinando la optimización de algoritmos, la optimización de escenarios de aplicación, la optimización de hardware y la elección de diferentes mercados vendedores de potencia computacional, todavía hay mucho espacio imaginativo en el diseño del mercado de potencia computacional ZKP. Además, considerando la perspectiva de desarrollo, Vitalik ha enfatizado repetidamente que el impacto de ZK en el campo de la cadena de bloques en la próxima década será tan importante como la cadena de bloques en sí misma. Sin embargo, dada la versatilidad de ZK, a medida que el diseño madura, la importancia futura de ZK en campos no relacionados con la cadena de bloques podría no ser inferior a la actual AGI, y sus perspectivas no deben subestimarse.
YBB es un fondo web3 que se dedica a identificar proyectos definitorios de Web3 con la visión de crear un mejor hábitat en línea para todos los residentes de internet. Fundado por un grupo de creyentes en la cadena de bloques que han participado activamente en esta industria desde 2013, YBB siempre está dispuesto a ayudar a los proyectos en etapa inicial a evolucionar de 0 a 1. Valoramos la innovación, la pasión autónoma y los productos orientados al usuario, al mismo tiempo que reconocemos el potencial de las criptomonedas y las aplicaciones blockchain.
Share
Content
En el artículo 'Avance del sector prometedor: El mercado de potencia computacional descentralizado (Parte I)', ya hemos comprendido la importancia de la potencia computacional en el contexto de las expectativas de IA y hemos explorado profundamente los dos principales desafíos que se enfrentan actualmente en el establecimiento de un mercado de potencia computacional AGI descentralizado. Este artículo comenzará con los conceptos fundamentales de las pruebas de conocimiento cero y, adentrándose progresivamente en mayor profundidad, explorará las múltiples posibilidades del mercado de potencia computacional descentralizado, un sector floreciente y prometedor. (El artículo anterior también mencionó el mercado de potencia computacional de Bitcoin, pero considerando el reciente crecimiento explosivo en el ecosistema de Bitcoin, este aspecto se discutirá más a fondo en nuestros futuros artículos relacionados con el ecosistema de Bitcoin).
En la década de 1980, tres criptógrafos del MIT (Shafi Goldwasser, Silvio Micali y Charles Rackoff) publicaron un artículo titulado "La complejidad del conocimiento de los sistemas de prueba interactiva". Este artículo describía una técnica criptográfica innovadora que permite verificar la autenticidad de la información sin revelar la propia información. Los autores llamaron a esta técnica "prueba de conocimiento cero" y proporcionaron una definición específica y un marco para el concepto.
Durante las décadas siguientes, la tecnología de prueba de conocimiento cero, basada en este documento, se desarrolló y mejoró gradualmente en diversos campos. Hoy en día, las pruebas de conocimiento cero se han convertido en un término que abarca muchas métodos criptográficos "modernos" o "avanzados", especialmente aquellos relacionados con el futuro de la cadena de bloques.
Prueba de conocimiento cero (ZKP), se utiliza indistintamente en este texto dependiendo del contexto, se refiere a un método en el que un probador puede demostrar la corrección de una afirmación a un verificador sin proporcionar ninguna información específica sobre la afirmación en sí. Tres atributos fundamentales de este método incluyen la completitud, la solidez y el conocimiento cero. La completitud asegura la demostrabilidad de afirmaciones verdaderas, la solidez garantiza que no se pueden demostrar afirmaciones falsas, y el conocimiento cero significa que el verificador no obtiene ninguna información más allá de la verdad de la afirmación.
Según el método de comunicación entre el probador y el verificador, existen dos tipos de pruebas de conocimiento cero: interactivas y no interactivas. En las pruebas interactivas, hay una serie de interacciones entre el probador y el verificador. Estas interacciones forman parte del proceso de prueba, en el que el probador responde a una serie de consultas o desafíos del verificador para demostrar la veracidad de su afirmación. Este proceso suele implicar múltiples rondas de comunicación, en las que el verificador plantea una pregunta o un desafío en cada ronda y el probador responde para demostrar la exactitud de su afirmación. En las pruebas no interactivas, no se requieren varias rondas de interacción. En este caso, el probador crea una única prueba verificable de forma independiente y la envía al verificador. El verificador puede verificar de forma independiente la veracidad de esta prueba sin necesidad de comunicarse con el probador.
1. Interactivo: La historia de Alibaba y los cuarenta ladrones es un ejemplo clásico que se cita a menudo para explicar las pruebas interactivas de conocimiento cero. En una versión simplificada de la historia, Alibaba, que conoce las palabras mágicas para abrir una cueva llena de tesoros, es capturado por los ladrones. Si revela las palabras mágicas, corre el riesgo de ser asesinado por falta de uso posterior. Si se niega, los ladrones podrían matarlo por no conocer el secreto. Para demostrar que conoce el secreto sin revelarlo, Alibaba utiliza dos entradas, A y B, a la cueva, que conducen a una cámara central con una puerta protegida por contraseña. Alibaba entra en la cueva y elige una entrada mientras los ladrones esperan afuera, incapaces de ver su elección. Luego, los ladrones gritan al azar A o B, exigiendo que Alibaba salga por la entrada elegida. Si Alibaba realmente conoce las palabras mágicas, puede usar la contraseña para pasar por la puerta central y salir por la entrada designada. Repitiendo este proceso con éxito varias veces, Alibaba demuestra que conoce el secreto sin revelarlo.
Las pruebas de conocimiento cero tienen diversas implementaciones en blockchain, con zk-STARK (Argumento Transparente Escalable de Conocimiento Cero) y zk-SNARK (Argumento Sucinto No Interactivo de Conocimiento Cero) siendo los más conocidos. Ambos son pruebas de conocimiento cero no interactivas, como se indica por "No Interactivo" en sus nombres.
zk-SNARK es un esquema de prueba de conocimiento cero de propósito general ampliamente utilizado (no una sola tecnología sino una categoría). Convierte cualquier proceso computacional en una serie de circuitos de compuertas, luego utiliza propiedades polinomiales para transformar estos circuitos en polinomios, comprimiendo y generando así pruebas no interactivas pequeñas para aplicaciones comerciales complejas. zk-SNARK requiere una configuración de confianza, donde varias partes generan cada una una parte de la clave en un entorno de confianza y luego la destruyen. Si la información secreta utilizada en la configuración de confianza no se destruye, podría ser explotada para falsificar transacciones a través de una verificación falsa.
zk-STARK evolucionó de zk-SNARK, abordando la dependencia de las configuraciones confiables. Puede completar la verificación de blockchain sin ninguna configuración confiable, reduciendo la complejidad de lanzar redes y eliminando los riesgos de colusión. Sin embargo, zk-STARK tiene el problema de generar pruebas más grandes, lo que es desventajoso en términos de almacenamiento, verificación en cadena y tiempo de generación. Si has experimentado versiones anteriores de StarkNet (usando zk-STARK), es posible que hayas notado una diferencia significativa en velocidad y tarifas de Gas en comparación con otras soluciones de Capa 2. Por lo tanto, zk-SNARK es más comúnmente adoptado. Otras soluciones menos convencionales incluyen PLONK y Bulletproofs, cada una con sus propias ventajas y desventajas en tamaño de prueba, tiempo de demostrador y tiempo de verificación. Lograr una prueba de conocimiento cero ideal es un desafío, y los algoritmos convencionales suelen equilibrar diferentes dimensiones.
El desarrollo de ZK normalmente implica dos componentes clave:
Expresión de computación compatible con ZK: Esto incluye un lenguaje específico de dominio (DSL) o una biblioteca de bajo nivel. Bibliotecas de bajo nivel como Arkworks proporcionan herramientas y primitivas necesarias, lo que permite a los desarrolladores reescribir manualmente el código en un lenguaje de nivel inferior. Los DSLs como Cairo o Circom son lenguajes de programación diseñados para aplicaciones ZK, compilando en las primitivas necesarias para la generación de pruebas. Operaciones más complejas dan lugar a tiempos de generación de pruebas más largos, y ciertas operaciones (como operaciones de bits utilizadas en SHA o Keccak) pueden no ser adecuadas para ZK, lo que resulta en una generación de pruebas prolongada.
Sistema de prueba: El sistema de prueba es el núcleo de una aplicación ZK, implementando dos funciones básicas: Probar y Verificar. La función Prove permite generar una prueba (que requiere cálculos matemáticos extensos, mientras que las pruebas más complejas tardan más en generarse) de que una declaración es correcta sin revelar los detalles de la prueba. La función Verificar se utiliza para comprobar la exactitud de esta prueba (cuanto más compleja y grande sea la prueba, mayor será el rendimiento y menor será el tiempo necesario para la verificación). Los diferentes sistemas de prueba, como Groth16, GM17, PLONK, Spartan y STARK, varían en eficiencia, seguridad y facilidad de uso.
Puentes y interoperabilidad cruzada de ZKP: ZKP puede crear pruebas de validez para protocolos de mensajería entre cadenas, lo que permite verificar rápidamente los mensajes en la cadena de destino. Esto es similar a verificar zkRollups en la base L1. Sin embargo, la mensajería entre cadenas es más compleja debido a los diferentes esquemas de firma y funciones criptográficas que necesitan verificación entre las cadenas de origen y destino.
ZKP en motores de juegos en cadena: Dark Forest demuestra cómo ZKP puede habilitar juegos de información incompleta en cadena. Esto es crucial para diseñar juegos más interactivos donde las acciones de los jugadores permanecen privadas hasta que decidan revelarlas. A medida que madura el juego en cadena, ZKP se convertirá en parte de los motores de ejecución del juego. Las nuevas empresas que integren con éxito funciones de privacidad en motores de juegos en cadena de alto rendimiento jugarán un papel significativo.
Soluciones de identidad: ZKP abre múltiples oportunidades en el dominio de la identidad. Se pueden utilizar para pruebas de reputación o para vincular identidades Web2 y Web3. Actualmente, nuestras identidades Web2 y Web3 son separadas. Proyectos como Clique utilizan oráculos para conectar estas identidades. ZKP puede llevar esto más lejos al vincular de forma anónima identidades Web2 y Web3, permitiendo casos de uso como la membresía anónima en DAO, siempre que puedan demostrar experiencia específica de dominio utilizando datos de Web2 o Web3. Otro caso de uso son los préstamos Web3 sin garantías basados en el estatus social Web2 de un prestatario (por ejemplo, el número de seguidores en Twitter).
ZKP para Cumplimiento Regulatorio: Web3 permite que cuentas en línea anónimas participen activamente en el sistema financiero, logrando una significativa libertad financiera e inclusividad. Con las regulaciones Web3 en aumento, ZKP se puede utilizar para cumplir sin violar el anonimato. ZKP puede demostrar que un usuario no es ciudadano ni residente de un país sancionado. También se puede utilizar para demostrar el estatus de inversionista acreditado u otros requisitos KYC/AML.
Financiamiento de deuda privada nativa Web3: El financiamiento de deuda de TradeFi se utiliza a menudo para apoyar a las startups en crecimiento para acelerar el crecimiento o iniciar nuevas líneas de negocio sin agregar capital de riesgo adicional. El auge de los DAOs Web3 y las empresas anónimas crea oportunidades para el financiamiento de deuda nativa Web3. Por ejemplo, utilizando ZKP, los DAOs o empresas anónimas pueden obtener préstamos sin garantía y tasas competitivas basadas en métricas de prueba de crecimiento, sin revelar información del prestatario a los prestamistas.
Privacidad en DeFi: Las instituciones financieras a menudo mantienen la privacidad de su historial de transacciones y exposición al riesgo. Sin embargo, el uso de protocolos de finanzas descentralizadas (DeFi) en cadena se vuelve desafiante debido a las técnicas avanzadas de análisis en cadena. Una solución potencial es desarrollar productos DeFi centrados en la privacidad para proteger la privacidad de los participantes. Un protocolo que intenta esto es zkSwap de Penumbra. Además, zk.money de Aztec ofrece algunas oportunidades de ganancias DeFi privadas al oscurecer la participación del usuario en protocolos DeFi transparentes. En general, los protocolos que implementan con éxito productos DeFi eficientes y centrados en la privacidad pueden atraer volúmenes significativos de transacciones y ingresos de participantes institucionales.
ZKP para la publicidad de Web3: Web3 capacita a los usuarios para que sean dueños de sus derechos de datos, como el historial de navegación, las actividades privadas de la billetera, etc. Web3 también permite la monetización de estos datos en beneficio de los usuarios. Dado que la monetización de datos puede entrar en conflicto con la privacidad, ZKP puede desempeñar un papel crucial en controlar qué datos personales pueden ser revelados a los anunciantes y agregadores de datos.
Compartir y monetizar datos privados: Muchos de nuestros datos privados, si se comparten con las entidades adecuadas, pueden tener impactos significativos. Los datos personales de salud pueden ser recolectados de manera colaborativa para ayudar a los investigadores a desarrollar nuevos medicamentos. Los registros financieros privados se pueden compartir con entidades regulatorias y de supervisión para identificar y sancionar prácticas corruptas. ZKP puede permitir el compartir privado y la monetización de dichos datos.
Gobernanza: A medida que las DAO (Organizaciones Autónomas Descentralizadas) y la gobernanza on-chain se vuelven más frecuentes, la Web3 se está moviendo hacia la democracia participativa directa. Una falla importante en el modelo de gobernanza actual es la falta de privacidad de la participación. ZKP puede ser fundamental para resolver este problema. Los participantes en la gobernanza pueden votar sin revelar sus opciones de voto. Además, ZKP puede restringir la visibilidad de las propuestas de gobernanza solo a los miembros de las DAO, lo que permite a las DAO crear ventajas competitivas.
ZKRollup: La escalabilidad es uno de los casos de uso más importantes de ZKP en blockchain. La tecnología zkRollup agrega múltiples transacciones en una sola transacción. Estas transacciones se procesan y calculan fuera de la cadena (fuera de la cadena principal del blockchain). Para estas transacciones agregadas, zkRollup utiliza ZKP para generar una prueba que puede verificar la validez de las transacciones sin revelar sus detalles específicos, comprimiendo significativamente el tamaño de los datos. El ZKP generado se envía luego a la cadena principal del blockchain. Los nodos en la cadena principal solo necesitan verificar la validez de la prueba, no procesar cada transacción individual, lo que reduce considerablemente la carga de la cadena principal.
Los protocolos de prueba de conocimiento cero (ZKP), aunque tienen múltiples ventajas, actualmente se enfrentan a un problema principal: la verificación es fácil, pero la generación es difícil. El principal cuello de botella en la generación de la mayoría de los sistemas de prueba es la multiplicación multiescalar (MSM) o la transformada rápida de Fourier (FFT) y su inversa. La composición y los pros y los contras de estos son los siguientes:
Multiplicación multi-escalar (MSM): MSM es un cálculo clave en criptografía, que implica la multiplicación de puntos y escalares en la criptografía de curvas elípticas. En ZKPs, MSM se utiliza para construir relaciones matemáticas complejas sobre puntos en curvas elípticas. Estos cálculos suelen implicar un gran número de puntos de datos y operaciones, clave para generar y verificar pruebas. MSM es particularmente importante en ZKPs, ya que ayuda a construir pruebas que pueden verificar declaraciones encriptadas sin exponer información privada. MSM se puede ejecutar en varios hilos, lo que admite el procesamiento paralelo. Sin embargo, al tratar con grandes vectores de elementos, como 50 millones de elementos, las operaciones de multiplicación aún pueden ser lentas y requerir recursos de memoria sustanciales. Además, MSM enfrenta desafíos de escalabilidad, ya que sigue siendo lento incluso con una extensa paralelización.
Transformada rápida de Fourier (FFT): FFT es un algoritmo eficiente para calcular la multiplicación de polinomios y resolver problemas de interpolación de polinomios. En ZKPs, a menudo se utiliza para optimizar el cálculo de polinomios, un paso crucial en la generación de pruebas. FFT acelera el cálculo descomponiendo operaciones complejas de polinomios en partes más pequeñas y simples, crucial para la eficiencia en el proceso de generación de pruebas. El uso de FFT mejora significativamente la capacidad de los sistemas ZKP para manejar polinomios complejos y conjuntos de datos grandes. Sin embargo, las operaciones de FFT dependen de intercambios frecuentes de datos, lo que dificulta mejorar significativamente la eficiencia a través de la informática distribuida o la aceleración de hardware. Los intercambios de datos en las operaciones de FFT requieren un ancho de banda sustancial, especialmente al tratar con conjuntos de datos más grandes que la capacidad de memoria del hardware.
Si bien la optimización del software también es una dirección de investigación importante, el método más directo y de fuerza bruta para acelerar la generación de pruebas es apilar suficiente potencia computacional en hardware. Entre las diversas opciones de hardware computacional (GPU, FPGA, ASIC), ¿cuál es la mejor elección? Dado que las GPU ya han sido brevemente presentadas en la sección anterior, aquí entendemos principalmente la lógica de diseño y los pros y los contras de FPGA y ASIC.
ASIC: ASIC (Circuito Integrado Específico de la Aplicación) es un circuito integrado diseñado específicamente para satisfacer las necesidades de una aplicación en particular. En comparación con los procesadores de propósito general o los circuitos integrados estándar, los ASIC están personalizados para realizar tareas o aplicaciones específicas, por lo tanto, suelen mostrar una mayor eficiencia y rendimiento en las aplicaciones para las que están diseñados. En el conocido campo de la minería de Bitcoin, los ASIC son hardware computacional muy importante, ya que su alta eficiencia y bajo consumo de energía los convierten en una elección ideal para la minería de Bitcoin. Sin embargo, los ASIC tienen dos claras desventajas: dado que están diseñados para aplicaciones específicas (por ejemplo, las máquinas de minería ASIC de Bitcoin están diseñadas en torno al algoritmo de hash SHA-256), los costos de diseño y fabricación pueden ser muy altos sin una adopción masiva, y el ciclo de diseño y verificación puede ser relativamente largo.
FPGA: FPGA significa matriz de puertas programable en campo, un tipo de dispositivo reprogramable desarrollado sobre la base de circuitos lógicos tradicionales y matrices de puertas como PAL (Arreglo Lógico Programable), GAL (Lógica de Matriz Genérica) y CPLD (Dispositivo Lógico Programable Complejo). Al igual que los ASIC, los FPGAs son circuitos integrados utilizados en el diseño electrónico para implementar funciones específicas, superando las limitaciones de los circuitos semipersonalizados del pasado y el número limitado de compuertas en los dispositivos programables anteriores. Sus características clave son la “reprogramabilidad, bajo consumo de energía, baja latencia y potencia computacional sólida”. Sin embargo, la desventaja de los FPGAs es que su funcionalidad depende completamente de la implementación de hardware, no pueden realizar operaciones como saltos de condición de rama y solo pueden realizar operaciones de punto fijo. En términos de costo, el costo de diseño de los FPGAs es menor que el de los ASIC, pero los costos de fabricación también deben considerarse en función de la escala. Por supuesto, el costo total de ambos es mucho más alto que el de las GPUs.
Volviendo a la discusión sobre la aceleración de hardware de ZKP, primero debe reconocerse que ZKP todavía está en las primeras etapas de desarrollo. Los parámetros del sistema (como el ancho de FFT o el tamaño de bits de los elementos) o la elección de sistemas de prueba (solo los sistemas de prueba mencionados anteriormente tienen cinco variedades) todavía rara vez están estandarizados. Comparamos los tres tipos de hardware computacional en este entorno:
· Cambios en ZK 'Meta': Como se mencionó anteriormente, la lógica empresarial en ASIC se escribe una vez. Si alguna lógica ZKP cambia, es necesario comenzar desde cero. Las FPGAs pueden ser actualizadas cualquier número de veces dentro de 1 segundo, lo que significa que pueden ser reutilizadas en múltiples cadenas con sistemas de prueba incompatibles (por ejemplo, extracción MEV entre cadenas) y adaptarse de manera flexible a los cambios en ZK 'meta'. Si bien las GPU no son tan rápidamente reconfigurables a nivel de hardware como las FPGAs, ofrecen una gran flexibilidad a nivel de software. Las GPU pueden adaptarse a diferentes algoritmos ZKP y cambios en la lógica a través de actualizaciones de software. Aunque estas actualizaciones pueden no ser tan rápidas como con las FPGAs, aún pueden completarse en un tiempo relativamente corto.
· Suministro: El diseño, fabricación e implementación de ASICs suelen requerir de 12 a 18 meses o más. En contraste, la cadena de suministro de FPGA es relativamente saludable, con proveedores líderes como Xilinx permitiendo que llegue un gran número de pedidos minoristas en un plazo de 16 semanas desde el sitio web (es decir, sin ningún punto de contacto). Mirando las GPUs, naturalmente tienen una gran ventaja en el suministro. Desde la fusión de Ethereum Shanghai, ha habido un gran número de máquinas de minería de GPU inactivas en toda la red. Las series de tarjetas gráficas posteriores desarrolladas por Nvidia y AMD también pueden suministrarse en grandes cantidades.
A partir de los dos puntos anteriores, a menos que la pista ZK forme un consenso y estandarice la adopción de un esquema, los ASIC no tienen ninguna ventaja. Dada la actual diversificación del desarrollo de los esquemas de ZKP, las GPUs y las FPGAs serán los dos principales tipos de hardware computacional que necesitaremos discutir a continuación.
· Ciclo de desarrollo: debido a la popularidad de las GPU y a herramientas de desarrollo maduras como CUDA (para las GPU de NVIDIA) y OpenCL (multiplataforma), el desarrollo de GPU es más accesible. El desarrollo de FPGA suele implicar lenguajes de descripción de hardware más complejos (como VHDL o Verilog), lo que requiere más tiempo de aprendizaje y desarrollo.
· Consumo de energía: Las FPGA suelen superar a las GPU en términos de eficiencia energética. Esto se debe principalmente a que las FPGA se pueden optimizar para tareas específicas, reduciendo así el consumo innecesario de energía. Si bien las GPU son poderosas en el procesamiento de tareas altamente paralelizadas, esto también viene con un mayor consumo de energía.
· Personalización: Las FPGA se pueden programar para optimizar algoritmos ZKP específicos, lo que mejora la eficiencia. En el caso de algoritmos ZKP específicos, es posible que la arquitectura general de las GPU no sea tan eficiente como el hardware especializado.
· Velocidad de generación: Según una comparación de trapdoor-tech de GPUs (usando Nvidia 3090 como ejemplo) y FPGAs (usando Xilinx VU9P como ejemplo), bajo BLS12–381 (un tipo específico de curva elíptica), utilizando el mismo algoritmo de multiplicación modular/adición modular, la velocidad de generación de GPUs es cinco veces mayor que la de FPGAs.
En resumen, a corto plazo, considerando el ciclo de desarrollo, el paralelismo, la velocidad de generación, el costo y la gran cantidad de dispositivos inactivos listos en toda la red, las GPUs son sin duda la opción más ventajosa en la actualidad. La dirección actual de la optimización de hardware también se centra principalmente en las GPUs. El momento para que las FPGAs se hagan cargo por completo de la competencia aún no ha llegado. Por lo tanto, ¿es posible construir un mercado de potencia informática ZKP similar a la minería de PoW (un término que personalmente concebí)?
Al contemplar la construcción de un mercado de potencia computacional ZKP, ya hemos sacado conclusiones sobre el aspecto del hardware del texto anterior. Las preguntas restantes son las siguientes: ¿Necesita ZKP descentralización? ¿Es lo suficientemente atractivo el tamaño del mercado? Si todas las cadenas públicas basadas en ZK eligen construir sus propios mercados de generación de pruebas, ¿cuál es la importancia de un mercado de potencia computacional ZKP?
La Importancia de la Descentralización: En primer lugar, la mayoría de los proyectos actuales de zkRollup (como Starkware y zKsync) dependen de servidores centralizados, considerando solo la expansión de Ethereum. La centralización significa que todavía existe el riesgo de que la información del usuario sea censurada, sacrificando en cierta medida la naturaleza más importante de permisión sin autorización de la cadena de bloques. Para los protocolos de privacidad que utilizan ZK, la descentralización de la generación de ZKP es extremadamente necesaria. La segunda razón para la descentralización es el costo, similar a la sección anterior sobre AGI. El costo de los servicios en la nube y la adquisición de hardware es muy alto, y la generación de pruebas suele ser solo adecuada para proyectos grandes. Para proyectos pequeños en sus etapas iniciales, un mercado de pruebas descentralizado puede aliviar en gran medida sus dificultades de financiación en el inicio, y también reducir la competencia desleal debido a restricciones financieras.
Tamaño del mercado: Paradigm predijo el año pasado que el mercado de mineros/generadores de prueba ZK podría crecer a un tamaño comparable al mercado de minería PoW anterior. La razón fundamental es que tanto los compradores como los vendedores en el mercado de potencia computacional ZKP son abundantes. Para los antiguos mineros de Ethereum, los numerosos proyectos de cadena pública y de capa 2 basados en ZK son mucho más atractivos que las cadenas públicas bifurcadas de Ethereum. Sin embargo, también debemos tener en cuenta que la mayoría de las cadenas públicas basadas en ZK o Layer 2 son totalmente capaces de construir sus propios mercados de generación de pruebas. Si quieren ajustarse a la narrativa de la descentralización, este paso también está inevitablemente en su hoja de ruta (como con Starkware y zkSync, que tendrán sus propias soluciones descentralizadas en el futuro). Entonces, ¿el mercado de potencia computacional de ZKP todavía tiene un propósito?
La Importancia de Construirlo: En primer lugar, las aplicaciones de ZKP son extremadamente amplias (como ya hemos ejemplificado varias veces en el texto anterior, y nos referiremos a un proyecto más adelante). En segundo lugar, incluso si cada cadena ZK tiene su propio mercado de generación de pruebas, el mercado de potencia computacional todavía tiene tres funciones que pueden hacer que los vendedores consideren vender su potencia computacional.
Proof Market es un mercado descentralizado de energía computacional ZKP construido por =nil; (una empresa de desarrollo de Ethereum). Que yo sepa, actualmente es el único mercado de energía computacional construido en torno a la generación ZKP. Esencialmente, es un protocolo de accesibilidad a datos sin confianza que permite a las cadenas de bloques y protocolos de capa 1 y capa 2 generar pruebas de conocimiento cero basadas en la necesidad de compartir datos sin problemas, sin depender de intermediarios centralizados. Aunque Proof Market no es el mercado construido en torno a GPU individuales como imaginaba (Proof Market se basa en proveedores de hardware profesionales, y la minería de GPU para ZKP también puede referirse a Roller Network en la arquitectura Scroll o Aleo), sigue siendo muy relevante a la hora de considerar cómo se construye y aplica ampliamente un mercado de potencia computacional ZKP. El flujo de trabajo de Proof Market es el siguiente:
Solicitante de Prueba:
zkLLVM:
Mercado de Pruebas:
Generador de pruebas:
Mecanismo de recompensa:
En todo el proceso, la solicitud, la generación, la verificación y la distribución de recompensas por pruebas giran en torno a Proof Market. Este proceso tiene como objetivo crear un mercado descentralizado donde la generación y verificación de ZKP estén automatizadas, y los participantes puedan recibir recompensas correspondientes a sus contribuciones.
Desde su lanzamiento de prueba en enero de 2023, los principales escenarios de aplicación de Proof Market han sido los protocolos que operan fuera de la capa 1 (L1) de Ethereum, como zkRollup, zkBridge conectado a Ethereum y las cadenas públicas que utilizan zkP.
Con la integración de los puntos finales de Ethereum (una interfaz de puerta de enlace que permite que otros sistemas o servicios se conecten e integren), Proof Market será aplicable a más aplicaciones, especialmente aquellas que necesitan solicitar directamente pruebas de las aplicaciones EVM para proporcionar una experiencia de usuario más fluida o necesitan trabajar con datos almacenados en cadena.
Aquí hay algunos escenarios de aplicación potenciales:
El conocido proyecto LSD Lido también está utilizando Proof Market para construir una solución que mejore la seguridad y la credibilidad del contrato de Oracle de Contabilidad de Lido. El Oracle de Contabilidad de Lido se basa en un comité de Oracle compuesto por terceros de confianza y un mecanismo de quórum para mantener su estado, lo que plantea posibles vectores de ataque. El proceso de solución en Proof Market es el siguiente:
Definición del problema
Especificación de la solución
Lido: Necesita asegurarse de que ciertos datos del estado de la Capa de Consenso sean accesibles en la Capa de Ejecución.
Oracle: Informa el valor total bloqueado y el número de validadores al contrato TVL.
Productor de pruebas: Genera pruebas de integridad computacional.
Verificador de pruebas: Verifica pruebas en el contrato EL.
Fases de implementación
Comparado con el gran plan del mercado de potencia computacional AGI, el mercado de potencia computacional ZKP está realmente más limitado a aplicaciones dentro de la cadena de bloques. Sin embargo, la ventaja es que el desarrollo del mercado de potencia computacional ZKP no necesita considerar diseños extremadamente complejos como las redes neuronales, lo que hace que la dificultad general de desarrollo sea menor y los requisitos de financiación también lo sean. Al combinar los proyectos mencionados anteriormente, no es difícil ver que mientras que el mercado de potencia computacional AGI todavía está desconcertado sobre cómo aterrizar, el mercado de potencia computacional ZKP ya ha penetrado en múltiples escenarios de aplicación en la cadena de bloques en múltiples dimensiones.
Desde una perspectiva de mercado, el mercado de potencia computacional ZKP todavía se encuentra en una etapa de océano azul, y el mencionado Mercado de Prueba no es el diseño ideal en mi opinión. Combinando la optimización de algoritmos, la optimización de escenarios de aplicación, la optimización de hardware y la elección de diferentes mercados vendedores de potencia computacional, todavía hay mucho espacio imaginativo en el diseño del mercado de potencia computacional ZKP. Además, considerando la perspectiva de desarrollo, Vitalik ha enfatizado repetidamente que el impacto de ZK en el campo de la cadena de bloques en la próxima década será tan importante como la cadena de bloques en sí misma. Sin embargo, dada la versatilidad de ZK, a medida que el diseño madura, la importancia futura de ZK en campos no relacionados con la cadena de bloques podría no ser inferior a la actual AGI, y sus perspectivas no deben subestimarse.
YBB es un fondo web3 que se dedica a identificar proyectos definitorios de Web3 con la visión de crear un mejor hábitat en línea para todos los residentes de internet. Fundado por un grupo de creyentes en la cadena de bloques que han participado activamente en esta industria desde 2013, YBB siempre está dispuesto a ayudar a los proyectos en etapa inicial a evolucionar de 0 a 1. Valoramos la innovación, la pasión autónoma y los productos orientados al usuario, al mismo tiempo que reconocemos el potencial de las criptomonedas y las aplicaciones blockchain.