¿Qué es zkEVM? Importancia de zkEVM para el escalamiento de Ethereum 2022

¿Qué es zkEVM? Importancia de zkEVM para el escalado de Ethereum

La computadora del mundo. La máquina es imparable. El corazón de Ethereum. La Máquina Virtual Ethereum (EVM) tiene muchos nombres que resaltan su importancia para la red Ethereum. Es la característica principal que lo convierte no sólo en un "libro mayor distribuido" como Bitcoin sino también en una "máquina de estados distribuidos". EVM permite a los desarrolladores crear contratos inteligentes utilizando un lenguaje de programación llamado Solidity. Una aplicación común de los contratos inteligentes es gestionar la generación y el intercambio de tokens. Muchas aplicaciones y protocolos utilizan tokens para recompensar a los usuarios por acciones que son importantes para su objetivo. Sin EVM, esto no sería posible, por lo que la máquina virtual EVM, una tecnología que hizo famoso a Ethereum, ayuda a ejecutar contratos inteligentes en la red Ethereum. ¿Qué pasa con zkEVM? ¿Es tan importante como la máquina virtual EVM?

¿Qué es zkEVM?

zkEVM (Máquina virtual Ethereum de conocimiento cero) es una máquina virtual que admite pruebas de conocimiento cero o ZKP para verificar la exactitud de la ejecución de programas, incluida la validez de las entradas y salidas del programa.

En pocas palabras, zkEVM está diseñado para ejecutar contratos inteligentes que admitan tecnología de conocimiento cero (zk).

La importancia de zkEVM

Primero, repasemos la importancia de la tecnología zk. ZKP (pruebas de conocimiento cero) es una forma de demostrar que un estado es verdadero sin tener que revelar más información para que los usuarios mantengan la privacidad, como información personal, secretos comerciales, datos de propiedad... Especialmente en el espacio Web3, la privacidad es indispensable. Por ejemplo, gracias a zk puedes utilizar la web sin que te roben tu información personal, o utilizar datos de propiedad exclusiva como entrada para activar contratos inteligentes.

zkEVM aprovecha los recursos de Ethereum, aprovechando la escalabilidad, validez, bajo costo y eficiencia de capital de la tecnología zk-Rollup y las capacidades de privacidad de la tecnología zk:

  • Con la Capa 2, zk-Rollup inicialmente no podía ejecutar contratos inteligentes, solo podía ejecutar intercambios o pagos simples. Sin embargo, con la llegada de zkEVM, zk-Rollup admite contratos inteligentes y facilita a los desarrolladores el desarrollo de dApps con el conocido lenguaje Solidity.
  • Con la Capa 1 que utiliza tecnología zk como Mina, zkEVM hace que la prueba de estado sea directamente demostrable en Ethereum, abriendo así un puente entre Mina y zk y la tecnología Ethereum.

¿Es zkEVM un factor determinante en el desarrollo de la tecnología zk? la respuesta es no. Por ejemplo, algunos proyectos que no son EVM como StarkNet usan Warp para compilar el lenguaje Solidity en Cairo o Polygon Miden usa la máquina virtual MidenVM.

Entonces, ¿por qué zkEVM y no otra máquina virtual? Como se mencionó anteriormente, es zkEVM el que ayuda a aprovechar recursos de Ethereum como:

  • Herramientas familiares para desarrolladores como Truffle, Hardhat y Foundry
  • Mejores prácticas de seguridad establecidas
  • Implementar contratos inteligentes modulares existentes a través de OpenZeppelin
  • Muchas empresas de auditoría tienen experiencia en EVM
  • La mayor comunidad de desarrolladores Web3
  • Los usuarios están familiarizados con las utilidades de blockchain basadas en EVM, como Etherscan, metamask wallet, etc.

zkEVM impulsa la solución de escalado de Ethereum. Como sabemos, se dice que zk-Rollup es la solución de escalamiento a mediano y largo plazo de Ethereum con muchas ventajas, como escalabilidad hasta 2000TPS (4x Optimistic-Rollup), prueba de validación, costos bajos, capital eficiente (solo se necesita ~10 minutos para retirar dinero a L1, mientras que Optimista dura 1 semana). zkEVM eleva la solución de escalamiento zk-Rollup a través de la compatibilidad con EVM, lo que facilita a los desarrolladores aprovechar los recursos de Ethereum.

