¿Qué son los smart contracts?

Published On: mayo 5th, 2021

El concepto de smart contract o contrato inteligente es nombrado en numerosas ocasiones en el ecosistema cripto. Pero para entender un smart contract, primero debemos repasar qué significa un contrato. Un contrato es un acuerdo entre dos o más partes, en donde se establecen ciertas reglas del juego: qué se puede hacer, de qué forma y qué pasa si algo no se cumple. Esto permite que ambas partes de la relación contractual comprendan la interacción que se va a realizar en su totalidad. Hasta ahora los contratos han sido documentos verbales o caros documentos escritos. Estos documentos están sujetos a las leyes y jurisdicciones territoriales, y en muchas ocasiones requieren de notarios. Esto último implica  más costos, tiempo y terceros que intervienen en todo el proceso. Y, como si todo esto fuera poco, el contenido de los contratos puede estar sujeto a la interpretación. ¿Qué son los smart contracts? 

Por el contrario, un smart contract – o contrato inteligente – es capaz de ejecutarse y hacerse cumplir por sí mismo, de manera automática y autónoma,  sin necesidad de intermediarios. Evitan el problema de la  interpretación al no ser verbal o escrito en los lenguajes que hablamos, ya que se tratan de “scripts” (códigos informáticos) escritos con lenguajes de programación. De esta forma, los términos del contrato son comandos de código. 

El primero en utilizar el concepto de los contratos inteligentes fue Nick Zsabo en el año 1993. Explicó que éstos se encargan de combinar protocolos con interfaces de usuario para asegurar las relaciones a través de redes informáticas y que se trataba de una forma de formalizar las relaciones dentro del mundo digital, en su obra “Formalizing and Securing Relationships on Public Networks”. En su momento la aplicación práctica de estos conceptos estaba muy lejos de hacerse realidad porque para el momento la tecnología no estaba adecuada para todos los requisitos que conlleva. Años más tarde con la llegada de la tecnología Blockchain, el concepto de smart contracts volvió a ponerse sobre la mesa y ahora tenemos la posibilidad de que su aplicación sea mucho más sólida y que tenga casos de uso actuales. 

 

¿Qué son los smart contracts? 

 

Un contrato inteligente es definido como un programa informático que se programa para que ejecute de forma automática acuerdos que hayan determinado dos o más partes. Dicho contrato queda ajustado a la consecución de un término – la llegada de un día determinado – o una condición -que suceda determinado hecho-. Cuando alguno de estos se presenta, el contrato se ejecuta sin necesidad de que un juez o una autoridad exija su cumplimiento. 

Para que puedan ejecutarse de la forma correcta, automática y sin fallas de por medio necesitamos entornos predecibles, transparentes e incorruptibles. Los smart contracts son inmutables pues están distribuidos en miles de nodos que no pueden alterar su contenido. De esa forma, obtenemos un programa que siempre va a actuar de la misma forma sin requerir de la buena voluntad de un tercero, que es lo contrario a los sistemas centralizados. Los contratos inteligentes siempre actúan igual, y permiten almacenar información que no puede ser modificada por voluntad propia para fines individuales. Son los programas más seguros y sólo fallan cuando están mal programados.

Al entender estas definiciones podemos preguntarnos: ¿cómo puede cumplirse el contrato? ¿De qué forma se determina que ha ocurrido la condición a la que estaba supeditada el cumplimiento de dicho contrato para que se lleve a cabo de la forma correcta? Aquí es cuando entran los denominados oráculos en juego. 

 

¿Qué es un oráculo? 

 

Los smart contracts no tienen acceso a datos externos a la red (off-chain).  Sin embargo, para la ejecución de los acuerdos contractuales, resulta indispensable disponer de información relevante sobre el mundo exterior. De esta forma, los oráculos proporcionan un enlace entre los datos off-chain y on-chain. Los oráculos resultan vitales dentro del ecosistema blockchain porque amplían el espectro en el que los smart contracts pueden operar. Sin oráculos blockchain, los smart contracts tendrían un uso muy limitado, ya que sólo tendrían acceso a datos internos de sus propias redes.

Cabe destacar que el oráculo blockchain no es la fuente de información en sí misma, sino la capa que consulta, verifica y autentifica fuentes de datos externas, y luego transmite dicha información. Los oráculos pueden verificar cualquier información que esté en internet y sus datos pueden tomar diversas formas: la llegada de una fecha, información de un precio dentro del mercado, la culminación exitosa de un pago, la sucesión de un hecho particular y más. Pueden evaluar cualquier cosa que las partes en el contrato determinen la ejecución del contrato inteligente.

 

