Ethereum es conocido como un “plataforma de contratos inteligentes“.
A plataforma (o plataforma informática) es un entorno operativo en el que se puede ejecutar software, como programas o aplicaciones.
Pero, ¿qué diablos es un contrato inteligente?
¿Qué es un contrato inteligente?
Los contratos inteligentes son programas informáticos automatizados que se alojan y ejecutan en una cadena de bloques.

A pesar de su nombre, los “contratos inteligentes” no son necesariamente inteligentes ni jurídicamente vinculantes.
“Automatizado” en lugar de “inteligente” y “programa” en lugar de “contrato” habría sido un nombre mejor, ¡pero no soy el genio al que se le ocurrió el concepto!
Nick Szabo - que acuñó el término a finales de los 90- comparó los contratos inteligentes con una máquina expendedora.
Los usuarios introducen monedas en la máquina y, suponiendo que la cantidad introducida sea correcta, la máquina “se autoejecuta” y entrega la mercancía solicitada. No ha intervenido nadie más que usted y la máquina expendedora. No fue necesaria la participación de terceros. Ni siquiera el propietario de la máquina expendedora.
La interacción requiere poca o ninguna confianza: la máquina expendedora no tiene más remedio que entregar la mercancía al recibir el dinero.

Ahora imagina redactar acuerdos que tengan términos tan claros y predecibles como una máquina expendedora y luego utilizar la tecnología blockchain para aplicar automáticamente los términos de un acuerdo entre las partes.
Eso es lo que hace un contrato inteligente.
En Ethereum, los contratos inteligentes son fragmentos de instrucciones codificadas que se envían a la cadena de bloques para que los participantes de la red puedan ejecutar y almacenar estos contratos de forma segura y fiable.
En términos ligeramente más técnicos, un contrato inteligente es una colección de código y datos que reside en una dirección específica de la cadena de bloques de Ethereum.
Los contratos inteligentes también son determinista para que los implicados en el contrato sepan qué resultados esperar cuando se ejecute el contrato.
Piense en un contrato inteligente como un programa de software en la blockchain que se ejecuta automáticamente cuando se cumplen unas condiciones predeterminadas.
Estas condiciones predeterminadas, escritas directamente en líneas de código, son el equivalente de las “cláusulas contractuales” de un contrato tradicional.
Ahora que ya sabes qué son los contratos inteligentes, permíteme presentarte lo que hace de Ethereum una plataforma de contratos inteligentes.
¿Qué es el EVM?

No, no es un nuevo tipo de música electrónica.
Si los contratos inteligentes son instrucciones escritas en código, es el Máquina virtual Ethereum (EVM) que los ejecuta en la blockchain de Ethereum.
A “máquina virtual”es una pieza de software que se comporta como un ordenador físico real que puede ejecutar programas y desplegar aplicaciones.
Básicamente es un programa informático en un ordenador físico que funciona como si fuera un ordenador independiente dentro del ordenador principal.
¿Por qué se necesita un “ordenador independiente” para ejecutar contratos inteligentes (que no son más que programas informáticos)?
Dado que no todos los nodos de Ethereum (que no son más que ordenadores) utilizan el mismo hardware, sistema operativo (SO) y otras configuraciones, se necesita una forma de “abstraer” todo esto para que el código del contrato inteligente pueda ejecutarse sin tener que lidiar con todos los diferentes tipos de configuraciones informáticas con sus requisitos específicos.
De lo contrario, ¡tendrías que escribir una versión diferente del contrato inteligente para cada tipo de configuración informática!
Los contratos inteligentes no quieren lidiar con todo este drama. Quieren ser independientes del dispositivo y del sistema operativo.
Aquí es donde entra en juego el EVM.
Proporciona una entorno de ejecución para contratos inteligentes, lo que significa que un contrato inteligente puede ejecutarse (“run”) en cualquier entorno (“cualquier ordenador o sistema operativo”).
Los desarrolladores pueden escribir un contrato inteligente y estar seguros de que sigue la práctica estándar de la industria del software de “Escribir una vez, ejecutar en cualquier lugar” (WORA), también conocida como “Escribir una vez, ejecutar en todas partes” (WORE).
Básicamente, un contrato inteligente es se ejecutará en cualquier ordenador con un EVM, Cool ¿eh?
Pero eso no es lo único guay.
Dado que el propósito del EVM es ser el motor de computación integrado en todos los nodos completos de Ethereum. es Turing-completo.
En lenguaje informático, “Turing-completo” significa que, en teoría, EVM puede calcular cualquier cosa que se te ocurra.
Así que, en teoría, CUALQUIER aplicación informática puede programarse y ejecutarse en la plataforma Ethereum.
Los contratos inteligentes se escriben en código utilizando lenguajes de programación de alto nivel como Solidity, Vyper o Serpent.
El EVM compila este código en algo llamado “bytecode”, que luego se despliega en la cadena de bloques de Ethereum.
Gracias a EVM, la blockchain de Ethereum puede ir más allá de los contratos inteligentes y puede utilizarse para crear aplicaciones descentralizadas (dApps).