Smart Contracts: ¿Qué son, cómo funcionan y qué aportan?

Un smart contract es un tipo especial de instrucciones que es almacenada en la blockchain. Y que además tiene la capacidad de autoejecutar acciones de acuerdo a una serie de parámetros ya programados. Todo esto de forma inmutable, transparente y completamente segura.

En estos últimos años, tras la creación de Bitcoin y el lanzamiento de su primera versión en 2009, han sido muchos los proyectos interesantes que han ido apareciendo aportando nuevas ideas y soluciones descentralizadas a muchos de los procesos o aplicaciones centralizadas que todos usamos en la actualidad . En ese caso déjanos preguntarte: ¿te suenan los contratos inteligentes?

Pues bien, esta vez hablaremos en profundidad de estos mecanismos. Y es que los contratos inteligentes tienen como objetivo eliminar intermediarios para simplificar procesos y, con ello, ahorrar costes al consumidor. La mayor parte de la información relacionada con los contratos inteligentes tan solo está disponible en inglés. Es por ello que, desde Bit2Me y tras un primer capítulo en nuestra guía inteligente dedicada a hacer una introducción a los contratos inteligentes, no queremos que te quedes con dudas, sin entender en totalidad el concepto de qué son los contratos y cuál es su potencial .

Es por ello que hablaremos del origen de los contratos inteligentes. Posteriormente analizaremos la situación actual y en tercer lugar presentaremos algunos de los proyectos alternativos a Bitcoin más importantes. Y finalmente describiremos cuál es el futuro de esta tecnología.

¿Qué es un contrato inteligente?

Para entender un contrato inteligente, primero hemos de recordar qué significa un contrato. Un contrato no es más que un acuerdo entre dos o más partes, un entorno donde se define lo que se puede hacer, cómo se puede hacer, qué pasa si algo no se hace. Es decir, unas reglas de juego que permiten a todas las partes que lo aceptan entender en qué va a consistir la interacción que van a realizar.

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 ocasiones requieren de notarios. Es decir, más costes, tiempo y terceros que intervienen en el proceso. Debido a ello, no son accesibles para ninguna persona. Y esto no es lo peor: los contenidos de los contratos pueden estar sujetos a la interpretación. ¡Agárrate!

En cambio un contrato inteligente es capaz de ejecutarse y hacerse cumplir por sí mismo, de manera autónoma y automática, sin intermediarios ni mediadores. Evitan el lastre de la interpretación al no ser verbal o escrito en los lenguajes que hablamos. Los contratos inteligentes se tratan de “scripts” (códigos informáticos) escritos con lenguajes de programación. Esto quiere decir que los términos del contrato son puras sentencias y comandos en el código que lo forma.

Por otro lado, un contrato inteligente puede ser creado y llamado por personas físicas y/o jurídicas. Pero también por máquinas u otros programas que funcionan de manera autónoma. Un contrato inteligente tiene validez sin depender de autoridades. Esto se debe a su naturaleza: es un código visible para todos y que no se puede cambiar al existir sobre la tecnología blockchain. Esto le confiere un carácter descentralizado, inmutable y transparente.

Los contratos inteligentes y su enorme potencial

Con lo anterior, seguramente ha podido ver el enorme potencial que encierran estos contratos inteligentes. Es importante destacar que, al estar distribuidor por millas de computadoras, se evita que una gran compañía los custodie, lo que elimina burocracia, censuras y los grandes costos / tiempos implícitos de este proceso que, dicho sea de paso, hasta ahora es el custodio .

Si juntamos los principios de un contrato inteligente con la creatividad de muchos desarrolladores del planeta, el resultado son posibilidades jamás vistas, accesibles para todos y a costos que rozan la gratuidad. Ecosistemas sin figuras autoritarias que someten a su voluntad a sus integrantes. Hablamos de un mundo más justo.

Imagina un coche Tesla autoconducido, comprado en grupo, capaz de autogestionarse y alquilarse por sí solo. Todo ello sin una compañía tipo Uber detrás llevándose el 10 %. De esa podemos decir: bienvenido al mundo de los contratos inteligentes.

Los primeros contratos inteligentes

La primera vez que se tiene constancia de forma pública sobre los contratos inteligentes es a través de Nick Szabo, jurista y criptógrafo Nick Szabo que mencionó públicamente el término en un documento en 1995. Dos años después, en 1997, desarrolló un documento mucho más detallado explicando los Contratos Inteligentes.

