This article has been translated from English to Spanish.

Ethereum es conocida comouna «plataforma de contratos inteligentes».

Una plataforma (o plataforma informática) es un entorno operativo en el que se puede ejecutar (o «ejecutar») un 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.

Smart Contract Code

A pesar de su nombre, los «contratos inteligentes» no son necesariamente inteligentes ni legalmente vinculantes.

«Automatizado» en lugar de «inteligente» y«programa» en lugar de «contrato» habrían sido mejores nombres, ¡pero no soy el genio que ideó el concepto!

Nick Szabo, quien 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áquinase «ejecuta automáticamente»y entrega los productos solicitados. No hay nadie más involucrado, solo tú y la máquina expendedora. No se requiere la participación de terceros. Ni siquiera del 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 los productos al recibir el dinero.

Smart Contract Example

Ahora imagina redactar acuerdos con términos tan claros y predecibles como una máquina expendedora y luego utilizar la tecnología blockchain para implementar 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 hacer cumplir y almacenar estos contratos de forma segura y sin necesidad de confianza.

En términos un poco más técnicos, un contrato inteligente es una colección de código y datos que reside en una dirección específica en la cadena de bloques de Ethereum.

Los contratos inteligentes también son deterministas, de modo que los implicados en el contrato saben qué resultados esperar cuando se ejecute el contrato.

Piensa en un contrato inteligente como un programa de software en la cadena de bloques 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 a los «términos del acuerdo» en un contrato tradicional.

Ahora que sabes qué son los contratos inteligentes, permíteme presentarte lo que hace de Ethereum una plataforma de contratos inteligentes.

¿Qué es EVM?

EVM

No, no es un nuevo tipo de música electrónica.

Si los contratos inteligentes son instrucciones escritas en código, es la Máquina Virtual Ethereum (EVM) la que las ejecuta en la cadena de bloques Ethereum.

Una «máquina virtual» es un software que se comporta como un ordenador físico real que puede ejecutar programas e implementar aplicaciones.

Básicamente, es un programa de software 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 Ethereum (que son solo ordenadores) utilizan el mismo hardware, sistema operativo (SO) y otras configuraciones, necesitas una forma de «extraer» 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 la EVM. 💪

Proporciona un entorno de ejecución para contratos inteligentes, lo que significa que un contrato inteligente puede ejecutarse («ejecutarse») 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 se ejecutará en cualquier ordenador con un EVM, ¿genial, verdad?

Pero eso no es lo único genial.

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 el EVM puede, en teoría, 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.

Este código es compilado en algo llamado «bytecode» por el EVM, que luego se implementa en la cadena de bloques Ethereum.

Gracias a EVM, la cadena de bloques Ethereum puede ir más allá de los contratos inteligentes y puede utilizarse para crear aplicaciones descentralizadas (dApps).

En la siguiente lección, aprenderemos más sobre las aplicaciones descentralizadas (dApps).