El contrato inteligente no es, como parece implicar su nombre, un contrato inteligente real, sino un programa informático.
Propiedades y características de un contrato inteligente
A diferencia de los programas informáticos tradicionales, no es ejecutado por el dispositivo del usuario que lo ejecuta, sino por una red descentralizada.
Bitcoin, la primera red descentralizada, no permite la creación y ejecución de contratos inteligentes complejos, por lo que comúnmente no se considera una red de contratos inteligentes.
Ethereum, por su parte, es la red descentralizada considerada por excelencia al tratarse de una blockchain programable. En este sentido, la red Ethereum funciona como una enorme computadora mundial distribuida en miles de nodos, cada uno de los cuales es capaz de ejecutar las instrucciones contenidas en un contrato inteligente palabra por palabra y siempre exactamente de la misma manera.
En realidad, hay muchas otras redes que pueden hacer esto, incluidas BNB Chain, Solana, Terra, Cardano e incluso Lightning Network, basada en Bitcoin.
El principio es el mismo para todos ellos. El contrato inteligente se empaqueta escribiendo las líneas necesarias de código de programación que contienen las instrucciones que se ejecutarán y luego se cargan en la cadena de bloques para que los nodos puedan ejecutar esas instrucciones.
Para que se ejecuten, es suficiente una transacción desde o hacia la dirección del contrato inteligente.
Dado que estas redes están descentralizadas, ya sea total o parcialmente, tiene una certeza casi absoluta no solo de que ese código se ejecutará, sino que hará solo y exactamente lo que está escrito en las instrucciones del contrato inteligente. Por eso se le ha llamado “contrato” aunque técnicamente no lo es. El término “inteligente” por otro lado, se refiere al hecho de que es ejecutado por una red informática.
Para qué se utilizan
Con contratos inteligentes, por ejemplo, es posible crear intercambios descentralizados, aplicaciones descentralizadas (dApps) y cualquier otro programa que pueda ejecutarse utilizando el código compatible con redes individuales.
De esta manera, dichos programas aprovechan la seguridad, la confiabilidad y la accesibilidad de las diversas cadenas de bloques, lo que garantiza una funcionalidad de igual a igual gratuita y sin censura. Es precisamente el hecho de que no requieren necesariamente la intervención o gestión de un intermediario lo que los hace extremadamente poderosos, aunque en el pasado ha sucedido que no han funcionado como se esperaba, principalmente debido a errores más o menos involuntarios.
Otra peculiaridad es que, dado que las redes son públicas, también lo son los códigos de los contratos inteligentes. Cualquiera puede examinarlos para comprender exactamente cómo funcionan, lo que significa que los piratas informáticos también pueden hacerlo para buscar puntos débiles que explotar para ataques cibernéticos.
Además, una vez que un contrato inteligente se carga en una cadena de bloques descentralizada, ni siquiera sus autores pueden modificarlo, por lo que existe una certeza casi absoluta de que siempre hará aquello para lo que fue diseñado. Sin embargo, siempre es posible cargar nuevos, para usarlos en lugar de los antiguos o además de ellos.
Mediante el uso de un contrato inteligente para crear un DEX, por ejemplo, los usuarios podrán intercambiar tokens entre ellos sin tener que pasar ni depender de ningún intermediario, de forma totalmente gratuita y anónima.
Stablecoins también se basan en contratos inteligentes, haciendo su uso dentro de la red descentralizada en la que se ha creado el contrato inteligente sin restricciones y sin censura.
Vale la pena señalar que, a menudo, en estos casos específicos, se crean varios contratos inteligentes en diferentes cadenas de bloques para que estos tokens se puedan utilizar en diferentes redes.
La naturaleza de código abierto y sin permiso de las cadenas de bloques descentralizadas significa que absolutamente cualquier persona puede crear y publicar un contrato inteligente. Obviamente, esto no significa que definitivamente será utilizado por cualquiera, ya que se deberán pagar tarifas por cada transacción.
Contratos inteligentes dentro de diferentes blockchains
El lenguaje de programación más utilizado es Solidity de Ethereum, pero diferentes redes admiten diferentes lenguajes.
Sin embargo, hay contratos inteligentes que siguen lógicas ligeramente diferentes. Estos son aquellos que se cargan en redes que no están realmente descentralizadas, incluso si no suelen considerarse contratos realmente inteligentes.
De hecho, en una red no descentralizada, faltan algunas de las características básicas de los contratos inteligentes, como el hecho de ser confiable, sin permiso e incensurable. Sin embargo, el término “contrato inteligente” también se usa a menudo en estos casos, aunque de una manera muy inadecuada.