Contratos tradicionales y contratos inteligentes: Similitudes y diferencias 

 

Tal como mencionamos previamente al comienzo de esta nota, es importante comprender las nociones básicas de los contratos tradicionales para comprender los contratos inteligentes. Si bien como hemos analizado hay muchos elementos en común entre contratos tradicionales e inteligentes, también hay diferencias entre ambos que vale la pena mencionar.

 

Consentimiento de las partes involucradas

Los contratos inteligentes  son programas informáticos escritos en código, por ende las partes se deben de identificar con un algoritmo, wallet o código, dependiendo de lo que persiga el contrato. Al igual que en los contratos tradicionales, también se exige que expresen su voluntad dos o más partes, pero como podemos observar, la determinación de su participación no es igual. 

Para confirmar el consentimiento dentro del contrato, las partes deben realizar un “doble depósito” en una dirección determinada: las partes involucradas deberán de depositar fondos como garantía para que así pueda asegurarse que cumplirán con sus obligaciones. A su vez, contamos con una herramienta denominada “función multifirma”, que nos va a exigir que todas las partes aprueben las transacciones internas del contrato. Esto impide que alguna de las partes retire o maneje los fondos que han sido depositados en la dirección que maneja el contrato sin seguir las reglas estipuladas dentro de él.

 

Objeto del Contrato

En los contratos tradicionales, el objeto del contrato hace referencia al objeto de las obligaciones que se plasmarán en el contrato. En los smart contracts este objeto debe referirse a una obligación que tenga un respaldo digital: la obligación debe poder cumplirse dentro del ámbito digital y la forma de controlarlo también debe poder medirse digitalmente.  Con la reciente incorporación y auge de la tokenización de activos, cada vez hay más posibilidades de expansión de las fronteras de los contratos inteligentes. Estaremos analizando esto en artículos posteriores dentro del blog de Latamex

 

Diferencia en su formalización

Los contratos tradicionales se realizan por escrito y se deben de formalizar con un notario o juez, dependiendo de la legislación y cada caso. Los contratos inteligentes, por su propia naturaleza, no requieren la revisión de ningún tipo de juez o notario que otorgue validez al acuerdo alcanzado: el contrato se cumple por sí solo. 

 

Surgimiento de los smart contracts en Ethereum 

 

Bitcoin tiene algunos smart contracts ya creados que se ejecutan por defecto y de forma transparente para el usuario, como las wallets multifirma, en los que dos partes o más deben aprobar la realización de una transacción antes de que los fondos sean liberados. Sin embargo, el auge de los contratos inteligentes llegó con Ethereum, plataforma caracterizada por presentar mayor facilidad de uso a la hora de crear aplicaciones descentralizadas. Por su flexibilidad es la red donde surgen los proyectos DeFi. Vitalik Buterin, uno de los principales creadores de Ethereum, observó el concepto de Zsabo y determinó que con la tecnología blockchain y el sistema descentralizado que había planteado Satoshi Nakamoto, se podrían ejecutar los smart contracts dentro de su propuesta, la red de Ethereum.

Vitalik propuso una red con un “lenguaje de programación Turing completo incorporado que se puede usar para crear “contratos” que se pueden usar para codificar funciones de transición de estado arbitrarias, permitiendo a los usuarios crear sistemas”. Estos sistemas son prácticamente ilimitados. Para el momento de la creación de Ethereum, planteaba que estos programas podían emplearse en tres tipos de aplicaciones: aplicaciones financieras, semi-financieras y no financieras: sistemas de identidad y reputación, resguardo de archivos de forma descentralizada, organizaciones autónomas Descentralizadas (DAO) y muchas más. 

 

Conclusiones 

 

Un smart contract tiene validez sin depender de autoridades, debido a su naturaleza: es un código visible por todos y que no se puede cambiar, al existir sobre la tecnología blockchain. Esto le confiere un carácter inmutable, transparente y descentralizado.  Esto hace que la blockchain sea la plataforma perfecta para estos contratos inteligentes. Una vez que el smart contract es publicado en la blockchain, no hay forma de modificarlo y no está sujeto a interpretaciones. Este es el poder de contratos escritos con un lenguaje de programación, que a futuro tendrá muchas más aplicaciones y casos de uso de las que actualmente ya existen. Muy pronto haremos más notas para profundizar en todo el universo de smart contracts y las posibilidades que ofrecen.

Share this article in your favorite networks →