Conoce Atico34 - Solicita presupuesto
Nuevas tecnologias

Smart contract ¿Qué es y cómo funciona?

Teorizados en 1995 y hechos realidad en 2009 con la llegada de la tecnología blockchain, los smart contracts cada vez son más conocidos y se pronostican aplicaciones de estos contratos inteligentes más allá de las criptomonedas, donde actualmente tienen su mayor uso. Pero, ¿qué es un smart contract?, ¿cómo funciona?, ¿qué beneficios tiene su uso?, ¿le afecta la ley de protección de datos? En este artículo daremos respuesta a esta y otras cuestiones relativas a los smart contracts.

¿Qué es un smart contract?

Un smart contract (o contrato inteligente) es un contrato entre dos o más partes, capaz de ejecutarse automáticamente de manera autónoma, es decir, que puede ejecutar sus cláusulas o condiciones sin la intervención de intermediario o tercero de confianza.

Lo que hace «inteligente» a este contrato es que se trata de un programa informático, un código, diseñado para ejecutarse bajo la premisa de «de si X…, entonces Y». Es decir, que si cumple las condiciones acordadas y codificadas en las «cláusulas» del contrato se producirá una acción (por ejemplo, si se efectúa el pago y depósito del dinero acordado, se entregará el correspondiente producto).

El smart contract, que tiene sus orígenes teóricos en 1995 por Nick Szabo, no sería una realidad hasta la llegada del blockchain, puesto que se basa en esta tecnología para funcionar. Esto permite que los smart contracts se encuentren distribuidos y descentralizados, asegurando así la transparencia, confidencialidad e inmutabilidad del contrato (puesto que están replicados en diferentes nodos de la cadena, cifrados y validados a lo «largo» de la cadena; recordamos que el blockchain funciona como un libro mayor distribuido, donde los datos almacenados de registros y transacciones están disponibles para todas las partes en tiempo real).

Los smart contracts se realizan y acuerdan de la misma forma que cualquier otro contrato por escrito, puesto que las partes deben ponerse de acuerdo respecto a las condiciones del contrato, aceptarlas libremente (consentimiento voluntario) y su objeto debe ser lícito, la diferencia está en que están escritos en código de programación y que cuando se «formalizan» y ponen en marcha, quedan fuera del control de las partes, ejecutándose, como decíamos, de manera autónoma y automática cuando se dan las condiciones codificadas en ellos.

Sin embargo, cabe señalar que, dado lo reciente del blockchain y los propios smart contracts, actualmente existe un vacío legal respecto a su regulación.

Tipos de smart contracts

Actualmente, podemos hablar de tres tipos de smart contracts:

  • Contratos legales inteligentes:

Es el tipo de smart contract más común y funciona de similar a un contrato tradicional, obligando a las partes a cumplir con las condiciones acordadas. Si no se cumplen las condiciones, se desencadenarán acciones legales de manera automática.

El marco legal actual en diferentes países y contextos carece de soporte suficiente para contratos inteligentes y automatizados en blockchain y su estado legal no está claro.

Sin embargo, una vez que se hacen las leyes, se pueden hacer contratos inteligentes para simplificar los procesos que actualmente implican una estricta supervisión reguladora, como las transacciones en el mercado financiero e inmobiliario, los subsidios gubernamentales, el comercio internacional, etc.

  • DAOs:

Las organizaciones autónomas descentralizadas, DAOs, pueden definirse libremente como comunidades que existen en la cadena de bloques.

La comunidad puede definirse mediante un conjunto de reglas a las que se llega y se codifica a través de smart contracts. Cada acción de cada participante estaría sujeta a estos conjuntos de reglas con la tarea de imponer y alcanzar un recurso en caso de que se dejara un descanso al programa.

Multitudes de contratos inteligentes componen estas reglas y funcionan en conjunto con la vigilancia de los participantes.

  • Contratos lógicos de aplicación (ALCs):

Los contratos lógicos de aplicación son códigos que permiten el funcionamiento autónomo de los dispositivos, de ahí su aplicación en el IoT (internet de las cosas).

