Home > Áreas de Derecho > SMARTCONTRACTS. ASPECTOS LEGALES
Smartcontract

 

  1.- INTRODUCCIÓN Y ORIGEN.

Los SmartContract son “scripts” (código informáticos) que permiten la ejecución autónoma y automática de todos o algunos de los elementos de un contrato. Es decir mediante el uso del código informático se verifica y ejecuta un acuerdo entre partes sin intervención de estas. Una vez iniciado el contrato, las partes dejan de tener el control sobre la ejecución del contrato o de las clausulas inteligentes.

Por lo tanto en un SmartContract solo se podrán regular elementos objetivos que no estén sujetos a la interpretaciones. Sin embargo las ambigüedades, lagunas y contradicciones, en la mayoría de los contratos son como mínimo consentidas, estas clausulas interpretables no podrían estar incluidas dentro un smartcontrat, como por ejemplo actuar con la diligencia debida, pues no cumple el requisito básico de los elementos de SmartContract; que sean clausulas objetivables esto es que el código informático o “script” pueda verificar su cumplimiento

Por lo tanto yo, y muchos de mis colegas, consideramos los SmartContract como herramientas para garantizar ”ex ante” la ejecución de (algunas) clausulas de un contrato y no como un sustituto del contrato en sí mismo. De ahí que digamos que no son ni contratos ni inteligentes.


Sin embargo debemos saber que el SmartContract no es un concepto nuevo. En 1997 cuando el jurista y criptógrafo Nick Szabo definió por primera vez el concepto de SmartContract como “Un sistema programado con reglas que podrían ser definidas en un contrato cuya ejecución es verificada por dicho sistema.” desde hace muchos años ya existen SmartContract. El ejemplo más utilizado es la máquina expendedora.

¿Por que casi no se ha hablado de esto, si esta inventado desde hace más de 20 años?

Porque los contratos inteligentes estaban sujetos a 3 importantes limitaciones.

Control de los activos reales. En el caso de la máquina expendedora ella era la que custodia los bienes, pero en tránsito económico como puede cambiar la propiedad de un inmueble o unas acciones el código informático?

– Las transacciones dinerarias y el dinero digital esta sometida a una estricta regulación, o dicho de otro forma no existía un sistema que permitiese las transacciones programables y electrónicas y que fueran admitidas por el mercado.

Falta de confianza en un sistema centralizado ¿Quien controla el ordenador que ejecuta el código del SmartContract?

2. BITCOIN, BLOCKCHAIN Y LOS SMARTCONTRACT.

Con la aparición en 2009 de Bitcoin y blockchain se solucionan 2 de las 3 principales limitaciones que arrastraban los SmartContracts desde su origen, confianza en el sistema y transacciones económicas seguras, fuera del sistema bancario.

¿Qué es Bitcoin?

Bitcoin lo podemos definir de una manera sencilla como un sistema de pago descentralizado que permite la realización de transacciones económicas directamente entre usuarios sin la necesidad de intermediarios. Estas transacciones las verifica y son registradas por el propio sistema en una base datos que es blockchain(de Bitcoin). Podríamos decir que Bitcoin es el efectivo de Internet

¿Y Blockchain?

Blockchain: Es esencialmente un registro, un libro mayor de acontecimientos digitales que está distribuido o es compartido entre muchas partes diferentes. Solo puede ser actualizado a partir del consenso de la mayoría de participantes del sistema el carácter constantemente sincronizado, distribuido y autorizado de blockchain garantizan que únicamente exista 1 registro de las transacciones anotadas.

Por lo que si juntamos el concepto SmartContract y la tecnología Blockchain tenemos: un sistema seguro basado en el principio de neutralidad que permite ejecutar de manera automática obligaciones objetivables y que consistan (principalmente) en transacciones económicas.

¿y que ventaja aportan los SmartContracts al sistema comercial actual?

Debemos partir de la premisa que cualquier negocio se basa en confianza.

Por ejemplo, si compro un libro en una tienda on-line, estoy confiando en que van a enviar el libro después de yo haber hecho el pago y la tienda en la que lo compro está confiando en que yo no voy a anular el pago una vez que me ha llegado el producto.

Es decir cuando compramos un producto en línea o llevas a cabo cualquier tipo de negocio por Internet buscamos elementos en dicha transacción que nos aporte confianza, ya sea la reputación del sitio, que alguien en quien confió me lo haya recomendado, que me fie del sistema de pago…

Así para resolver el problema de la confianza es habitual utilizamos sistemas de garantía como podría ser un contrato de escrow (como PayPal). Es decir se recurre a un intermediario el cual tiene control total sobre la transacción, ejerciendo el papel de árbitro, para prevenir comportamientos fraudulentos.

Sin embargo al utilizar SmartContract nuestro objetivo es que el software automatice y autonomice el proceso. Lo que permite hacer cumplir el acuerdo contractual sin la participación humana, es decir de forma autónoma, depositando nuestra confianza en un protocolo informático, en este caso blockchain.