económica, pese a definir la teoría, era imposible hacer la realidad con la infraestructura tecnológica existente. Para que los contratos inteligentes se puedan ejecutar, es necesario que existan las transacciones programables y un sistema financiero que las reconozca, digitalmente nativo.

Precisamente, lo que Szabo definió como inexistente en 1995, en 2009 (casi 15 años después) se haría realidad con la aparición de Bitcoin y su tecnología, la cadena de bloques (blockchain).

Bitcoin y los contratos inteligentes

Bitcoin tiene algunos contratos inteligentes ya creados que se ejecutan por defecto y de manera transparente al usuario. Cuando hablamos de contratos de distribución, nos referimos a uno de los casos de uso de Bitcoin para formar acuerdos entre personas a través de la cadena de bloques. Y es que Bitcoin, entre todas sus ventajas, permite añadir lógicamente al dinero, algo único de este tipo de dinero: es dinero programable. Esta lógica aplicada al dinero nos permite resolver problemas comunes que podemos encontrarnos en la actualidad, pero aumentando el nivel de confianza a lo largo de todo el proceso automatizado en el que se desarrolla la interacción.

Algunos ejemplos de contratos inteligentes en Bitcoin

Ejemplificando, podrían desarrollarse nuevos productos o aplicaciones como por ejemplo:

  • Mercados distribuidos que permitieran implementar contratos P2P y trading en los mercados con Bitcoin postulándose como un competidor completo al sistema financiero actual.
  • Propiedades como automóviles, teléfonos, casas o elementos no físicos controlados a través de la cadena de bloques conforme a las nombradas smart property. Mediante el uso de los contratos y con propiedades inteligentes se permite que el nivel de confianza sea muy superior reduce el fraude, los honorarios de mediación para terceras partes y permite que las operaciones se lleven a un nuevo nivel.
  • Automatizacion de herencias deposito la deposito de los activos tras el fallecimiento. En cuanto llegase el fallecimiento, el contrato entraría en vigor y se ejecutaría repartiendo en este caso los fondos a la dirección establecida en el contrato.
  • Seguros: partes de accidente, pagos de la compañía para reparaciones, reducción del fraude en accidentes…

Y es que los contratos inteligentes se sirven de la tecnología de Bitcoin para existir, algo que le viene genial a Bitcoin, pues está haciendo que reciba mucha más atención trayendo cientos de miles de nuevos usuarios a su ecosistema. De hecho no es difícil encontrar afirmaciones del tipo: “Los contratos inteligentes son la Killer APP de Bitcoin”.

Esta lógica que puede aplicar a las transacciones Bitcoin se realiza a través del uso de todo un lenguaje propio, permitiendo que sea la misma cadena de bloques quien determine qué hacer extremadamente en las indicaciones programadas. Esto quiere decir que tenemos una transacción con unas instrucciones de forma distribuida e inmutable, dando una seguridad completa y sin interpretaciones.

Un contrato inteligente no es lo que piensas

Hoy en día todo está controlado por sistemas informáticos. Todo interactúa con ellos. En el desarrollo de aplicaciones es normal que los programadores creen una serie de “puertas” a su aplicación (llamadas API). Estas puertas permiten que otros programadores puedan entrar a tu aplicación para crear u obtener información. Casi todas las webs o programas tienen las suyas. Es decir, se define un protocolo, un contrato, una forma conocida en la que se llama a la aplicación con una estructura de datos. Es por medio de esta puerta por la que vamos a obtener una respuesta, pero con la estructura de datos predecibles. En este caso, para que no falle la comunicación y, consiga, los programas.

Pero este contrato no está garantizado. El servidor de la aplicación está controlado por alguien que tiene la capacidad de hacer que mañana el programa funcione diferente. Está centralizado y puede cambiar a la decisión de ese tercero. No es “inteligente”.

La gente necesita entornos predecibles, transparentes e incorruptibles. Los smart contracts son pedazos de códigos similares, es decir tienen formas de llamarlos y obtener unas respuestas, tienen un contrato, pero además son inmutables pues están distribuidos en millas de nodos que no pueden alterar su contenido. De esa forma obtienes un programa que siempre va a actuar de la misma forma sin necesidad de la buena voluntad de ese tercero. Algo que para casi cualquier caso de uso es necesario. Los Smart Contracts son programas en la nube que siempre actúan igual, y permiten almacenar información que no puede ser modificada a traición. Son los programas más seguros jamás creados en la humanidad y solo fallan cuando están mal programados.

Los Smart Contracts mal programados