Dichos contratos inteligentes contienen código específico de la aplicación que funciona en conjunto con otros contratos y programas inteligentes en la cadena de bloques. Ayudan a comunicarse y validar la comunicación entre dispositivos (mientras están en el dominio de IoT).

Los contratos lógicos de aplicación son una pieza fundamental de cada contrato inteligente multifunción y, en su mayoría, siempre funcionan bajo un programa de gestión.

Un ejemplo de uso de este tipo de smart contract podría ser un contrato de alquiler (dejando a un lado cuestiones legales), donde la vivienda tiene instalada una cerradura inteligente, que se desbloquea cada mes, cuando el inquilino paga la renta a su arrendador. El contrato inteligente puede incluir una cláusula que contemple que cuando el inquilino deja de pagar el alquiler tres meses seguidos, la cerradura se bloqueará.

¿Cómo funciona un smart contract?

Cómo señalamos más arriba, un smart contract funciona siguiendo esta premisa: «si/cuando X…, entonces Y…». Esas condiciones se escriben en código en la cadena de bloques y cuando se produce el evento X y ha sido verificado, una red de ordenadores ejecuta las acciones. Cuando la transacción se haya completado, la cadena de bloques se actualiza, de manera que queda registrada y no se puede cambiar. Además, solo las partes del contrato o a quienes se le haya dado permiso (las claves de cifrado), podrán ver los resultados.

Todo esto ocurre, cómo decíamos, de manera automática y autónoma, una vez las condiciones del smart contract han sido acordadas por las partes y redactadas en el código empleado por la plataforma blockchain elegida (es decir, se ha programado el contrato) y subido a esta, las partes deberán «esperar» a que las condiciones se vayan cumpliendo y desencadenando las acciones correspondientes; estas acciones pueden ser hacer una transferencia de fondos, registrar una propiedad o enviar una notificación. Idealmente, el smart contract debe incluir todas las posibles excepciones a las reglas acordadas y definir cómo se solucionarán las posibles disputas.

Si antes decíamos que una de las características de los smart contracts es su descentralización y que pueden prescindir de intermediarios, hay que señalar que la tecnología actual aún no permite esa total independencia en todos los usos y aplicaciones que se le puede dar al smart contract, ya que en algunos de ellos es necesario comprobar y verificar la información para desencadenar la acción. Esto ha dado lugar a la figura del «oráculo» (oracle).

El oráculo es una herramienta informática que permite introducir información exterior al contrato inteligente, para poder desencadenar algunas de las acciones. La fuente del oráculo es un tercero fuera del contrato, que deberá ser un tercero de confianza, que a través de una API, introducirá la información en el contrato.

Por ejemplo, en el entorno de las apuestas deportivas, el oráculo puede ser la liga o competición oficial del deporte sobre que se apuesta (trasladado al fútbol en España, el oráculo podría ser la LaLiga y sus registros de resultados).

¿Cómo se realiza un smart contract?

Para realizar un smart contract se deben seguir una serie de pasos:

  • Fijar las cláusulas del contrato entre las partes y las condiciones para su cumplimiento, así como, en su caso, las consecuencias si las condiciones, o determinadas condiciones, no se cumplen.
  • Elegir la plataforma blockchain en la que se va a escribir el contrato y que determinará el lenguaje de programación que se usará para su redacción (cada plataforma tiene su propio lenguaje, por ejemplo Ethereum emplea Solidity). En esta fase es necesaria la participación de un programador o recurrir a una de las plataformas de smart contracts que cuente con interfaz de usuario y permita a usuarios sin conocimientos de programación crear un contrato inteligente (por ejemplo, SCMS, Sistema de Gestión de Smart Contract).
  • Redactado el código (y compilado para que sea ejecutable), cada parte deberá firmarlo.
  • El smart contract se sube a la blockchain elegida, donde ya no podrá modificarse y comenzará a ejecutar las cláusulas cuando las condiciones acordadas se produzcan.

Ejemplos de smart contracts

