La Responsabilidad del Programador de SmartContracts
27 de octubre de 2023Contenido
Cuando se aborda el tema de las nuevas tecnologías y la Cuarta Revolución Industrial en relación con el derecho, nos enfrentamos a numerosas situaciones en que las que el eterno “la sociedad va más rápido que el derecho” toma sentido práctico, más allá de las aulas y los textos académicos. Es el caso de los smartcontracts.
Los smartcontracts o contratos auto ejecutables son protocolos computarizados que ejecutan los términos de un contrato (Szabo, 1994) y que están establecidos en una cadena de bloques o blockchain, generando dos características principales: una vez pactados no permiten la renegociación o modificación y, por otra parte, se ejecutan sin la necesidad de una voluntad distinta a la surgida al nacimiento del contrato. Esta definición se hace sin perjuicio de situaciones contractuales que no cumplan en su totalidad con las exigencias de esta, pero que por el uso de la tecnología de bloques en alguna parte de su creación o desarrollo, pueden catalogarse como smartcontracts. A su vez, podemos entender el blockchain como un libro de contabilidad compartido e inmodificable, donde un gran número de participantes añade información de forma simultánea (IEBS, 2022).
Al incluirse protocolos electrónicos, el contrato sale de la esfera del abogado y entra en la del programador de software. Si antes la gente confiaba la proyección de sus contratos a los abogados, ahora confían esta ejecución en un software, que ejecute a rajatabla sus voluntades. Todo esto, al menos en teoría. Pero ¿Qué sucede cuando el software falla, causando la no ejecución del contrato (o su ejecución imperfecta) y el detrimento de los suscriptores? De manera más directa: ¿Cuál es la responsabilidad del programador de un smartcontract en caso de falla del software a la hora de ejecutar las obligaciones en él presentes?
Un buen inicio puede ser la comprensión de la figura jurídica que enmarca el actuar del programador de software de un contrato blockchain, adentrándonos en los Contratos de Desarrollo de Software: aquellos en los que una persona se obliga con otra a crear un programa o sistema computarizado, con características funcionales y técnicas acordadas por los contratantes, dentro de un plazo determinado y a cambio de un precio preestablecido (DENAE, 2018).
Este contrato no existe de manera independiente en nuestra legislación, sino que es una etiqueta que se la ha dado en la práctica jurídica. Sin embargo, sí encontramos en nuestro catálogo jurídico el Arrendamiento de Servicios Inmateriales, del que se habla en los artículos 2063 y siguientes del Código Civil Colombiano. En estas disposiciones se indica que una obra inmaterial es aquella en la que “predomina la inteligencia sobre la mano” (art 2063, CC). La creación de un software, por ende, entra de manera plena en esta clasificación.
Que el desarrollo de software de un contrato blockchain esté cobijado por este artículo trae intrínseco un debate: aunque una actividad “intelectual” suele caer en las clasificaciones de obligaciones de medio, el arrendamiento de servicios inmateriales que contiene el artículo 2063 se sujeta, por indicación expresa del legislador, a las reglas presentes en los artículos 2054, 2055, 2056 y 2069 del mismo código, que hablan sobre el contrato de confección de obra material, que contienen obligaciones de resultado (Rodríguez, J. C. M. 2012). Ante una incoherencia entre las características técnicas y funcionales pactadas y las obtenidas, el contratante puede alegar una mala ejecución, y dar paso al nombramiento de peritos que decidan la veracidad del incumplimiento, y “siendo fundada esta alegación (…), el programador será obligado, a elección del que encargó la obra, a hacerla de nuevo o a la indemnización de los perjuicios” (art 2019 CC).
Bajo este entendido, la programación de un smartcontract debe equipararse a la confección de una obra material y a sus obligaciones de resultado. En caso de una falla en la ejecución automática de sus obligaciones, los contratantes pueden acudir al artículo 2059 del Código Civil y alegar la indemnización de perjuicios o la repetición del software, sin que la mera recepción y aceptación de la “obra” pueda ser entendida como un cese de responsabilidad del programador. La posibilidad de una falla en el “programa” es particularmente peligrosa en nuestro caso de estudio, porque el error en la ejecución del contrato de desarrollo de software causa la no ejecución o la ejecución imperfecta del smartcontract autoejecutable que utiliza la tecnología blockchain, teniendo como consecuencia que a la hora de realizar la tasación de perjuicios a pagar por parte del programador, puedan incluirse las pérdidas económicas propias del incumplimiento del otro contrato, aquel en el que el programador no participó como contratante. El programador se enfrenta, entonces, a un régimen de responsabilidad mayor del que deben afrontar los abogados que tradicionalmente sirven de “intermediarios” en los contratos tradicionales.
De ser correcta la aproximación anterior, el programador debe lidiar con riesgos que hacen menos tentadora su participación profesional en este tipo de acuerdos. Aun así, el interés del mercado en un contrato autoejecutable podría compensar, en términos de ganancias para el programador, los riesgos propios de la relación[1].
Todas estar aristas deben ser tenidas en cuenta tanto por los interesados en el contrato autoejecutable como por el programador al que se le encarga su programación. Es, sin duda, una figura que trae numerosos beneficios, así como riesgos intrínsecos. Más que una aproximación legislativa a la solución de estos interrogantes, espero que su uso se extienda mas en nuestro país, dando la eventual posibilidad a la jurisprudencia de arrojar luz a estos debates.
[1] Adicionalmente, debe tenerse en cuenta que solo alrededor del 3% de los contratos inscritos en Ethereum fallan. LEE, S., “Blockchain Smart Contracts:More Trouble Than They Are Worth?”, Forbes, (disponible en
https://www.forbes.com/sites/shermanlee/2018/07/10/blockchain-smart-contracts-more-trouble-thanthey-are-worth/#76cc02fd23a6).