Está en la página 1de 11

Smart Contracts: Análisis Jurídico desde el Marco Legal Peruano

En el White Paper de Ethereum, se plantea la idea de que la red blockchain no


solo sea un registro de transacciones, sino también un medio para llevar a cabo
la ejecución automática de contratos. Así nació el concepto de "smart contract"
en una blockchain, que agrega cierta inteligencia y utiliza el procesamiento en
la ejecución de actividades relacionadas con las transferencias y eventos
dentro de la red.

El White Paper comienza señalando que, si bien Bitcoin fue un avance radical
en el ámbito financiero, también es importante destacar el potencial de la
tecnología subyacente de la blockchain como una herramienta de consenso
distribuido. Se mencionan varias aplicaciones alternativas de la tecnología
blockchain, como representar divisas personalizadas e instrumentos
financieros, propiedad inteligente de activos físicos, activos no fungibles y
contratos inteligentes controlados por código.

El objetivo de Ethereum es proporcionar una blockchain con un lenguaje de


programación completo y desarrollado, que permita la creación de "contratos"
que codifiquen funciones de transición de estados arbitrarios. Esto brinda a los
usuarios la posibilidad de crear diferentes sistemas y aplicaciones a través de
la escritura de unas pocas líneas de código, tanto para los casos mencionados
como para otros sistemas aún no imaginados.

En resumen, el White Paper de Ethereum marca la diferencia entre Bitcoin y su


visión de la blockchain. Propone que la blockchain sea utilizada no solo para
transacciones monetarias, sino también para la ejecución de contratos
inteligentes que automatizan varias actividades dentro de la red, y que eso se
logre a través de un lenguaje de programación completo y accesible.

En el contexto de las blockchains, una diferencia importante entre Bitcoin y


Ethereum radica en la Ethereum Virtual Machine (EVM). La EVM es esencial
para el funcionamiento de la blockchain de Ethereum, ya que permite la
ejecución de programas o smart contracts que brindan funcionalidades
adicionales a los usuarios en la red. Estos smart contracts se diseñan y
ejecutan utilizando el lenguaje de programación llamado Solidity.
Es interesante destacar que la idea de los contratos inteligentes no es nueva y
fue desarrollada en la década de los 90 por Nick Szabo, quien los definió como
protocolos de transacción computarizados que ejecutan los términos de un
contrato. El propósito de los contratos inteligentes era promover relaciones
contractuales donde el incumplimiento fuese costoso, evitando así conflictos y
la necesidad de recurrir a los tribunales. En este sentido, los smart contracts
actúan como una forma de autoayuda (self-help) al garantizar la seguridad en
el cumplimiento de los contratos.

Sin embargo, en los años 90, la implementación de esta idea enfrentaba


desafíos, como la dificultad de controlar los activos y la falta de confianza en el
código informático que ejecutaba los acuerdos. La tecnología blockchain
resuelve estos problemas al permitir el control de activos a través de códigos o
claves criptográficas asociadas a ellos. Además, la tecnología blockchain
masifica y globaliza el uso de los smart contracts debido a sus características
de inmutabilidad, trazabilidad, descentralización y seguridad.

En resumen, un smart contract es un programa informático almacenado en la


blockchain que reemplaza los términos y condiciones de un contrato tradicional.
Estas líneas de código se ejecutan automáticamente sin la intervención de
terceros, permitiendo la ejecución independiente de las cláusulas contractuales
basada en la lógica de "si ocurre esto, entonces sucederá lo siguiente". Esta
tecnología garantiza la vinculación automática de las cláusulas contractuales y
permite una distribución más eficiente de bienes y servicios. Es importante que
las cláusulas o condiciones de los smart contracts sean objetivas para que
puedan ser verificadas y ejecutadas automáticamente mediante lógica
booleana.

Como señala Abel Revoredo, los smart contracts son acuerdos escritos en
código de programación que ejecutan automáticamente funciones cuando se
cumplen ciertas condiciones establecidas previamente. En otras palabras, si se
cumple la condición "A", se realizará la acción "B". Esta es la idea básica detrás
de los smart contracts. Estos contratos se basan en un acuerdo entre las partes
que deciden utilizar un smart contract para ejecutar los términos del acuerdo
una vez que se verifiquen las condiciones establecidas. Es importante destacar
que el acuerdo, total o parcialmente, se codifica y se almacena en una cadena
de bloques, lo que garantiza su inmutabilidad y seguridad.

