Durante años, los críticos de Ethereum han lamentado su lentitud. El protocolo central sólo puede gestionar entre 10 y 15 transacciones por segundo, y las tarifas suelen ser insostenibles en momentos de gran actividad de los usuarios. Los desarrolladores han probado varias soluciones, entre ellas las sidechains, que trasladan las transacciones a una segunda capa en la que se procesan a gran velocidad y luego se devuelven a la cadena principal.

A menudo, estas cadenas secundarias agrupan las transacciones y las transmiten todas al mismo tiempo al protocolo central, "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 hacen uso de los llamados rollups "optimistas".

Éstas agrupan las transacciones y las presentan al protocolo central sin ninguna prueba de que las transacciones se hayan ejecutado de forma correcta y justa; en la capa del protocolo puede llevar hasta dos semanas cribar las transacciones y verificarlas de forma concluyente (por eso son “optimistas"—son optimistas los usuarios no están mintiendo).

Entra en escena la última innovación: ¡El zkEVM!

¿Qué son los zkEVM?

Los zkEVM (y una innovación que los acompaña, conocida como zkSync—ya llegaremos a esto) se empezaron a discutir con entusiasmo al menos en 2014, y la tecnología se está acercando finalmente a la usabilidad. Los principales actores del mundo del desarrollo de Ethereum, como Polygon y Scroll, los están construyendo, y otros se apresuran a seguir su ejemplo.

En la práctica, una zkEVM es una revisión de la infraestructura informática fundacional de Ethereum (se trata de la Máquina Virtual de Ethereum[/definición], o EVM) que hace que la red sea compatible con un tipo de rollup mucho más eficiente que utiliza [definition slug="zero-knowledge-proofs"]pruebas de conocimiento cero[/definición], un elaborado mecanismo criptográfico que es fundamental para resolver los problemas señalados anteriormente. Profundicemos un poco más.

¿Cómo funcionan los zkEVM?

En primer lugar, la prueba de conocimiento cero. Se trata de una innovación criptográfica estándar que existe desde la década de 1980; no es exclusiva de la 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 declaración es verdadera, no por qué es verdadera.

[embedded-post id=100893 /]

En el contexto de las transacciones de criptomonedas, las pruebas de conocimiento cero permiten a las contrapartes señalarse mutuamente que sus transacciones no son fraudulentas sin revelar ningún detalle adicional de identificación. Se requieren parámetros específicos conocidos tanto por el emisor como por el receptor—ambas partes deben ser capaces de entender las señales que comunican que una determinada transacción se ha llevado a cabo, sin saber nada sobre la propia transacción.

Las pruebas de conocimiento cero son un componente clave en los esfuerzos por hacer más eficientes los rollups: A diferencia de los rollups "optimistas", los rollups zk son capaces de presentar una prueba de la validez de cada transacción en un lote; el protocolo "central" no tiene que hacer nada. También ocupan menos datos, lo que significa que un lote de estas pruebas puede procesarse muy rápidamente.

[did-you-know]Durante años, muchos proyectos que no son de Ethereum han tratado de incorporar la compatibilidad con zk-rollup en la capa de protocolo. Zcash, la criptomoneda centrada en la privacidad, lleva años luchando por este objetivo, y otros intentos incluyen Aleo, construido por Howard Wu, y Penumbra, una red de conocimiento cero de capa uno para tokens e intercambios descentralizados.[/did-you-know]

Sin embargo, los rollups de conocimiento cero son muy específicos y difíciles de programar, por lo que tienden a ser utilizados con moderación y en aplicaciones especializadas. Aquí es donde entra el zkEVM: Incorpora la funcionalidad de los rollups zk en el principal entorno de programación de Ethereum: la Máquina Virtual de Ethereum.

El fantasma en la máquina virtual

El EVM, por decirlo de forma sencilla, traduce las entradas humanas a nivel de usuario en acciones 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 "bytecode" legible para el ordenador—lo realiza normalmente un compilador, un componente dentro de una CPU. Sin embargo, Ethereum está distribuido en millones de ordenadores, por lo que este proceso se lleva a cabo en un software compartido en la red—en la nube. Por eso es una máquina "virtual".

El problema: los EVM estándar sólo pueden interpretar los rollups caso por caso, lo que significa que no existe un lenguaje de programación unificado y que los rollups ZK deben diseñarse individualmente.

[ad-unit /]

Entonces, ¿la zkEVM? Es un nuevo tipo de Máquina Virtual de Ethereum capaz de interpretar una forma estandarizada de rollup de conocimiento cero (el más destacado es el zkSync de Matter Labs). Un grupo de usuarios realiza transacciones; el rollup las 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, escudriñando un sinfín de datos.

A diferencia de lo que ocurre con Optimism, las transacciones no válidas simplemente no pueden presentarse. Esto permite, supuestamente, un aumento exponencial de la velocidad: los rollups ZK pueden ofrecer hasta 2.000 transacciones por segundo; cuando se mejoran con otras tecnologías como ZK Porter pueden llegar hasta 20.000.

Es importante destacar que zkEVM utiliza el mismo lenguaje de codificación, [definition slug="solidity"]Solidity, con el que ya están familiarizados los desarrolladores de Ethereum. Eso lo hace hasta cierto punto compatible con la infraestructura existente de Ethereum: NFTs, contratos inteligentes, dapps, DEXs, etc. En teoría, los interesados sólo tendrán que descargarse el software en sus nodos, y el resultado será el mismo Ethereum, pero con una función potenciada que permitirá realizar transacciones baratas y fácilmente verificables.

Problemas iniciales

La tecnología zkEVM está lejos de ser perfecta. Howard Wu, antiguo investigador de zCash y desarrollador de Aleo, un original protocolo de blockchain que incorpora la compatibilidad con zk a la capa del protocolo, dijo que los zkEVM pueden tardar entre 12 y 24 horas en producir la prueba que posteriormente se transmite al protocolo central (frente a los 10-15 segundos de Ethereum).

Otro problema, dijo, es que los zkEVMs son computacionalmente intensivos, y normalmente ponen la carga de generar la prueba de conocimiento cero para un lote de transacciones en un solo ordenador, lo que se convierte en un único punto de fallo propenso a la censura. Y como se ha visto con el proyecto de privacidad Tornado Cash, el gobierno estadounidense está más que dispuesto a acabar con los proyectos de criptomonedas centralizados.

Además, a pesar de la ayuda que los zkEVM aportan a la compatibilidad, incluso eso está lejos de ser perfecto: Muchas aplicaciones de 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 de zkEVM. El uso de una multitud de rollups que operan a diferentes velocidades también "fragmentará la liquidez", dijo Wu. "Esto romperá los préstamos flash y aumentará los diferenciales de precios, lo que supondrá un mayor riesgo de estabilidad de precios para muchos protocolos DeFi". Evidentemente, ¡todavía queda trabajo por hacer!

¿Quién construye los rollups de zkEVM?

  • 💱 Polygon - un proyecto dedicado a financiar y construir la infraestructura de Ethereum. 
  • 📜 Scroll - un proyecto dedicado enteramente a la investigación de las pruebas de conocimiento cero.
  • 🥼 Matter Labs - desarrolladores de la tecnología zkSync rollup.

El Futuro de zkEVM

Los zkEVM son todavía una tecnología muy experimental. La red de pruebas de Polygon no estará disponible hasta el tercer trimestre de 2022; su red principal se espera para 2023. Pero dado que antes se pensaba que faltaban años, eso no es tan largo en absoluto.

Daily Debrief Newsletter

Start every day with the top news stories right now, plus original features, a podcast, videos and more.