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

smartcontract

Mucho se está hablando últimamente de los contratos inteligentes o smart contracts y hay que clarificar conceptos, ya que como su nombre indica, normalmente se asimilan con los típicos contratos habituales y realmente no es así.

Pero antes de empezar con los smart contracts, definamos Blockchain para refrescar conceptos. Decíamos que es una tecnología que permite interactuar o intercambiar valor entre dos o más intervinientes sin necesidad de confianza e intermediario. Permite certificar información de forma inmutable, así como intercambiar tokens de un punto a otro sin intermediarios, siendo estos una representación de valor dentro del blockchain y pudiendo ser este valor  virtual o referenciado del mundo físico.

Inicialmente, como comentaba antes, surgió para dar vida a Bitcoin, no obstante con el paso del tiempo, esta tecnología dio un salto y ha evolucionado en lo que podríamos llamar diferentes formatos de Blockchain, tal es el caso de Etherum, que permite ir más lejos y además de posibilitar intercambiar valor, se podrán realizar otro tipo de interacciones, permitiendo programar y dotar de inteligencia de negocio a los activos bajo un principio de neutralidad y esto es lo que entenderemos como Smart Contracts. La diferencia entre el Blockchain de Bitcoin y Etherum, es que en la primera solo se mueve valor sin intermediarios y sus mineros validan transacciones y en la segunda se pueden ejecutar aplicaciones, sin posibilidad de fraude ni intervención de terceros, validando en este caso por parte de los mineros líneas de código, pudiéndose ejecutar transacciones más complejas en esta.

Los Smart contracts podrían ser descritos con las siguientes características:

  • Es un programa informático o herramienta y no un contracto.
  • Se ejecutan acuerdos entre dos o más partes.
  • Se ejecuta en un sistema no controlado por ninguna de las partes anteriores.
  • Cuando se cumple una condición programada, el programa ejecuta la clausula contractual correspondiente de manera automática.

Podremos entonces programar activos para que hagan cosas por si mismos, por ejemplo que se autocustodien y se liberen con arreglo a unas condiciones pactadas y todo ello sin que un intermediario tenga que custodiarlo. Un smart contract se ejecuta por lógica booleana o matemática, lo que no permite las interpretaciones subjetivas y quizás la flexibilidad de un contrato tradicional , por tanto se ejecuta si se cumple una condición programada (if – then), siendo esa ejecución rígida, es decir se sabe lo que ocurrirá si se cumplen la condición o condiciones programadas, mientras que en un contrato tradicional si se incumple y te llevan a juicio, tienes un margen de incertidumbre, ya que dependerá de lo que diga un juez.

Para aquellos que se lo preguntan, los smart contracts no sustituye a un contrato normal, las dos tienen sus ventajas e inconvenientes como hemos visto anteriormente. Cierto que los Smart Contracts todavía están en una fase experimental, por lo que hay que hilar fino al respecto ya que para desarrollarlo necesitamos prever todo lo que podamos, para evitar problemas posteriores, que puedan ocasionar agujeros en su código. Este fue el caso «The DAO», donde un error en el mismo ocasionó que un individuo que estudió el código, al que todos podríamos acceder, se percató y sacó miles de Ether sin permiso de los demás .

Pero vayamos a la práctica, pensemos en un caso en concreto de Smart Contract, este estará relacionado con una vivienda vacacional que tiene código digital de acceso, bien que este Smart Contract lo podríamos complicar tanto como queramos, pero vamos a intentar ser lo más simples y prácticos posibles.

Entonces, supongamos que quiero alquilar una apartamento, normalmente utilizaríamos una plataforma como booking o airbnb, pero en este caso vamos a utilizar  blockchain en la transacción entre el propietario y el turista, que además pagará con Criptomoneda. El propietario recibe una cantidad que no se le entrega sino que queda guardada en el contrato virtual establecido entre ambos. El propietario a través del Smart Contract dará  la clave de entrada digital al turista en una fecha específica. Si la clave no llega a tiempo, el blockchain lanza un reembolso, si por el contrario envío la clave antes de la fecha de alquiler, la función establecida se mantiene, liberando el importe de alquiler al propietario y la clave para el turista, respectivamente, cuando llegue la fecha. El sistema, como vimos anteriormente en la explicación del Smart Contract, funciona en la premisa If-Then y es presenciado por cientos de personas que componen el blockchain, por lo que puede esperar una entrega sin problemas, es decir si el propietario da la clave de entrada, se le paga, y si el inquilino  envía una cierta cantidad en criptomoneda, recibe la clave. El documento se cancela automáticamente después de la hora, y ninguno de nosotros puede interferir en el código sin que el otro lo sepa, ya que todos los participantes son alertados simultáneamente. Podemos utilizar smart contracts para todo tipo de situaciones, que van desde primas de seguro, derivados y servicios financieros , contratos de incumplimiento, leyes de propiedad, procesos legales y acuerdos de crowdfunding.

Si quieres probar de manera extremadamente sencilla y muy simplificada a crear un Smart Contract, existe una plataforma llamada Blocknap donde lo puedes hacer, cierto que creo que el Smart Contract es algo más complejo que esto, pero es una buena forma de empezar a entenderlo. En este caso de ejemplo no ejecutará ninguna condición. Blocknap, es una solución blockchain donde cualquier persona puede genera un contrato fácilmente, grabarlo en la red de Ethereum y compartirlo al instante. Los pasos son los siguientes :

1.- Establecer los intervinientes del contrato y contenido del mismo a través de esta plataforma  :

smartcontract

2.- Una vez enviado al Blockchain de Etherum te llegará un correo electrónico tanto a ti como a la persona que establece el contrato contigo.

smart contracts

 

3.- Ese contrato queda insertado en un bloque cumpliendo las propiedades que ya hemos dicho, a continuación se muestra la parte visual del contrato que como podemos ver al pie tanto a través del código qr como de la dirección que ahí se encuentra podemos acceder a todos los detalles del mismo:

smart contracts

4.- Si pulsamos en la dirección o atendemos al código Qr que tiene establecido nos iremos los detalles de la transacción en este caso del smart contract:

smart contracts

Para finalizar las ventajas que nos ofrece un Smart Contract serían las siguientes:

  • Autonomía: eres tú el que realiza el acuerdo, no teniendo que delegar o confiar esta actividad a ninguna de las figuras habituales como pueden ser, un corredor, abogado u otros intermediarios para confirmar, eliminando el peligro de manipulación por parte de este tercero, ya que la ejecución es gestionada automáticamente.
  • Confianza: siendo los documentos encriptados en un libro mayor compartido y siendo imposible que alguien diga que lo ha perdido.
  • Copia de seguridad: con el blockchain, todos y cada uno de sus integrantes te respaldan ya que los documentos están duplicados en cada uno de los nodos.
  • Seguridad: la criptografía que compone el blockchain,  mantiene nuestros documentos a salvo.
  • Velocidad: Los contratos inteligentes usan código de software para automatizar tareas, lo que reduce las horas de una variedad de procesos tradicionales.
  • Ahorro: los contratos inteligentes nos ahorran dinero ya que noquean a un intermediario. Por ejemplo, tendría que pagarle a un notario para que atestigüe su transacción.
  • Exactitud: los smart contracts son automatizados, rápidos y económicos, pero además evitan los errores que se producen al rellenar manualmente formularios y documentación.