Cómo funciona zkEVM

Para comprender cómo funciona zkEVM, primero revisemos cómo funciona EVM hoy.

Cómo funciona la máquina virtual EVM

Las máquinas virtuales funcionan de manera similar a las máquinas físicas con almacenamiento, memoria y CPU, pero funcionan completamente como código.

  • El código de bytes del contrato (compilado a partir del código fuente) se carga desde el almacenamiento del EVM y lo ejecutan los nodos pares en el EVM. Los nodos utilizan las mismas entradas, lo que garantiza que cada nodo llegue al mismo resultado (de lo contrario no podrán llegar a un consenso).
  • Los códigos de operación de EVM (incluidos en el código de bytes) realizan operaciones de lectura y escritura, es decir, leen valores del almacenamiento de estado y escriben nuevos valores en la memoria de EVM.
  • Los códigos de operación EVM realizan cálculos de los valores obtenidos del almacenamiento estatal antes de devolver nuevos valores. Esta actualización da como resultado que EVM pase al nuevo estado (las transacciones se denominan "transiciones de estado" por este motivo). Este nuevo estado es copiado por otros nodos y mantenido hasta que se confirma otra transacción.

Cómo funciona zkEVM

Al igual que EVM, zkEVM es una máquina virtual que cambia de estado después de la ejecución del programa. Pero zkEVM va aún más allá al generar pruebas de conocimiento cero (ZKP) que verifican los diferentes factores en cada cálculo:

  1. Acceso al código de bytes: ¿Se ha cargado correctamente el código de programa apropiado desde la dirección correcta?

2. Operaciones de lectura y escritura:

  • ¿El programa recupera los valores coincidentes de la pila/memoria/almacenamiento (pila/memoria/almacenamiento) antes de realizar el cálculo?
  • ¿El programa escribe los valores de salida correctos en la pila/memoria/almacenamiento (pila/memoria/almacenamiento) después de completar la ejecución?

3. Cálculo: ¿Se ejecutan correctamente los códigos de operación?

Arquitectura zkEVM

ZkEVM se divide en tres partes: un entorno de ejecución, un circuito de prueba y un contrato de verificación. Cada componente contribuye a la ejecución del programa, la generación de pruebas y la verificación de pruebas de zkEVM.

Entorno de ejecución

El entorno de ejecución es donde se ejecutan los programas (contratos inteligentes) en zkEVM. El entorno de ejecución de zkEVM funciona como un EVM: toma el estado inicial y la transacción actual para crear un nuevo estado (también conocido como final).

Prueba de circuito

El circuito de prueba genera pruebas de conocimiento cero (ZKP) que verifican la validez de las transacciones calculadas en el entorno de ejecución.

La generación de pruebas se completa utilizando datos de entrada que consisten en (1) información anterior al estado, (2) entrada de transacción e (3) información posterior al estado.

Luego, el verificador obtiene una breve prueba de la validez de esa transición de estado en particular.

Contrato de verificador

Los paquetes acumulativos de ZK envían pruebas válidas a un contrato inteligente implementado en la cadena L1 (Ethereum) para su verificación.

La entrada (estado anterior e información de la transacción) y la salida (estado final) también se envían al contrato del verificador.

Luego, el verificador ejecuta cálculos sobre la prueba proporcionada y confirma que los resultados enviados se calcularon correctamente a partir de las entradas.

¿Qué son los códigos de operación zkEVM?

Los códigos de operación zkEVM son instrucciones de máquina de bajo nivel que se utilizan para ejecutar programas en un zk-Rollup compatible con EVM.

Necesitamos códigos de operación zkEVM porque los códigos de operación EVM convencionales no son eficientes para su uso en circuitos a prueba de conocimiento cero. En general, existen dos enfoques para generar códigos de operación zkEVM:

Construcción de circuitos ZK para códigos de operación EVM originales

Este enfoque hace que zkEVM sea compatible a nivel de código de bytes equivalente a EVM. Esto significa que los desarrolladores pueden crear contratos inteligentes utilizando una herramienta de desarrollo de blockchain existente o migrar los contratos de Ethereum existentes a ZK-rollups sin mucha modificación. Sin embargo, es una tarea técnica bastante complicada y que requiere mucho tiempo.

Cree un nuevo lenguaje para el cálculo de pruebas ZK

Este enfoque requirió crear un nuevo lenguaje, diseñado para admitir validadores, y desarrollar códigos de operación personalizados. Los desarrolladores deberán escribir contratos directamente en el nuevo lenguaje o compilar el código fuente de Solidity en códigos de operación zkEVM personalizados.

Aunque este método suele ser más sencillo de implementar que el primero, tiene limitaciones. Por ejemplo, es posible que los desarrolladores no puedan acceder a la infraestructura y los recursos existentes de Ethereum.

Veredicto

zkEVM es uno de los factores más importantes que ayuda a los desarrolladores a construir/integrar sus dApps en la plataforma tecnológica zk utilizando el familiar lenguaje de solidez.

Especialmente con zk-Rollup, zkEVM ayuda a los desarrolladores a aprovechar al máximo los recursos de Ethereum, aprovechando la escalabilidad, validez, bajo costo y eficiencia de capital de la tecnología zk-Rollup y la capacidad de carga. Regrese a la privacidad de la tecnología zk. Si el esfuerzo para construir zkEVM tiene éxito, el ecosistema Ethereum ciertamente seguirá conservando una ventaja competitiva sobre otras L1 alternativas.

Es probable que el espacio zkEVM se caliente en los próximos meses a medida que zkSync llegue a mainnet, Scroll, Polygon zkEVM ejecuta testnet.

DESCARGO DE RESPONSABILIDAD: La información de este sitio web se proporciona como un comentario general del mercado y no constituye un consejo de inversión. Le animamos a que haga su propia investigación antes de invertir.

Únase a CoinCu Telegram para realizar un seguimiento de las noticias: https://t.me/coincunews

Siga el canal de Youtube de CoinCu | Siga la página de Facebook de CoinCu

Lucian

CoinCu Noticias

¿Qué es zkEVM? Importancia de zkEVM para el escalamiento de Ethereum 2022

¿Qué es zkEVM? Importancia de zkEVM para el escalado de Ethereum

La computadora del mundo. La máquina es imparable. El corazón de Ethereum. La Máquina Virtual Ethereum (EVM) tiene muchos nombres que resaltan su importancia para la red Ethereum. Es la característica principal que lo convierte no sólo en un "libro mayor distribuido" como Bitcoin sino también en una "máquina de estados distribuidos". EVM permite a los desarrolladores crear contratos inteligentes utilizando un lenguaje de programación llamado Solidity. Una aplicación común de los contratos inteligentes es gestionar la generación y el intercambio de tokens. Muchas aplicaciones y protocolos utilizan tokens para recompensar a los usuarios por acciones que son importantes para su objetivo. Sin EVM, esto no sería posible, por lo que la máquina virtual EVM, una tecnología que hizo famoso a Ethereum, ayuda a ejecutar contratos inteligentes en la red Ethereum. ¿Qué pasa con zkEVM? ¿Es tan importante como la máquina virtual EVM?

¿Qué es zkEVM?

zkEVM (Máquina virtual Ethereum de conocimiento cero) es una máquina virtual que admite pruebas de conocimiento cero o ZKP para verificar la exactitud de la ejecución de programas, incluida la validez de las entradas y salidas del programa.

En pocas palabras, zkEVM está diseñado para ejecutar contratos inteligentes que admitan tecnología de conocimiento cero (zk).

La importancia de zkEVM

Primero, repasemos la importancia de la tecnología zk. ZKP (pruebas de conocimiento cero) es una forma de demostrar que un estado es verdadero sin tener que revelar más información para que los usuarios mantengan la privacidad, como información personal, secretos comerciales, datos de propiedad... Especialmente en el espacio Web3, la privacidad es indispensable. Por ejemplo, gracias a zk puedes utilizar la web sin que te roben tu información personal, o utilizar datos de propiedad exclusiva como entrada para activar contratos inteligentes.

