ÚLTIMAS NOTICIAS
SELECCIONADO PARA TI

Cómo el camino de zkEVM a zkVM mejoró la escalabilidad de Blockchain

PorShayan ChowdhuryShayan Chowdhury 9 min de lectura
La beta de la etapa 2 de Polygon zkEVM impulsará el crecimiento de DApps y la actividad DeFi

La beta de la etapa 2 de Polygon zkEVM impulsará el crecimiento de DApps y la actividad DeFi

La tecnología blockchain ha recorrido un largo camino desde la invenció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 significativos, particularmente en términos de escalabilidad. A medida que las aplicaciones y casos de uso de blockchain continúan expandiéndose, encontrar soluciones a los problemas de escalabilidad se ha convertido en una prioridad máxima.

Uno de los avances prometedores en este ámbito es la transición de zkEVM (Máquina Virtual de Ethereum de Conocimiento Cero) a zkVM (Máquina Virtual de Conocimiento Cero), lo 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 entenderemos cómo la evolución hacia zkVM está destinada a traer mejoras sustanciales en la escalabilidad de blockchain.

El Auge de las Pruebas de Conocimiento Cero (ZKPs)

Las pruebas de conocimiento cero juegan un papel fundamental en la protección de la privacidad del usuario en internet, especialmente a medida que nos esforzamos por una adopción generalizada en la blockchain. También tienen la promesa de resolver desafíos computacionales. Actualmente, hay dos vías prominentes para lograr esto: zkEVMs y zkVMs. En esta exploración, profundizaremos en ambos enfoques, sopesando sus ventajas y desventajas. Sin embargo, antes de sumergirnos en este análisis, es esencial comprender qué estamos optimizando y por qué la privacidad tiene tal importancia.

En el ámbito de la evolución criptográfica, al igual que en su contraparte biológica, el desarrollo de características 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 poder ganar aceptación y adopción generalizada. Ethereum siguió un camino similar, enfatizando la seguridad mientras introducía una capa adicional: la programabilidad ofrecida por los contratos inteligentes.

Estas iteraciones en la evolución criptográfica tienden a construirse unas sobre otras, cada una trayendo su conjunto único de compensaciones. En el caso de Ethereum, cada nodo debe volver a ejecutar cada transacción, presentando desafíos computacionales formidables que resultan en altas tarifas de gas y velocidades de transacción lentas. La decisión de realizar cálculos directamente en la blockchain 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 reduciendo las cargas computacionales asociadas con Ethereum. Si bien comienzan a abordar el problema de rendimiento, no tienen en cuenta las preocupaciones de privacidad. Esto es significativo porque la privacidad se ha convertido en un requisito previo para las aplicaciones que buscan expandir su base de usuarios. Los usuarios exigen cada vez más control sobre sus datos y se están volviendo cautelosos ante las entidades que buscan acceso ilimitado a su información.

Los desarrolladores de aplicaciones han reconocido esta tendencia creciente hacia la privacidad y su necesidad. En consecuencia, han estado explorando activamente métodos para proteger la privacidad mediante el uso de pruebas de conocimiento cero (ZKPs). Estos protocolos criptográficos permiten a los usuarios o aplicaciones verificar la verdad de una declaración sin divulgar información adicional. Por ejemplo, los ZKPs pueden confirmar que un usuario tiene más de 18 años sin revelar su edad exacta o fecha de nacimiento.

Como se destacó en el informe de 2023 de a16z sobre el Estado de Crypto, la adopción de tecnología de prueba ZK por parte de los desarrolladores está destinada a aumentar aún más. Esta tendencia está impulsada por un aumento en las publicaciones académicas y un número creciente de transacciones diarias que implican verificar pruebas ZK en la red Ethereum. El impulso detrás de los ZKPs demuestra su importancia creciente en la búsqueda de equilibrar privacidad, seguridad y escalabilidad en el espacio blockchain.

Comprendiendo zkVM