En su charla TEDx titulada "Cómo los smart contracts cambiarán el mundo",


Olga Mack describe los smart contracts como una máquina expendedora
mejorada. De hecho, Nick Szabo también utiliza esta analogía. Mack sostiene
que los smart contracts tienen tres funciones esenciales: (i) almacenar reglas,
(ii) verificar el cumplimiento de las reglas, y (iii) ejecutar automáticamente el
comando una vez se haya verificado el cumplimiento de la regla. Esto es
similar al funcionamiento de una máquina expendedora de snacks. En primer
lugar, la máquina tiene almacenadas las reglas de que, una vez se inserten las
monedas necesarias, el consumidor recibirá el producto seleccionado. En
segundo lugar, una vez se inserta la moneda, la máquina verifica el valor y el
producto seleccionado. Por último, después de verificar la transacción, la
máquina ejecuta la orden y el consumidor recibe el snack elegido. La
comparación con una máquina expendedora "con esteroides" se refiere a que
la complejidad de la automatización del contrato depende de la complejidad del
propio contrato. Por ejemplo, en un contrato inteligente de compra-venta de
acciones, cuando el comprador realiza el pago al vendedor, el smart contract
se comunica instantáneamente con la sociedad, que registra al nuevo titular de
las acciones y emite un certificado digital de las mismas.

En resumen, los smart contracts son acuerdos escritos en código de


programación que se ejecutan automáticamente cuando se cumplen ciertas
condiciones. La analogía con una máquina expendedora de snacks ilustra
cómo funcionan estos contratos, almacenando reglas, verificando su
cumplimiento y ejecutando acciones una vez se verifica el cumplimiento. Los
smart contracts permiten automatizar y agilizar varios tipos de transacciones,
como la compra-venta de acciones, a través de la tecnología de blockchain.

En base a lo expuesto, podemos apreciar cómo los smart contracts utilizan la


tecnología blockchain para ejecutar automáticamente un contrato una vez se
verifiquen las condiciones establecidas en el mismo. Esta automatización
permite que el proceso sea rápido y eficiente. Además, los smart contracts
eliminan la necesidad de terceros intermediarios, lo cual agiliza el proceso y
reduce costes. La confianza se deposita en el código, el cual es difícil de
manipular una vez almacenado en la cadena de bloques.

Existen múltiples ejemplos de beneficios que se pueden obtener a través de los


smart contracts. En el sector de seguros, por ejemplo, una persona podría
recibir un reembolso automáticamente después de someterse a una operación.
En el sector de transporte, si un vuelo o tren se retrasa, se transferirá
automáticamente el precio del ticket junto con una indemnización por los daños
ocasionados. En el sector de apuestas, el ganador no tendría que perseguir al
perdedor para cobrar la apuesta. En el sector financiero, los bancos podrían
ejecutar hipotecas o garantías en caso de impago por parte del deudor.

Los smart contracts aportan transparencia, previsibilidad, control y facilidad de


cumplimiento a las relaciones contractuales, al mismo tiempo que reducen los
riesgos asociados con la participación humana. Se busca reducir los costes de
las transacciones, eliminar intermediarios y simplificar la ejecución de los
contratos. Esto tiene un impacto en el ordenamiento jurídico, ya que los smart
contracts están intrínsecamente ligados al Derecho Contractual. Por lo tanto, la
naturaleza jurídica de los smart contracts se puede entender desde dos
perspectivas: la informática, que los considera como código informático, y la
jurídica, que los ve como una herramienta al servicio de un acuerdo que se
redacta total o parcialmente en código y se beneficia de la autoejecución y
verificación de condiciones establecidas en un contrato con relevancia legal.

En base a lo expuesto, podemos apreciar cómo los smart contracts utilizan la


tecnología blockchain para ejecutar automáticamente un contrato una vez se
verifiquen las condiciones establecidas en el mismo. Esta automatización
permite que el proceso sea rápido y eficiente. Además, los smart contracts
eliminan la necesidad de terceros intermediarios, lo cual agiliza el proceso y
reduce costes. La confianza se deposita en el código, el cual es difícil de
manipular una vez almacenado en la cadena de bloques.

Existen múltiples ejemplos de beneficios que se pueden obtener a través de los