Por ello se dice que con blockchain la confianza reside en la tecnología, lo que supone, a parte de un gran ahorro en intermediarios, la posibilidad de realizar contratos con personas totalmente desconocidas o anónimas ya que confiamos en que blockchain nos garantiza el cumplimiento del contrato.

Una aclaración; cuando hablo del cumplimiento del contrato no me refiero a que este se realice efectivamente, es decir que el libro me llegue a casa, sino que me garantiza que en caso de que el libro no me llegue a casa, el dinero me sea devuelto.

Hasta ahora los sistemas de garantía se basaban en soluciones que entraban en funcionamiento en fase de ejecución del contrato; regulación, seguros, sistema judicial… La confianza se institucionalizó. Sin embargo, todos estas garantías se inician en la fase de ejecución del contrato y suponen un coste tanto económico ( abogados, pago de seguros…) como de tiempo.

Por el contrario los SmartContract funciona como un sistema de garantía ”ex ante” , es decir a través del Smarcontract y me garantizó el cumplimento de un contrato o su penalización por incumplimiento, antes de que este se ejecute, por lo que es muy importante definir bien y de manera muy concisa tanto los requisitos para el cumplimiento del contrato, como las consecuencias en caso de incumplimiento.

3. LIMITACIONES ACTUALES.

Sin embargo los SmartContract siguen teniendo algunas limitaciones que superar:

En primer lugar la dificultad del código informático para disponer de activos reales, inscribir el cambio de titularidad de un inmueble, alquilar y tener acceso a u coche o una casa son acciones que hoy en día aun no están generalizadas. Sin embargo, a través de IoT, la propiedad inteligente y la tecnología móvil, esta limitación se irá paliando poco a poco.

Por otro lado, si queremos que los contratos inteligentes sean algo común en las relaciones comerciales, debemos ser capaces de que estos interactúen con el mundo real y reciban información de hechos que sucedan posteriormente a la firma y ejecución del contrato. Por ejemplo; que el contrato venda o compre acciones o tokens cuando estos tengan un valor determinado, que compruebe un resultado deportivo para el pago de una apuesta… Esta interacción se hace a través de los oráculos.

Los oráculos son herramientas (normalmente scripts) que permiten validar cláusulas de los SmartContracts que hacen referencia a información externa. Son el tercero que digital que verifica y ejecuta determinados términos del contrato. A través de ellos le indicamos al SmartContract que realice una transacción solamente si determinada condición externa se cumple o que ejecute las condiciones para los casos en los que no se cumpla.

El problema de los oráculos es que las fuentes que utilizan son fuentes externas al contrato. Son un tercero en el que hay que confiar, pues no suelen estar basadas en Blockchain, por lo que podrían ser modificadas, crackeadas o simplemente desaparecer. Es decir centraliza el resultado del contrato, justo de lo que huimos al redactar/programar un SmartContract

Sin embargo existen proyectos que están desarrollando soluciones para corregir esto como Orisi , Oraclize o AEternity. Que básicamente lo que hacen es combinar 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.

 4. CONSIDERACIONES LEGALES

Ahora que ya sabemos que es un SmartContract ¿Son válidos dentro de nuestro ordenamiento jurídico? ¿Dónde se regulan?

Nuestro ordenamiento jurídico no exige ningún requisito de forma, por lo que para saber si nuestro SmartContract es valido o no debemos acudir en primer lugar al Título II del Código Civil donde se regulan los requisitos que cualquier contrato debe tener.

Los contratos existen desde que una o varias personas consiente en obligarse, respecto de otra u otras, a dar alguna cosa o prestar algún servicio y obligan a las partes por el mero consentimiento. Siempre y cuando se cumplan los siguientes requisitos:

 1. Consentimiento de los contratantes.

 2. Objeto cierto que sea materia del contrato.

 3. Causa de la obligación que se establezca.

Así que para que un SmartContract tenga validez debemos cumplir los requisitos esenciales del contrato

El artículo 1262, indica que “En los contratos celebrados mediante dispositivos automáticos hay consentimiento desde que se manifiesta la aceptación

Esta aceptación en un SmartContract no tiene ninguna complicación, ya que se puede manifestar de varias formas. La más obvia es a través de la firma electrónica. Existen otras como los actos propios, es decir, si yo envió un pedido a una dirección, hemos de entender que estoy aceptando el contrato, aunque no lo haya firmado.

Sin embargo debemos tener en cuenta los requisitos del consentimiento. Así por ejemplo antes de firmar un contrato deberíamos comprobar si el consentimiento está viciado o comprobar si tiene capacidad jurídica para firmar un contrato (menores incapaces), pues en caso contrario nos podríamos encontrar con que el contrato es nulo o anulable.

 

– Objeto cierto que sea materia del contrato.

Pueden ser objeto de un contrato todas las cosas que no están fuera del comercio de los hombres, incluso las futuras, y todos los servicios que no sean contrarios a las leyes o a las buenas costumbres. Debemos tener en cuenta que: El objeto de todo contrato debe ser una cosa determinada en cuanto a su especie. La indeterminación en la cantidad no será obstáculo para la existencia del contrato, siempre que sea posible determinarla sin necesidad de nuevo convenio entre los contratantes. Así a la hora de establecer variables, éstas tienen que estar determinadas o determinables por lo indicado en el SmartContract.