El primer aspecto que necesita definición es: ¿qué constituye una máquina virtual (VM)? En pocas palabras, una VM es un programa de software capaz de ejecutar otros programas, funcionando típicamente como un bucle iterativo que lleva a cabo un conjunto específico de instrucciones; estas instrucciones representan el «otro programa».

La Máquina Virtual de Ethereum (EVM), específicamente, sirve como la VM responsable de ejecutar los contratos inteligentes de Ethereum. La compilación original de instrucciones admitidas y sus respectivos comportamientos se describió en 2014 dentro del documento amarillo seminal, distinguido 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 el conjunto actual de instrucciones admitidas.

Una máquina virtual de conocimiento cero (zk VM), por otro lado, es esencialmente una VM implementada como un circuito dentro de un sistema de prueba de conocimiento cero (zkp). Esto la distingue de los sistemas zkp convencionales que se centran predominantemente en probar la ejecución de programas. En zkVMs, el énfasis se desplaza hacia verificar la ejecución de una máquina virtual en sí. En consecuencia, algunas personas trazan una distinción, categorizando los zkps no-VM como parte del enfoque FPGA (Array de Puertas Programables en Campo), mientras consideran los zkVMs como constituyentes del enfoque CPU (Unidad Central de Procesamiento).

Dentro de los sistemas zkp, los programas o circuitos son entidades inmutables, al igual que los binarios compilados a partir de programas específicos. En consecuencia, un circuito zkVM encarna efectivamente un número predeterminado de iteraciones para el bucle, lo que se puede comparar con desenrollar el bucle. En esencia, un zkVM es un circuito diseñado para ejecutar una máquina virtual. Las instrucciones del programa real pueden introducirse como entrada pública a este circuito, permitiendo una transparencia completa sobre el programa que se está verificando. (Existen varios métodos para transmitir las instrucciones del programa a la VM si uno desea explorar alternativas adicionales).

Han surgido varios proyectos zkVM, con al menos tres esfuerzos notables:

  1. Cairo: Utilizado por Starknet, este proyecto es notable por su meticuloso documento, considerado una obra de arte. También se presenta una implementación experimental conocida como «turshi» en el marco Kimchi.
  2. Miden: Un proyecto en progreso dentro del ecosistema Polygon, Miden está actualmente en desarrollo.
  3. Risczero: Otra iniciativa en desarrollo, Risczero tiene como objetivo admitir 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 zk VMs se puede categorizar en dos tipos distintos:

  1. VMs optimizadas para zk: Ejemplos notables incluyen Cairo y Miden. Estas VMs están meticulosamente diseñadas para priorizar la eficiencia, haciéndolas significativamente más rápidas. Su objetivo principal es facilitar la integración perfecta con sistemas de prueba de conocimiento cero (zkp), agilizando el proceso de verificación.
  2. VMs del mundo real: Esta categoría abarca VMs como RiscZero, que admite el conjunto de instrucciones RISC-V, y varios zkEVMs adaptados a la Máquina Virtual de Ethereum (EVM). Las VMs del mundo real están destinadas a proporcionar compatibilidad con conjuntos de instrucciones y ecosistemas establecidos más allá del ámbito de las pruebas de conocimiento cero.

La motivación detrás del apoyo a la EVM se puede atribuir a varias razones convincentes. En primer lugar, para Ethereum en sí mismo, permite la creación de pruebas que abarcan toda la transición de estado, desde el estado génesis hasta el estado más reciente de Ethereum. Esta capacidad está ejemplificada por proyectos como Mina.

En segundo lugar, para proyectos que no son de Ethereum, adoptar la compatibilidad con EVM ofrece la ventaja de incorporar sin problemas proyectos y aplicaciones del ecosistema de Ethereum, como Uniswap. Esto no solo facilita la interoperabilidad, sino que también presenta una oportunidad para atraer desarrolladores de la comunidad de Ethereum a nuevos proyectos.