smart contracts. En el sector de seguros, por ejemplo, una persona podría
recibir un reembolso automáticamente después de someterse a una operación.
En el sector de transporte, si un vuelo o tren se retrasa, se transferirá
automáticamente el precio del ticket junto con una indemnización por los daños
ocasionados. En el sector de apuestas, el ganador no tendría que perseguir al
perdedor para cobrar la apuesta. En el sector financiero, los bancos podrían
ejecutar hipotecas o garantías en caso de impago por parte del deudor.

Los smart contracts aportan transparencia, previsibilidad, control y facilidad de


cumplimiento a las relaciones contractuales, al mismo tiempo que reducen los
riesgos asociados con la participación humana. Se busca reducir los costes de
las transacciones, eliminar intermediarios y simplificar la ejecución de los
contratos. Esto tiene un impacto en el ordenamiento jurídico, ya que los smart
contracts están intrínsecamente ligados al Derecho Contractual. Por lo tanto, la
naturaleza jurídica de los smart contracts se puede entender desde dos
perspectivas: la informática, que los considera como código informático, y la
jurídica, que los ve como una herramienta al servicio de un acuerdo que se
redacta total o parcialmente en código y se beneficia de la autoejecución y
verificación de condiciones establecidas en un contrato con relevancia legal.

En base a lo expuesto, podemos concluir que los smart contracts pueden ser
considerados contratos en el ámbito del Derecho Civil peruano. Desde un
punto de vista formal, el hecho de que los smart contracts se redacten en forma
de código informático no impide que sean reconocidos como contratos, ya que
el Código Civil peruano establece el principio de libertad de forma en su artículo
143°. Esto significa que las partes son libres de manifestar su voluntad de la
forma que consideren conveniente, a menos que se exija una formalidad
específica para ciertos actos jurídicos.

Es importante destacar que el Código Civil peruano permite expresamente el


uso de medios electrónicos para manifestar la voluntad al momento de celebrar
un acto jurídico, según lo establecido en la Ley N° 27291. Esta ley modificó los
artículos 141º y 1374º del Código Civil, permitiendo la utilización de medios
electrónicos en la manifestación del consentimiento en contratos electrónicos.
Así, los smart contracts, al ser una variante de los contratos electrónicos, están
amparados por la legislación peruana.
Además, los contratos electrónicos, incluidos los smart contracts, deben
cumplir con los requisitos esenciales de validez establecidos en el Código Civil
peruano, como el consentimiento de las partes capaces, la posibilidad y licitud
del objeto contractual, y el cumplimiento de la formalidad exigida por la ley.
Según el artículo 1374° del Código Civil, los contratos electrónicos se
perfeccionan cuando el remitente obtiene un acuse de recibo.

En resumen, los smart contracts pueden ser considerados contratos en el


Derecho Civil peruano, ya que se cumplen los requisitos de libertad de forma y
utilización de medios electrónicos establecidos por la legislación peruana.
Como cualquier contrato, los smart contracts deben cumplir con los requisitos
esenciales de validez para ser reconocidos jurídicamente.

Como Agustina Pérez sugiere, es importante tener en cuenta que los smart
contracts no representan un nuevo tipo de contrato, sino una nueva
herramienta para contratar utilizando medios electrónicos. Esto permite aplicar
el principio de "pacta sunt servanda" (los acuerdos deben ser cumplidos) de
manera profunda, sin necesidad de normas expresas, siempre y cuando el
contrato sea programado con el consentimiento de ambas partes.

En el caso de contratos que requieren una formalidad específica, se puede


seguir una práctica recomendable de redactar el contrato de manera tradicional
y luego traducir los términos y condiciones a un lenguaje de programación
como Solidity. De esta manera, se cumple con la formalidad exigida por ley al
tener el contrato por escrito, mientras que el smart contract sirve como una
representación ejecutable del mismo. Esta práctica permite dar validez legal al
acto jurídico y automatizar la ejecución de las prestaciones contractuales una
vez que se cumplen ciertas condiciones. Se puede exigir a las partes
contratantes que acepten los términos en lenguaje natural que confieren un
efecto contractual vinculante sobre la transacción realizada por el código. El
contrato inteligente sería "lanzado" y autoejecutado con efecto legal de acuerdo
con los términos codificados. Además, se podría registrar la versión en formato
"word" o "pdf" del contrato en la blockchain mediante el uso de hash.

