GUÍA · 04 · EVM

EVM.
La máquina de Ethereum.

La Ethereum Virtual Machine es el entorno de ejecución que permite procesar el código de los smart contracts y aplicar las reglas de Ethereum.

✓ Ethereum · Ejecución · Smart Contracts
EVM RAUCORE
◆
ENTORNO Ethereum Virtual Machine
GUÍA 04
01 · CONCEPTO

¿Qué es la EVM?

EVM significa Ethereum Virtual Machine. Es el entorno de ejecución que forma parte de Ethereum y que procesa las operaciones definidas por los smart contracts.

01

Una máquina virtual

La EVM define las reglas mediante las que se ejecutan las instrucciones de los contratos dentro de Ethereum.

03

Parte de Ethereum

La EVM no es una blockchain independiente. Es una parte fundamental de la arquitectura de ejecución de Ethereum.

02 · ESTADO

Ethereum mantiene un estado

Para entender la EVM hay que entender primero que Ethereum mantiene un estado global que cambia cuando se procesan nuevas transacciones.

A

Estado actual

Incluye información relacionada con las cuentas, sus balances y el estado de los contratos.

T

Transacción

Una transacción es una instrucción firmada criptográficamente que puede solicitar una operación en Ethereum.

S

Nuevo estado

Después de ejecutarse la operación, el resultado puede producir un nuevo estado de Ethereum.

Una forma sencilla de verlo

Conceptualmente, podemos representar el proceso así:

Estado + Transacción → Nuevo estado

La EVM participa en la aplicación de las reglas que determinan cómo se produce esa transición.

03 · CUENTAS

La EVM trabaja con cuentas

Ethereum utiliza dos tipos principales de cuentas: las cuentas controladas por claves privadas y las cuentas de contratos controladas por código.

EOA

Cuenta externa

Una EOA, o Externally Owned Account, está controlada mediante una clave privada y puede firmar transacciones.

Ξ

Una misma red

Ambos tipos de cuenta forman parte del estado de Ethereum y pueden interactuar entre sí.

04 · CÓDIGO

De Solidity a la EVM

Los desarrolladores suelen escribir smart contracts utilizando lenguajes de alto nivel como Solidity. Ese código debe transformarse antes de poder ser ejecutado por la EVM.

01

Código fuente

El desarrollador escribe la lógica del contrato en un lenguaje como Solidity.

02

Compilación

Un compilador transforma el código fuente en instrucciones que pueden ser ejecutadas por Ethereum.

03

Bytecode

El contrato desplegado contiene código que puede ser procesado por la EVM.

El flujo básico

Puedes imaginarlo como una cadena:

Solidity → Compilador → Bytecode → EVM

05 · EJECUCIÓN

¿Qué hace la EVM?

Cuando una operación necesita ejecutar código de un contrato, la EVM procesa las instrucciones siguiendo las reglas definidas por Ethereum.

01

Lee instrucciones

La EVM procesa las instrucciones contenidas en el código que debe ejecutarse.

02

Opera con datos

Durante la ejecución utiliza estructuras como la pila, la memoria y el almacenamiento del contrato.

03

Produce un resultado

La ejecución puede devolver datos y, cuando corresponde, modificar el estado de Ethereum.

06 · DATOS

Stack, Memory y Storage

La EVM utiliza diferentes estructuras para trabajar con los datos durante la ejecución.

S

Stack

La pila es una estructura utilizada por la EVM para trabajar con valores durante la ejecución de las instrucciones.

M

Memory

La memoria se utiliza para almacenar datos temporales durante la ejecución de una llamada.

S

Storage

El almacenamiento mantiene datos persistentes asociados al estado del contrato.

07 · EJEMPLO

¿Qué ocurre al llamar a un contrato?

Una interacción con un smart contract puede seguir este recorrido conceptual.

01

Preparar

Una aplicación prepara la operación indicando el contrato de destino y los datos necesarios.

02

Firmar

Si se trata de una transacción, el usuario la autoriza mediante una firma criptográfica.

03

Ejecutar

La operación se procesa siguiendo las reglas de Ethereum y la lógica del contrato.

04

Actualizar

Si la ejecución modifica datos persistentes, el estado del contrato puede cambiar.

08 · GAS

La ejecución consume gas

Ejecutar operaciones en Ethereum requiere recursos computacionales. El sistema utiliza gas para medir ese trabajo.

G

Gas

Es una unidad utilizada para expresar la cantidad de trabajo computacional necesario para realizar una operación.

02

Más operaciones

Una ejecución más compleja puede requerir más trabajo computacional y, por tanto, consumir más gas.

ETH

Comisión

El gas está relacionado con la comisión que paga el usuario para que su operación sea procesada.

09 · SMART CONTRACTS

EVM y Smart Contracts

La relación entre ambos conceptos es fundamental: los smart contracts contienen lógica y la EVM proporciona el entorno donde esa lógica puede ejecutarse.

SC

El contrato aporta la lógica

Un smart contract puede contener funciones, variables y reglas. Cuando una operación interactúa con él, la EVM procesa las instrucciones correspondientes.

10 · RESUMEN

Qué debes recordar

Si solo recuerdas cinco cosas de esta página, que sean estas.

01

EVM

Es la Ethereum Virtual Machine, el entorno de ejecución de Ethereum.

02

Estado

Ethereum mantiene un estado que puede cambiar como resultado de las operaciones ejecutadas.

03

Código

Los smart contracts se escriben normalmente en lenguajes de alto nivel y se transforman en código ejecutable.

04

Ejecución

La EVM procesa instrucciones y puede producir cambios en el estado.

05

Gas

Las operaciones consumen recursos que se miden mediante gas.

SIGUIENTE PASO

Ahora entiende el Gas.

Ya sabes qué es la EVM y qué papel desempeña en la ejecución de Ethereum. El siguiente paso es entender cuánto cuesta realizar esas operaciones.

FUENTES

Para profundizar

Documentación técnica de referencia para ampliar lo aprendido.

ETH

Ethereum.org

Documentación técnica oficial sobre la EVM, el estado de Ethereum, las transacciones y la ejecución.

Documentación EVM ↗
SC

Smart Contracts

La página anterior de la guía explica qué son los contratos inteligentes y cómo se construyen.

Ver Smart Contracts →
G

Gas

El siguiente capítulo explica las unidades de gas, gwei y las tarifas de Ethereum.

Ir a Gas →
RAUCORE · GUÍA 04

La EVM ejecuta. El gas mide el trabajo.

Continúa para entender cómo funciona el sistema de gas de Ethereum.

↑