Mecanismo de zkVM

ZkVM, derivado de nuestro trabajo previo en TxVM e influenciado por los diseños de Bitcoin y Ethereum, introduce un nuevo formato de transacción. 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 de la aplicación del registro de transacciones de la validación permite un diseño altamente escalable mientras proporciona un entorno robusto para contratos personalizados.

Para mejorar la escalabilidad de la cadena de bloques y habilitar transferencias de valor confidenciales, ZkVM emplea un modelo UTXO (Salida de Transacción No Gastada) para representar los saldos. Todos los saldos se expresan como conjuntos de saldos no gastados (UTXOs), que pueden ser creados, destruidos y manipulados dentro de las transacciones. Estos UTXOs se almacenan eficientemente como raíces de Merkle utilizando el esquema Utreexo, reduciendo significativamente los requisitos de almacenamiento y facilitando el despliegue más amplio de nodos de validación completa.

En ZkVM, cada salida es un contrato almacenado en el estado de la cadena de bloques, 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, lo que permite desbloquear los contratos ya sea mediante firmas criptográficas o ejecutando un subprograma integrado que verifica condiciones personalizadas.

Los contratos en 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 que plataformas como Stellar alejen las decisiones 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 la confidencialidad, ZkVM logra un equilibrio utilizando el esquema Taproot en los predicados. La lógica del contrato no necesita revelarse si todas las partes cooperan, pero la seguridad permanece intacta si no lo hacen. Incluso cuando la lógica del contrato debe revelarse, datos como los saldos y los parámetros del contrato permanecen confidenciales debido a un sistema de restricciones verificado con conocimiento cero.

ZkVM aprovecha el sistema de prueba de conocimiento cero Bulletproofs, encriptando valores y datos por defecto como compromisos de Pedersen. Los usuarios pueden especificar expresiones aritméticas y lógicas sobre valores secretos, que se transforman automáticamente en un sistema de restricciones de Bulletproofs. Las transacciones son compactas y eficientes, con transacciones pequeñas que oscilan entre 1 y 1.5 KB de tamaño y los pagos agregados incurren en un costo marginal de solo 200 bytes por par entrada-salida. La verificación es altamente paralelizable, tomando solo alrededor de 1 milisegundo por salida. Esta eficiencia permite a ZkVM priorizar la seguridad sin comprometer el cifrado de datos, asegurando que los datos se revelen únicamente a las partes autorizadas bajo la necesidad de conocer. Además, el marco de Bulletproofs elimina la necesidad de una configuración de confianza, permitiendo la creación de nuevos protocolos sobre ZkVM sin necesidad de actualizaciones en toda la red para cada función.

La Necesidad de Transicionar de zkEVM a zkVM

Limitaciones de zkEVM

Aunque zkEVM introdujo mejoras significativas, aún tenía algunas limitaciones que obstaculizaban su potencial de escalabilidad:

  1. Compatibilidad Limitada: zkEVM fue diseñado principalmente para la red Ethereum. Esto significaba que otras plataformas de cadena de bloques no podían adoptar fácilmente la tecnología, limitando su impacto más amplio en el ecosistema de la cadena de bloques.
  2. Complejidad: Implementar zkEVM requería un profundo conocimiento de las pruebas de conocimiento cero y la criptografía. Esta complejidad hacía que fuera difícil para los desarrolladores incorporar zkEVM en sus proyectos, limitando aún más su adopción.
  3. Desafíos de Almacenamiento y Datos: zkEVM no abordaba eficazmente el problema del almacenamiento de datos en la cadena de bloques. Los grandes requisitos de almacenamiento de datos seguían siendo un cuello de botella para la escalabilidad.

La Transición a zkVM: Un Avance en la Escalabilidad

