Contratos inteligentes: qué son y cómo funcionan

Contratos inteligentes: qué son y cómo funcionan

12 enero, 2018 3 Por Alter Consciens

Los contratos inteligentes pronto regularán muchos de los ámbitos de nuestra vida. Bitcoin lanzó su primera versión en enero de 2009. Desde entonces, han aparecido numerosos proyectos que utilizan la misma tecnología. Con ello, aportan nuevas ideas y soluciones descentralizadas a muchos de los procesos o aplicaciones que usamos actualmente.

En 1997, el jurista y criptógrafo Nick Szabo definió por primera vez en detalle el concepto de contrato inteligente. Lamentablemente, pese a definir la teoría, era imposible hacerla realidad con la infraestructura tecnológica de aquel entonces.

Para su ejecución, es necesario que existan transacciones programables, así como un sistema financiero digital que las reconozca. Precisamente, lo que Nick definía como inexistente en 1997, en 2009 se hizo realidad. La aparición de Bitcoin y su tecnología, la cadena de bloques o blockchain, llegó para quedarse. Y así lo ha hecho. Hoy en día, ya es imparable.

¿Qué son los smart contracts?

El concepto aparece cada vez con más frecuencia en los medios de comunicación y entre los profesionales del sector. La definición más sencilla es que se trata de contratos que tienen la capacidad de cumplirse de forma automática. Para ello, las partes deben acordar previamente los términos del contrato.

Un contrato que se hace cumplir a sí mismo

Tanto los contratos inteligentes como los de papel son acuerdos. En ellos, dos o más involucrados se comprometen a cumplir una serie de condiciones. Sus elementos fundamentales son los mismos: el consentimiento voluntario de todas las partes, el objeto del contrato o servicio, y una causa justa, verdadera y lícita. Sin embargo, difieren en tres factores: el modo de escritura, su implicación legal y el modo de cumplimiento.

Los contratos inteligentes constituyen programas informáticos. No aparecen escritos en lenguaje natural, sino en código virtual. Se trata de un tipo de software que se programa. El objetivo es llevar a cabo una serie de tareas determinadas de acuerdo a las instrucciones previamente introducidas.

Su cumplimiento, por tanto, no se encuentra sujeto a la interpretación de ninguna de las partes. Si el evento A sucede, entonces la consecuencia B se pondrá en marcha de forma automática. Su implicación legal ha caído —como toda la tecnología relacionada con Bitcoin— en una zona gris.

Sin intermediarios

No se requiere ningún intermediario de confianza o notaría, pues este papel lo adopta el código informático. Éste asegurará sin lugar a dudas el cumplimiento de las condiciones. Por tanto, se reducen tiempos y costes significativos. Además, se evitará el inconveniente de subordinarse a la interpretación de las personas, al no ser verbal o escrito en los lenguajes que hablamos.

Los contratos inteligentes constituyen scripts (códigos informáticos) escritos con lenguajes de programación. Los términos del contrato son, pues, puras sentencias y comandos en el código que los rige. Por lo tanto, su objetivo es brindar una seguridad superior a la ley de contrato tradicional. Además, reduce los costes de transacción asociados a la contratación.

La transferencia de valor digital mediante un sistema que no requiere confianza, como Bitcoin, abre la puerta a nuevas aplicaciones.

Aplicaciones de los contratos inteligentes

  • Mercados distribuidos que permitan implementar contratos P2P y trading en los mercados con Bitcoin, postulándose como un contendiente 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 conforman las llamadas smart properties. Mediante el uso de los contratos y con propiedades inteligentes, se permite que el nivel de confianza sea muy superior. De este modo, se reduce el fraude y los honorarios de mediación para terceras partes. Asimismo, permite que las operaciones alcancen un nuevo nivel.
  • Automatización de herencias, estableciendo la asignación de los activos tras el fallecimiento. En cuanto se produjera el fallecimiento, el contrato entraría en vigor y se ejecutaría. En este caso, se repartirían los fondos a la dirección o direcciones establecidas en el contrato.
  • Seguros: partes de accidente, pagos de la compañía para reparaciones, reducción del fraude en accidentes…

La «killer app» de Bitcoin

