¿Qué es la Ethereum Virtual Machine?

Qué-es-la-Virtual-Machine-de-Ethereum
7 min read

El proyecto Ethereum es uno de los más importantes del mundo de las criptomonedas. Este proyecto cuenta con un gran tesoro que hace posible la mayor parte de su funcionamiento, la Ethereum Virtual Machine (EVM). La EVM se trata de una máquina virtual de Turing que permite a cualquier usuario la ejecución de Byte-Code de forma arbitraria.

Una máquina de Turing se basa en un modelo matemático de computadora que es capaz de, a través de reglas predefinidas, determinar resultados mediante variables. Esta máquina desempeña un papel crucial en el mecanismo de consenso de la red de Ethereum. Además, permite la ejecución de los smart contracts habilitando una serie de funciones sobre la blockchain de Ethereum.

Estas funciones son utilizadas a diario por todos los usuarios de la red de Ethereum. Dichas funciones permiten una gran flexibilidad en diferentes operaciones que otros proyectos no permiten. Por eso en este artículo te contaremos qué es esta máquina y cómo funciona.

La EVM comenzó a desarrollarse en el año 2013 a través de las primeras ideas de crear una cadena de bloques que funcionaba a través de un lenguaje Turing completo habilitado para todas las operaciones. Esta idea fue del desarrollador principal de Ethereum, Vitalik Buterin y fue llevada a cabo por él y los desarrolladores Gavin Wood y Greg Colvin.

¿Cómo funciona una Virtual Machine?

Cuando hablamos de una Virtual Machine nos referimos a un software desarrollado para crear lo que se conoce como “capa de emulación” a partir de un ordenador. La máquina virtual se encarga de emular todas y cada una de las funciones de un ordenador. Esta máquina tiene la capacidad de recrear todos los componentes del ordenador ya sean el procesador o las tarjetas de red, incluso los discos duros.

La máquina puede ejecutar un software específico dentro de ella misma, lo cual sería como tener un ordenador completo dentro de otro ordenador. Esto no es una tarea fácil por lo cual la máquina virtual primero debe aislar todas las funciones en una especie de contenedor al cual podemos acceder e interactuar con él a través de una interfaz. De este modo se logra que todo el sistema que se ejecuta dentro de la máquina virtual se aísle del resto del sistema general.

Además puede actuar en distintos sistemas y hardware lo cual aporta una gran portabilidad, pero además altos niveles de seguridad. Estas máquinas virtuales son muy flexibles en cuanto a su funcionamiento, ya que ofrece servicios únicos que ningún otro software puede ofrecer (de momento).

Cualquier desarrollador podría crear una Virtual Machine que siga instrucciones únicas, que presente comportamientos definidos y que aísle todo un sistema. Todo este proceso puede realizarse de forma económica y abriendo las puertas a un mayor desarrollo.

 

¿Cómo funciona la Ethereum Virtual Machine?

Ahora que ya sabemos cómo funciona una máquina virtual podemos aplicar este concepto a la red de Ethereum. Esta máquina virtual también se trata de un software que sigue una serie de instrucciones, solo que en este caso a gran escala haciendo posible el funcionamiento de la blockchain de Ethereum. Las instrucciones que ejecuta la máquina permite una gran flexibilidad en la realización de transacciones dentro de la red.

 

Para la programación de la Máquina Virtual de Ethereum se creó Solidity, un lenguaje especializado a través del cual se facilita el desarrollo de los smart contracts. Su funcionamiento es el siguiente; Solidity se transforma en códigos de operación conocidos como OP_CODES y de estos se ejecuta un Byte-Code por la EVM que permitirá realizar las operaciones en un smart contract. 

Mediante estos códigos podemos programar instrucciones para la máquina. Los OP_CODES funcionan como la interfaz de interacción mencionada anteriormente en el funcionamiento de una máquina virtual. Estos son los que hacen posible que todo en el Ethereum funcione incluyendo hasta las transacciones más pequeñas.

Gracias a todo este funcionamiento la EVM puede ejecutar funciones como los smart contracts siendo esta una máquina mundial descentralizada formada por todos los nodos que participan en la red de Ethereum. Esta máquina puede resolver prácticamente cualquier problema computacional de la red.

Qué-es-la-Virtual-Machine-de-Ethereum

Características de la EVM

La máquina virtual de Ethereum es única gracias a un sin fin de características que hacen posible su funcionamiento. A continuación veremos las más importantes:

  • Alto nivel de seguridad: una de las características más importantes es que proporciona un alto nivel de seguridad, ya que al ser una máquina virtual que sigue ciertas limitaciones en las instrucciones, puede ejecutar códigos no confiables sin verse comprometida o comprometer al sistema.
  • Completamente descentralizada: la EVM está descentralizada en su totalidad, ya que está conformada por miles de nodos los cuales ejecutan una copia exacta de la máquina y a su vez actúan en conjunto con el resto de nodos. Esto lleva a una descentralización, ya que aunque desaparezcan casi todos los nodos la máquina seguirá sus instrucciones siempre y cuando exista al menos un nodo funcionando.

Además, con este funcionamiento se permite el acceso al sistema desde cualquier parte del mundo y sin censura. Lo más importante es que no existen terceros y tampoco pueden modificarse o alterarse sus funciones.

  • Permite el desarrollo de una gran cantidad de aplicaciones: llamadas dApps (decentralized apps), estas pueden ejecutarse sobre una misma cadena de bloques sin afectar al resto de las funciones ejecutadas en ella. 
  • La Ethereum Virtual Machine es capaz de ejecutar los smart contracts de Turing completo. Se trata de programaciones específicas que pueden ejecutarse automáticamente. 
  • Puede ejecutar un conjunto de códigos de operación llamados OP_CODES. Sin estos códigos la Ethereum Virtual Machine no podría funcionar.

QUIZÁS TE INTERESE…