Reconociendo las limitaciones de zkEVM, la comunidad de la cadena de bloques emprendió 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 mientras aborda sus deficiencias. Exploremos cómo zkVM está posicionado para revolucionar la escalabilidad de la cadena de bloques:

  1. Compatibilidad Multiplataforma: A diferencia de zkEVM, zkVM está diseñado para ser agnóstico a la cadena de bloques. Esto significa que puede integrarse en varias redes de cadena de bloques, no limitado a Ethereum. Esta mayor compatibilidad abre la puerta para que zkVM tenga un impacto más significativo en todo el ecosistema de la cadena de bloques.
  2. Mejora de la Experiencia del Usuario: zkVM tiene como objetivo simplificar el proceso de implementación para los desarrolladores. Al ofrecer herramientas e interfaces amigables, zkVM facilita a los desarrolladores aprovechar el poder de las pruebas de conocimiento cero, reduciendo la barrera de entrada.
  3. Gestión de Datos Mejorada: zkVM aborda el problema del almacenamiento de datos de manera más efectiva. Introduce técnicas innovadoras para la compresión y el almacenamiento de datos, reduciendo los requisitos de almacenamiento en la cadena de bloques. Esta optimización tiene un impacto positivo directo en la escalabilidad al disminuir el tamaño de los datos de la cadena de bloques.
  4. 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 de la cadena de bloques 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.

¿En Qué Estamos Optimizando?

Lockheed Martin emprendió la ambiciosa tarea de crear el F-35, visualizándolo como un caza versátil capaz de reemplazar cazas especializados aire-aire y aire-tierra. Sin embargo, este esfuerzo ha enfrentado importantes contratiempos, retrasándose una década detrás de su cronograma previsto y ganándose una reputación entre expertos de la industria como uno de los cazas menos exitosos jamás producidos.

La conclusión clave de esta experiencia es que cuando un sistema está diseñado con un propósito específico en mente, a menudo sobresale en cumplir ese rol particular en comparación con una solución que intenta optimizar múltiples objetivos simultáneamente.

Estableciendo un paralelo con el ámbito de la cadena de bloques, Ethereum fue concebido 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 logre el mismo nivel de rendimiento que un sistema diseñado con la privacidad como un principio fundamental desde el inicio. Esto presenta desafíos de ingeniería, ya que los desarrolladores deben adaptar programas que originalmente no estaban destinados a funcionar en este contexto, lo que lleva a la creación de circuitos complejos y engorrosos.

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 ofrecidos por las pruebas de conocimiento cero, un tema en el que profundizaremos en la siguiente sección.

Aplicaciones del Mundo Real de zkVM y zkEVM

Tanto zkEVM como zkVM encuentran aplicaciones en varios dominios, prometiendo remodelar industrias y casos de uso de la cadena de bloques:

  • 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 sensibles.
  • Transformación de la Cadena de Suministro: Es posible mejorar la transparencia y la trazabilidad en las cadenas de suministro con zkVM y zkEVM, reduciendo el fraude y aumentando la eficiencia.
  • Seguridad de Datos en Salud: zkEVM y zkVM pueden garantizar la privacidad y seguridad de los datos de salud, permitiendo el intercambio seguro de información entre partes autorizadas.
  • Juegos y NFTs: La industria de los juegos y los mercados de Tokens No Fungibles (NFT) pueden beneficiarse de transacciones más rápidas y manejo seguro de datos proporcionado por zkVM y zkEVM.

El Futuro de zkVM y la Escalabilidad de la Cadena de Bloques