Los smart contracts se sirven de la tecnología de Bitcoin para existir, algo que le viene genial a la primera criptomoneda, pues recibe mucha más atención, atrayendo a cientos de miles de nuevos usuarios.

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

¿Cómo se realiza un contrato inteligente?

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

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

Existen varios pasos para la creación de smart contracts seguros. Veamos el caso de realizar depósitos seguros en cualquier página web que acepte bitcoins.

  • El usuario y la página web se envían entre sí una clave pública recién generada.
  • Entonces, el usuario crea la primera transacción sin transmitirla, poniendo por ejemplo 5 BTC en un output que requiere tanto el usuario como el sitio web para firmarlo.
  • El usuario envía el hash de la primera transacción a la página web.
  • El portal crea una segunda transacción correspondiente al contrato. En esta segunda transacción se gasta la primera y se devuelve al usuario a través de la dirección que proporcionó en el primer paso, pero como la primera transacción requería dos firmas (usuario y página web), esta operación todavía no estaría completa.

Un nuevo parámetro

Aquí es donde toma importancia un nuevo parámetro: nLockTime. Éste se puede añadir en una transacción de Bitcoin estableciendo una fecha futura, por ejemplo, después de seis meses. Antes de esta fecha, esos fondos no se podrían incorporar en ninguna transacción. El sequence number del input también se pone a 0.

  • Finalmente, la transacción sin firmar por completo se devolvería al usuario. Éste comprobaría que todo está correcto y que las monedas volverían a su posesión. Eso sí, tras los seis meses que se estipularon con nLockTime. Al tener el sequence number en 0, este contrato podría ser modificado en un futuro si ambas partes así lo creyeran conveniente.
  • Hay que tener en cuenta que el script del input (instrucciones grabadas en cada transacción) todavía no ha finalizado. El espacio reservado para la firma del usuario todavía está formado por un conjunto de ceros, después de que el portal creara la segunda transacción. Ahora tan sólo faltaría la firma del usuario en dicho contrato.
  • En conjunto, todas estas características no sólo permiten construir nuevas e interesantes herramientas financieras sobre la cadena de bloques de Bitcoin sino que, al estar cada contrato inteligente formado por personas o máquinas, las posibilidades de innovación para los ámbitos del Internet de las cosas, aseguradoras, logística o administración son tan amplias que es probable que empiecen a salir muy pronto las primeras killer app o aplicaciones revolucionarias en estos ámbitos.

Al unir los principios de un smart contract con la creatividad de muchos desarrolladores del planeta, el resultado serían posibilidades jamás vistas, accesibles para todos y a costes que tocan la gratuidad. Ecosistemas sin figuras autoritarias que sometan a su voluntad a sus integrantes, configurando quizás un mundo más justo.

Y esto es sólo el principio…

Como hemos visto, algunas plataformas compiten por soluciones similares en un entorno de creatividad insistente, pero todas con el mismo objetivo: eliminar puntos de fricción en el sistema tradicional para ahorrar tiempo y dinero.

Parece ser que nos dirigimos hacia un mundo global, pero distribuido, sin intermediarios ni grandes empresas organizando todo en la sombra. Un mundo global con servicios globales, donde los contratos inteligentes tienen todas las papeletas de constituir la semilla de un cambio sin precedentes.

Se calculan más de 25.000 millones de dispositivos conectados a Internet en 2017, todos ellos susceptibles de ejecutar smart contracts entre ellos a diario.

La clave es la descentralización

¿Y si pudieras reducir la tasa de tu hipoteca, crear fondos de ayuda comunitarios, crear o actualizar tu testamento sin coste, asegurarte que jamás alguien pueda escaparse sin pagar una apuesta o tener en tu país un sistema democrático real, justo y eficiente jamás visto hasta la fecha?

Recuerda que todo esto se basa en un fundamento clave: descentralización. Y siempre sobre códigos abiertos y libres que cualquiera puede ver, estudiar, copiar y mejorar.

En esto y mucho más se traducen los contratos inteligentes. Ahora sólo falta crear interfaces sencillas que hagan uso de este potencial en casos concretos. ¿Estás listo para el futuro?