Los Smart Contracts son capaces de gestionar activos digitales, sujetos a un determinado valor económico, por lo que en realidad los Smart Contracts pueden gestionar dinero. Esto requiere que se haga especial énfasis en la correcta programación del mismo, pues el Smart Contract podría tener fallas de seguridad o fallas que generen errores de ejecución o comportamientos inesperados.

Cuando ocurre esto el dinero puede perderse por completo. No ha ocurrido pocas veces y sin el Know How suficiente les seguirá ocurriendo a muchas iniciativas.

esto ocurre con frecuencia, por lo que es realmente importante prestar especial atención en el desarrollo y testeo de estas piezas de software.

¿Cómo se realiza un contrato inteligente en Bitcoin?

Para que todo esto sea posible, tiene que haber un proceso completamente seguro que garantizado que, al menos dos partes, pueden ejecutar el contrato sin necesidad de confiar el uno del otro, ni tan siquiera conocerse.

Los contratos utilizan el sistema descentralizado de Bitcoin para cumplir acuerdos sin dependencia financiera de agentes externos, como sistemas judiciales, disminuyendo el riesgo de tratar con entidades desconocidas en transacciones financieras.

Proceso de generación de un contrato inteligente

Existen varios pasos para la creación de contratos inteligentes seguros. Ejemplifiquemos con el caso de realizar depósitos seguros en cualquier página web que acepte bitcoins. ¿A nadie le gusta perder su dinero, verdad?

En conjunto, todas estas características no solo permiten construir nuevas e interesantes herramientas financieras sobre la cadena de bloques Bitcoin sino que, al estar cada contrato inteligente formado por personas o máquinas, las posibilidades de innovación para el ámbito del Internet of Things, Insurtech, Logística , Administración son tan amplias que es probable que empiecen a salir muy pronto las primeras killer app o aplicaciones revolucionarias de estos últimos.

En conjunto, todas estas características no solo permiten construir nuevas e interesantes herramientas financieras sobre la cadena de bloques Bitcoin sino que, al estar cada contrato inteligente formado por personas o máquinas, las posibilidades de innovación para el ámbito del Internet of Things, Insurtech, Logística , Administración son tan amplias que es probable que empiecen a salir muy pronto las primeras killer app o aplicaciones revolucionarias de estos últimos.

Situación actual de los contratos inteligentes en Bitcoin

No olvidemos que cuando hablamos de Bitcoin estamos hablando de un ecosistema nuevo, dinámico y en proceso constante de crecimiento, pero también, como hemos indicado anteriormente, de contratos inteligentes. Poco a poco van apareciendo nuevas implementaciones de los contratos inteligentes en Bitcoin pero, actualmente, ya se aplica en algunas funcionalidades que probablemente te sonarán, como los monederos 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.

Junto a las direcciones multifirma, los dobles depósitos son una de las funciones que facilitan el correcto funcionamiento de los contratos inteligentes de este tipo. Fue introducido por BitHalo y es innovador porque elimina la necesidad de un tercero que actúe como árbitro. básicamente consiste en que las partes, digamos por ejemplo un comprador y un vendedor, realicen AMBOS una transacción de depósito ligado a un contrato inteligente. El programa del contrato tiene un tiempo determinado antes de que caduque. Si las personas involucradas en el acuerdo no lo resuelven en dicho periodo de tiempo, los fondos de los depósitos se quemarán, es decir, serán enviados a una dirección en la que nadie conoce la clave privada, lo que obliga a las partes a esforzarse al maximo en la busqueda de soluciones.

Aunque Bitcoin dispone de un lenguaje de programación para añadir lógicamente, hay quienes opinan que a veces se queda corto. Este es el motivo por el que han ido creándose soluciones que llevan los contratos inteligentes a nuevos horizontes, con lenguajes Turing completo, conozcamos algunas de estas nuevas opciones.

¿Qué es Counterparty?

Counterparty nació en 2014. Es una plataforma open source en la que se pueden desarrollar aplicaciones peer-to-peer. Inicialmente están orientados al sector financiero, sobre la blockchain de Bitcoin: Actualmente el protocolo implementa y soporta la creación de activos, la emisión de bonos de esos activos, pago de dividendos, el comercio de activos usando un mercado descentralizado, las apuestas binarias, y los contratos-para-diferencia (CFD). Su protocolo de código abierto, además de permitir crear y operar con activos digitales, también permite escribir contratos, permitir transformar muchas de las acciones del mundo real en código que funcionan de forma automática sin necesidad de intermediarios y resistentes a fallos.