zkEVM aprovecha los recursos de Ethereum, aprovechando la escalabilidad, validez, bajo costo y eficiencia de capital de la tecnología zk-Rollup y las capacidades de privacidad de la tecnología zk:

  • Con la Capa 2, zk-Rollup inicialmente no podía ejecutar contratos inteligentes, solo podía ejecutar intercambios o pagos simples. Sin embargo, con la llegada de zkEVM, zk-Rollup admite contratos inteligentes y facilita a los desarrolladores el desarrollo de dApps con el conocido lenguaje Solidity.
  • Con la Capa 1 que utiliza tecnología zk como Mina, zkEVM hace que la prueba de estado sea directamente demostrable en Ethereum, abriendo así un puente entre Mina y zk y la tecnología Ethereum.

¿Es zkEVM un factor determinante en el desarrollo de la tecnología zk? la respuesta es no. Por ejemplo, algunos proyectos que no son EVM como StarkNet usan Warp para compilar el lenguaje Solidity en Cairo o Polygon Miden usa la máquina virtual MidenVM.

Entonces, ¿por qué zkEVM y no otra máquina virtual? Como se mencionó anteriormente, es zkEVM el que ayuda a aprovechar recursos de Ethereum como:

  • Herramientas familiares para desarrolladores como Truffle, Hardhat y Foundry
  • Mejores prácticas de seguridad establecidas
  • Implementar contratos inteligentes modulares existentes a través de OpenZeppelin
  • Muchas empresas de auditoría tienen experiencia en EVM
  • La mayor comunidad de desarrolladores Web3
  • Los usuarios están familiarizados con las utilidades de blockchain basadas en EVM, como Etherscan, metamask wallet, etc.

zkEVM impulsa la solución de escalado de Ethereum. Como sabemos, se dice que zk-Rollup es la solución de escalamiento a mediano y largo plazo de Ethereum con muchas ventajas, como escalabilidad hasta 2000TPS (4x Optimistic-Rollup), prueba de validación, costos bajos, capital eficiente (solo se necesita ~10 minutos para retirar dinero a L1, mientras que Optimista dura 1 semana). zkEVM eleva la solución de escalamiento zk-Rollup a través de la compatibilidad con EVM, lo que facilita a los desarrolladores aprovechar los recursos de Ethereum.

Cómo funciona zkEVM

Para comprender cómo funciona zkEVM, primero revisemos cómo funciona EVM hoy.

Cómo funciona la máquina virtual EVM

Las máquinas virtuales funcionan de manera similar a las máquinas físicas con almacenamiento, memoria y CPU, pero funcionan completamente como código.

  • El código de bytes del contrato (compilado a partir del código fuente) se carga desde el almacenamiento del EVM y lo ejecutan los nodos pares en el EVM. Los nodos utilizan las mismas entradas, lo que garantiza que cada nodo llegue al mismo resultado (de lo contrario no podrán llegar a un consenso).
  • Los códigos de operación de EVM (incluidos en el código de bytes) realizan operaciones de lectura y escritura, es decir, leen valores del almacenamiento de estado y escriben nuevos valores en la memoria de EVM.
  • Los códigos de operación EVM realizan cálculos de los valores obtenidos del almacenamiento estatal antes de devolver nuevos valores. Esta actualización da como resultado que EVM pase al nuevo estado (las transacciones se denominan "transiciones de estado" por este motivo). Este nuevo estado es copiado por otros nodos y mantenido hasta que se confirma otra transacción.

Cómo funciona zkEVM

Al igual que EVM, zkEVM es una máquina virtual que cambia de estado después de la ejecución del programa. Pero zkEVM va aún más allá al generar pruebas de conocimiento cero (ZKP) que verifican los diferentes factores en cada cálculo:

  1. Acceso al código de bytes: ¿Se ha cargado correctamente el código de programa apropiado desde la dirección correcta?

2. Operaciones de lectura y escritura:

  • ¿El programa recupera los valores coincidentes de la pila/memoria/almacenamiento (pila/memoria/almacenamiento) antes de realizar el cálculo?
  • ¿El programa escribe los valores de salida correctos en la pila/memoria/almacenamiento (pila/memoria/almacenamiento) después de completar la ejecución?

