Durante años, los críticos de Etéreo han lamentado lo lento que es. El protocolo central solo puede manejar de 10 a 15 transacciones por segundo, y las tarifas con frecuencia se vuelven insostenibles durante los momentos de alta actividad de los usuarios. Los desarrolladores han probado varias soluciones, entre ellas cadenas lateralesque trasladan las transacciones a una segunda capa donde se procesan a gran velocidad y luego se remiten de nuevo a la cadena principal.
A menudo, estas cadenas laterales agrupan las transacciones por lotes y las envían todas de vuelta al protocolo central a la vez, “enrollándolas” y presentándolas para su validación. Históricamente, esto ha funcionado en aplicaciones individuales, pero hay un problema: muchas de estas cadenas laterales utilizan los llamados paquetes acumulativos “optimistas”.
Estos agrupan transacciones por lotes y las presentan al protocolo central sin ninguna prueba de que las transacciones se ejecutaron de manera correcta y justa; en la capa de protocolo, puede tomar hasta dos semanas filtrar las transacciones y verificarlas de manera concluyente (es por eso que son “optimistas”, son optimistas, los usuarios no mienten).
Introduzca la última innovación: ¡El zkEVM!
¿Qué son los zkEVM?
Los zkEVM (y una innovación que lo acompaña conocida como zkSync, ya llegaremos a esto) se discutieron con entusiasmo por primera vez al menos en 2014, y la tecnología finalmente se acerca a la usabilidad. Los principales actores en el mundo del desarrollo de Ethereum, como Polígono y Scroll, los están construyendo, y otros están luchando para seguir su ejemplo.
En la práctica, un zkEVM es una revisión de la infraestructura informática fundamental de Ethereum (este es el Máquina virtual Ethereumo EVM) que hace que la red sea compatible con un tipo de resumen mucho más eficiente mediante pruebas de conocimiento cero, un mecanismo criptográfico elaborado que es fundamental para resolver los problemas descritos anteriormente. Profundicemos un poco más.
¿Cómo funcionan los zkEVM?
Primero, la prueba de conocimiento cero. Esta es una innovación criptográfica estándar que existe desde la década de 1980; no es exclusivo de blockchain. El objetivo de una prueba de conocimiento cero es transmitir conocimiento sin revelar los detalles o el contenido de ese conocimiento: una prueba zk revela que uno sabe, no lo que sabe; que una afirmación es verdadera, no por qué es verdadera.
En el contexto de las transacciones de criptomonedas, las pruebas de conocimiento cero permiten a las contrapartes indicarse entre sí que sus transacciones no son fraudulentas sin revelar ningún detalle de identificación adicional. Se requieren parámetros específicos conocidos tanto por el remitente como por el receptor: ambas partes deben poder comprender las señales que comunican que se ha realizado una transacción determinada, sin saber nada sobre la transacción en sí.
Las pruebas de conocimiento cero son un componente clave en los esfuerzos por hacer que los rollups sean más eficientes: a diferencia de los rollups “optimistas”, los rollups zk pueden presentar una prueba de la validez de cada transacción en un lote; el protocolo “básico” no tiene que hacer nada. También ocupan menos datos, lo que significa que un lote de estas pruebas se puede procesar muy rápidamente.
¿Sabías?
Durante años, muchos proyectos que no son de Ethereum han estado tratando de generar compatibilidad con zk-rollup en la capa de protocolo. Zcash, la criptomoneda centrada en la privacidad, se ha esforzado por alcanzar este objetivo durante años, y otros intentos incluyen Aleo, creado por Howard Wu, y Penumbra, una red de conocimiento cero de capa uno para tokens e intercambios descentralizados.
Sin embargo, los paquetes acumulativos de conocimiento cero son muy específicos y difíciles de programar; tienden a usarse con moderación y en aplicaciones especializadas. Aquí es donde entra en juego zkEVM: incorpora la funcionalidad de acumulación de zk en el entorno de programación principal de Ethereum: la máquina virtual de Ethereum.
El fantasma en la máquina virtual
El EVM, en pocas palabras, traduce la entrada humana a nivel de usuario en acción a nivel de protocolo. Hace que las operaciones se realicen sin problemas; hace que los contratos inteligentes funcionen. Este trabajo, traducir el lenguaje de codificación a un “código de bytes” legible por computadora, normalmente lo realiza un compilador, un componente dentro de una CPU. Sin embargo, Ethereum se distribuye en millones de computadoras, por lo que este proceso se lleva a cabo dentro del software compartido en la red, dentro de la nube. Por eso es una máquina “virtual”.
El problema: los EVM estándar solo pueden interpretar los paquetes acumulativos caso por caso, lo que significa que no existe un lenguaje de programación unificado y los paquetes acumulativos ZK deben diseñarse individualmente.
Entonces, ¿el zkEVM? Es un nuevo tipo de máquina virtual Ethereum que puede interpretar una forma estandarizada de acumulación de conocimiento cero (la más destacada es zkSync de Matter Labs). Un grupo de usuarios realiza transacciones; el resumen los agrupa y genera la prueba a través de la infraestructura de la máquina virtual actualizada, presentándola al protocolo central; finalmente, el protocolo central, y esta es la parte inteligente, es capaz de juzgar las pruebas como correctas sin perder tiempo y dinero, filtrando datos interminables.
A diferencia de Optimism, las transacciones no válidas simplemente no se pueden enviar. Esto permite, supuestamente, un aumento exponencial de la velocidad: los rollups ZK pueden ofrecer hasta 2000 transacciones por segundo; cuando se mejoran con otras tecnologías como ZK Porter, pueden obtener hasta 20,000.
Es importante destacar que zkEVM utiliza el mismo lenguaje de codificación, Solidez, con el que los desarrolladores de Ethereum ya están familiarizados. Eso lo hace hasta cierto punto compatible con la infraestructura existente de Ethereum: NFT, contratos inteligentes, dapps, DEXetc. En teoría, las partes interesadas solo tendrán que descargar el software en sus nodos, y el resultado será el mismo Ethereum, pero con una característica mejorada que permite paquetes de transacciones baratas y fácilmente verificables.
Problemas de dientes
La tecnología zkEVM está lejos de ser perfecta. Howard Wu, ex investigador de zCash y desarrollador detrás de Aleo, un protocolo de cadena de bloques original que integra la compatibilidad de zk en la capa del protocolo, dijo que los zkEVM a menudo pueden tardar de 12 a 24 horas en producir la prueba que luego se transmite al protocolo central ( versus los 10-15 segundos de Ethereum).
Otro problema, dijo, es que los zkEVM son computacionalmente intensivos y, por lo general, imponen la carga de generar la prueba de conocimiento cero para un lote de transacciones en una sola computadora, lo que se convierte en un único punto de falla propenso a la censura. Y como se vio con el proyecto de privacidad Tornado Cash, el gobierno de los EE. UU. está más que dispuesto a acabar con los proyectos criptográficos centralizados.
Además, a pesar de la gran ayuda que aportan los zkEVM a la compatibilidad, incluso eso dista mucho de ser perfecto: muchas finanzas descentralizadas (DeFi), como Curve, emplean en su base de código características diseñadas para la eficiencia que no son compatibles con ningún proyecto zkEVM. El uso de una multitud de acumulaciones que operan a diferentes velocidades también “fragmentará la liquidez”, dijo Wu. “Esto romperá los préstamos rápidos y aumentará los diferenciales de precios, lo que aumentará los riesgos de estabilidad de precios para muchos protocolos DeFi”. ¡Hay, evidentemente, todavía algo de trabajo por hacer!
¿Quién está creando acumulaciones de zkEVM?
- 💱 Polígono – un proyecto dedicado a financiar y construir infraestructura Ethereum.
- 📜 Desplazarse – un proyecto dedicado enteramente a la investigación de pruebas de conocimiento cero.
- 🥼 Laboratorios de Materia – desarrolladores detrás de la tecnología de resumen zkSync.
El futuro de zkEVM
Los zkEVM todavía son una tecnología muy experimental. La red de prueba de Polygon solo estará disponible en el tercer trimestre de 2022; su red principal se espera para 2023. Pero dado que anteriormente se pensaba que faltaban años, eso no es tanto tiempo.