En Counterparty también existe un token (o criptomoneda) llamado XCP. Este se utiliza para ofrecer algunas posibilidades que no son técnicamente posibles por el momento utilizando BTC (bitcoins).

Aunque el interés en smart contracts más potentes se viene anunciando desde el inicio del proyecto, es recientemente cuando se ha confirmado que finalmente se va a introducir dentro de Counterparty el EVM de Ethereum, el cual podrá ejecutar contratos inteligentes idénticos a los de Ethereum pero sobre la red de Bitcoin, permitiendo una diversidad de aplicaciones enormes como Organizaciones Autónomas Descentralizadas (DAOs), sistemas de identidad, sistemas de votación basados ​​en consenso, entre otras. A fecha de este capítulo de la Guía Bitcoin, el Ethereum Virtual Machine (EVM) está operativo solo en la red de pruebas de Counterparty. ¿Cómo es posible que hayan podido reaprovechar el EVM de software libre? Counterparty utiliza el mismo lenguaje de programación de contratos inteligentes, llamado Solidity.

Según comenta Trevor Altpeter, director de la Counterparty Foundation, EVM ahora será capaz de hacer todo lo que hace Ethereum, solo que en la blockchain de Bitcoin.

Para poder ejecutar los contratos se utiliza la moneda de Counterparty, el XCP.

¿Qué es RootStock?

RootStock (RSK), conocido como el Ethereum de Bitcoin, es otra de las plataformas intentando llevar a cabo contratos inteligentes turing completo a Bitcoin para aprovechar así el efecto rojo y la seguridad de Bitcoin sin necesidad de crear algo de cero (se ha publicado que la plataforma también va a ser compatible con Ethereum). Se trata de una plataforma open source para la creación de contratos inteligentes que recompensará a los mineros que participen activamente. Su objetivo principal es el de añadir valor y funcionalidad al ecosistema Bitcoin activando contratos inteligentes seguros en la red, añadiendo opciones para pagos instantáneos y una mayor escalabilidad. Para ello, RootStock, se sirve de cadenas laterales (sidechain), conectadas a la cadena de Bitcoin, y su token (Roots), el cual servirá solo para ser intercambiado por bitcoins.

Pese a ser relativamente nuevo, Rootstock ya ha obtenido 1 millón de dólares en su última ronda de financiación por parte del Digital Currency Group (DGC).

El propio Nick Szabo ha dicho en su twitter: “lo mejor de Bitcoin (moneda y liquidez del sistema) + lo mejor de Ethereum (ecosistema de programación de contratos inteligentes)”

Plataformas innovadoras con los contratos inteligentes

No todos los proyectos giran únicamente en torno a la red Bitcoin y son ya varias las alternativas. Destacan inicialmente Ethereum y, durante el 2016, Lisk. Entremos un poco en detalle para describir cada una de ellas.

Contratos inteligentes en Ethereum

Ethereum, que es uno de los proyectos más famosos en el sector de los contratos inteligentes. Es una plataforma de computación distribuida basada en una cadena de bloques pública como Bitcoin y que además permite ejecutar contratos inteligentes P2P (entre los nodos, sin servidores centrales) en una máquina virtual descentralizada llamada Ethereum Virtual Machine (EVM).

Se basa en toda la teoría de Bitcoin en cuanto a estar distribuido, tener su propia criptomoneda, mineros e incluso su propio blockchain entre otras cosas pero, a diferencia de Bitcoin, Etherum ha creado un intérprete de lenguaje de programación mucho más extenso (Turing completo ), añadiendo lógicamente mucho más compleja dentro del blockchain. Es decir, se podría asemejar a un ordenador distribuidor, el cual utiliza su criptomoneda (el ether) como la “gasolina” que necesita el contrato para que los mineros puedan ejecutarlo. Es decir, ahora con Ethereum los contratos son programas con muchas más funcionalidades y posibilidades. Aunque para ello, y esto es algo que mucha gente les critica, han tenido que crear toda una nueva red de cero, renunciando a la red de Bitcoin (la más potente del mundo).

Puede consultar, estudiar o copiar una extensa lista de aplicaciones descentralizadas desarrolladas sobre Ethereum en State of Dapps. ¿Quieres aprender más sobre Ethereum? A continuación te dejamos una infografía en español que podría ser de tu interés.

Contratos inteligentes en Lisk