Para ilustrar mejor qué son los contratos inteligentes, veamos algunos ejemplos de smart contracts aplicados en diferentes ámbitos:

  • Aplicando el smart contract en un contrato con aseguradora, se podrían automatizar algunos procesos; por ejemplo, un seguro de salud podría programarse para que cuando se diagnostique la necesidad de una operación, se realice el ingreso en un hospital predefinido, se soliciten las pruebas preoperatorias necesarias y, en su caso, se tramite la baja laboral del paciente.
  • Aplicado en las apuestas online (donde ya hay casos de uso), el smart contract se puede programar para realizar el depósito de apuesta y la realización del pago, una vez verificado el resultado.
  • En la compra-venta de productos se podría programar un smart contract para liberar el pago a un vendedor, una vez que el comprador recibe el producto y verifica que es lo que ha pedido.

smart contract

Aplicaciones de los smart contracts

Aunque actualmente se emplean, cómo ya hemos indicado, en el mundo de las criptomonedas y otros criptoactivos, ya se pronostica que los smart contracts podrán tener diferentes aplicaciones en un amplio abanico de sectores y actividades, entre ellos:

  • Control y seguimiento en la cadena de suministro, especialmente, en el transporte de determinadas mercancías (como pueden ser alimentos o medicamentos, que necesitan mantener unas condiciones ambientales concretas). A través del smart contract se puede «controlar» dónde y cómo se encuentran las mercancías y cuándo llegan a destino, especialmente relevante si se combina con dispositivos IoT (internet de las cosas).
  • Actualización y mantenimiento de registros, como pueden ser los registros médicos; gracias al smart contract se puede actualizar en tiempo real cualquier historia clínica en la cadena de bloques y dar paso a una siguiente acción, si fuera necesario (cómo hemos visto en el ejemplo de los seguros médicos). Además, el cifrado del blockchain garantiza la confidencialidad de los datos.
  • Financiación para actividades comerciales (o de otra índole), a través del smart contract se puede automatizar el proceso de concesión de financiación de las actividades de una empresa, cuando se vayan cumpliendo las condiciones del contrato.
  • En el sector inmobiliario, los smart contracts pueden emplearse para registrar la propiedad sin necesidad de otros intermediarios o para la firma y concesión de préstamos hipotecarios.
  • Acciones llevadas a cabo por dispositivos IoT programadas en un smart contract (sería aplicable, por ejemplo, en coches autónomos para su alquiler).
  • Transacciones de diferente índole acordadas entre partes, incluso cuando no se conozcan y no haya confianza entre ellas, puesto que el smart contract se ejecutará de manera automática cuando se cumplan las condiciones acordadas.
  • En el desarrollo de productos, los smart contracts pueden mantener un libro de contabilidad con respecto a las etapas de desarrollo de un producto. Dos partes firmarían el contrato que lo activaría. A medida que se desarrolla el proyecto acordado, las etapas y cualquier otra información relevante podrían registrarse en el contrato inteligente. Si las partes hubieran acordado cosas tales como pagos divididos, a medida que se alcanzaran estos hitos, el contrato iniciaría su liberación.

Smart contracts y Protección de datos

Cuando una o las otras partes de un smart contract es una persona física, no solo se está produciendo un tratamiento de datos personales al crearlos y firmarlos, sino que también las partes están sometidas a la ejecución de decisiones automatizadas, puesto que, como hemos visto, en eso consiste precisamente el uso de los contratos inteligentes, en desencadenar acciones cuando se cumplen las condiciones acordadas de manera automática, sin intervención humana.

Estas decisiones automatizadas pueden tener efectos en los derechos de las partes, por lo que como tratamientos de datos personales, es necesario que los smart contracts cuenten con las garantías y medidas de seguridad necesarias para proteger esos derechos.

Además, pese a que, en principio, la tecnología blockchain asegura la inmutabilidad del smart contract, lo cierto es que estos, como programas informáticos desarrollados por personas, no están exentos de poder contener errores o vulnerabilidades, lo que podría tener consecuencias para las partes del contrato, como pueden ser pérdidas económicas, pérdidas de derechos sobre bienes digitales (como puede ocurrir con un smart contract de un NFT) o materiales, fraudes, etc., o usar los datos de las partes para crear un perfil del interesado.