A medida que zkVM gana tracción en el espacio de la cadena de bloques, tiene el potencial de abordar los problemas de escalabilidad de larga data que han limitado la adopción y el crecimiento de la cadena de bloques. Sin embargo, como cualquier tecnología emergente, hay desafíos que superar y consideraciones que tener en cuenta:

  1. Obstáculos de Adopción: Si bien la compatibilidad de zkVM con varias cadenas de bloques es una ventaja significativa, la adopción generalizada aún dependerá de la disposición de los proyectos de cadena de bloques para integrar esta tecnología en sus redes.
  2. Preocupaciones de Seguridad: Las pruebas de conocimiento cero introducen técnicas criptográficas complejas, y cualquier vulnerabilidad podría plantear riesgos de seguridad significativos. La auditoría continua y la mejora de las implementaciones de zkVM son cruciales para mantener la confianza de los usuarios.
  3. Marco Regulatorio: A medida que la tecnología de la cadena de bloques evoluciona, seguirá enfrentando escrutinio regulatorio. Queda por ver cómo los reguladores tratarán las pruebas de conocimiento cero y sus aplicaciones, lo que podría impactar la adopción futura de zkVM.

Conclusión

El viaje desde zkEVM hasta zkVM representa un paso significativo hacia adelante para abordar los desafíos de escalabilidad de la cadena de bloques. Si bien zkEVM sentó las bases, zkVM ofrece una solución más versátil y escalable que tiene el potencial de revolucionar cómo se utiliza la tecnología de la cadena de bloques en varias 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 de la cadena de bloques. A medida que zkVM continúa evolucionando y encuentra su lugar en los ecosistemas de la cadena de bloques, podemos esperar ver más aplicaciones de cadena de bloques escalables y eficientes que tienen el potencial de transformar industrias y mejorar la vida de las personas en todo el mundo.

Preguntas frecuentes

¿Qué es zkEVM y por qué fue insuficiente para la escalabilidad de las cadenas de bloques?

zkEVM significa Máquina Virtual Ethereum de Conocimiento Cero. Su escalabilidad era limitada porque se centraba principalmente en Ethereum, carecía de compatibilidad entre cadenas de bloques y no abordaba eficazmente el almacenamiento de datos ni la facilidad de uso.

¿Qué es zkVM y en qué se diferencia de zkEVM?

zkVM, o Máquina Virtual de Conocimiento Cero, es una solución más versátil y compatible entre cadenas de bloques que se basa en zkEVM. Simplifica el desarrollo, mejora la gestión de datos y ofrece un procesamiento de transacciones más rápido en comparación con zkEVM.

¿Cómo mejora zkVM la experiencia del usuario para los desarrolladores de cadenas de bloques?

zkVM simplifica el desarrollo al proporcionar herramientas e interfaces fáciles de usar, reduce la complejidad de implementar pruebas de conocimiento cero y facilita que los desarrolladores aprovechen esta tecnología.

¿Cuáles son las aplicaciones reales de zkVM y zkEVM en los ecosistemas de cadenas de bloques?

Tanto zkVM como zkEVM encuentran aplicaciones en DeFi, cadena de suministro, seguridad de datos en salud, juegos, NFTs y más, ofreciendo mayor velocidad de transacción, seguridad de datos y privacidad.

¿Qué desafíos enfrenta zkVM en su adopción y desarrollo futuro?

Los desafíos incluyen lograr una adopción generalizada entre proyectos de blockchain, garantizar la seguridad en técnicas criptográficas complejas y navegar posibles obstáculos regulatorios a medida que evoluciona la tecnología.

Comparte este artículo

Aviso de responsabilidad. La información proporcionada no es un consejo de trading. Cryptopolitan.com no asumimos responsabilidad alguna por las inversiones realizadas basándose en la información proporcionada en esta página. Recomendamos encarecidamente la investigación independiente y/o la consulta con un profesional calificado antes de tomar cualquier decisión de inversión.

Shayan Chowdhury

Shayan Chowdhury

Shayan es un periodista profesional especializado en criptomonedas, experto en módulos criptográficos y desarrollo blockchain. Fue reportero de noticias en CoinPedia y editor de noticias (practicante) en Binance. Desde octubre de 2022, ha sido editor de predicciones de precios de criptomonedas en Cryptopolitan. Shayan estudió en el Bidhannagar Government College, donde obtuvo una licenciatura en Matemáticas.

MÁS … NOTICIAS