Contratos Inteligentes

De ALDEA Wiki
Ir a la navegación Ir a la búsqueda
Smart Contracts
Contratos Inteligentes

Un contrato inteligente (en inglés Smart Contract) es un programa informático que facilita, asegura, hace cumplir y ejecuta acuerdos registrados entre dos o más partes (personas u organizaciones). Comúnmente se habla de contratos inteligentes para referirse a un programa cuyos insumos y resultados son transacciones en una blockchain[1].

Origen del concepto

El concepto fue introducido en 1994 por el científico informático Nicholas "Nick" Szabo, y se refería a un protocolo de transacciones establecido en código informático para ejecutar los términos de un contrato[2]. De este modo, el objetivo de estos contratos puede ser el mismo que el de un contrato normal (establecer términos de pago, formas de cumplir un acuerdo, condiciones de confidencialidad, etc.), pero con las ventajas de minimizar la necesidad de intermediarios para ejecutarlo y sin la posibilidad de que ocurran excepciones. Bajo esta concepción, los protocolos de dinero digital y los activos financieros sintéticos entran en la categoría de contrato inteligente, lo cual nos permite contar a Bitcoin (para el cual el trabajo de Szabo fue influyente) como una primera implementación de contratos inteligentes en una blockchain pública y descentralizada.

Posteriormente, el término fue utilizado principalmente para referirse a los contratos almacenados en la red de Ethereum[3]. De este modo, se amplió el espectro de lo que puede implicar un contrato inteligente, abarcando no solo transacciones financieras sino otros tipos de situaciones contractuales tales como la creación de mercados de distintos productos, la trazabilidad de una cadena de producción, la implementación de sistemas de votación, identidades digitales, DAOs, etc.

La principal diferencia entre Ethereum y Bitcoin relacionada a la implementación de los contratos inteligentes, se debe a la forma en cómo se procesan las transacciones en ambas redes. En Bitcoin se utiliza el modelo basado en UTXO, que, si bien tiene sus beneficios específicos para la red, no tiene las ventajas de presentar distintos “estados” y por ende son más difíciles de utilizar para aplicaciones más complejas que las transferencias monetarias[4]. Por otro lado, en Ethereum se utiliza un modelo basado en cuentas (account-based model), que permite concebir al contrato como código informático con funciones específicas y a los distintos datos de los que se nutre dependiendo la información como distintos estados que puede adoptar el contrato en su dirección específica en la red[5].

Sin embargo, posteriormente los contratos inteligentes han sido implementados en distintas blockchains y no todas ellas han utilizado el modelo basado en cuentas de Ethereum.

Características principales

Un contrato inteligente, al residir en una blockchain, tiene una dirección única a la que se le puede adjuntar o dirigir una transacción específica que lo activa. Acto seguido, se ejecutan las condiciones del contrato de la forma prescripta (teniendo en cuenta el contenido de la transacción), plasmándose de manera automática, irreversible e independiente en cada nodo validador de la red. De esta manera, se puede interpretar a la blockchain como una máquina virtual distribuida[6].

Así, las principales características de estos contratos son:

  • El contrato puede tomar custodia de ciertos activos en una blockchain, como si fuese un usuario o entidad más dentro de la misma.
  • Si está bien escrito debe describir todos los posibles resultados de las interacciones relacionadas al contrato.
  • Son deterministas, en el sentido de que el mismo insumo siempre arrojará el mismo resultado en cada nodo validador de la red.
  • Al residir en una blockchain, si ésta es pública, su código puede ser escrito, leído e incluso auditado por cada participante de la red.
  • Todas las operaciones relacionadas al contrato pueden ser rastreadas, al estar las mismas firmadas criptográficamente.

Como se ve, estas características eliminan la posibilidad de disputa entre las partes contratantes ya sea por desconocimiento del resultado del contrato o porque el mismo no fue ejecutado de la forma pensada.

Adicionalmente, resulta interesante concebir a los contratos inteligentes como una suerte de API (interfaz de programación de aplicaciones), lo cual implica que desde un contrato inteligente determinado se pueden “llamar” a otros contratos de la red extendiendo el horizonte de acciones de los mismos[5].

Como limitación, sin embargo, debe mencionarse que, a priori, los contratos inteligentes no pueden nutrirse de información externa, es decir del “mundo real”, por lo cual muchas veces se requiere de la ayuda de oráculos específicos[5] (un oráculo es un servicio mediante el cual un contrato o una blockchain se nutren de información externa).

Contratos inteligentes en Cardano

Después de algunos años de investigación y desarrollo, con la implementación de Alonzo, Cardano soporta desde 2021 el desarrollo e implementación de contratos inteligentes utilizando lenguajes de programación tales como Plutus, Marlowe y Glow[1], y permitiendo, así, nuevos casos de uso en la blockchain como son las DApps (aplicaciones descentralizadas) y las distintas facetas de DeFi[7].

Referencias

  1. 1,0 1,1 What is a Smart Contract? https://docs.cardano.org/new-to-cardano/what-is-a-smart-contract
  2. N. Szabo. (1994). Smart Contracts. https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html
  3. Buterin, V. (2014). A next-generation smart contract and decentralized application platform. White paper, 3(37). https://translatewhitepaper.com/wp-content/uploads/2021/04/EthereumOrijinal-ETH-English.pdf
  4. Buterin, V. (2016) Thoughts on UTXOs. https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53
  5. 5,0 5,1 5,2 Introduction to Smart Contracts https://ethereum.org/en/developers/docs/smart-contracts/
  6. Christidis, K., & Devetsikiotis, M. (2016). Blockchains and smart contracts for the internet of things. Ieee Access, 4, 2292-2303. https://ieeexplore.ieee.org/abstract/document/7467408
  7. Harrison, T. (2021) Today will feel like a destination. Yet a new, exciting journey begins... https://iohk.io/en/blog/posts/2021/09/12/today-will-feel-like-a-destination-yet-a-new-exciting-journey-begins/

v1.0 - Escrito por Manuelgirbal, revisado por MRTN - 01-05-2022