Introducción
Vivimos en una sociedad donde la tecnología afecta de manera cada vez más incisiva la forma como nos relacionamos y conectamos con los demás1. En efecto, las personas utilizan cada vez más la tecnología para celebrar contratos o realizar transacciones en tiempo real, ya sea el pago de servicios públicos mediante aplicaciones de telefonía móvil, o incluso la inversión en proyectos productivos mediante páginas virtuales2. Hoy resulta extraño que una persona vaya físicamente a un banco a hacer una fila para realizar un pago o para abrir una cuenta de ahorros. El panorama de la prestación de servicios financieros ha venido mutando rápidamente, verbigracia ante la presencia de nuevos bancos digitales, plataformas de pago digitales, robo advisors, entre otros. Es más: el uso de aplicaciones como Rappi permite a los particulares sacar dinero de un cajero automático sin necesidad de salir de la comodidad de su hogar.
Ahora bien: el uso de la tecnología para satisfacer necesidades humanas no es algo nuevo, incluso para el reino de los contratos. Así, por ejemplo, el ser humano se ha valido de la ayuda de máquinas o instrumentos tecnológicos para la celebración de contratos desde tiempos inmemoriales. Se tienen referencias de la primera máquina dispensadora desde el año 215 a. C., que servía para distribuir agua bendita en los templos egipcios, donde las personas introducían una moneda en un artefacto, y el peso del token o moneda activaba la apertura de una puerta, que a su vez activaba una válvula que dispensaba el agua bendita3. En últimas, la máquina dispensadora de agua ejecutaba un contrato de compraventa sin la intervención del ser humano en el extremo vendedor. En 1822, el vendedor de libros Richard Carlile inventó la primera máquina dispensadora de libros con el fin de vender libros tales como La era de la razón de Thomas Paine, buscando evitar ser perseguido por sedición por la Corona inglesa debido a la venta de material blasfemo4. Carlile sostenía que no podría ser perseguido por la venta de libros, comoquiera que el contrato de compraventa era celebrado entre el comprador y una máquina5. Sin embargo, el uso de la máquina no impidió su arresto, pues las cortes consideraron que el uso de la máquina servía como un instrumento, pero no suplantaba a Carlile como parte del contrato. En todo caso, el ejemplo es útil en este punto para demostrar la manera como el ser humano se ha valido de máquinas y del uso de herramientas tecnológicas para satisfacer necesidades políticas, económicas e incluso religiosas.
Posteriormente, en 1965, se creó el sistema de intercambio electrónico de datos (en inglés, electronic data interchange o EDI) como un mecanismo para enviar mensajes electrónicos con respecto a información de carga entre empresas y sus trans-portistas6. En la actualidad, los sistemas EDI se utilizan para supervisar las cadenas de suministro en industrias de alimentos, automóviles, etc. Sin embargo, estos sistemas simplemente se limitan a traducir los términos y condiciones de un contrato ya existente a un formato electrónico; no establecen una forma particular de celebrar y ejecutar transacciones comerciales.
Hoy, los acreedores que cuentan con una garantía prendaria o mobiliaria sobre vehículos automotores han empezado a instalar dispositivos denominados "interruptores de arranque" (starter interrupters) sobre los vehículos objeto de garantía. Se trata de dispositivos que permiten al acreedor garantizado prevenir que el deudor que haya incumplido con sus obligaciones pueda iniciar el arranque de su vehículo7. En efecto, una vez el deudor ha incumplido, el acreedor puede hacer uso del interruptor de arranque inmediatamente e impedir que el deudor haga uso del vehículo automóvil. Como puede verse, es un mecanismo de autoayuda que el acreedor implementa en el objeto de garantía para obstaculizar su uso por parte del deudor en caso de incumplimiento. Ahora bien: el uso de interruptores de arranque por parte de los acreedores ha de privilegiar otro tipo de bienes jurídicos8. Así, por ejemplo, los interruptores de arranque no pueden hacer que un vehículo en marcha se apague automáticamente, pues, de lo contrario, podría poner en riesgo la vida de sus ocupantes. Por otro lado, se ha permitido que los deudores tengan un código que permita iniciar el vehículo por una sola vez, incluso si el interruptor de arranque se encuentra en uso, con el fin de que se pueda utilizar el vehículo en caso de emergencia.
Los anteriores son ejemplos de la manera como los desarrollos tecnológicos se articulan con las relaciones contractuales. Se trata de mecanismos de ejecución automática de obligaciones previstas en documentos contractuales, que hacen uso de la tecnología como un mecanismo de autoayuda y evitan la necesidad de acudir al sistema jurisdiccional para la satisfacción de intereses. Así, por ejemplo, los interruptores de arranque tienen como efecto generar presión en los deudores para el cumplimiento de sus obligaciones, pues mientras no lo hagan, no podrán hacer uso de dichos bienes. Pues bien, eso es lo que realiza un smart contract o contrato inteligente. Desde ya puede anticiparse que un contrato inteligente es un mecanismo de ejecución automática de obligaciones mediante un código computacional, que pretende reducir la ambigüedad propia de todo contrato y la intervención del juicio humano en su ejecución9. Dicho mecanismo tiene la potencialidad de simplificar el desarrollo de contratación, reducir costos de transacción al eliminar intermediarios y facilitar la ejecución contractual. El concepto no es nuevo, pero su potencial desarrollo únicamente se hizo latente con la creación de la blockchain, esto es, un sistema de registro descentralizado que sirve de ecosistema necesario para la puesta en marcha de los contratos inteligentes.
Con el desarrollo de la tecnología blockchain y sus primeras manifestaciones en el mundo contemporáneo, mucho se ha dicho o especulado sobre los contratos inteligentes: desde afirmaciones según las cuales gracias a ellos los abogados dejarán de existir, hasta sus efectos en la reducción de costos de transacción en el interior de las empresas. Para el caso en particular que ahora nos ocupa, debe indicarse que en el siglo xxi los mercados financieros han venido evolucionando a una velocidad increíble gracias a la tecnología, razón por la cual se ha acuñado el término fintech, para hacer referencia a cualquier innovación tecnológica en el sector financiero, esto es, el uso de tecnología y programación de computadores para soportar y habilitar servicios financieros10, incluyendo innovaciones en mecanismos de recaudo de dinero, educación financiera e incluso en criptomonedas (o mejor critpoactivos) como el bitcóin.
En este contexto, el presente artículo tiene como objeto servir de introducción al análisis de las problemáticas asociadas a la tecnología blockchain y a los contratos inteligentes. En este punto se describirá qué es un contrato inteligente, cuál es su fundamento o tecnología base sobre la cual opera, y su ejercicio como mecanismo de autoejecución contractual mediante lenguaje de código, así como sus alternativas en materia de regulación y la manera como se ha planteado que el código sirva como ley del contrato. Así las cosas, se analizará el concepto de contrato inteligente o smart contract, para lo cual se hace necesario analizar tres de sus elementos más relevantes: esto es, (1) la blockchain como tecnología sobre la cual opera; (2) instantiation, o la ejecución automática de obligaciones; y (3) contractware o, lo que es lo mismo, la traducción del lenguaje natural al lenguaje de código. A lo largo del texto el lector encontrará un análisis de nuevas tecnologías y aplicaciones tecnológicas realizado desde un punto de vista jurídico, sin dejar de lado las explicaciones técnicas estrictamente necesarias para la debida comprehensión del fenómeno. Para tal efecto se utilizó bibliografía tanto técnica como jurídica.
I. ¿Contratos inteligentes?
En 1996, Nick Szabo, abogado y científico computacional, introdujo por primera vez el concepto de smart contract11. Con el uso de protocolos criptográficos robustos, Szabo reconoció la posibilidad de escribir software de computadores que se asemejaran a cláusulas contractuales, que fueran vinculantes para las partes y que redujeran sus posibilidades de incumplimiento12. En este sentido, planteaba que la revolución digital ofrece la posibilidad de crear nuevas instituciones mediante contratos "inteligentes", en el sentido de que son más funcionales que aquellos incorporados en papel13. Así mismo, reconocía que el término no involucraba el uso de inteligencia artificial, pero sí el uso de algoritmos computacionales que eventualmente serían utilizados en todo tipo de contratos. Si bien para los años noventa se trataba de una idea novedosa, no se contaba con la tecnología necesaria para su adecuado desarrollo14. Fue sólo en el 2008 cuando el desarrollo de la tecnología blockchain ofreció la plataforma y el ecosistema necesarios para los contratos inteligentes15. Hoy nos encontramos ante, tal vez, la mayor revolución tecnológica desde la aparición del internet; un modelo concebido desde el 2008 y que tiene el potencial de transformar la forma en que vivimos e interactua-mos con los demás en todos y cada uno de los ámbitos sociales16.
En este contexto, la definición del término "contrato inteligente" es de suma importancia para el objeto de estudio del presente documento, toda vez que su lectura gramatical puede conducir a error17. En efecto, lo primero que le llega a la mente a cualquiera es que se trata de contratos que involucran el uso de inteligencia artificial o de software inteligente. Sin embargo, y como se verá a continuación, no son contratos ni son inteligentes. En este punto, debe indicarse que se han formulado varias y diversas definiciones de la figura. Así, hay quienes definen los contratos inteligentes como "sistemas que automáticamente mueven activos digitales según reglas arbitrarias pre-especificadas"18. Otros los definen como "acuerdos cuya ejecución es automática" y es "usualmente efectuada a través de un código de computador puesto en funcionamiento que ha traducido la prosa legal en un programa ejecutable"19.
Por su parte, Nick Szabo se ha pronunciado sobre el particular en varias oportunidades, de la siguiente manera: en 1996, dijo que "un contrato inteligente es un conjunto de promesas especificadas en forma digital, incluyendo los protocolos dentro de los cuales las partes cumplen con estas promesas"20; y en 1997 señaló que "Los contratos inteligentes combinan protocolos con interfaces de usuario para formalizar y asegurar las relaciones a través de las redes de computadoras. Los objetivos y principios para el diseño de estos sistemas se derivan de principios legales, teoría económica y teorías de protocolos confiables y seguros"21. Se trata de un concepto que refleja la importancia que la sociedad le da a las revoluciones digitales, bajo la asunción de que la tecnología puede remediar todas las falencias de los sistemas no-digitales.
De acuerdo con lo anterior, es razonable concluir que, para los efectos del presente artículo, un contrato inteligente es un software que permite ejecutar de manera automática códigos que incorporan obligaciones entre partes acordadas de manera previa y que se encuentran almacenadas en un registro descentralizado, ante la verificación de las condiciones codificadas. El primer comentario que merece el concepto es que no es inteligente en el sentido de que no piensa por sí mismo, como se supone que sí lo haría un abogado. Tal vez algún día la tecnología permita la existencia de contratos que piensen por sí mismos mediante inteligencia artificial. Mientras eso ocurre, los contratos inteligentes se limitan a ser mecanismos de ejecución de códigos de computador. En segundo lugar, el uso del término "contrato" puede generar confusiones: no es un contrato en tanto no es una fuente de obligaciones, sino un mecanismo de ejecución de obligaciones contractuales. En efecto, el término "contrato" es usado de manera informal y a la ligera, lo cual ha generado opiniones según las cuales los contratos inteligentes eliminarán la necesidad de contar con abogados y jueces al garantizar y automatizar la ejecución de contratos.
II. Tecnologías de registro descentralizado (distributed ledger tecnologies [DLT]) y blockchain
Los contratos inteligentes están previstos para operar en conjunto con la tecnología blockchain, precisamente para ejecutar las transacciones que se encuentren en el registro descentralizado; de ahí que sea fundamental realizar un breve análisis sobre dichos registros.
A. Origen de la blockchain
Tal vez lo primero en lo que piense el lector al escuchar la palabra blockchain sea bitcóin o criptoactivos. En efecto, blockchain está asociado con bitcóin, pues es la tecnología que subyace a las transacciones de criptoactivos. Pero no se limita a ello. Por el contrario blockchain es una tecnología de registros descentralizados, que opera a través de una cadena de bloques y puede servir para múltiples propósitos, tales como sistemas de pagos, asientos contables, y para el caso que nos ocupa, el desarrollo de contratos inteligentes, entre otros22; de ahí que en ciertos casos se prefiera utilizar el concepto de "tecnologías de registro distribuido" o "DLT", por sus siglas en inglés (distributed ledger technologies)23. En este contexto, debe indicarse que la blockchain o DLT es un sistema de registro descentralizado que es validado por pares a través de procedimientos criptográficos, y que provee un récord cronológico y permanente, públicamente visible, de todas las transacciones24.
El origen del blockchain se encuentra ligado al nacimiento de Bitcoin. El protocolo Bitcoin fue creado en 2008 por una persona desconocida cuyo pseudónimo es Satoshi Nakamoto25. Nakamoto hacía parte de un movimiento denominado cypher-punks, que pretendía sustituir a las autoridades centrales y organizar sistemas donde se protegiera la información personal de las personas a través del anonimato. Naka-moto reaccionó ante el salvamento de las entidades too big to fail por parte de los gobiernos en la crisis financiera del 2008. Los gobiernos centrales estaban utilizando los recursos de los particulares para salvar entidades financieras en crisis dentro de un sistema financiero que era inestable26. La confianza en los bancos, en general en las entidades financieras, y en los bancos centrales se encontraba minada27. Es este el contexto en que Nakamoto propone un sistema que no depende de ninguna autoridad central, como respuesta a las falencias de regulación y de supervisión por parte de los gobiernos. El bitcóin nace como una moneda libre de la autoridad de los gobiernos, con el fin de romper el monopolio de la soberanía monetaria de los estados28. En octubre 31 de 2008, Nakamoto publicó un White paper denominado "Bitcoin:
A Peer-to-Peer Electronic Cash System", en bitcoin.org. Bitcoin fue previsto para operar con base en una tecnología denominada blockchain. En efecto, el blockchain sirve como libro de registro de las transacciones de bitcóin.
La blockchain nació con el propósito de prevenir la duplicación de gastos (double spending) de criptoactivos en un sistema sin una autoridad central o intermediario que controlara la emisión y transferencias de dichos activos29. La blockchain permite solucionar dicho problema sin necesidad de acudir a una autoridad central o intermediario al hacer visibles a todos los interesados la totalidad de las transacciones. En efecto, el registro público de las transacciones hace posible prescindir de una autoridad o intermediario dentro de un sistema de pagos.
B. Operación de los sistemas de registro distribuido
La blockchain está compuesta por un grupo de bloques interconectados (de ahí su nombre "cadena de bloques"). Cada bloque contiene una lista de transacciones pasadas, esto es, las transferencias de tokens de una persona a otra. Así mismo, los bloques se encuentran identificados con una especie de huella digital denominada hash, junto con una marca de tiempo y la identificación (o hash) del bloque anterior30. Así las cosas, "Mientras que un libro se basa en los números de página para ordenar su contenido interno -lo cual hace posible que cualquier persona pueda armar un libro en el orden apropiado-, la cadena de bloques de Bitcoin depende de los datos almacenados en el encabezado de cada bloque para organizar la base de datos compartida, que incluye un hash del bloque anterior y una marca de tiempo, creando una cadena organizada secuencialmente"31.
Para crear un nuevo bloque es necesario que cada nodo32, o partícipe, ofrezca una verificación denominada "proof-of-work"33, que garantiza la integridad y seguridad del sistema. En efecto, para poder crear un nuevo bloque se debe generar un hash a través de un procedimiento matemático complejo encaminado a la solución de un acertijo. A esta operación se le conoce como "mining"34 o minería35. El protocolo ajusta el nivel de dificultad del acertijo dependiendo del número de nodos (o mineros) que participen: cuanto mayor sea el número de partícipes, mayor será la dificultad para crear un hash para un bloque. Una vez un minero ha encontrado un hash válido, comunica dicha situación a la red de blockchain, para que los demás nodos verifiquen que el hash cumple con los requisitos del protocolo. Por último, el minero recibe una remuneración como incentivo económico para mantener el esquema en funcionamiento, denominada "block reward". Actualmente se han creado grupos de mineros (mining pools), con el propósito de combinar esfuerzos y recursos, y distribuir las recompensas36.
Se trata, por tanto, de un sistema que opera como una base de datos inalterable, replicada y accesible. Es un registro inalterable, en tanto es garantizado mediante criptografía, lo cual permite la generación de cadenas de datos -o bloques-, en virtud de la cual los bloques sucesivos que se vayan formando requieren incorporar los anteriores, identificados con su correspondiente hash. En este sentido, si una persona pretende modificar una transacción registrada en un bloque, terminará por romper la cadena, comoquiera que al realizar la modificación del contenido del bloque, el protocolo inmediatamente creará un nuevo hash para identificar al nuevo bloque modificado, que será imposible de vincular a la cadena de bloques posteriores37.
Así, para modificar un bloque sin afectar o romper la cadena de bloques el interesado tendría que generar un nuevo hash para cada uno de los bloques posteriores de la cadena. Cuantas más transacciones se celebren y registren en la blockchain, más difícil será modificar de manera retroactiva un bloque. Así mismo, y teniendo en cuenta que se trata de un registro que se encuentra replicado en todos los participantes38, ya que opera mediante un protocolo de comunicaciones estándar que se basa en aplicaciones descentralizadas39, el interesado en modificar un bloque deberá modificar el hash de la mayoría de los nodos para validar el cambio40. En síntesis, es sumamente difícil, y por lo tanto se volverá extremamente excepcional, que una persona logre modificar o eliminar la información que se encuentre registrada en la blockchain: su diseño técnico favorece el statu quo y hace a la información resistente al cambio41.
Así las cosas, la confirmación o validación de la información se establece mediante un consenso42 distribuido, esto es, la confirmación se realiza cuando la mayoría de los nodos verifica que un bloque determinado ha cumplido con la denominada proof-of-work. En este sentido, la blockchain reemplaza la necesidad de confiar en terceros intermediarios o autoridades centrales, por la confianza en la tecnología43. Por consiguiente, la inclusión de un contrato inteligente en la blockchain eliminaría la necesidad de acudir a un tercero para asegurar su inalterabilidad y su ejecución; a diferencia de modelos que operan bajo la estructura cliente-servidor (client-server model), como, por ejemplo, eBay, Uber y Spotify44. En este orden de ideas, se trata de un registro accesible a todos los partícipes, donde no hay una autoridad central o un intermediario que confirme la información, lo cual les permite interactuar directamente entre ellas.
La ausencia de una autoridad central implica, además, que se trata de un esquema de naturaleza transnacional en el que los partícipes pueden tener acceso a servicios globales desintermediados. En este contexto, nos encontramos ante un sistema distribuido, en el sentido de que no hay un servidor central o nube donde se encuentre almacenada la información por una autoridad central. Así lo ha indicado Mendelson:
En el modelo blockchain, la red se basa en una arquitectura distribuida entre pares que requiere cálculos o algoritmos de consenso para garantizar que las transacciones en la red blockchain se repliquen para que el libro mantenga su integridad. No hay un depósito central de datos ni un procesador central que ejecute los algoritmos. Cualquier persona con acceso a la red blockchain verá la misma información45.
Ello, empero, genera preocupaciones jurisdiccionales, comoquiera que el alcance de la blockchain escapa a límites nacionales, de ahí que los gobiernos se encuentren ante un conjunto de retos con respecto a la manera como pueden regularse las operaciones asociadas a aplicaciones de blockchain.
Sin embargo, desde ya puede llamarse la atención sobre el hecho de que la blockchain es únicamente una base de datos donde se registran transacciones, pero no es una plataforma transactional46. Así mismo, debe resaltarse que la validación de la información de manera alguna implica una validación de los elementos del contrato inteligente que sea incorporado en el registro: la blockchain únicamente sirve de prueba de que una transacción ocurrió, pero no tiene la virtualidad de establecer la validez de un contrato47. La validez de un contrato, o de su mecanismo de ejecución, depende del contraste que se realice entre circunstancias del mundo real con el ordenamiento jurídico vigente. En efecto, un contrato puede ser registrado de manera adecuada en la blockchain, pero al mismo tiempo ser inválido por cuanto, por ejemplo, las partes carecen de capacidad legal para celebrarlo. En suma, la validación que hagan los nodos de las transacciones realizadas no tiene impacto alguno sobre la validez del negocio jurídico que subyace a dichas transacciones.
C. Blockchain permitido y no permitido
Dicho lo anterior, en este punto solo resta mencionar que hay dos tipos de blockchain: blockchain no permitido (permissionless) y blockchain permitido (permissioned). El primero, esto es, el blockchain no permitido, se refiere a aquel que se encuentra abierto y es accesible para todas las personas, como por ejemplo Bitcoin y Ethereum48. En este tipo de blockchain, cualquier persona con acceso a internet puede descargar el software correspondiente (open source software) y hacer parte de la red, incluso sin revelar su información personal o identidad, y sin solicitar permiso para hacerlo49. Se trata de la expresión más pura de un blockchain: descentralizado, pseudónimo50 y accesible a cualquiera. Sin embargo, es aquel que más preocupaciones genera, pues facilita la comisión de actividades de lavado de activos, financiación de terrorismo o, en general, ilícitas.
Por un lado, comoquiera que se trata de un sistema accesible por cualquier persona, y que se encuentra replicado en cada uno de los nodos o partícipes, nos encontramos frente a una base de datos con información que puede ser utilizada para publicidad, estudios de big data e incluso crímenes. Así las cosas, ciertas transacciones que las partes no quieran hacer públicas no podrán llevarse a cabo mediante un sistema blockchain. Las operaciones que sean ejecutadas por contratos inteligentes serán registradas sin que sea posible eliminar dicho registro, y dado el pseudoanoni-mato de las partes, será posible identificar las transacciones con sus titulares, de ahí que nos encontremos ante el lado negativo de la transparencia51. En este orden de ideas, los reguladores habrán de encontrar la manera de integrar el derecho al olvido con la inmutabilidad de la blockchain.
Como respuesta a los inconvenientes o preocupaciones que pueda llegar a causar el pseudoanonimato propio del blockchain, un nuevo tipo de registros descentralizados han venido emergiendo: los blockchains permitidos52. Se trata de nuevos esquemas donde las características propias del blockchain se matizan para mitigar los riesgos asociados a su operación y mejorar su eficiencia. En efecto, en este tipo de blockchains el acceso se encuentra limitado. No cualquier persona puede hacer parte de la red, sino que, por el contrario, es necesario que una autoridad central autorice a las partes que participarán en ella. Así las cosas, la autoridad central tendrá conocimiento de la identidad y las características de las personas que interactúan dentro de la red53. Sin embargo, en el interior de la red las partes podrán conservar su pseudoanonimato al momento de interactuar entre ellas. Pues bien, estas restricciones de acceso permiten rastrear fácilmente a los responsables de cualquier actividad ilícita que se realice a través de la red.
Además, debe indicarse que los blockchains permitidos operan de manera más rápida y ágil que los blockchains no permitidos. Comoquiera que los blockchains no permitidos son abiertos y accesibles a cualquier persona que se encuentre interesada en hacer parte de la red, el número de intervinientes, o nodos, necesario para llegar a un consenso para validar las transacciones será mayor, de ahí que el proceso de validación sea más demorado; mientras que, por el contrario, en los blockchains permitidos la validación de las transacciones es más rápida, en tanto el número de personas necesario para llegar a un consenso será considerablemente menor54.
Si bien se trata de dos tipos distintos de blockchain, nada obsta para que puedan funcionar de manera articulada y complementaria. Es razonable considerar que los blockchains no permitidos puedan ser utilizados como la base sobre la cual operen distintos tipos de blockchains permitidos. Así las cosas, el no permitido podría ser utilizado de manera general; mientras que el permitido podría ser utilizado para operar sobre transacciones específicas que requieran o justifiquen un mayor nivel de seguridad55.
III. La ejecución automática de los contratos inteligentes
Uno de los elementos principales de los contratos inteligentes es su capacidad de autoejecución (self-enforcement). Los contratos inteligentes son de ejecución automática en cuanto que automáticamente ejecutan una transacción ante la ocurrencia de eventos definidos de manera previa. Dicha característica pretende evitar que en la ejecución contractual intervenga el hombre, que se presume parcial y poco fiable, al introducir un algoritmo o código que no puede cambiar de opinión y rehusarse al cumplimiento de sus obligaciones56. El código es imparcial y objetivo, lo cual garantiza que el contrato se ejecutará al pie de la letra, sin que se puedan presentar alteraciones o modificaciones a su contenido, o circunstancias imprevistas en su ejecución. En este orden de ideas, es razonable considerar que la necesidad de acudir al sistema judicial para solicitar el cumplimiento de obligaciones, si no es eliminada, es altamente reducida.
En este contexto, debe resaltarse que los contratos inteligentes no pueden ser modificados ni detenidos, o, lo que es lo mismo, son inmutables. Una vez se ingrese el código en el registro descentralizado, su protocolo es imparable sin importar los cambios que puedan ocurrir en la realidad. Si bien la inmutabilidad puede resultar atractiva de manera preliminar, se trata de un atributo que puede presentar varios problemas.
A. Retos jurídicos propios de la autoejecución
Lo primero que ha de indicarse con respecto a las problemáticas asociadas a la ejecución automática de los contratos es que si el cumplimiento del contrato depende de un código de computador, debe garantizarse que dicho código no contenga errores. Si bien la inmutabilidad del contrato inteligente prescinde de la intervención humana en su ejecución, no elimina la posibilidad de que el código contenga errores de programación (bugs)57. Así las cosas, es del todo posible que el contrato se ejecute de manera incorrecta debido a un error en su programación, lo cual genera inconvenientes para las partes contractuales, máxime cuando resulta imposible retrotraer la operación o modificarla, incluso si antes de su ejecución se ha identificado el error. En este orden de ideas, resulta oportuno que las partes acuerden en el contrato, y de manera previa, quién asumirá dicho riesgo. En conclusión, incluso si los contratos inteligentes implican la autoejecución de obligaciones contractuales, no por ese hecho garantizan un cumplimiento perfecto de las obligaciones derivadas del contrato.
En segundo lugar, es necesario que el código refleje de manera adecuada la voluntad de las partes. En efecto, quien codifique las condiciones contractuales y las traduzca de un lenguaje natural a un lenguaje de código puede generar resultados que se alejen de la verdadera intención de las partes contratantes. Por un lado, debe recordarse que los contratos inteligentes se traducen en códigos de computadora que no son creados por abogados, sino por ingenieros de sistemas que, probablemente, no tienen formación jurídica, razón por la cual pueden interpretar, y traducir, de manera inadecuada las previsiones contractuales. Por otro lado, es normal que las partes o sus abogados no tengan los conocimientos necesarios y suficientes para verificar que la codificación refleje íntegramente su voluntad.
En tercer lugar, un contrato inmutable requiere que todos los posibles eventos que puedan afectar su desarrollo sean previstos e incorporados en él58, pues una vez introducido en la blockchain, no será posible que el ser humano intervenga o modifique su contenido. Pues bien, en los contratos tradicionales (por oposición a los contratos inteligentes), es normal que las partes modifiquen sus cláusulas para que aquellos puedan ser adaptados a circunstancias externas, tales como cambios en la regulación o económicos. Incluso es normal que las partes toleren incumplimientos no esenciales sin la necesidad de modificar el contrato. En los contratos inteligentes las partes no cuentan con dichas posibilidades, razón por la cual se ha considerado que la principal virtud de estos mecanismos de ejecución de contratos puede llegar a convertirse, al mismo tiempo, en uno de sus mayores inconvenientes: "puede entonces argumentarse que los contratos inteligentes son rígidos y pueden fácilmente desconectarse de la realidad transaccional sobre la cual operan porque no es técnicamente posible realizar ajustes"59. Dicha rigidez priva a las partes contractuales de la posibilidad de decidir si desean o no cumplir con sus obligaciones contractuales. En efecto, es posible que el cumplimiento de las obligaciones derivadas de un contrato sea mucho más oneroso que su incumplimiento, y las partes decidan incumplir el contrato (deliberate non-performance) y asumir las consecuencias. La teoría del incumplimiento eficiente (efficient breach theory) establece que para una de las partes de un contrato puede resultar más rentable el incumplimiento de sus obligaciones que su cumplimiento60, incluso si dicha conducta llega a ser moralmente reprochable61. Dicha posibilidad se encuentra proscrita tratándose de contratos inteligentes. En suma, los contratos inteligentes sacrifican la flexibilidad y el dinamismo propio de los contratos, por la inmutabilidad y su autoejecución.
En cuarto lugar, la inflexibilidad de los contratos inteligentes desconoce la realidad de las relaciones comerciales, en donde muchas veces el cumplimiento de las obligaciones de una de las partes se analiza bajo criterios de razonabilidad o buena fe62. Se trata de situaciones en las que para las partes puede ser más eficiente evaluar el cumplimiento de obligaciones de manera ex post y no de manera ex ante. Este tipo de parámetros ofrece flexibilidad a las partes para adaptar el cumplimiento de las obligaciones a las vicisitudes de los mercados y a los contextos transaccionales, circunstancia que, debido a su estructura condicional, no se permite en los contratos inteligentes. Pues bien, la flexibilidad semántica de la que carecen los contratos inteligentes permite a los interesados contratar en escenarios o situaciones volátiles y evita una negociación innecesaria sobre la totalidad de las posibles eventualidades que puedan presentarse en el curso del desarrollo de la relación negocial, lo cual elevaría los costos de transacción63. En suma, la inflexibilidad de los contratos inteligentes destruye la adaptabilidad que requieren los contratos dentro de relaciones contractuales de largo plazo, donde cierto tipo de incertidumbre y ambigüedad ha de ser anticipada y tolerada. No todas las obligaciones pueden ejecutarse mediante contratos inteligentes. En palabras de Mik, "La precisión tiene un costo: la relación contractual se vuelve rígida y determinista, mientras que el aumento en la extensión del contrato inevitablemente conduce a una mayor probabilidad de mal funcionamiento"64.
En este punto debe recordarse que el hecho de que los contratos inteligentes se encuentren inmersos en una blockchain no implica que se encuentren aislados del ordenamiento jurídico. En efecto, si la blockchain dejara de funcionar, los contratos seguirían existiendo, simplemente su ejecución debería llevarse a cabo en otro escenario. Los ordenamientos jurídicos deben crear mecanismos para integrar ambos mundos, como, por ejemplo, garantizar la efectividad de medidas cautelares en procesos judiciales que operen sobre actuaciones que han de llevare a cabo en la blockchain. En efecto, la autoejecución puede enfrentarse a una multiplicidad de problemas si ella depende de factores que ocurren por fuera del mundo de la block-chain, como, por ejemplo, embargos o prendas posesorias.
Por último, vale la pena mencionar que en ciertos casos la ejecución manual de los contratos puede ser recomendable frente a la autoejecución de los contratos inteligentes. En efecto, puede ser oportuno para ambas partes establecer que la ejecución de ciertas obligaciones del contrato sea manual, con el fin de dejar abierta la puerta para poder reequilibrar las prestaciones en aquellos mercados que pueden ser muy volátiles.
IV. Traducción y codificación del lenguaje natural-contractware
Como se ha puesto de presente, los contratos inteligentes se expresan mediante códigos computacionales inmersos en una blockchain. En este sentido, y comoquiera que dicha plataforma tecnológica cuenta con su propio lenguaje, se hace menester que el lenguaje del contrato que se quiera ejecutar mediante un contrato inteligente habrá de ser traducido a lenguaje de código o de programación (contractware)65. En efecto, es posible que el contrato inteligente se encuentre ligado a un contrato preexistente escrito en lenguaje natural o que, por el contrario, el contrato que se pretende ejecutar haya sido concebido en lenguaje de código.
A. Traducción al lenguaje de código
En efecto, el iter de formación del contrato inteligente supone que los términos y condiciones del contrato (que por lo general se acuerdan en lenguaje natural) sean válidos de conformidad con lo previsto en el artículo 1502 del Código Civil colombiano66; y que la ejecución de las prestaciones de las partes se realizará mediante un código de computador ante la verificación de la información que la desencadena. Lo anterior lleva consigo la necesidad de que el lenguaje que se traduzca al lenguaje de código sea condicional (if-then-rules)67 o que se encuentre en términos de falso y verdadero68, pues deben poder ser expresados de manera que un computador sea capaz de leerlos y de ejecutar un comando contra la entrada de la información que lo activa.
En este contexto, el lector podrá intuir desde ya que resulta imposible traducir la totalidad de un documento contractual a un lenguaje de código sin que se comprometa considerablemente su contenido, máxime cuando los codificadores no deberían incidir o influir en los aspectos sustanciales concernientes a las obligaciones que se pretenden ejecutar vía contratos inteligentes. Debe reiterarse que los programadores no tienen una formación jurídica y por lo tanto no entienden el lenguaje jurídico, que por lo demás tiene una poca o nula tolerancia a los errores69. En efecto, los programadores tienden a leer los contratos bajo la óptica de manifestaciones condicionales o de verdadero y falso, y dejan de lado el hecho de que el lenguaje jurídico muchas veces adquiere sentido por el contexto que lo rodea, razón por la cual la traducción de este al lenguaje de código puede ser compleja70. Pues bien, en este tipo de estructuras lingüísticas la limitación expresiva de los signos se exacerba, máxime cuando, por el contrario, en los contratos tradicionales nos encontramos ante una necesidad de espacio para la ambigüedad y para la interpretación. La ambigüedad es el anatema del lenguaje de código. Además, el hecho de que el contrato sea ejecutado mediante contratos inteligentes no elimina la necesidad de interpretar las previsiones contractuales para llenar de contenido las obligaciones de las partes, para lo cual es necesario contar con los conocimientos jurídicos necesarios, de los cuales, se reitera, carecen los programadores.
Los juristas y las partes pueden solucionar la problemática anterior realizando una interpretación ex ante y fijando el alcance e interpretación que quien ejecute el smart contract debe darles a los términos del contrato71. En efecto, es posible que un término sea sujeto a varias interpretaciones, de ahí que se puedan presentar inconvenientes sobre el alcance de los términos al momento de traducir el lenguaje contractual al lenguaje de código.
B. Codificación directa (direct coding)
Una alternativa a la codificación del lenguaje natural consiste en escribir el contrato inteligente directamente en lenguaje de código (direct coding), sin necesidad de contar desde el inicio con un contrato escrito en lenguaje natural. Se trata de una alternativa que podría disminuir la ambigüedad del contrato, en tanto el lenguaje de código es binario; y reduciría los errores de traducción, en tanto el contrato sería inteligente desde su concepción. De nuevo nos encontramos ante la necesidad de que los abogados piensen en términos binarios al momento de redactar contratos y de que los programadores comprendan los principios básicos del derecho contractual.
C. Integración con el mundo real y el problema del oráculo
Como ya se ha puesto de presente, los contratos inteligentes son mecanismos de ejecución de obligaciones que operan de manera automática ante la verificación del cumplimiento de una condición. Por ejemplo, si un contrato inteligente se diseña para realizar el pago contra entrega de una mercancía, es necesario que el sistema sepa si efectivamente se realizó la entrega. Una vez tenga certeza de que se realizó la entrega, el contrato inteligente habrá de ejecutarse y proceder al pago; de ahí que se requiera una fuente de información proveniente del mundo real que transmita los datos necesarios, en tiempo real, a la blockchain, para que el contrato inteligente pueda ejecutarse. Lo anterior hace necesario que el evento que sirve de catalizador del contrato inteligente se pueda verificar con base en información disponible y que dicha información pueda transmitirse a la blockchain.
Para la verificación del cumplimiento de una condición es preciso que la blockchain tenga un contacto con el mundo real y una fuente de información para tal efecto, fuente que ha sido denominada oráculo72. Los oráculos son programas, empresas o incluso personas naturales que transmiten información del mundo real a la blockchain para que los contratos inteligentes puedan ejecutarse73. De este modo, es posible distinguir entre eventos que ocurren en el interior de la blockchain (on-chain events) de aquellos eventos que ocurren por fuera de la blockchain (off-chain events)74. Así, por ejemplo, un sistema blockchain puede tener información por parte de Bloomberg,
Augur, un banco central, otra blockchain o incluso de sensores de temperatura (internet de las cosas), para activar la ejecución de los contratos inteligentes. Solo resta mencionar en este punto que es importante que las partes del contrato inteligente designen de antemano a un oráculo confiable que sirva de fuente de información, y que acuerden también previamente que aceptan de modo irrevocable la información que proporcione dicho tercero.
En efecto, un contrato inteligente diseñado para la compra de acciones de una empresa listada en bolsa que ha de hacerse efectivo ante la baja de su precio de cotización por debajo de un valor determinado requiere obtener dicha información de un oráculo para que la operación pueda llevarse a cabo en tiempo real. Este ejemplo no presenta mayor inconveniente, en tanto se trata de información que es pública y de fácil acceso para el oráculo. Sin embargo, es posible que se presenten situaciones distintas donde haya diferentes fuentes con información divergente, de ahí la importancia de que las partes acuerden de antemano la fuente de información que utilizarán. También es posible que se presenten situaciones en las que no haya información sobre un evento que ocurra por fuera de la blockchain o que sea de difícil acceso.
Por otro lado, es posible que las partes de un contrato asignen a un oráculo la verificación de condiciones que escapan el carácter binario de los contratos inteligentes. Así las cosas, las partes podrían ponerse de acuerdo para que un tercero, ajeno a la blockchain y al contrato inteligente, determine si las obligaciones de un contrato inteligente se cumplieron de manera razonable, con los mejores esfuerzos o de buena fe, verificación que resulta imposible realizar a la blockchain. En este orden de ideas, es posible flexibilizar a los contratos inteligentes, sacrificando su independencia frente al mundo exterior, en tanto el juicio humano volvería a entrar en juego como catalizador de la ejecución de contratos inteligentes. Así, por ejemplo, establecer si un vendedor realizó una entrega de mercancías conforme requiere un examen del contenido de las mercancías para verificar su conformidad con lo dispuesto en el contrato, de ahí que el juicio humano sea necesario.
Por último, es posible que las partes asignen mecanismos de resolución de conflictos por intermedio de terceros, reconociendo a un árbitro como un oráculo75. Uno de los principales retos asociados a la tecnología blockchain y a los contratos inteligentes es la forma en que se solucionarán las disputas que surjan de ellos. Debido al componente tecnológico que involucran, es recomendable someter dichas controversias a un tribunal de arbitramento, cuyos árbitros deban cumplir con ciertas calificaciones que les permitan contar con los conocimientos necesarios para resolver de la mejor manera las diferencias entre las partes. Pues bien, la designación y la vinculación de dichas partes a la ejecución de los contratos inteligentes se podrían realizar mediante la figura del oráculo, como un tercero que resuelve una controversia y transmite dicha información a la blockchain.
Conclusiones
Si bien el uso de la tecnología para satisfacer necesidades humanas no es nuevo, lo cierto es que con el advenimiento de nuevas tecnologías, como blockchain, la manera como estamos relacionándonos unos con otros, y por ende, entablando relaciones contractuales, está mutando rápidamente. Así las cosas, es preciso que cualquier debate sobre los contratos inteligentes se base en un sólido entendimiento de lo que es contractual y tecnológicamente posible. En efecto, en la actualidad hay transacciones comerciales cuya complejidad requiere protocolos complejos para que su ejecución pueda materializarse mediante contratos inteligentes. Pues bien, es recomendable el uso de contratos inteligentes para operaciones condicionales de fácil verificación y ejecución. Sin embargo, tratándose de obligaciones complejas, tal vez asociadas a deberes de conductas o criterios de razonabilidad, es recomendable su ejecución manual, comoquiera que en la actualidad no resulta viable su ejecución automática, debido a las dificultades que se pueden presentar en su traducción del lenguaje natural al lenguaje de código. En suma, solo unos contratos pueden expresarse en código y solo unas obligaciones pueden traducirse a lenguaje computacional para su ejecución en sistemas de registro distribuido.
Además, debe indicarse que la rigidez propia de los contratos inteligentes, producto de la inmutabilidad inherente a la blockchain, tiene la virtualidad de eliminar la dependencia del ser humano y sustituirla por la "voluntad" del código. Sin embargo, al mismo tiempo priva a las partes de la posibilidad de decidir si desean cumplir o no con las obligaciones contractuales que recaen en ellos; y deja de lado el reconocimiento de que en la realidad se puedan presentar situaciones que hagan necesario modificar las condiciones contractuales. En este sentido, es incierta la manera como los contratos inteligentes se articularán con la teoría de la imprevisión o la teoría del incumplimiento eficiente. Así las cosas, la eliminación del juicio humano y la automatización de la elección pueden evolucionar en una situación en que las partes contratantes pierdan efectivamente la posibilidad de ejercer sus derechos. En suma, la reducción de la ambigüedad puede ser menos atractiva de lo esperado.
Debe indicarse asimismo que una vez los contratos inteligentes involucran el cumplimiento de obligaciones en el mundo real, la operación se vuelve dependiente de entidades externas, lo cual sacrifica los beneficios provenientes de la autonomía de la blockchain. En efecto, la presencia del oráculo para verificar que las condiciones y los supuestos de hecho que activan la ejecución de los contratos inteligentes conlleva la necesidad de intervención humana en la introducción de información proveniente del mundo real a la blockchain.
Solo resta mencionar que los contratos inteligentes introducen nuevos riesgos a la contratación contemporánea, tales como errores en programación y discrepancias entre la implementación del contrato y la intención de las partes. Por esto los juristas deben propender a la creación de puentes entre los sistemas jurídicos y los sistemas tecnológicos que permitan reducir estos riesgos. Por su parte los reguladores deben aproximarse a esta nueva realidad reconociendo que se trata de protocolos independientes que pueden crear conjuntos de reglas propios, sin perjuicio de que puedan influir en la conducta de los particulares que intervienen en estos esquemas tecnológicos. Así pues, la mejor manera de crear un ambiente de regulación propicio consiste en regular a los intermediarios que participan en dichos sistemas.