Todo esto lleva a la necesidad de tener en cuenta la normativa de protección de datos a la hora de usar los smart contracts y antes de desplegarlos. Entre otras medidas, será necesario identificar al responsable del tratamiento en la ejecución de un smart contract, aplicar medidas de protección de datos desde el diseño y por defecto, previo análisis de riesgos y evaluación de impacto (cuando sea necesaria), asegurar los derechos de los interesados u notificar las brechas de seguridad.

tarifas proteccion datos

Beneficios del smart contract

Finalmente, cerramos este artículo repasando los principales beneficios del uso de smart contract:

  • Precisión: Una de las principales ventajas de un contrato inteligente es que recoge detalladamente todos los términos y condiciones. Una omisión de esos términos podría provocar errores de transacción. Como resultado, los contratos automatizados evitan las trampas de llenar manualmente un montón de formularios.
  • Transparencia: Los términos y condiciones de estos contratos son totalmente visibles y accesibles para todas las partes relevantes. No hay forma de modificarlos una vez que se establece el contrato. Esto facilita la transparencia total de la transacción a todas las partes interesadas.
  • Comunicación clara: La necesidad de precisión al detallar el contrato da como resultado que todo sea explícito. No puede haber lugar para la falta de comunicación o la mala interpretación. Por lo tanto, los contratos inteligentes pueden reducir drásticamente la eficiencia perdida por las brechas en la comunicación.
  • Velocidad: Estos contratos se ejecutan en código de software y viven en internet. Como resultado, pueden ejecutar transacciones muy rápidamente. Esta velocidad puede ahorrar horas en muchos procesos comerciales tradicionales. No hay necesidad de procesar documentos manualmente.
  • Seguridad: Los contratos automatizados utilizan el nivel más alto de encriptación de datos actualmente disponible, que es el mismo estándar que usan las criptomonedas modernas. Este nivel de protección los convierte en uno de los elementos más seguros de la red mundial.
  • Eficiencia: Un subproducto natural de la velocidad y precisión de estos contratos es la eficiencia con la que operan. Mayores eficiencias resultan en más transacciones generadoras de valor procesadas por unidad de tiempo.
  • Almacenamiento y respaldo: Estos contratos registran detalles esenciales en cada transacción. Por lo tanto, cada vez que sus datos se utilizan en un contrato, se almacenan permanentemente para registros futuros. En caso de pérdida de datos, estos atributos son fácilmente recuperables.
  • Ahorro: Quizás una de las ventajas más significativas de los contratos automatizados es que eliminan la necesidad de una gran cadena de intermediarios. No hay necesidad de abogados, testigos, bancos y otros intermediarios.
  • Confianza: Los contratos inteligentes generan absoluta confianza en su ejecución. La naturaleza transparente, autónoma y segura del acuerdo elimina cualquier posibilidad de manipulación, sesgo o error. Una vez solemnizado, el contrato se ejecuta automáticamente por la red.
  • Resultados garantizados: Otra característica atractiva de estos contratos puede ser la posibilidad de reducir significativamente o incluso eliminar la necesidad de litigios y tribunales.

Cómo veis, los smart contracts aportan importantes beneficios con su aplicación, sin embargo, no podemos irnos sin señalar algunos de sus inconvenientes o debilidades, que debéis tener en cuenta a la hora de recurrir a este tipo de contratos:

  • La transparencia de los smart contracts les resta confidencialidad, por lo que para determinados acuerdos puede que no sean el medio más adecuado.
  • Los smart contracts funcionan de forma autónoma y automática gracias a una programación, pero el código de la misma está, por el momento, escrito por un humano, por lo que no están exentos de errores de programación, que podrían generar lagunas en el contrato.
  • Los contratos inteligentes son especialmente seguros, pero no infalibles y si tienen alguna vulnerabilidad, esta puede ser explotada en beneficio de una parte de un tercero que haya pirateado el contrato.
  • Su legalidad es, como mínimo y por el momento, ambigua, puesto que estamos ante una tecnología muy reciente y hay muy pocas legislaciones que la hayan tratado específicamente (en España lo más cercano sería la LSSI-CE y lo que nos dice sobre la validez de los contratos electrónicos, pero no habla exactamente de los smart contracts), de manera que en muchos sitios los contratos inteligentes se encuentran en una suerte de limbo legal, por lo que su validez podría ponerse en duda.