Los contratos inteligentes no son ni contratos ni son particularmente inteligentes. Simplemente son programas que están almacenados en la blockchain junto con la información de monedas, tokens y billeteras. Los contratos inteligentes son claves para el desarrollo de aplicaciones descentralizadas basadas en criptomonedas.
Los contratos inteligentes no funcionan en la blockchain de Bitcoin. La tecnología fue presentada como una parte especifica de Ethereum en 2014, la cual incluía una definición de contrato inteligente. Por lo que cuando se trata de contratos inteligentes, Ethereum es el nombre del juego. Está es la razón por la cual tantas dApps son creadas y operan en Ethereum y en las blockchains compatibles con Ethereum.
¿Qué es realmente un contrato inteligente? Comenzaron como sencillas declaraciones de SI/ENTONCES (IF/THEN). El desarrollador que acuño el nombre de contrato inteligente los describió como la versión blockchain de una maquina expendedora. SI las monedas correctas son depositadas, ENTONCES dispensa un bocadillo. En ese sentido, la maquina dispensadora es inteligente, esto se debe a que puede realizar una tarea de forma automática e independiente.
En Ethereum un contrato inteligente podría especificar SI una suma es recibida en la billetera del usuario, ENTONCES 10% sería transferido a una segunda billetera para reservarlo para ahorros a largo plazo.
La mayoría de contratos inteligentes hoy en día son escritos en un lenguaje de programación Solidity, el cual fue creado por algunos de los mismos ingenieros informáticos que crearon las primeras versiones de Ethereum. Solidity soporta la creación de contratos inteligentes que son más sofisticados que el sencillo modelo de SI/ENTONCES.
Los contratos inteligentes son ejecutados por la Maquina Virtual de Ethereum, una plataforma de software que está instalada en nodos de Ethereum junto con copias de las transacciones de la blockchain. Ahora existen EVMs que permiten la creación de contratos inteligentes en C++, C#, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang y otros lenguajes de programación. Herramientas de programación visual como EtherScripter sirven como entornos virtuales que permiten la construcción de contratos inteligentes sin tener que escribir el código en un lenguaje de programación.
Como mucha otra información en la blockchain, los contratos inteligentes son inmutables, lo que significa que no pueden ser alterados una vez que se implementan, son irreversibles, lo que significa que tampoco pueden ser eliminados. La mayoría de los desarrolladores hacen que el código fuente de sus contratos inteligentes este disponible para que los usuarios puedan estar seguros de que los contratos no desvían parte o la totalidad de sus fondos a la billetera del desarrollador.
Todas las aplicaciones de finanzas descentralizadas basadas en blockchain y otras dApps están basadas en contratos inteligentes.
NOTA
El texto es de naturaleza informativa y no cuenta como recomendación de inversión. No expresa la opinión personal del autor o del servicio. Cualquier inversión o intercambio conlleva riesgos. Beneficios pasados no garantizan beneficios futuros, arriesgue solo aquellos activos que esté dispuesto a perder.