En conclusión, con las medidas adecuadas para garantizar el cumplimiento de


las formalidades legales y los elementos constitutivos de un contrato, es
probable que un contrato inteligente y su autoejecución sean considerados
vinculantes desde una perspectiva jurídica. Esto permitiría aprovechar las
ventajas de la tecnología de los smart contracts mientras se cumplen los
requisitos legales.

La firma de un smart contract puede variar dependiendo de la plataforma o


sistema utilizado. En principio, se requiere que las partes involucradas en el
contrato tengan acceso a una wallet o billetera digital que les permita
autenticarse y tener control sobre sus activos digitales. Una vez autenticados,
las partes pueden intercambiar y firmar el smart contract utilizando claves
criptográficas asociadas a sus wallets.

Sin embargo, en el mundo "off-chain" (fuera de la cadena de bloques), puede


ser necesario que la persona que celebra el contrato tenga los poderes
suficientes para llevar a cabo el acto jurídico correspondiente. En estos casos,
una forma de firmar electrónicamente un smart contract podría ser mediante
una videofirma que cuente con varias formas de autenticación. Posteriormente,
esta firma electrónica podría registrarse en la blockchain mediante un hash, lo
que proporcionaría un registro inmutable de la firma y el contrato
correspondiente.

En cuanto a los vicios e irregularidades en un smart contract, la situación puede


ser compleja. Una vez que el contrato se perfecciona, se vuelve obligatorio y
vincula a las partes. No obstante, si el contrato presenta vicios o irregularidades
que lo hacen inválido, existe la posibilidad de solicitar su anulación. Esto
implica que las partes pueden solicitar la restitución de las prestaciones
realizadas. Es importante tener en cuenta que, al igual que con los contratos
"tradicionales", las disposiciones legales que rigen la nulidad y anulabilidad de
los contratos también se aplican a los smart contracts.

Al programar un smart contract, es importante considerar cláusulas pertinentes


para el tipo de contrato específico. Como señala Agustina Pérez, es
fundamental contar con asesoramiento adecuado y estructurar cuidadosamente
el contrato. Aunque no se pueden contemplar todas las situaciones posibles, es
importante tener en cuenta la regulación legal vigente y respetarla en el diseño
y programación del contrato inteligente. Esto implica asegurarse de que el
contrato cumpla con los requisitos legales y que las cláusulas sean acordes
con la normativa aplicable.

La firma de un smart contract puede variar dependiendo de la plataforma o


sistema utilizado. En principio, se requiere que las partes involucradas en el
contrato tengan acceso a una wallet o billetera digital que les permita
autenticarse y tener control sobre sus activos digitales. Una vez autenticados,
las partes pueden intercambiar y firmar el smart contract utilizando claves
criptográficas asociadas a sus wallets.

Sin embargo, en el mundo "off-chain" (fuera de la cadena de bloques), puede


ser necesario que la persona que celebra el contrato tenga los poderes
suficientes para llevar a cabo el acto jurídico correspondiente. En estos casos,
una forma de firmar electrónicamente un smart contract podría ser mediante
una videofirma que cuente con varias formas de autenticación. Posteriormente,
esta firma electrónica podría registrarse en la blockchain mediante un hash, lo
que proporcionaría un registro inmutable de la firma y el contrato
correspondiente.

En cuanto a los vicios e irregularidades en un smart contract, la situación puede


ser compleja. Una vez que el contrato se perfecciona, se vuelve obligatorio y
vincula a las partes. No obstante, si el contrato presenta vicios o irregularidades
que lo hacen inválido, existe la posibilidad de solicitar su anulación. Esto
implica que las partes pueden solicitar la restitución de las prestaciones
realizadas. Es importante tener en cuenta que, al igual que con los contratos
"tradicionales", las disposiciones legales que rigen la nulidad y anulabilidad de
los contratos también se aplican a los smart contracts.

Al programar un smart contract, es importante considerar cláusulas pertinentes


para el tipo de contrato específico. Como señala Agustina Pérez, es
fundamental contar con asesoramiento adecuado y estructurar cuidadosamente
el contrato. Aunque no se pueden contemplar todas las situaciones posibles, es
importante tener en cuenta la regulación legal vigente y respetarla en el diseño
y programación del contrato inteligente. Esto implica asegurarse de que el
contrato cumpla con los requisitos legales y que las cláusulas sean acordes
con la normativa aplicable.
Sin duda, al redactar un smart contract, es esencial incluir cláusulas específicas
para adaptarlo a las necesidades y características del contrato en cuestión.
Algunas cláusulas que se deben considerar son:

1. Identificación de las partes: Es importante identificar correctamente a


todas las partes involucradas en el contrato. Esto permite establecer la
relación jurídica entre ellas y vincular sus claves públicas utilizadas en la
transacción.

2. Ley aplicable y jurisdicción competente: En el contexto de la tecnología


blockchain y los smart contracts, es crucial especificar la ley que regirá
el contrato y establecer la jurisdicción competente en caso de disputa.
Dado que estos contratos pueden tener alcance internacional,
determinar la ley y la jurisdicción adecuadas puede ayudar a resolver los
conflictos de manera eficiente.

3. Cláusula de resolución de conflictos: Es recomendable incluir una


cláusula que establezca cómo se resolverán las disputas que puedan
surgir en el futuro. Esto puede incluir la opción de recurrir a un arbitraje,
que podría ser una alternativa más especializada y eficiente que la vía
judicial tradicional. Esta cláusula puede ser incluida tanto "off-chain"
como dentro del propio smart contract, y puede especificar la suspensión
de la ejecución del contrato hasta que el árbitro haya emitido su
resolución.

4. Interpretación del contrato: Teniendo en cuenta que los smart contracts


pueden implicar tanto un contrato escrito como la programación misma,
es importante establecer cómo se interpretarán las disposiciones en
caso de discrepancia entre ambos. Esto puede incluir determinar si la
programación prevalecerá sobre el contrato escrito o viceversa.

5. Utilización de oráculos: La verificación de las condiciones


preestablecidas en el smart contract generalmente requerirá el uso de
oráculos. Estos oráculos actúan como servicios que conectan el código
del contrato con información externa a la blockchain. Es crucial
garantizar la fiabilidad y seguridad de los oráculos utilizados para evitar
ejecuciones incorrectas o equívocas del smart contract.
En resumen, al programar un smart contract, es esencial considerar cláusulas
específicas que se ajusten a las necesidades del contrato y a la legislación
aplicable. Estas cláusulas pueden abordar aspectos como la identificación de
las partes, la ley aplicable, la jurisdicción competente, la resolución de
conflictos, la interpretación del contrato y el uso de oráculos para la verificación
de condiciones externas. Tener en cuenta estas cláusulas ayuda a garantizar la
validez y eficacia del smart contract, así como a prever y resolver posibles
controversias de manera justa y eficiente.

Una auditoría técnica antes de la ejecución de un smart contract es


fundamental para analizar y detectar posibles vulnerabilidades en el código.
Los auditores revisan el código del contrato inteligente, crean informes con los
hallazgos y trabajan en la solución de problemas de seguridad o rendimiento.
El informe final se publica con una lista de errores corregidos y pendientes.

La inclusión de una cláusula de escape en un smart contract es importante. Si


el contrato no es reversible, ¿qué sucede si se ejecuta una operación
incorrecta debido a un error humano en la programación o en una situación
ambigua? La inmutabilidad de la tecnología blockchain tiene beneficios en
términos de seguridad y transparencia, pero también plantea un riesgo de
ejecución debido a la incapacidad de prever todas las circunstancias posibles.
Es importante tener una ruta alternativa codificada en el contrato en caso de
que se presenten ciertas circunstancias.

Además, se deben establecer remedios para errores de codificación, bugs,


oráculos incorrectos u otros fallos tecnológicos. Si la inejecución del contrato no
es atribuible a las partes, como en el caso de errores de programación o
información falsa del oráculo, se puede generar un resultado no deseado. En
tales casos, se pueden pactar remedios fuera de la cadena y asignar el riesgo
relacionado con el mal funcionamiento del smart contract.

En conclusión, los smart contracts surgieron para agregar seguridad al


cumplimiento de los contratos y evitar recurrir a los tribunales. La ejecución
automática limita la posibilidad de incumplimiento y se espera que la sociedad
se adapte a esta realidad. Sin embargo, la tecnología todavía está
evolucionando y se debe tener en cuenta cómo el machine learning potenciará
los smart contracts y su capacidad para tomar decisiones subjetivas.

También podría gustarte