'Smart Contracts'. Introducción al 'contractware'
Término acuñado en un artículo publicado en 1996 por el jurista e informático norteamericano Nick Szabo en la revista “Extropy” (Building Blocks for Digital Free Markets). Muchos creen que Szabo es la persona tras el pseudónimo “Satoshi Nakamoto”, el creador de Bitcoin (Blockchain), aunque él siempre lo ha negado.
Se fijó en el funcionamiento de las máquinas expendedoras y anticipó que con los avances digitales y mecánicos se podría automatizar la ejecución de contratos cada vez más complejos. Dijo que los sistemas hardware y software podrían emular todo el ciclo de vida contractual reemplazando cualquier intervención humana en los procesos de contratación. Para Szabo, la máquina expendedora cumple dos requisitos críticos en la contratación: en primer lugar, ejecuta las actividades propias del intercambio cogiendo el dinero y dispensando los productos. También incorpora a la máquina los mecanismos de seguridad necesarios para que el coste de violentarla para acceder a los productos sin pagar sea superior a lo que se obtiene por el robo. Así, las máquinas expendedoras son útiles con las actuales medidas de seguridad, porque dispensan productos baratos; refrescos, snacks, chocolatinas… A nadie le merece la pena liarse a mazazos con una máquina para acabar consiguiendo estos productos. Si dispensasen brillantes probablemente sería habitual que las forzasen para acceder a ellos.
El imparable desarrollo tecnológico de los últimos años y la aparición de fenómenos como Blockchain han propiciado que las ideas de Szabo, que habían pasado desapercibidas, cobren inusitada importancia. Efectivamente los avances digitales y entre ellos fundamentalmente blockchain hacen que las entonces utópicas ideas de Szabo sean hoy realizables. Ya no se trata de simples ingenios mecánicos sino de la combinación de sistemas digitales, redes telemáticas y dispositivos conectados a internet lo que hace que sea posible sacar su idea del reducido ámbito de la máquina expendedora.
Son el máximo exponente de lo que se ha dado en denominar “Blockchain 2.0” y pudieran suponer una revolución jurídica. Proponen trasladar la prosa contractual a código informático y que este sea rubricado por las partes del contrato. De esta forma los pactos se convierten en autoejecutables, prescindiendo de la ulterior voluntad de las partes.
Para profundizar en los contratos inteligentes hay que ponerlos necesariamente en conexión con otros dos fenómenos de reciente irrupción; Blockchain y las propiedades inteligentes (Smart properties). Los tres conforman un ecosistema sobre el que conviene reflexionar de forma conjunta.
Término inglés que se traduce como “cadena de bloques”. Se trata de un protocolo informático que posibilita la creación de “Registros distribuidos”. Entenderemos por “Registro distribuido” a aquel registro que se construye de forma que las anotaciones que lo conforman se consensuan entre los anónimos intervinientes en su creación. Además, cada uno de ellos cuenta con una copia actualizada de este Registro, que es único y universal. Esta “matriz de prueba” que ha servido para evitar el “doble gasto” en el trasiego cripto-dinerario puede también ser utilizado para la creación de otros “cripto-Registros” siempre que los elementos que los conformen puedan ser matemáticamente representados.
Lo auténticamente revolucionario de este procedimiento es la forma de consensuar las anotaciones que serán incorporadas al Registro. Hablamos de un consenso matemático en el que cada uno de los que interviene para alcanzarlo (mineros) ha de resolver un reto computacional, un puzzle matemático que se solventa por fuerza bruta (prueba/error). La única forma de condicionar este consenso es atesorar una capacidad computacional superior al 50% de la de todos los mineros que intervienen. Como la superación del reto es onerosa (implica gasto en hardware y electricidad) influir en la decisión cuando participan un número suficiente de mineros es tan caro que para merecer la pena, la cantidad defraudada tendría necesariamente que ser muy elevada.
Estamos en definitiva ante un procedimiento probatorio; ante una prueba generada por interposición descentralizada. Sólo es auténtico lo que consta en la matriz. Sin embargo la decisión de las anotaciones en aquella, así como su custodia, es compartida entre los que intervienen en su creación.
Las propiedades inteligentes
El segundo de los componentes del ecosistema planteado es la “propiedad inteligente” o “cripto-propiedad”. Una vez constatada la eficacia de los registros distribuidos para el intercambio dinerario es lógico plantearse que otros bienes y derechos pueden ser transferidos aprovechando el concurso de este protocolo. Para lograrlo es imprescindible la previa “tokenizacion” del bien o derecho susceptible de ser transferido. “Tokenizar” es representar matemáticamente un derecho o propiedad. Una secuencia de letras y dígitos (información) que los representa unívocamente y que se incorporan a un registro distribuido. Los “token” actúan como las fichas de un casino que representan un determinado valor en dinero de curso legal. Para poder transferir la titularidad de un bien o derecho, primero has de representarlo en un formato digital compatible con el protocolo que utilizas para transferirlo.
En un entorno digital estas fichas no son sino “datos” (información) que representa bienes o derechos. Su funcionamiento pretende el de los títulos valores. La posesión otorga la titularidad sobre ese concreto bien o derecho y habilita para su ulterior disposición, transfiriéndola a un nuevo titular. La virtud de Blockchain cuando emula el funcionamiento de los títulos valores es la misma que habilita el uso de las “cripto-monedas”; impide su múltiple disposición. Soluciona el “problema del doble gasto”. Sin embargo no se garantiza, y esto es muy importante, la singularidad de cada transacción (que el titular de ese bien o derecho no haya repetido el procedimiento con otros “registros distribuidos”). Por este motivo, no se puede afirmar categóricamente que la propiedad inteligente emule a la tradicional.
Naturaleza jurídica de la propiedad inteligente
No es fácil encontrar referencias normativas de este término. La ley de firma electrónica Suiza, la define confirmando el ecosistema. La redacción vincula la propiedad inteligente con los registros distribuidos (blockchain) y con los contratos inteligentes. Dice:
(1)Información digital que incluye todos los elementos del derecho de propiedad, (2) que está registrada en Blockchain o en otro Registro distribuido, (3) que puede ser transmitida mediante la ejecución de un protocolo y (4) que puede ir o no ir acompañada de funciones adicionales gobernadas por un Smart contract que esta regido por un código y/o introducción manual de datos.
La propiedad inteligente no puede ser considerada como un derecho real, como un título que alguien posee y que le otorga propiedad de una cosa o titularidad de un derecho. En primer lugar, porque no está incluido entre los supuestos legalmente tasados. Además, como se ha dicho, no se trata de un derecho absoluto que se pueda oponer “erga-omnes”. Para que así fuera, el uso del protocolo tendría que garantizar que no se ha dispuesto del bien o derecho con anterioridad. Que ese bien no ha sido “tokenizado” e incorporado a otro Registro distribuido. Por último, no es fácilmente reconocible por los terceros potencialmente afectados.
También ofrece dudas la asimilación por parte de la comunidad jurídica de la posesión de las cripto-propiedades. No se puede deducir posesión de la ejecución de un protocolo. No hay posesión en tener una clave[2] que te da acceso a un fichero.
Para arrojar luz sobre esta cuestión conviene fijarse en la normativa de los Estados norteamericanos de Arizona y Vermont, que son en buena medida pioneros en la regulación de estas cuestiones. La normativa[3] sobre blockchain y contratos inteligentes del Estado de Arizona dice que son “ficheros de prueba”; una forma de “securizar” la información. Quien posee la clave privada ostenta un derecho de uso o propiedad sobre esa información. La normativa no considera esta información (datos) como “cosas” o “derechos”, ni tan siquiera como “valores” sino simplemente como “información”. Por consiguiente, para el legislador de Arizona, la “cripto-propiedad” no sería sino el derecho a acceder y/o transmitir determinada información (datos).
Por su parte, el Estado de Vermont también ha modificado su normativa introduciendo previsiones que incorporan presunciones legales vinculadas al uso de estas tecnologías; que los ficheros blockchain referidos a hechos se presumen auténticos. Sin embargo esta presunción no alcanza a la veracidad, validez o naturaleza legal de los contenidos incorporados en ellos (los ficheros). Por eso, la previsión establece que la carga de la prueba de que un fichero no es auténtico recae sobre aquellas personas a quienes su aportación o invocación perjudica.
Estamos por lo tanto ante títulos “sui generis” que otorgan a su titular el derecho a acceder a una base de datos (el Registro Distribuido). Hablamos entonces de un instrumento probatorio sin efectos legales específicos. Si el “token” ha sido transmitido a través de un contrato (contrato inteligente), las Partes podrían quedar vinculadas por este pacto, pero es cuestionable que el token sea oponible frente a terceros.
Los contratos inteligentes
Son el tercer componente del ecosistema. Las propiedades inteligentes pueden ser automáticamente transferidas mediante la ejecución de un código informático. Los contratos inteligentes no son sino un código informático (contractware[4]) que está guardado en un Registro Distribuido y cuya ejecución garantiza que los datos que se obtengan de ella serán igualmente guardados en este Registro.
El “contractware” es la traslación de la prosa jurídica (contractual) a código informático. En la codificación se incorporan no sólo los pactos alcanzados sino también las consecuencias que se pudieran derivar del cumplimiento o incumplimiento de los mismos. Si por ejemplo se formaliza la transferencia de un “token”, el contrato inteligente no se limita a enunciar los pactos de traslación. También verifica los datos y ejecuta las consecuencias acordadas por los firmantes. De esta forma, por ejemplo, el código recibe las prestaciones de las partes (el pago en “cripto-monedas” y el mandato de transferencia de los “token”) y remite a cada una de las partes la prestación de la otra. Muchos autores rechazan que estas secuencias de código puedan ser consideradas auténticos contratos, ya que mientras los simples contratos se limitan a incorporar promesas del futuro cumplimiento de las prestaciones, los inteligentes las ejecutan.
Cuando se programa un contrato inteligente, el tipo de código que se implementa es condicional. Sigue el esquema: “si pasa esto… haces aquello”. Si pasa esto otro, haces aquello otro”. Se trata en definitiva de un código que se adecua fácilmente a la prosa jurídica y de sencilla implementación. Esta circunstancia hace que la denominación de este tipo de contratos como inteligentes sea habitualmente reprochada. El motivo es la moderna acepción del término “inteligencia artificial” se refiere a las máquinas que tienen “independencia cognitiva”, que se logra a través de lo que se ha dado en denominar la “computación neuronal”. Posibilita máquinas que aprenden por sí mismas y cuyas respuestas en ocasiones son impredecibles. Sin embargo, la codificación condicional no logra máquinas con independencia cognitiva y con respuestas impredecibles. Justo lo contrario. La seguridad jurídica de los contratos inteligentes depende de la previsibilidad de la máquina ante concretas circunstancias que han sido previamente programadas. En consecuencia, estos contratos no son inteligentes en este sentido.
Funcionamiento de los contratos inteligentes
El ciclo de vida contractual tiene tres fases: la de generación, la de perfección y la de consumación. La fase de generación es la de información, negociación y redacción del pacto a formalizar, la de perfección es en la que se produce la reunión de voluntades en base a las premisas establecidas en la primera fase. En la de consumación, las partes proceden al cumplimiento (o incumplimiento) de las prestaciones comprometidas.
Los contratos inteligentes no tienen especial incidencia en las dos primeras fases. En la de generación, cuando se contrate con consumidores, el predisponente habrá de asegurar la previa entrega de la información pre-contractual a estos antes de la perfección. La normativa en vigor ya prevé para los contratos no inteligentes que la entrega de esta información se realice en “soporte duradero”[5]. No parece probable que la normativa pro-consumidor se vea afectada por la auto-ejecución de las prestaciones. De hecho es previsible que al derecho de información del consumidor se sume la relativa a la codificación y auto-ejecución de los pactos.
En la fase de perfección tampoco se aprecian grandes novedades. Tanto en los contratos inteligentes como en los que no lo son será preceptivo el uso de firmas electrónicas de las contempladas por la legislación en vigor, que incluye la firma electrónica avanzada basada en criptografía de clave asimétrica, que es la inicialmente prevista para formalizar los contratos inteligentes. Habrá sin embargo que considerar que, en determinadas circunstancias, cuando la normativa en vigor exija la identificación de los que intervienen, no bastará la utilización de la infraestructura de clave pública sin que la asignación de las claves asimétricas requiera la previa identificación de quien las solicita[6].
Hasta aquí las coincidencias. En un contrato no inteligente, las partes retienen sus “ejemplares firmados” o el certificado expedido por un “tercero interpuesto”[7] al que se le ha encargado certificar la reunión de voluntades. Si existe la necesidad de acreditar la existencia y contenido de los contratos, cualquiera de las partes podrá exhibir o aportar su ejemplar. Sin embargo, cuando el contrato es inteligente, tras la reunión de voluntades, el código informático se incorpora a un Registro Distribuido, permaneciendo en una “dirección” del mismo hasta que es finalmente ejecutado. La incorporación del código al registro garantiza su inalterabilidad. Nadie podrá modificarlo, de tal forma que el incorporado a la cadena será el que finalmente se ejecute y sirva como base para la obtención del “data exit[8]”.
Además, cuando el contrato sea inteligente, quien lo predisponga tendrá que incorporar una cláusula en la que el adherente consienta en la codificación de los pactos y en la subsiguiente ejecución automática de los mismos. También deberá recabarse el consentimiento para el uso de específicas fuentes de información que rellenen las variables del código informático antes de su ejecución. En definitiva, el contrato deberá incorporar un listado de los oráculos y de los IoT´s (internet of things) que servirán como fuente para incorporar la información por ellos suministrada a las variables del código informático (contrato inteligente), como luego veremos.
Para entender el funcionamiento del “contractware” es también imprescindible entender el significado de “oráculo”. Cuando se formaliza un contrato inteligente que no es sino un programa de ordenador (código), hay datos que son desconocidos en ese momento. Son datos futuros que de una u otra forma condicionaran el resultado de la ejecución de ese código. Cuando se crea el “contractware”, los datos futuros son representados por variables a las que se asignará el valor obtenido de la consulta a una fuente electrónica de información previamente acordada por las partes.
Antes de la ejecución del código todas las variables que haya en el mismo habrán de ser rellenadas con la información facilitada por las fuentes pactadas entre las partes. Imaginemos por ejemplo la automatización de un juego de azar. Se codifica de tal forma que quien quiera participar ha de transferir a un determinado monedero la cantidad (en cripto-moneda) que se pide para participar. Supongamos que la apuesta se refiere al resultado de un partido de futbol cuyo resultado se conocerá tras la finalización del mismo (y también del plazo que los jugadores tienen para apostar). En las bases de la apuesta (contrato inteligente) los jugadores han sido informados que el resultado se conocerá tras “lanzar” una pregunta (query) a la página web de, por ejemplo, la Federación Española de Futbol. Tras la finalización del partido, el programa lanzará la pregunta al oráculo y rellenará la variable. Así tendrá la información necesaria para ejecutar el código que automatiza la apuesta. La ejecución del código permitirá determinar, en su caso, quien es el jugador o jugadores que han ganado la apuesta (acertado el resultado) y transferir automáticamente (también en cripto-moneda) la cantidad que en cada caso proceda.
Los datos que “alimentan” a las variables del código informático los denominamos “data entry”. Los oráculos no son el único “data entry” (la única fuente de información) para rellenar las variables de un contrato inteligente. Estas también pueden ser rellenadas por la información proporcionada por “IoT´s”.
Los “IoT´s” no son sino “cosas internetizadas”, dispositivos conectados a internet. En la actualidad nuestros Smart-phones o televisiones inteligentes ya están conectados a internet y por lo tanto tienen la consideración de “IoT”. Si abrimos la app del tiempo en nuestros Smart-phones, tenemos la posibilidad de consultar las previsiones en cualquier parte del mundo. Esa información puede ser proporcionada por un oráculo (por ejemplo, la página web de la AEMAT) o por un “dispositivo internetizado” (o una red de ellos) que cuentan con los sensores adecuados para captar esa información y remitirla en tiempo real a un servidor o a una pluralidad de ellos. Cada vez se desarrollan más dispositivos conectados que incorporan sensores que capturan información de lo más variada que pueden servir como “data entry” en los contratos inteligentes y también son cada vez más las cosas internetizadas desplegadas a lo largo y ancho del mundo. Así, la consultora Gartner estima que para el año 2020 habrá la friolera de 20.4 billones de dispositivos conectados en el mundo[9].
El resultado de la ejecución del código informático una vez se han rellenado las variables, da como resultado nuevos datos que reciben la denominación de “data exit”.
Esta información (data exit) puede ser guardada en un Registro distribuido (cadena de bloques) de tal forma que exista una constancia irreversible y permanente del resultado de esta ejecución. Por ejemplo, el resultado de la ejecución de un contrato inteligente puede ser el cambio de titularidad de una propiedad inteligente (tokenizada) o una transferencia en “cripto-moneda” al monedero de uno de los intervinientes.
El destino del “data exit” pueden ser también los IoT´s. Hablamos de los denominados “disparadores[10]”, de tal forma que el resultado de la ejecución del código puede llegar a tener consecuencias mecánicas (como la de las máquinas expendedoras a las que se refería Nick Szabo). Pensemos por ejemplo en el “car sharing”. Me refiero a esos vehículos compartidos que proliferan en nuestras ciudades. Para utilizarlos, los usuarios buscan en sus dispositivos los más cercanos y eligen el vehículo más próximo. Para acceder a ellos, se remite a los usuarios un código. El “código reto” de cotejo se remite al vehículo seleccionado a través de internet, con lo que sólo el usuario registrado que ha reservado ese vehículo podrá acceder al mismo. Esta técnica, cada vez más usada en los países anglosajones, tiene múltiples utilidades y evidente transcendencia jurídica. Puede ser utilizada por ejemplo para los alquileres de inmuebles. Con “cerraduras internetizadas” se puede disponer la apertura de la puerta de un inmueble a la persona que haya formalizado el contrato inteligente de alquiler. Estamos ante una suerte de “entrega de llaves” en la medida en que a través de este procedimiento se concede el acceso a un bien mueble o inmueble a quien ha formalizado el correspondiente contrato inteligente.
Otro uso habitual de los “disparadores” es para la automatización de la financiación de vehículos a motor. Se formaliza el contrato inteligente en el que se ha programado un cargo mensual de la cuota en la cuenta (monedero) de quien lo paga a plazos. También se codifica una regla según la cual en el momento en el que quien adquiere el vehículo no haya atendido el pago de tres cuotas, se ejecuta una funcionalidad del programa que se conecta con el vehículo, le remite una instrucción de parada (el usuario no puede volver a arrancar el vehículo) y lo geo-localiza para su retirada por quien haya financiado su compra.
Los contratos inteligentes pueden prever pagos aplazados o al contado. Cuando los pagos sean aplazados como en el ejemplo de la financiación de vehículos a motor, la entidad financiera ostenta la reserva del dominio sobre los vehículos cuya adquisición financia. Si el prestatario impaga, no se materializa la traslación de la propiedad de ese vehículo (no se modifica la titularidad en el registro). Si el pago es al contado, el código puede programarse de tal forma que el comprador transfiera a la dirección que disponga el código de la cantidad estipulada y esta quede en depósito hasta que se cumpla la contraprestación contractualmente pactada. Imaginemos que se pacta la adquisición de unos “token” que representan una participación en una concreta sociedad. El código reclama a las partes sus respectivas prestaciones. La parte vendedora remite la transferencia firmada de los “token” a la dirección del contrato inteligente y el comprador transfiere el precio estipulado a la misma dirección. El código, mediante consulta al registro distribuido, verifica que los “token” no han sido ya transmitidos y que el pago es por el importe acordado. Una vez comprobados estos extremos, el código incorpora al registro el cambio de titularidad de esos “token” y remite las “cripto-monedas” a la dirección del monedero del vendedor.
La normativa de UNCITRAL y los contratos inteligentes
Muchos de los conceptos y definiciones legales de la normativa sobre comercio electrónico se inspiran en las directrices marcadas por la Comisión de las Naciones Unidas para el Derecho Mercantil Internacional (CNUDMI o UNCITRAL por sus siglas en inglés). Esta Comisión ha afrontado el exponencial crecimiento de las relaciones electrónicas en el tráfico internacional con la creación de diversos instrumentos acreditativos que se basan en los principios de (i) equivalencia funcional entre el documento electrónico y en papel y (ii) neutralidad tecnológica.
Ante la ausencia de específica normativa sobre los contratos inteligentes, puede resultar útil acudir a la de UNCITRAL que como se ha dicho, lleva décadas inspirando la normativa sobre contratación a través de medios electrónicos. Así, a la contratación electrónica resultan de aplicación la Ley modelo de firma electrónica del 2001, la Convención para el uso de las comunicaciones electrónicas en contratos internacionales de 2005 y la Ley Modelo de CNUDMI sobre Documentos Transferibles electrónicos (LMDET)
Esta última pudiera servir como referencia para futuras iniciativas legislativas sobre los contratos inteligentes. Se refiere a los documentos electrónicos transferibles, pensados para emular el funcionamiento de los títulos valor. De esta forma se pueden representar concretos bienes muebles y, en su caso, transmitir el título a ellos asociados
La única diferencia entre documento electrónico transferible y “token” es que el primero es un conjunto de datos y el segundo otro conjunto de datos pero esta vez asociados a un código informático (programa de ordenador), que puede llegar a propiciar que los pactos se auto-ejecuten, prescindiendo de la ulterior voluntad de las partes. Es decir, que la transferencia de la titularidad sea automática; mediante la ejecución de ese programa cuando se cumplan los requisitos pactados por las partes.
¿Resultan de aplicación los principios fundamentales de la normativa UNCITRAL a los contratos inteligentes?
La normativa UNCITRAL se construye sobre tres principios fundamentales: de no discriminación, de neutralidad tecnológica y de equivalencia funcional, que requieren un análisis preliminar para decidir sobre su aplicabilidad a los contratos inteligentes.
Sobre el principio de no discriminación, recordar que la normativa sobre comercio y firma electrónica establece que no se negará valor legal a los documentos por el mero hecho de tener un formato electrónico. Así se establece una presunción de legalidad para la forma electrónica. Como Blockchain y los contratos inteligentes tienen este formato, la presunción afecta a la tecnología del Registro Distribuido.
Por otro lado, el “principio de neutralidad tecnológica” persigue eludir la obsolescencia en la redacción de las normas, propiciando una inmediata aplicación tras los avances tecnológicos. En consecuencia, es un principio que favorece los procedimientos novedosos como blockchain o los contratos inteligentes así como la transición a estas tecnologías.
Es el principio de equivalencia funcional el que más problemas suscita. A fin de cuentas la equivalencia es con los documentos (también contratos) en soporte papel. Por eso, los contratos inteligentes deberían satisfacer los requisitos propios de los documentos en este soporte: ser en forma escrita, originales y firmados. Los contratos inteligentes pueden cumplir el requisito de forma escrita (el código informático es una forma de escritura que puede ser posteriormente consultada), originales (la incorporación al Registro distribuido les otorga esta condición) y firmados (como se ha dicho las transacciones se firman utilizando criptografía de clave asimétrica – firmas electrónicas-). Sin embargo, no parece que UNCITRAL estuviese pensando en código auto-ejecutable, con lo que su equiparación con un documento en papel pudiera no ser suficiente para dar respuesta a los interrogantes jurídicos que se puedan suscitar.
También es conveniente analizar los requisitos de la normativa UNCITRAL para la formación de los contratos. Como la oferta y la aceptación de una transacción electrónica no son sino “mensajes de datos” y este término se define en la LMDET como la información generada, enviada, recibida o guardada por medios electrónicos, entenderemos incluidos cualesquiera mensajes electrónicos incluyendo las interacciones utilizando código informático (contrato inteligente). El principio de la forma escrita lo cumplen en la medida en que el contrato formalizado esté disponible para subsiguiente consulta, como puede ser el caso de los contratos inteligentes. El requisito de la firma será cumplido en la medida en que el método de firma electrónica que se utilice sea auténticamente identificativo. Como se ha dicho, la utilización de la criptografía de clave asimétrica (asignación al firmante de claves pública y privada) sólo será identificativo cuando antes de la asignación, se haya identificado al receptor y usuario de esas claves. Sin embargo, si se utiliza la criptografía de clave asimétrica de la misma forma que se hace en Bitcoin (se asignan las claves asimétricas sin que sea preceptivo ni tan siquiera manifestar la identidad), entenderemos que la rúbrica es anónima y por lo tanto no identificativa con lo que no se cumpliría uno los requisitos; que el contrato esté firmado por quienes intervienen. La firma no es sino vincular la manifestación electrónica de voluntad con una concreta identidad.
Por otro lado, el requisito de integridad se cumple con holgura en los contratos inteligentes. No hay que olvidar que hablamos de un código y unos datos que se guardan en un registro distribuido bajo protocolo blockchain. Como este protocolo no es sino una concatenación de hash´s[11] de bloques de transacciones que se guardan en un registro compartido, la alteración de lo firmado resulta ciertamente difícil.
En definitiva, parece que la normativa UNCITRAL sobre contratación electrónica no es tan ajena a Blockchain. A fin de cuentas, los contratos inteligentes no son sino la culminación de los procesos de contratación digital. La normativa sobre firmas o comunicaciones electrónicas en los procesos de contratación resultan claramente de aplicación. Las expresas previsiones legales sobre documentos electrónicos transferibles dan carta de naturaleza a los títulos valor y a las matrices electrónicas de prueba. No obstante, la normativa no alcanza a incluir expresas previsiones sobre la auto-ejecución de los contratos o sobre la normativa de aplicación o la jurisdicción competente para dilucidar las controversias que se pudieran derivar de la ejecución de este código.
Importancia juridica de los contratos inteligentes
Hay que comenzar aceptando, aunque sólo sea desde una perspectiva teórica, la capacidad normativa del código informático. Habrá de aceptarse como una cuestión “de facto” ya que la ejecución del código informático en los ordenadores de sus usuarios pueda llegar a condicionar su comportamiento o el de terceros afectados por dicha ejecución. Así, se podría hablar de una “capacidad regulatoria sui generis” de los contractos inteligentes, ya que pueden coincidir en sus efectos con la Ley y con los contratos tradicionales. Imaginen por ejemplo las normas de uso de una red social que condicionan a los millones de usuarios de esta alrededor del mundo. La forma de publicar, adherirse, denunciar o retirar los contenidos; las condiciones de acceso al sitio…etc. Generan un hábito condicionado por la programación. El usuario de ese programa de ordenador (código de la red social) difícilmente podrá salirse de los estándares programados por los creadores de esta.
Si bien es cierto que la regulación legal y el código informático tienen similitudes, también lo es que se advierten notables diferencias. La principal probablemente sea que el código informático está creado por actores privados mientras que la responsabilidad regulatoria de quienes ahora legislan corresponde casi siempre a agentes previamente legitimados (legisladores y jueces) cuya misión es velar por el bien común. Además, estos agentes tienen jergas y reglas gramaticales autónomas que son difícilmente asimilables por individuos ajenos a cada una de estas disciplinas. Por ejemplo, un contrato inteligente sólo se regirá por las reglas que se hayan previsto en su diseño. Desde una perspectiva informática es difícil que el programador tenga en consideración, cuando diseña el programa, las causas de nulidad del contrato, salvo que reciba expresas indicaciones en este sentido. Por lo tanto, es posible que existan discrepancias entre ambos sistemas (el legal y el informático) que den lugar a la ejecución de contratos inteligentes que contravengan la ley, lo que sin duda puede resultar problemático. Por ello es habitual que se distinga entre los simples contratos inteligentes, que no son sino código informático con una determinada funcionalidad y los “contratos legales inteligentes” que son aquellos que trasladan a código informático unos previos pactos que cumplen con la normativa que resulte de aplicación en cada caso. En consecuencia, uno de los retos de los contratos inteligentes es crear armonía entre ambos sistemas; el legal y el informático de tal forma que se generen mecanismos que garanticen el cumplimiento por parte del código informático de la normativa en vigor.
Code is law?
Los avances tecnológicos comienzan a tener la capacidad de cuestionar arraigadas concepciones legales. Así, hay quienes opinan[12] que determinadas tecnologías pueden emular la ley que regula la conducta de los que las usan. Sin embargo, hasta ahora, nadie había puesto en cuestión el monopolio de los sistemas jurídicos como mecanismos coercitivos para imponer el cumplimiento de las leyes. Si se incumplen, se recurre al “orden jurídico” para obligar a su cumplimiento así como a indemnizar los daños y perjuicios que la ausencia de cumplimiento hubiese podido ocasionar. Sin embargo, entusiastas de estas tecnologías como Lawrence Lessing[13] entiendan que los contratos inteligentes tienen el potencial de desplazar a los sistemas legales de su esencial misión de hacer cumplir lo contractualmente acordado. Entienden que los programadores trasladan a los usuarios del software formas de actuar así como reglas que sustituyen a la ley. Es habitual entre los seguidores de Lessing referirse a esta forma de pensar con la expresión “code is law”.
La cuestión no es trivial. Los contratos son herramientas imprescindibles para dar soporte a nuestro modo de vida tanto en su vertiente social como económica. Hasta ahora no se había cuestionado que la ejecución de los contratos precisara el soporte de los sistemas legales. Sin embargo, como se ha dicho, la irrupción tecnológica provoca especulaciones sobre la posibilidad de que el derecho contractual quede en buena medida desplazado por estos ingenios. Los más entusiastas entienden no sólo que los contratos inteligentes no necesitan de un sistema legal para existir; también que suponen una “alternativa tecnológica” a los tradicionales sistemas legales que supondrán la desaparición de muchos planteamientos litigiosos, al menos de aquellos derivados de los incumplimientos contractuales. No se trata de opiniones aisladas; el primer ministro ruso Dimitri Medvedev ha dicho: “Los sistemas que crean estos smart contracts viven bajo sus propias reglas, más allá de las fronteras de la ley”.
En definitiva, hablamos de una tecnología que suscita interés, respeto, aversión y entusiasmo. Para algunos va a revolucionar las relaciones comerciales así como la actual concepción de la propiedad. Sin embargo, para los escépticos, estamos ante una sofisticada estafa que se asemeja al “esquema de Ponzi”[14].
Con independencia de posiciones tan opuestas y de que los contratos inteligentes transformen o no el mundo, no parece descabellado que tengan buena acogida en la empresa. A fin de cuentas, no son sino la culminación de los procesos de contratación en el ámbito digital y pueden suponer ahorro y eficiencia empresarial. En la medida en que vayan siendo adoptados ejercerán creciente presión sobre los actores legales para sustituir a los tradicionales contratos; al menos en determinadas circunstancias.
En mi opinión, sin embargo, nunca sustituirán al derecho contractual por una cuestión fundamental en la que difieren; el derecho contractual es una institución jurídica que tiene como fundamental misión la de remediar las consecuencias de los incumplimientos de los pactos alcanzados por las partes de los contratos. Su misión no es la de garantizar el cumplimiento “ex ante” de los pactos sino dilucidar las reclamaciones que puedan surgir “ex post”; tras el incumplimiento de alguno de los pactos contractuales. La circunstancia de que los contractos inteligentes no puedan ser incumplidos supone que no será necesario remediar o subsanar los efectos perniciosos de incumplimientos que no pueden existir. Lo anterior, sin embargo, no significa que el derecho contractual deje de aplicarse. Puede suceder que las partes no hayan sido suficientemente exhaustivas en la previsión de los supuestos que resulten de aplicación a esa concreta relación. También puede suceder que el código incorpore errores que hagan que el contrato no se comporte según lo previsto por las partes. Pueden también suceder circunstancias exógenas y ajenas a ellas que condicionen el cumplimiento o la ejecución del pacto. En estos casos y probablemente en otros muchos no se podrá prescindir del derecho contractual ni de los sistemas legales tradicionales. Además, el derecho, con su fundamental misión de orden y justicia, no puede desentenderse de fenómenos como el que aquí comentamos.
El ataque a THE DAO como paradigma para la reflexión jurídica sobre los contratos inteligentes
DAO (Descentraliced Autonomus Organization) se refiere a una compañía que funciona (al menos desde un punto de vista societario) mediante la ejecución de uno o varios contratos inteligentes. Los que participan en un DAO, generalmente a través de un ICO[15], cambian criptomoneda por la titularidad de “token’s”. Esta transacción les otorga, entre otros derechos, el de poder votar sobre determinadas cuestiones relacionadas con la actividad de la sociedad.
En mayo de 2016 se creó un fondo de capital riesgo de gestión descentraliza; un DAO cuya actividad se centraba en la inversión en “startups” relacionadas con blockchain y los contratos inteligentes bajo Plataforma Etherum [16]. Su nombre era “THE DAO”. Hablamos de la mayor operación de “crowdfunding” de la historia (150 millones de dólares y 11.000 inversores en todo el mundo). “THE DAO” se gestionaba exclusivamente a través de un contrato inteligente ejecutado sobre esta plataforma.
El 17 de junio de 2016, un hacker desconocido transfirió “ethers”[17] por valor de 60 millones de dólares del DAO a su monedero[18]. Aprovechaba un “bug[19]” en la programación del código (contrato inteligente) que permitía sucesivas retiradas de “cripto-moneda” antes de que se actualizase el balance, ocasionando de esta forma un evidente enriquecimiento injusto. Suscita interés jurídico porque las condiciones legales a las que se adherían quienes participaban en THE DAO asumían la filosofía “code is law”, entendiendo que solo les vinculaba la ejecución del código.
La plataforma Etherum está gobernada por la “Etherum Foundation”, que toma las decisiones por consenso (votación) entre sus miembros. Tras este incidente, se suscitó en el seno de la Fundación un encendido debate entre sus miembros sobre la forma de actuar. Para algunos se trataba de un robo (apropiación indebida) que había que intentar subsanar. Para otros se trataba de una vulnerabilidad típica de código y por lo tanto de un riesgo inherente a un contrato inteligente. Estos últimos eran partidarios de actuar de forma consecuente entendiendo que los participantes en THE DAO debían asumir las pérdidas.
Al final se decidió implementar un “hard fork[20]”. Una manipulación consensuada de la cadena que permite la generación de una nueva línea de bloques[21]. Arranca del anterior al que contiene la transferencia fraudulenta o a cualquier otra transferencia que por cualquier motivo se quiere dejar fuera del Registro Distribuido. Para lograrlo hay que concertar a la mayoría de los nodos que actúan como mineros del sistema para que se adhieran a la nueva línea de la cadena que no incluye la transferencia que se quiere excluir. De esta forma, los participantes en el protocolo consiguieron evitar el perjuicio empresarial derivado de la pérdida de los 60 millones de dólares transferidos.
Esta decisión llevó a la Etherun Fundación a un cisma que se dirimió por escisión en dos plataformas: Etherum y Etherum Classic. Se trata de un caso paradigmático sobre si el “código es ley” o si por encima de este ha de prevalecer la ley y la justicia.
Convendría plantearse no obstante que hubiese sucedido si el “hard fork” no hubiese sido posible, es decir si los mineros de Etherum no se hubiesen puesto de acuerdo, o si la diseminación de la transacción hubiese hecho inviable la marcha atrás de esta. De haber ocurrido así, se hubiesen suscitado dos interrogantes de corte jurídico. En primer lugar si se habría podido localizar a un atacante anónimo, cuya única traza es una clave asimétrica que se le concede sin necesidad de identificarse. La segunda, suponiendo que se le hubiese identificado, se podría haber iniciado una acción civil o penal contra el hacker?
Además, hay un reparo general al que no me puedo sustraer. El movimiento Blockchain es de corte cripto-anarquista[22]y por lo tanto aspira a la toma de decisiones de forma descentralizada. Así se evita el riesgo de corruptibilidad de los que “anotan en” y custodian la matriz de prueba. Uno de los atractivos probatorios de Blockchain es la irreversibilidad de sus transacciones. Sin embargo, un caso como el de “THE DAO” pone de manifiesto que la irreversibilidad no es absoluta y que entre las transacciones reversibles están las vinculadas a los intereses patrimoniales de los que participan en la cadena. Pueden decidir la reversión de estas en beneficio propio pero causando perjuicio a terceros afectados por las transacciones que se revierten.
Nota final
El análisis que precede se refiere a los contratos inteligentes en un entorno blockchain (de registro distribuido). Sin embargo, también es posible la automatización de los procesos contractuales con matrices de prueba centralizadas. La condición necesaria para implementar este tipo de contratos es que exista una matriz de prueba ajena a las partes que formalizan el contrato y no la condición distribuida o colaborativa de su llevanza.
[1] Se recomienda la lectura del artículo publicado en el diario la Ley
[2] Me refiero a una clave criptográfica privada. La utilizada para firmar electrónicamente mediante la utilización de una infraestructura de clave pública (PKI)
[3] La Bill HB 2417, que modifica la Arizona Transactions Act (AETA)
[4] Término acuñado por Max Raskin de la Universidad de Nueva York en el artículo “The law and legality of Smart Contracts”. Raskin juega con el término software (programa de ordenador en inglés). Como se trata de un programa de ordenador que traslada la prosa de los contratos a código, de forma consecuente lo denomina contractware.
[5] Término acuñado por la normativa comunitaria para definir los requisitos de los ficheros electrónicos cuando se utilizan para la entrega de información. Resulta de aplicación a los procesos de notificación electrónica así como para cumplir la obligación de entregar la información pre-contractual en los procesos de contratación con consumidores. La definición comunitaria se refiere a ‘instrumentos’ que puedan ser almacenados, que puedan ser remitidos de forma personaliza al consumidor y tiene que garantizar que se pueda recuperar fácilmente lo guardado durante un periodo de tiempo suficiente. Por último, el instrumento debe garantizar que la recuperación por parte del consumidor de la información almacenada se produce sin cambios.
[6] En Bitcoin, la asignación de las claves (pública y privada ) se lleva a cabo sin que sea precisa la identificación de quien las solicita. Esta forma de proceder puede suponer un incumplimiento de, por ejemplo, la normativa de prevención del blanqueo de capitales.
[7] Procedimiento probatorio que consiste en arbitrar una prueba por interposición de un tercero ajeno a la transacción. Se utiliza para la acreditación de relaciones entre ausentes como los procesos notificativos o contractuales. El tercero interpuesto actúan como un testigo electrónico que testimonia (mediante la expedición de un certificado) lo digitalmente acaecido.
[8] En ambientes informáticos se denomina “data exit” a los datos que se obtiene tras la ejecución de un programa de ordenador (código informático). Se contrapone al “data entry” a la información que alimenta las variables de un código (programa informático). Puede ser información que el usuario introduce en el programa de forma manual o datos que provienen de la ejecución de otro programa o de una base de datos.
[10] En ambientes jurídicos norteamericanos se les denomina triggers (disparadores) o también “starter/stoper devices”
[11] “ hash” es el resultado que se obtiene de aplicar a un fichero un “algoritmo de destilación. Los algoritmos de destilación no son de cifrado sino de representación matemática. Aplicándolos a un fichero cualquiera obtengo una sucesión alfanumérica (hexadecimal) de caracteres de longitud normalmente fija (de 30 a 35) que en castellano recibe el nombre de “función resumen” y en inglés “hash” (picadillo). Blockchain utiliza el algoritmo” SHA-256” que tiene las siguientes características:
1.- Es irreversible. Lo cifrado no tiene descifrado posible. El algoritmo convierte el texto en una sucesión alfanumérica de caracteres sin sentido aparente. Sin embargo, de esa sucesión fija de caracteres jamás podré obtener el texto original.
2.- Es un compresor. Uno de sus usos habituales es la compresión (reducción) de ficheros. Convierte ficheros de gran tamaño en la sucesión de caracteres aludida.
3.- Garantiza que aplicando el algoritmo al mismo texto siempre obtendré idéntica sucesión hexadecimal de caracteres de extensión fija. Sin embargo, si cambio en un texto de, por ejemplo, 100 folios, un solo carácter y vuelvo a aplicar el algoritmo, la sucesión de caracteres que obtendré será distinta.
4.- Es de rápida computación. La obtención de un “hash” de un fichero dado es casi instantánea. Además, la escasa longitud del resumen hace que su almacenamiento sea así mismo poco exigente.
5.- La naturaleza de estos algoritmos hace que se puedan aplicar no sólo sobre textos claros (sin cifrar), sino también que se pueda obtener un “hash” de otro u otros, o de un “hash” combinado con texto.
[12] Fundamentalmente en ambientes cypherpunk, se considera que Blockchain no necesita regulación ya que ya está regulado a través del protocolo con el que funciona
[13] Abogado norteamericano especializado en derecho informático así como catedrático de derecho de la Universidad de Stanford y profesor en Harvard y Yale. Creador de la iniciativa Creative Commons. En su obra “El código y otras leyes del ciberespacio (1999) acuñó la famosa y controvertida teoría de “The code is law” según la cual el código acabará sustituyendo a la ley.
[14] El esquema de Ponzi es otra forma de denominar a la estafa piramidal. Se trata de operaciones fraudulentas basadas en pagar intereses con el dinero obtenido de las aportaciones de nuevos inversores, atraídos bajo promesa de obtener grandes beneficios. El nombre se debe a Carlo Ponzi que en 1920 reaizó una estafa siguiendo este esquema que tuvo gran repercusión mediática.
[15] ICO. Del inglés Initial Coin Offering. (Oferta inicial de moneda). Se trata de un instrumento de financiación de “start-ups” basado en la comercialización de “token” que aportan a los adquirentes una suerte de derechos societarios sobre la iniciativa
[16] Ethereum es una plataforma de código abierto y descentralizada (basada en el protocolo blockchain) fundada por Vitalik Buterin y financiada mediante una plataforma de financiación colectiva (crowdfunding), que permite la creación de contratos inteligentes. Para los intercambios dinerarios dentro de la plataforma, y también para la generación de “token”, incorpora una criptomoneda que se llama 'ether'. Ethereum fue propuesto por Vitalik Buterin, un desarrollador de criptomoneda. El desarrollo del mismo se logró gracias a una plataforma de financiamiento colectiva, desde julio a agosto de 2014. El sistema salió definitivamente el 30 de julio 2015.
[17] Los Ether’s son la unidad de cripto-moneda vinculada con la plataforma Etherum. Se podría también decir que son los Bitcoins del proyecto Etherum.
[18] Cuando se habla de monedas virtuales, el “monedero” es un fichero que se identifica por el hash de la clave pública de su titular que incorpora un software que facilita las operaciones de recepción y transmisión de criptomonedas. Los simples usuarios de estas solamente acceden a su monedero. Es desde el único lugar desde donde pueden disponer de sus fondos en cripto-monedas.
[19] Término del argot informático que se refiere a un error en la programación del código
[20] Término que describe un procedimiento para de forma consensuado subvertir los efectos de la cadena de bloques (el registro distribuido). Para lograrlo la mayoría de los nodos de una comunicad unida por un registro distribuido común, se ponen de acuerdo para generar una bifurcación en la cadena en el bloque inmediatamente anterior al de la transacción que se quiere subvertir. Como el consenso tiene como finalidad la eliminación de una transacción, los mineros que se conciertan para ello, se adherirán a la línea de bloques que la excluye con lo que finalmente esta transacción desaparecerá de la cadena.
[21] Ocurre lo mismo de forma no intencionada. Cuando varios mineros terminan de forma consensuada la prueba de trabajo y remiten al sistema su bloque encabezado por el hash del mismo, algunos de los mineros reciben esa transacción pero es posible que otros reciban la de otro minero que ha terminado su prueba de trabajo de una forma simultánea. De esta forma se produce un tenedor o bifurcación: se forman dos líneas de bloques, cada una con un “hash” distinto por lo que ser quiebra la condición unívoca del repositorio
[22] El término -anarco-capitalismo- fue acuñado en 1950 por Murray N. Rothbard, de la escuela austriaca de economía y expresa una corriente de pensamiento que combina el anarquismo político, propugnando el rechazo a las formas de poder centralizadas como la estatal y, al mismo tiempo, defendiendo la propiedad privada y el libre mercado. Sus seguidores entienden que los mercados se comportan mejor sin injerencias de ningún tipo; mediante autorregulación y propugnan la desaparición de la potestad impositiva, normativa o autorizadora de los Estados. Persiguen en definitiva el tránsito de la confianza al consenso.