La tecnología Blockchain ha avanzado mucho desde la aparición de Bitcoin hace más de una década. Si bien las redes blockchain iniciales fueron innovadoras en su enfoque descentralizado, enfrentaron desafíos importantes, particularmente en términos de escalabilidad. A medida que las aplicaciones y los casos de uso de blockchain continúan expandiéndose, encontrar soluciones a los problemas de escalabilidad se ha convertido en una máxima prioridad.
Uno de los avances prometedores en este ámbito es la transición de zkEVM (Máquina virtual Ethereum de conocimiento cero) a zkVM (Máquina virtual de conocimiento cero), que tiene el potencial de mejorar drásticamente la escalabilidad de blockchain. En este artículo, profundizaremos en el mundo de zkEVM, exploraremos sus limitaciones y comprenderemos cómo la evolución hacia zkVM traerá mejoras sustanciales en la escalabilidad de blockchain.
El auge de las pruebas de conocimiento cero (ZKP)
Las pruebas de conocimiento cero desempeñan un papel fundamental en la protección de la privacidad del usuario en Internet, especialmente mientras nos esforzamos por lograr una adopción generalizada de blockchain. También prometen resolver desafíos computacionales. Actualmente, existen dos vías destacadas para lograrlo: zkEVM y zkVM. En esta exploración, profundizaremos en ambos enfoques, sopesando sus ventajas y desventajas. Sin embargo, antes de profundizar en este análisis, es esencial comprender para qué estamos optimizando y por qué la privacidad tiene tanta importancia.
En el ámbito de la evolución criptográfica, al igual que en la contraparte biológica, el desarrollo de rasgos está guiado por el objetivo de optimizar resultados específicos. Bitcoin, por ejemplo, priorizó la seguridad por encima de todo, reconociendo que la moneda digital descentralizada necesitaba ser inequívocamente segura antes de que pudiera ganar aceptación y adopción generalizada. Ethereum siguió un camino similar, haciendo hincapié en la seguridad e introduciendo al mismo tiempo una capa adicional: la programabilidad que ofrecen lostracinteligentes.
Estas iteraciones en la evolución criptográfica tienden a basarse unas en otras, y cada una aporta su conjunto único de compensaciones. En el caso de Ethereum, se requiere que cada nodo vuelva a ejecutar cada transacción, lo que presenta formidables desafíos computacionales que resultan en altas tarifas de gas y velocidades de transacción lentas. La decisión de realizar cálculos directamente en la cadena de bloques se tomó para mejorar la seguridad y la transparencia. Sin embargo, esto tiene un costo: rendimiento y privacidad comprometidos.
Los rollups surgieron como una solución para mejorar la escalabilidad al reducir las cargas computacionales asociadas con Ethereum. Si bien comienzan a abordar la cuestión del rendimiento, no tienen en cuenta las preocupaciones sobre la privacidad. Esto es importante porque la privacidad se ha convertido en un requisito previo para las aplicaciones que pretenden ampliar su base de usuarios. Los usuarios exigen cada vez más control sobre sus datos y desconfían de las entidades que buscan acceso irrestricto a su información.
Los desarrolladores de aplicaciones han reconocido esta creciente tendencia hacia la privacidad y su necesidad. En consecuencia, han estado explorando activamente métodos para salvaguardar la privacidad mediante el uso de pruebas de conocimiento cero (ZKP). Estos protocolos criptográficos permiten a los usuarios o aplicaciones verificar la veracidad de una declaración sin divulgar ninguna información adicional. Por ejemplo, los ZKP pueden confirmar que un usuario tiene más de 18 años sin revelar su edad exacta o fecha de nacimiento.
Como se destaca en el informe sobre el estado de las criptomonedas de 2023 de a16z, la adopción de tecnología a prueba de ZK por parte de los desarrolladores está lista para aumentar aún más. Esta tendencia está impulsada por un aumento en las publicaciones académicas y un número cada vez mayor de transacciones diarias que implican la verificación de pruebas ZK en la red Ethereum . El impulso detrás de las ZKP demuestra su creciente importancia en la búsqueda de equilibrar la privacidad, la seguridad y la escalabilidad en el espacio blockchain.
Entendiendo zkVM
El primer aspecto que necesita defies: ¿qué constituye una máquina virtual (VM)? En pocas palabras, una VM es un programa de software capaz de ejecutar otros programas, que normalmente funciona como un bucle iterativo que lleva a cabo un conjunto específico de instrucciones; estas instrucciones representan el "otro programa".
La máquina virtual Ethereum (EVM), específicamente, sirve como la máquina virtual responsable de ejecutartracinteligentes Ethereum . La compilación original de instrucciones respaldadas y sus respectivos comportamientos se describió en 2014 en el influyente artículo amarillo, que se distingue no solo por su importancia sino también por su distintivo color amarillo, escrito por Gavin Wood. El documento mantiene un estado de actualizaciones continuas, con el objetivo de reflejar la gama actual de instrucciones admitidas.
Por otro lado, una máquina virtual de conocimiento cero (zk VM) es esencialmente una VM implementada como un circuito dentro de un sistema a prueba de conocimiento cero (zkp). Esto lo distingue de los sistemas zkp convencionales que se centran predominantemente en probar la ejecución del programa. En zkVM, el énfasis se desplaza hacia la verificación de la ejecución de la propia máquina virtual. En consecuencia, algunas personas hacen una distinción y clasifican los zkps que no son VM como parte del enfoque FPGA (Field-Programmable Gate Array), mientras que consideran los zkVM como constituyentes del enfoque CPU (Unidad Central de Procesamiento).
Dentro de los sistemas zkp, los programas o circuitos son entidades inmutables, muy parecidas a los binarios compilados a partir de programas específicos. En consecuencia, un circuito zkVM incorpora efectivamente un número predeterminado de iteraciones para el bucle, lo que puede compararse con desenrollar el bucle. En esencia, un zkVM es un circuito diseñado para ejecutar una máquina virtual. Las instrucciones del programa real se pueden introducir como entrada pública a este circuito, permitiendo una total transparencia con respecto al programa que se está verificando. (Existen varios métodos para transmitir las instrucciones del programa a la VM en caso de que se desee explorar otras alternativas).
Han surgido varios proyectos zkVM, con al menos tres esfuerzos dignos de mención:
- El Cairo: Utilizado por Starknet, este proyecto destaca por su cuidado papel, considerado una obra de arte. En el marco Kimchi también se incluye una implementación experimental conocida como "turshi".
- Miden: Un proyecto en progreso dentro del ecosistema Polygon, Miden se encuentra actualmente en desarrollo.
- Risczero: Otra iniciativa de trabajo en progreso, Risczero tiene como objetivo respaldar el conjunto de instrucciones RISC-V, un estándar ampliamente reconocido más allá del dominio blockchain.
Cada uno de estos proyectos admite conjuntos de instrucciones distintos, lo que los hace no interoperables entre sí.
Tipos de zkVM
El campo de las máquinas virtuales zk se puede clasificar en dos tipos distintos:
- Máquinas virtuales optimizadas para zk: ejemplos notables incluyen Cairo y Miden. Estas máquinas virtuales están meticulosamente diseñadas para priorizar la eficiencia, lo que las hace significativamente más rápidas. Su objetivo principal es facilitar una integración perfecta con sistemas de prueba de conocimiento cero (zkp), simplificando el proceso de verificación.
- Máquinas virtuales del mundo real: esta categoría abarca máquinas virtuales como RiscZero, que admite el conjunto de instrucciones RISC-V, y varias zkEVM adaptadas a la máquina virtual Ethereum (EVM). Las máquinas virtuales del mundo real están destinadas a proporcionar compatibilidad con ecosistemas y conjuntos de instrucciones establecidos más allá del ámbito de las pruebas de conocimiento cero.
La motivación detrás del apoyo a la GEV puede atribuirse a varias razones de peso. En primer lugar, para el propio Ethereum , permite la creación de pruebas que abarcan toda la transición del estado, desde el estado de génesis hasta el último estado Ethereum . Esta capacidad se ejemplifica en proyectos como Mina.
En segundo lugar, para proyectos que no son deEthereum , la adopción de la compatibilidad con EVM ofrece la ventaja de incorporar sin problemas proyectos y aplicaciones del ecosistema Ethereum , como Uniswap. Esto no solo facilita la interoperabilidad sino que también presenta una oportunidad paratracdesarrolladores de la comunidad Ethereum a nuevos proyectos.
Mecanismo de zkVM
ZkVM, derivado de nuestro trabajo anterior en TxVM e influenciado por los diseños de Bitcoin y Ethereum , introduce un formato de transacción novedoso. En ZkVM, una transacción se representa como un programa que manipula directamente el flujo de activos como objetos de primera clase, actualizando el estado de la cadena de bloques a través de un registro de transacciones. Esta separación entre la aplicación de registro de transacciones y la validación permite un diseño altamente escalable y al mismo tiempo proporciona un entorno sólido paratracpersonalizados.
Para mejorar la escalabilidad de blockchain y permitir transferencias de valordent, ZkVM emplea un modelo UTXO (Unspent Transaction Output) para representar saldos. Todos los saldos se expresan como conjuntos de productos no gastados (UTXO), que pueden crearse, destruirse y manipularse dentro de las transacciones. Estos UTXO se almacenan de manera eficiente como raíces de Merkle utilizando el esquema Utreexo, lo que reduce significativamente los requisitos de almacenamiento y facilita una implementación más amplia de nodos con validación completa.
En ZkVM, cada salida es untracalmacenado en el estado blockchain, que contiene múltiples elementos protegidos por un predicado, una condición que debe cumplirse para desbloquear estos elementos. ZkVM utiliza un diseño basado en Taproot, que permite desbloqueartracmediante firmas criptográficas o ejecutando un subprograma integrado que verifica las condiciones personalizadas.
Lostracen ZkVM sirven como bloques de construcción versátiles para protocolos de nivel superior como cuentas, libros de pedidos y canales de pago. Esta flexibilidad permite a plataformas como Stellar alejar las opciones de diseño de protocolos de la capa crítica de consenso, promoviendo la experimentación con una amplia gama de aplicaciones descentralizadas.
En cuanto a ladent, ZkVM logra un equilibrio utilizando el esquema Taproot en los predicados. No es necesario revelar la lógica deltracsi todas las partes cooperan, pero la seguridad permanece intacta si no lo hacen. Incluso cuando se debe divulgar la lógica deltrac, datos como los saldos y los parámetros deltracsiguen siendodentdebido a un sistema de restricciones verificado con conocimiento cero.
ZkVM aprovecha el sistema de prueba de conocimiento cero Bulletproofs, cifrando valores y datos de forma predeterminada como compromisos de Pedersen. Los usuarios pueden especificar expresiones aritméticas y lógicas sobre valores secretos, que se transformanmaticen un sistema de restricciones Bulletproofs. Las transacciones son compactas y eficientes, con transacciones pequeñas que varían de 1 a 1,5 KB de tamaño y pagos agregados que incurren en un costo marginal de sólo 200 bytes por par de entrada-salida. La verificación es altamente paralelizable y toma solo alrededor de 1 milisegundo por salida. Esta eficiencia permite a ZkVM priorizar la seguridad sin comprometer el cifrado de datos, garantizando que los datos se revelen únicamente a las partes autorizadas cuando sea necesario. Además, el marco Bulletproofs elimina la necesidad de una configuración confiable, lo que permite la creación de nuevos protocolos sobre ZkVM sin necesidad de actualizaciones en toda la red para cada característica.
La necesidad de realizar la transición de zkEVM a zkVM
Limitaciones de zkEVM
Si bien zkEVM introdujo mejoras significativas, todavía tenía algunas limitaciones que obstaculizaban su potencial de escalabilidad:
- Compatibilidad limitada: zkEVM fue diseñado principalmente para la red Ethereum . Esto significó que otras plataformas blockchain no pudieron adoptar fácilmente la tecnología, lo que limitó su impacto más amplio en el ecosistema blockchain.
- Complejidad: La implementación de zkEVM requirió una comprensión profunda de las pruebas de conocimiento cero y la criptografía. Esta complejidad dificultó a los desarrolladores incorporar zkEVM en sus proyectos, lo que limitó aún más su adopción.
- Desafíos de almacenamiento y datos: zkEVM no abordó de manera efectiva el problema del almacenamiento de datos en la cadena de bloques. Los grandes requisitos de almacenamiento de datos siguieron siendo un obstáculo para la escalabilidad.
La transición a zkVM: un gran avance en escalabilidad
Al reconocer las limitaciones de zkEVM, la comunidad blockchain se embarcó en un viaje para desarrollar una solución más versátil y escalable, lo que llevó al nacimiento de zkVM, o máquina virtual de conocimiento cero.
zkVM se basa en los principios fundamentales de zkEVM y aborda sus deficiencias. Exploremos cómo zkVM está preparado para revolucionar la escalabilidad de blockchain:
- Compatibilidad multiplataforma: a diferencia de zkEVM, zkVM está diseñado para ser independiente de blockchain. Esto significa que se puede integrar en varias redes blockchain, sin limitarse a Ethereum. Esta compatibilidad más amplia abre la puerta para que zkVM tenga un impacto más significativo en todo el ecosistema blockchain.
- Experiencia de usuario mejorada: zkVM tiene como objetivo simplificar el proceso de implementación para los desarrolladores. Al ofrecer herramientas e interfaces fáciles de usar, zkVM facilita a los desarrolladores aprovechar el poder de las pruebas de conocimiento cero, reduciendo la barrera de entrada.
- Gestión de datos mejorada: zkVM aborda el problema del almacenamiento de datos de forma más eficaz. Introduce técnicas innovadoras para la compresión y el almacenamiento de datos, reduciendo los requisitos de almacenamiento en blockchain. Esta optimización tiene un impacto positivo directo en la escalabilidad al disminuir el tamaño de los datos de la cadena de bloques.
- Procesamiento de transacciones más rápido: con las capacidades de computación fuera de la cadena de zkVM, la carga computacional en la red blockchain se reduce aún más. Esto conduce a tiempos de procesamiento de transacciones más rápidos, tarifas más bajas y un mejor rendimiento general.
¿Para qué estamos optimizando?
Lockheed Martin se embarcó en la ambiciosa tarea de crear el F-35, imaginándolo como un avión de combate versátil capaz de reemplazar a los cazas especializados aire-aire y aire-tierra. Sin embargo, este esfuerzo ha encontrado importantes reveses, con un retraso de una década en su calendario previsto y ganándose la reputación entre los expertos de la industria como uno de los aviones de combate menos exitosos jamás producidos.
La conclusión clave de esta experiencia es que cuando un sistema se diseña con un propósito específico en mente, a menudo se destaca en el cumplimiento de esa función particular en comparación con una solución que intenta optimizarse para múltiples objetivos simultáneamente.
Haciendo un paralelo con el ámbito blockchain, Ethereum se concibió inicialmente como una plataforma totalmente pública y transparente. Si uno se esfuerza por introducir características de privacidad en una cadena de bloques de este tipo, es poco probable que alcance el mismo nivel de rendimiento que un sistema diseñado con la privacidad como principio fundamental desde su inicio. Esto presenta desafíos de ingeniería, ya que los desarrolladores deben adaptar programas que originalmente no estaban destinados a funcionar dentro de este contexto, lo que lleva a la creación de circuitos complejos y difíciles de manejar.
Sin embargo, el enfoque alternativo implica el desarrollo de una capa de aplicación diseñada específicamente para la privacidad. Este enfoque permite optimizar las funcionalidades relacionadas con la privacidad mientras se aprovechan los beneficios que ofrecen las pruebas de conocimiento cero, un tema que profundizaremos en la siguiente sección.
Aplicaciones del mundo real de zkVM y zkEVM
Tanto zkEVM como zkVM encuentran aplicaciones en varios dominios, lo que promete remodelar industrias y casos de uso de blockchain:
- Revolución DeFi : las plataformas de finanzas descentralizadas ( DeFi ) pueden aprovechar zkVM y zkEVM para mejorar la velocidad de las transacciones, reducir las tarifas y proteger los datos financieros confidenciales.
- Transformación de la cadena de suministro : es posible mejorar la transparencia y trac en las cadenas de suministro con zkVM y zkEVM, lo que reduce el fraude y aumenta la eficiencia.
- Seguridad de los datos sanitarios : zkEVM y zkVM pueden garantizar la privacidad y seguridad de los datos sanitarios, permitiendo el intercambio seguro de información entre partes autorizadas.
- Juegos y NFT : la industria del juego y los mercados de tokens no fungibles (NFT) pueden beneficiarse de transacciones más rápidas y un manejo seguro de datos proporcionado por zkVM y zkEVM.
El futuro de zkVM y la escalabilidad de Blockchain
A medida que zkVM gana tracen el espacio blockchain, tiene el potencial de abordar los problemas de escalabilidad de larga data que han limitado la adopción y el crecimiento de blockchain. Sin embargo, como cualquier tecnología emergente, existen desafíos que superar y consideraciones que se deben tener en cuenta:
- Obstáculos de adopción: si bien la compatibilidad de zkVM con varias cadenas de bloques es una ventaja significativa, la adopción generalizada seguirá dependiendo de la voluntad de los proyectos de cadenas de bloques de integrar esta tecnología en sus redes.
- Preocupaciones de seguridad: las pruebas de conocimiento cero introducen técnicas criptográficas complejas y cualquier vulnerabilidad podría plantear riesgos de seguridad importantes. La auditoría y mejora continua de las implementaciones de zkVM son cruciales para mantener la confianza de los usuarios.
- Panorama regulatorio: a medida que la tecnología blockchain evolucione, seguirá enfrentándose al escrutinio regulatorio. Queda por ver cómo tratarán los reguladores las pruebas de conocimiento cero y sus aplicaciones, lo que podría afectar la adopción futura de zkVM.
Conclusión
El viaje de zkEVM a zkVM representa un importante paso adelante para abordar los desafíos de escalabilidad de blockchain. Si bien zkEVM sentó las bases, zkVM ofrece una solución más versátil y escalable que tiene el potencial de revolucionar la forma en que se utiliza la tecnología blockchain en diversas industrias.
La transición a zkVM no está exenta de desafíos, pero los beneficios que aporta en términos de compatibilidad multiplataforma, facilidad de uso, gestión de datos y velocidad de procesamiento de transacciones la convierten en un avance convincente en el espacio blockchain. A medida que zkVM continúa evolucionando y encontrando su lugar en los ecosistemas blockchain, podemos esperar ver aplicaciones blockchain más escalables y eficientes que tienen el potencial de transformar industrias y mejorar las vidas de las personas en todo el mundo.