3. Cálculo: ¿Se ejecutan correctamente los códigos de operación?

Arquitectura zkEVM

ZkEVM se divide en tres partes: un entorno de ejecución, un circuito de prueba y un contrato de verificación. Cada componente contribuye a la ejecución del programa, la generación de pruebas y la verificación de pruebas de zkEVM.

Entorno de ejecución

El entorno de ejecución es donde se ejecutan los programas (contratos inteligentes) en zkEVM. El entorno de ejecución de zkEVM funciona como un EVM: toma el estado inicial y la transacción actual para crear un nuevo estado (también conocido como final).

Prueba de circuito

El circuito de prueba genera pruebas de conocimiento cero (ZKP) que verifican la validez de las transacciones calculadas en el entorno de ejecución.

La generación de pruebas se completa utilizando datos de entrada que consisten en (1) información anterior al estado, (2) entrada de transacción e (3) información posterior al estado.

Luego, el verificador obtiene una breve prueba de la validez de esa transición de estado en particular.

Contrato de verificador

Los paquetes acumulativos de ZK envían pruebas válidas a un contrato inteligente implementado en la cadena L1 (Ethereum) para su verificación.

La entrada (estado anterior e información de la transacción) y la salida (estado final) también se envían al contrato del verificador.

Luego, el verificador ejecuta cálculos sobre la prueba proporcionada y confirma que los resultados enviados se calcularon correctamente a partir de las entradas.

¿Qué son los códigos de operación zkEVM?

Los códigos de operación zkEVM son instrucciones de máquina de bajo nivel que se utilizan para ejecutar programas en un zk-Rollup compatible con EVM.

Necesitamos códigos de operación zkEVM porque los códigos de operación EVM convencionales no son eficientes para su uso en circuitos a prueba de conocimiento cero. En general, existen dos enfoques para generar códigos de operación zkEVM:

Construcción de circuitos ZK para códigos de operación EVM originales

Este enfoque hace que zkEVM sea compatible a nivel de código de bytes equivalente a EVM. Esto significa que los desarrolladores pueden crear contratos inteligentes utilizando una herramienta de desarrollo de blockchain existente o migrar los contratos de Ethereum existentes a ZK-rollups sin mucha modificación. Sin embargo, es una tarea técnica bastante complicada y que requiere mucho tiempo.

Cree un nuevo lenguaje para el cálculo de pruebas ZK

Este enfoque requirió crear un nuevo lenguaje, diseñado para admitir validadores, y desarrollar códigos de operación personalizados. Los desarrolladores deberán escribir contratos directamente en el nuevo lenguaje o compilar el código fuente de Solidity en códigos de operación zkEVM personalizados.

Aunque este método suele ser más sencillo de implementar que el primero, tiene limitaciones. Por ejemplo, es posible que los desarrolladores no puedan acceder a la infraestructura y los recursos existentes de Ethereum.

Veredicto

zkEVM es uno de los factores más importantes que ayuda a los desarrolladores a construir/integrar sus dApps en la plataforma tecnológica zk utilizando el familiar lenguaje de solidez.

Especialmente con zk-Rollup, zkEVM ayuda a los desarrolladores a aprovechar al máximo los recursos de Ethereum, aprovechando la escalabilidad, validez, bajo costo y eficiencia de capital de la tecnología zk-Rollup y la capacidad de carga. Regrese a la privacidad de la tecnología zk. Si el esfuerzo para construir zkEVM tiene éxito, el ecosistema Ethereum ciertamente seguirá conservando una ventaja competitiva sobre otras L1 alternativas.

Es probable que el espacio zkEVM se caliente en los próximos meses a medida que zkSync llegue a mainnet, Scroll, Polygon zkEVM ejecuta testnet.

DESCARGO DE RESPONSABILIDAD: La información de este sitio web se proporciona como un comentario general del mercado y no constituye un consejo de inversión. Le animamos a que haga su propia investigación antes de invertir.

Únase a CoinCu Telegram para realizar un seguimiento de las noticias: https://t.me/coincunews

Siga el canal de Youtube de CoinCu | Siga la página de Facebook de CoinCu

Lucian

CoinCu Noticias

Visitado 87 veces, 2 visita(s) hoy