Por lo que podemos prever que el coste de un servicio de transporte se modifique en caso de alteración de precios en el combustible, o por el numero de envíos realizados, pero siempre deberán ser condiciones determinables y objetivables, no solo por una razón técnica, sino también por una razón jurídica.

– Causa de la obligación que se establezca.

La causa, es el motivo o razón determinante que llevó a las partes a celebrar el contrato. Un contrato no tiene causa cuando las manifestaciones de voluntad no se corresponden con la función social que debe cumplir, tampoco cuando se simula o se finge una causa. Por lo que la causa no puede estar oculta ni ser ilícita (negocios simulados, objetos fuera de comercio, servicios imposibles…).

Por lo tanto si el SmartContract cumpla estos tres requisito, tendrá validez en nuestro ordenamiento jurídico y desplegará todos sus efectos. Esta es la teoría general, por lo que también deberá cumplir los requisitos específicos que tenga cada tipo de contrato( consumidores, bienes inmuebles, mercantil,…)

Pero, teniendo en cuenta que una vez firmado un SmartContract, este se ejecuta de manera autónoma ¿Qué pasa si se firma un SmartContract que no cumpla uno de estos requisitos?

En estos casos nos encontraríamos ante una de las causas de ineficacia del contrato.

La ineficacia hace referencia a todos aquellos casos en los que el contrato no llega a desplegar los efectos a los que estaba destinado.

Este es para mí el principal problema de un SmartContract es que nos encontremos con alguna de las múltiples circunstancias existentes a lo largo de todo nuestro ordenamiento jurídico que provoque la ineficacia del contrato.

Veamos los 2 tipos de ineficacia, por defectos en el contrato.

Nulidad de pleno derecho es aquella imperfección del contrato que priva de eficacia jurídica a la relación contractual, por lo que en el caso de haber realizado algún acto de ejecución del mismo, procede la reposición de las cosas al estado que tenían al tiempo de su celebración.

La nulidad tiene lugar cuando el acto es contrario a las normas imperativas o cuando carece de algún requisito del art. 1261 CC (consentimiento, objeto y causa) que se entiende inexistente.

La nulidad es definitiva, el paso del tiempo no la subsana, y se podrá ejercitar la acción en cualquier momento. Lo que si prescribe, a los 5 años, es la restitución de las cosas que hubiesen sido dadas, entregadas u obtenidas en virtud de un contrato nulo.

La anulabilidad es una Invalidez de contrato de menor grado que la nulidad absoluta, ya que, sin contravenir una norma imperativa ni faltar alguno de los requisitos esenciales del mismo presenta una anomalía adolece de ciertos defectos como son la falta de capacidad de obrar de los contratantes o la concurrencia de vicios en la voluntad (art. 1265 CC que dice: “será nulo el consentimiento prestado por error, violencia, intimidación o dolo”). En este caso la acción prescribe a los 4 años y se puede subsanar el defecto.

Debemos tener esta en cuenta esta posibilidad a la hora de redactar/programar un SmartContract, que permitan anular, suspender o retrotraer los efectos de un contrato en caso de alegue o acredite alguna de estas circunstancias. Así en el caso de la nulidad, donde se tiene el contrato por inexistente y tiene efectos retroactivos los cuales debemos trasladar a la «cadena de bloques» la cual por definición es inmutable. La solución se la dejo a los técnicos.

5. CONCLUSIONES

Los SmartContracts en España son totalmente válidos siempre que cumplan los requisitos legales previstos en el Código Civil y otras leyes específicas, pero debemos tener en cuenta las especiales característica de la tecnología, en este caso blockchain a la hora de redactar/programar un SmartContract .

Por lo que tendremos que usar lenguaje mas claro y preciso, y evitar en la medida de los posible las cuestiones subjetivas como el carácter abusivo de una cláusula o conflictos de intereses, los supuestos imprevisibles o inevitables, caso fortuito incumplimientos por fuerza mayor. Pues estas cuestiones no pueden ser resueltas a través de un SmartContract.

También debemos incluir en el contrato herramientas que permitan cancelar, pausar o anular el contrato.

Mi consejo a la hora de utilizar esta forma de contrato, es hacer un contrato mixto, es decir, un contrato digital o en papel donde ser regulen o acuerden las clausulas no objetivables, e incluir mediante un SmartContract únicamente las clausulas objetivables, por ejemplo en un contrato de alquiler de un vehículo, podemos redactar en un contrato digital todas los términos del contrato y vincular a este una SmartContract, en la que únicamente ser regule el pago del contrato en virtud de del tiempo que utilice el vehículo.

Esta es una primera y genérica aproximación legal a los SmartContract en algún articulo posterior iremos profundizando en el tema. Espero que este extenso artículo les haya sido de ayuda.

También te puede interesar leer estos artículos...
6 meses con blockchain
Mis primeros seis meses con Blockchain