Lisk es una plataforma para crear y ejecutar contratos inteligentes de forma descentralizada fue lanzada en 2016 presentándose como una de las mejores opciones para desarrollar contratos inteligentes seguros y rápidos gracias a la utilización de Javascript (el lenguaje de programación más usado) como el lenguaje para la creación de los contratos inteligentes, convirtiéndose así en una alternativa a Ethereum en la que el lenguaje de programación utilizado es Solidity.

Tras una exitosa venta anticipada de la moneda que contratará el contrato para funcionar (el LSK), en la que se recaudaron más de 14.000 bitcoins, Lisk todavía se encuentra en una fase muy inicial pero ya dispone de varios conceptos de DAPP en los que se está trabajando como el ‘proof of existance’ o una red social para artistas llamada Discovr.

Los oráculos

No podemos olvidar los oráculos. Una de las características más importantes para que un smart contract pueda interactuar con el mundo real, son los llamados oráculos (oracles en inglés). Los oráculos son instrumentos que permiten actualizar estados internos de un smart contract a través de información del exterior (generalmente obtenida a través de APIs), por ejemplo obtener la cotización de una acción o divisa o si un paquete ha sido enviado por la empresa de transportes.

Para explicarlo mejor imaginemos un contrato inteligente sobre una apuesta de fútbol, Madrid – Barça, el contrato usaría como oráculo una fuente oficial, por ejemplo la web de la Liga de fútbol española. En función del resultado libera los fondos al ganador. ¿Quien necesita una casa de apuestas que se queda con un porcentaje de tu dinero? Esto mismo vendría a ser una casa de apuestas sin comisiones, segura y sin intermediarios (descentralizada).

Los oráculos también funcionan de forma autónoma. No obstante, hay que tener presente que la fuente que usa el oráculo se trata de una tercera parte en la que hay que confiar, y que podría corromperse por su dueño, crackearse, o simplemente podría fallar su servidor, algo que tiene implicaciones negativas: estamos CENTRALIZANDO la confianza, algo contrario a la filosofía blockchain. Por suerte, ya existen proyectos que están desarrollando soluciones para este problema Orisi y Oraclize. En esencia combinan el resultado de todos los proveedores de información que se le indique y es este quien determina su decisión en función de lo que la mayoría le diga. Es decir, descentraliza la obtención del resultado, algo genial.

Un mundo dominado por Smart Contracts

¿Te imaginas que, en unas décadas, los políticos de la época estén 4 años preparando el smart contract donde definirán cómo se repartirá el dinero y las acciones que tendrán?

De esa forma, la sociedad solo debería votar (mediante la tecnología blockchain también, claro) el smart contract que quiere usar durante ese nuevo periodo.

Esto garantizaría que lo votado se ejecutará, teniendo una transparencia total y seguimiento de los gastos. Algo necesario urgentemente, dado los tiempos que corren…

Puede que así sean las elecciones dentro de no mucho tiempo.

Esto es solo el principio

Y hasta aquí llega, de momento, nuestro recorrido por esta apasionante rama de la tecnología blockchain. Como has visto, algunas plataformas compiten por soluciones similares en un entorno de creatividad constante pero todos con el mismo objetivo: eliminar puntos de fricción del sistema tradicional para ahorrar tiempo y dinero a la gente. A apenas unos pocos años de los primeros pasos de Bitcoin, solo unos pocos se tomarán la molestia de leer este texto (siéntete afortunado), menos aún serán los que profundizarán sobre ello y muy muy pocos los que decidirán dar un paso al frente y pasar a la acción. Está todo por hacer, hay muchos problemas, muchas cosas que funcionan mal ¿no es una oportunidad única de hacer algo?

A poco que uno se ponga a imaginar puede vislumbrar un mañana sin grandes multinacionales monopolizando sectores, sino códigos transparentes que viven infinitamente en una cadena de bloques y son capaces de orquestar la provisión de todo tipo de servicios sin coste (o un coste ridículo comparado al actual). Vamos hacia un mundo global, pero distribuido, sin intermediarios ni grandes empresas organizando todo a su antojo en la sombra. Un mundo global con servicios globales, donde los smart contracts tienen todas las papeletas de ser la semilla de un cambio sin precedentes: se calculan más de 25 billones de dispositivos conectados a Internet en 2017, todos ellos susceptibles de ejecutar smart contracts entre ellos a diario.

En esto y mucho más se traducen los smart contracts, ahora solo falta crear interfaces sencillas que hagan uso de este potencial en casos concretos. ¿Estás listo para ello?

CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum