AprendizCripto » Glosario » ¿Qué es la Ethereum Virtual Machine (EVM)? La máquina virtual de Ethereum

¿Qué es la Ethereum Virtual Machine (EVM)? La máquina virtual de Ethereum

La blockchain de Ethereum es a día de hoy la que mas volumen mueve de todas las existentes, algo que ha alcanzado en parte gracias a ser la primera alternativa a bitcoin sobre la que desarrollar aplicaciones descentralizadas.

La Ethereum virtual machine (EVM) es la máquina virtual sobre la que depende el funcionamiento de ethereum y la que hace posible la ejecución de Smart contracts o programas en esta blockchain.

¿Qué es una Virtual Machine (Máquina virtual)?

Antes de profundizar sobre la maquina virtual de ethereum debes comprender a la perfección que es una maquina virtual. Una máquina Virtual o VM (virtual machine) no es mas que un software que emula el funcionamiento de un ordenador real es decir un ordenador en el que no existen componentes físicos ya que todos RAM, Disco duro, Procesador y demás dependen de dicho software.

Maquina virtual ejemplo

Pero no solo el PC si no que también es capaz de emular los programas que se ejecutan en él, simplificando sería un ordenador digital dentro de otro físico.

¿Qué es la Ethereum Virtual Machine?

La Ethereum Virtual machine o EVM es un software capaz de ejecutar una máquina con las características necesarias para que la blockchain de ethereum funcione, en ella los Smart contracts escritos en el lenguaje de programación Solidity que creado específicamente para ella se transforman en códigos de operación (OP_Codes) y después a bytecode para ser finalmente ejecutados por la EVM llevando a cabo las ordenes descritas en ese código.

Todo esto sumado a que dichos Smart contracts son almacenados en los distintos nodos de la red hacen de la EVM un gran ordenador global descentralizado que es capaz de resolver casi cualquier problema matemático.

Lo mejor de todo esto es que cualquiera puede utilizar este super ordenador descentralizado para ejecutar el código ha desarrollado, simplemente tiene que pagar una comisión (fee) para que los nodos confirmen la validez de la acción.

Ethereum virtual machine funcionamiento
Ejemplo del funcionamiento de Ethereum en una transacción

Aunque la EVM es muy similar al funcionamiento de Bitcoin está va mucho mas allá siendo capaz de ejecutar ordenes muy complejas que en bitcoin serían imposibles de realizar.

¿Entiendes ahora el potencial de una blockchain como esta? pues bien, conozcamos ahora la persona que lideró el desarrollo del tal genialidad.

¿Quién creó la Ethereum Virtual Machine (EVM)?

Aunque semejante obra ha tenido el trabajo y colaboración de multitud de desarrolladores de todo el mundo desde 2013 las mentes brillantes a las que se les asigna el honor de su creación son Greg Colvin y Gavin Woods.

Gavin Wood
Gavin Woods
Greg Colvin
Greg Colvin

Mientras que el primero es el creador del Yellow Paper de ethereum, Greg Colvin ha sido el principal desarrollador de la EVM desde su nacimiento como idea en la mente de Vitalik Vuterin.

¿Cómo funciona la Máquina Virtual de Ethereum?

Funcionamiento EVM

Dado que el funcionamiento de la maquina virtual de Ethereum es muy complejo y se necesitan altos conocimientos técnicos para entenderlo voy a simplificarlo en varios puntos:

  1. El equipo desarrollador de Ethereum creó el lenguaje de programación Solidity (muy similar a JavaScript) con el fin de facilitar la tarea a los programadores encargados de escribir el código de los Smart Contracts que hace funcional las Dapps.
  2. Este lenguaje de programación no es mas que una capa superior a los OP_CODES y el posterior Bytecode al que es transformado el código escrito por el desarrollador y es el que realmente compila la EVM.
  3. Cada acción dentro de la red (transacciones de Ether, NFTs,  ejecuciones dentro de Dapps o Juegos) pasa por este proceso dentro de la EVM y posteriormente es almacenado en la blockchain dejando un registro en el libro contable de Ethereum. En Resumen, no existe acción dentro de la blockchain que no pase por la EVM.

Características de la Ethereum Virtual Machine

La Ethereum virtual machine no es una maquina virtual al uso, posee algunas características que merece la pena mencionar:

  • Proporciona un gran nivel de Seguridad ya que al estar limitada por el lenguaje Solidity es capaz de ejecutar código malicioso sin verse afectada.
  • Las Dapps y contratos que se ejecutan en la EVM son completamente descentralizados gracias a los nodos que almacenan una copia y verifican que todo el proceso esté correcto y no sea modificado por terceros.
  • Permite la creación de aplicaciones compatibles que utilicen la descentralización de sus nodos, seguridad y potencia para su funcionamiento
  • Es capaz de ejecutar contratos inteligentes de Turing completo es decir, es capaz de ejecutar bucles y estructuras complejas gracias a su lenguaje de programación.
  • Es complicada de actualizar ya que hay que hacerlo sin que la red deje de estar operativa

¿Qué son los OP_CODES y Bytecode de la EVM?

Los OP_CODES son una de las partes mas importantes de la EVM ya que gracias de estos depende que se ejecuten las operaciones que se escriben en el código, en otras palabras son un lenguaje intermedio entre JavaScript y el Bytecode (código aún mas complejo) el cual es imposible de leer por los humanos pero si por la máquina.

Solidity a op_code a Bytecode

Sin embargo la EVM si es capaz de leer el Lenguaje de Solidty > transformarlo a OP_CODE > Ejecutarlo en Bytecode (Lenguaje máquina)

Deja un comentario