
Este es quizás el artículo más interesante sobre las perspectivas para el uso de contratos inteligentes en la práctica comercial, que encontré (aunque no había muchos de ellos). Fue escrito por abogados y publicado a fines de mayo en el sitio web de Harvard. Aunque utiliza el ejemplo de los Estados Unidos, el texto revela cuestiones tales como la aplicación de la legislación a las transacciones de contratos inteligentes, el problema de comprensión por parte de las partes del código, el problema de los oráculos, los riesgos y otros.
También encontrará una explicación de por qué las personas han estado utilizando máquinas expendedoras (como un ejemplo de la implementación más obvia y más simple de un contrato inteligente) durante mucho tiempo y con éxito, y el uso de contratos inteligentes más complejos, por ejemplo, en logística o seguros, sigue siendo difícil.
Los contratos inteligentes son un componente crítico de muchas plataformas y aplicaciones creadas sobre la base de blockchain, es decir, la tecnología de registro distribuido. A continuación, analizamos el trabajo de los contratos inteligentes, descubrimos si pueden considerarse vinculantes para los acuerdos legales conforme a las leyes de los Estados Unidos, y analizamos los problemas legales y prácticos que deben resolverse antes de utilizar ampliamente los contratos inteligentes en las relaciones comerciales.
1. Introducción a los contratos inteligentes.
1.1. Cómo funcionan los contratos inteligentes
El término "contrato inteligente" describe el código de computadora que ejecuta automáticamente todo o parte de un acuerdo. El código se almacena en una plataforma construida sobre la base de la cadena de bloques. Como veremos a continuación, el código es el único anuncio de un acuerdo entre las partes o complementa el contrato textual tradicional y cumple solo ciertas disposiciones, como la transferencia de dinero del lado A al lado B. El código en sí se replica en varios nodos de la cadena de bloques, lo que significa que aprovecha la cadena de bloques: esto es seguridad , seguridad e inmutabilidad. La replicación también significa que a medida que se agrega cada nuevo bloque a la cadena de bloques, el código se puede ejecutar esencialmente. Si las partes iniciaron la transacción y, por lo tanto, mostraron que se cumplen las condiciones, esto se convertirá en un desencadenante y el código realizará alguna acción. Si la transacción no se inicia, el código no hace nada. La mayoría de los contratos inteligentes están escritos en uno de los lenguajes de programación creados específicamente para estos fines (por ejemplo, Solidity).
Es necesario que los parámetros de entrada y las etapas de la implementación del contrato inteligente sean específicos y objetivos. En otras palabras, "si X sucede, entonces haga Y". Por lo tanto, los contratos inteligentes realizan las tareas más simples, por ejemplo, transfieren automáticamente la criptomoneda de la billetera de un lado a la billetera del otro, si se cumplen las condiciones necesarias. A medida que la cadena de bloques se expande y los fondos invertidos en tokens o enviados como parte de la cadena de bloques (en cadena) aumentan, los contratos inteligentes se volverán más complicados y podrán procesar transacciones complejas. Muchos desarrolladores ya están creando contratos inteligentes más complejos, combinando varias etapas de transacciones en ellos. Sin embargo, tendremos que esperar muchos años más para que el código pueda determinar criterios legales subjetivos, como "si las acciones de la parte cumplen con los criterios para esfuerzos comercialmente razonables" o "si vale la pena cumplir con la cláusula de reembolso y pagar una indemnización".
Antes de ejecutar el contrato inteligente compilado, debe pagar una tarifa de transacción para agregar el contrato a la cadena de bloques. Por ejemplo, en la cadena de bloques Ethereum, los contratos inteligentes se ejecutan en la máquina virtual Ethereum (EVM), y la comisión en la criptomoneda de éter se llama gas (gas, aunque la traducción más correcta es "combustible") [1]. Cuanto más complicado sea el contrato inteligente, más gasolina tendrá que pagar. Es decir, el gas es un tipo de puerta de enlace que protege al EVM de la ejecución de contratos inteligentes demasiado complejos o numerosos [2].
Hasta ahora, los contratos inteligentes son los más adecuados para la ejecución automática de dos tipos de transacciones:
- pago provocado por ciertos eventos,
- imposición de sanciones financieras en caso de incumplimiento de condiciones objetivas.
Cuando el contrato ampliado entra en vigencia, estos dos tipos de transacciones no requieren la participación de personas, incluidos los titulares de custodia de confianza o representantes del sistema legal. Esto le permite reducir los gastos generales de ejecución y ejecución al concluir los contratos.
Por ejemplo, los contratos inteligentes pueden ahorrarle la llamada brecha entre la adquisición y el pago. Tan pronto como los productos llegaron al almacén y se registraron, el contrato inteligente puede enviar instantáneamente solicitudes de confirmación. Al recibirlos, transferirá inmediatamente los fondos del comprador al vendedor. En este caso, los vendedores recibirán el pago más rápido, no tendrán que recordarles a los clientes la necesidad de pagar, y los compradores ahorrarán en operaciones bancarias. Todo esto puede reducir los requisitos de capital de trabajo y simplificar las transacciones financieras para ambas partes. En cuanto a la ejecución obligatoria, un contrato inteligente puede programarse de tal manera que bloquee el acceso a los activos conectados a través de Internet (por ejemplo, al contenido) hasta que se reciba el pago.
1.2. Antecedentes historicos
El término "contrato inteligente" fue acuñado hace unos 20 años por el científico informático Nick Szabo, que entonces era un estudiante graduado en la Universidad de Washington:
Gracias a la revolución digital, se han hecho posibles nuevas instituciones estatales y nuevas formas de formalizar las relaciones que forman estas instituciones. Llamo a estos contratos inteligentes porque son mucho más funcionales que sus predecesores de papel sin vida. No usan inteligencia artificial. Un contrato inteligente es un conjunto de promesas definidas en forma digital, que incluye protocolos para que las partes cumplan estas promesas [3].
Tenga en cuenta: Szabo puso la palabra "inteligente" entre comillas y declaró la no utilización de la inteligencia artificial. Los contratos inteligentes son "más inteligentes" que el papel porque ejecutan automáticamente pasos preprogramados. Pero no pueden considerarse herramientas intelectuales capaces de analizar requisitos más subjetivos. Sabo da un ejemplo clásico de un contrato inteligente: esta es una máquina expendedora. Si los términos del "contrato" se ajustan al comprador (es decir, él pone el dinero en la máquina), entonces la máquina cumple automáticamente con los términos del acuerdo no escrito y proporciona la compra.
Otra fuente de contratos inteligentes modernos es el contrato ricardiano . Esta idea apareció en 1996 en el trabajo de Ian Grigg (Ian Grigg) y Gary Howland (Gary Howland), dedicado al sistema de pago Ricardo. Grigg presentó el contrato ricardiano como un puente entre los contratos de texto y el código con los siguientes parámetros:
1) documento único: un contrato que el emisor ofrece a los titulares;
2) sobre el derecho de propiedad de los tenedores controlados por el emisor;
3) es fácilmente reconocido por las personas (como un contrato de papel regular);
4) leer por programas (analizado como una base de datos);
5) está firmado digitalmente;
6) contiene claves e información del servidor;
7) combinado con un identificador único y seguro [4].
2. Relación con las convenciones textuales tradicionales.
En las discusiones sobre contratos inteligentes, el término en sí, que se usa para dos paradigmas diferentes, es difícil.
El primero son los contratos inteligentes que se crean y se implementan sin contratos de texto vinculantes. Por ejemplo, las dos partes acuerdan verbalmente qué tipo de relación comercial desean establecer, e inmediatamente traducen el acuerdo en un código ejecutable. Lo llamamos "contratos inteligentes exclusivamente de software" (contratos inteligentes de solo código).
El segundo son los contratos inteligentes, utilizados como un medio para implementar disposiciones específicas de un contrato de texto tradicional, cuyo texto se refiere al uso de un contrato inteligente para implementar estas disposiciones. Llamaremos a esto "contratos inteligentes auxiliares".
3. ¿Son obligatorios los contratos inteligentes?
No existe una ley de contratos federales en los Estados Unidos. La forma de interpretar los contratos y si es obligatorio ejecutarlos se determina a nivel de la ley estatal. Por lo tanto, aunque los principios clave se aplican en todo el estado, y la Asamblea Nacional de Comisionados sobre la Ley Uniforme del Estado aboga por la armonización de las leyes estatales, cualquier conclusión sobre los contratos inteligentes debe tener en cuenta el hecho de que diferentes puntos de vista pueden prevalecer en diferentes estados.
La discusión sobre la ejecución obligatoria de los contratos inteligentes debe comenzar con una separación fundamental de los conceptos de "acuerdo" y "contrato". Los estados generalmente aceptan que las dos partes pueden celebrar acuerdos, pero el concepto de "contrato" significa que el acuerdo es legalmente vinculante y debe hacerse cumplir en un procedimiento judicial [5]. Para determinar si son vinculantes, los tribunales estatales han evaluado tradicionalmente si se cumplen los requisitos de oferta, aceptación y consideración. Indudablemente, estos requisitos básicos se pueden cumplir con contratos inteligentes auxiliares. Por ejemplo, una compañía de seguros crea un producto en el campo del seguro de vuelo, que paga automáticamente el seguro a la persona asegurada si el vuelo se retrasa más de dos horas [6]. Las condiciones clave, como el procedimiento para calcular el retraso, están predefinidas en el contrato de texto; al mismo tiempo, el contrato inteligente auxiliar procesa el objeto del acuerdo (esto es el pago del seguro) y su ejecución (pago automático como resultado del retraso verificado). Por lo tanto, la aseguradora ofrece asegurar los vuelos, y la persona asegurada acepta la oferta pagando la prima del seguro.
Hoy, ciertos contratos deben presentarse por escrito. También se pueden requerir formalidades adicionales, por ejemplo, bajo el Código Comercial Uniforme (UCC) [7] o las leyes estatales contra el fraude. Sin embargo, los acuerdos no siempre tienen que ser escritos para que su implementación sea obligatoria [8]. En consecuencia, muchos contratos inteligentes solo de software se aplicarán de acuerdo con las leyes que rigen las relaciones contractuales. En este sentido, el ejemplo de Sabo con una máquina expendedora es instructivo: aunque el comprador tiene muchos derechos implícitos, el contrato se redacta sin condiciones escritas significativas, excepto para mostrar el precio de cada producto. Por lo tanto, el hecho de que el acuerdo se refleje solo en el código, como en el caso de los contratos inteligentes de solo código, no impide particularmente la formación de un contrato fuera del marco indicado por la UCC o las leyes antifraude. Varias leyes y estructuras legales han tenido en cuenta el papel de la tecnología de la información en la redacción de contratos.
Por ejemplo, la Ley Unificada de Transacciones Electrónicas (UETA), adoptada en 1999 y tomada como base en 47 estados, dice lo siguiente. Los registros electrónicos, incluidos los creados por programas informáticos, así como las firmas digitales que utilizan cifrado basado en claves públicas, tienen la misma fuerza legal que los registros de texto (con ciertas restricciones) [9]. La UETA incluso reconoce la legitimidad de los agentes electrónicos, que se definen como "programas informáticos, electrónicos u otros medios automatizados que se utilizan independientemente para iniciar una acción o responder a registros electrónicos o a toda o parte de una actividad sin control o participación humana" [10]. Según UETA, un agente electrónico "es capaz de iniciar acciones, responder a notas o interactuar con otras partes o sus agentes electrónicos dentro de los parámetros de su programa, después de que una de las partes lo haya activado, sin atención adicional de este lado" [11]. Quizás este sea un reconocimiento preliminar de contratos inteligentes.
Del mismo modo, la Ley Federal de Registro de Firmas Electrónicas (Ley de Firma Electrónica) no solo reconoce la legalidad de las firmas electrónicas y los registros electrónicos en las relaciones comerciales entre los estados, sino que también establece que el contrato (u otro registro relacionado con la transacción) "no puede ser privado de fuerza legal, legalidad o ejecución obligatoria solo porque su ejecución, creación o entrega implica la acción de uno o más agentes electrónicos, si la acción de dicho agente electrónico está legalmente relacionada GSI una persona obligaciones asociadas "[12]. El término "agente electrónico" significa un programa informático, una herramienta electrónica u otra herramienta automatizada que se utiliza de forma independiente para iniciar una acción o respuesta a registros electrónicos o a toda o parte de una actividad sin control o participación humana [13].
Comprender el marco legal es importante para fortalecer la ejecución obligatoria de los contratos inteligentes, pero su uso futuro puede no basarse en leyes creadas antes de la era del desarrollo de la tecnología blockchain. Arizona y Nevada ya han cambiado las versiones locales de UETA para usar explícitamente blockchain y contratos inteligentes [14]. Nota: los dos estados han adoptado definiciones muy diferentes de conceptos críticos. Por lo tanto, podemos suponer que mientras más estados sigan su ejemplo y cambien las versiones locales de UETA, más fuerte será la necesidad de adoptar definiciones uniformes que reflejen el desarrollo de blockchain y contratos inteligentes.
4. Dificultades en el uso generalizado de contratos inteligentes
Dado el marco legal existente para el reconocimiento de los contratos electrónicos, se puede observar: es muy probable que hoy los tribunales comiencen a reconocer la legalidad del código que hace cumplir las disposiciones de los contratos inteligentes (que llamamos contratos inteligentes auxiliares). También hay un precedente que sugiere que un contrato inteligente que consiste solo en código puede recibir el mismo reconocimiento legal. Por lo tanto, las dificultades en la difusión generalizada de los contratos inteligentes están asociadas no tanto con restricciones legislativas, sino con contradicciones entre cómo funciona el código de contrato inteligente y cómo las partes hacen negocios. Identificamos cuatro dificultades principales.
4.1. ¿Cómo pueden las partes alejadas de la tecnología discutir, redactar y ajustar contratos inteligentes?
El principal obstáculo para la adopción generalizada de contratos inteligentes: las partes tendrán que confiar en expertos técnicos de confianza que implementarán los acuerdos en el código o confirmarán la precisión del código escrito por un tercero. Si se le ocurrió la analogía de contratar a un abogado para explicar los términos legales en un contrato de texto normal, entonces es incorrecto. Las personas sin un título en derecho pueden comprender tanto los acuerdos simples y breves como las numerosas disposiciones de acuerdos más largos, especialmente aquellos que determinan las condiciones para hacer negocios. Pero si no sabe programar, ni siquiera comprenderá el contrato inteligente más primitivo. Por lo tanto, la importancia de un experto que pueda explicar lo que se "dice" en el código es mucho mayor.
Hasta cierto punto, la incapacidad de las partes para comprender el código del contrato inteligente no les impedirá celebrar acuerdos de programas auxiliares. El hecho es que puede crear y usar muchas funciones básicas y plantillas de texto que indican qué parámetros necesita ingresar y cómo se ejecutarán. Suponga que una función simple de un contrato inteligente deduce los cargos por mora de la billetera de una de las partes si el pago no se recibe en la fecha señalada. Sin embargo, la parte puede necesitar confirmación de que el código del programa realmente cumplirá lo que se define en el texto, y que no hay condiciones y parámetros adicionales, especialmente cuando la plantilla de contrato inteligente no proporciona responsabilidad por la inexactitud del código del programa. Para analizar el código, deberá involucrar a un tercero, un experto en programación.
Si no hay una plantilla y necesita desarrollar el código desde cero, las partes deberán explicar el propósito del acuerdo al programador. Simplemente dar una copia de un documento legal no es práctico porque el programador tendrá que entenderlo. Por lo tanto, las partes que dependen de contratos inteligentes auxiliares deberán compilar y mostrar al programador una lista de condiciones que debe cumplir el contrato inteligente.
Además, las partes pueden desear una confirmación por escrito del programador de que el código funciona según lo previsto. Como resultado, para la implementación de los requisitos no incluidos en la plantilla, las partes deberán concluir un acuerdo por escrito con el programador de contratos inteligentes; Esto se suma al contrato que las partes pueden celebrar con el proveedor del servicio de intercambio electrónico de datos.
Las compañías de seguros también pueden desarrollar métodos para proteger a las partes de los riesgos de desempeño incorrecto mediante el contrato inteligente de las funciones definidas en el acuerdo de texto. Aunque las partes pueden analizar el código (o asignarlo a un tercero), el seguro proporcionará protección adicional en caso de que las partes no noten un error al analizar el código. Además, será psicológicamente más cómodo para las partes si la compañía de seguros verifica el código antes de asegurarlas.
-, , . , , -, , [15].
, - , , . , . , [16]. , -.
4.2. - off-chain-
, - , , — off-chain-. , - , , 0 . - . .
-, - off-chain-: .
-, -, , . , -1 , –0,5 , -2 — 0 . : , - .
— , , . , -.
— off-chain-, . , -. - . — . , . -.
4.3. «» ?
, , , . , .
- — — , . , , «» -, .
-, . , . , , , 0 , - , 0 . , (, ), — ? , , . , , — , ; .
— , , -, , -. « 0 » -, .
4.4. -
- — . , - , , — , -.
, . , , , , . -, . , -. .
, . , — , , . , -, .
4.5. -
-, . , , , . - . - , , . - , , , .
-. , , , ; , , . ( ), . . , . , , . - .
-, . - -, , -, , .
4.6. -
, -, , . , - . , , , . — . , . - : , . - , - . , - .
, - , , , -. , - , if/then. - , , -.
4.7. - ?
, - , , . , . , , , . . , , , , -. , .
, - - , , -, , . ( - «» ) , . , , -, - , , . . , - , , .
4.8.
- , : , . , . «», , — . , , . , 2017- 31 [17]. , . Parity, - . , -, , , , — -.
4.9. Legislación aplicable y jurisdicción territorial
Una de las principales promesas de blockchain, y por lo tanto de los contratos inteligentes, es la creación de plataformas globales descentralizadas y confiables. Pero la adopción global significa que las partes pueden usar contratos inteligentes en una gama mucho más amplia de jurisdicciones que los contratos de texto. Por lo tanto, la legislación reguladora y la jurisdicción territorial deberían proteger mejor las condiciones propuestas para su inclusión en un contrato inteligente. Las disposiciones de la ley reguladora determinan qué jurisdicción los tribunales considerarán disputas. Si las leyes y las jurisdicciones territoriales no están definidas, el demandante puede ser relativamente irrestricto en la elección del lugar de presentación de una queja o en una disputa sobre qué ley sustantiva debe aplicarse teniendo en cuenta una amplia gama de jurisdicciones bajo las cuales se puede utilizar un contrato inteligente. Teniendo en cuenta que muchas de las primeras disputas sobre contratos inteligentes se resolverán en una situación sin precedentes (en los EE. UU., Un sistema judicial de jurisprudencia), las partes contratantes desearán ganar confianza con respecto a la elección de las jurisdicciones en las que se considerarán los casos.
5. Mejores prácticas
Solo estamos al comienzo de la implementación de contratos inteligentes, y las mejores prácticas aún no se han desarrollado. Sin embargo, esta lista de verificación ayudará a los desarrolladores a crear contratos inteligentes efectivos y aconsejará a las compañías que planeen usarlos.
- Ahora, las partes de cualquier acuerdo contractual reciben un mejor enfoque híbrido: una combinación de texto y código. Existen fuertes argumentos a favor del hecho de que los contratos inteligentes de software exclusivamente deben ser vinculantes, al menos dentro del marco de las leyes locales en los EE. UU. Sin embargo, hasta que haya más claridad sobre su legalidad y obligación, los contratos inteligentes de software exclusivamente deben usarse solo para relaciones simples. Las partes necesitarán versiones de texto de los acuerdos para leer los términos y condiciones e ingresar términos que el contrato inteligente no tiene en cuenta; se requerirá que tenga a mano un documento que será aceptado en la corte.
- En un contrato híbrido, el texto debe definir claramente el código del contrato inteligente con el que está asociado, y las partes deben ver todas las variables que se transfieren al contrato inteligente, sus definiciones y eventos transaccionales que desencadenan la ejecución del código.
- Confiando en obtener datos de terceros sobre oráculos, las partes deben decidir qué sucederá si el oráculo no puede transmitir datos, proporcionar información errónea o simplemente dejar de funcionar.
- Las partes deben comprender la distribución de riesgos en caso de errores en el código.
- El acuerdo textual que acompaña al código debe determinar la ley aplicable y la jurisdicción territorial, así como la prioridad del código y el texto en caso de conflictos de contenido.
- El acuerdo de texto debe incluir mensajes de ambas partes que hayan analizado el código del contrato inteligente y que el código refleje las condiciones descritas en el acuerdo de texto. Aunque dicha confirmación no obligará a las partes a analizar realmente el código, ayudará a la otra parte a defenderse de las acusaciones de que el código no fue analizado en absoluto. Las partes también pueden asegurarse contra el riesgo de errores en el código. Como se señaló anteriormente, las partes pueden involucrar a expertos externos para analizar el código.
6. El futuro de los contratos inteligentes.
Hoy, los contratos inteligentes son un prototipo de la Ley de Amara, un concepto formulado por Roy Amara, un científico de la computación de la Universidad de Stanford. Este concepto dice que tendemos a sobreestimar las nuevas tecnologías a corto plazo y subestimar a largo plazo. Si bien los contratos inteligentes aún deben desarrollarse antes de que puedan usarse ampliamente en relaciones comerciales complejas, sin embargo influyen en la revolución en la estructura de recompensas e incentivos, que determinará la forma de los contratos en el futuro. Al considerar los contratos inteligentes, es importante no solo pensar en cómo transferir conceptos y estructuras existentes a esta nueva tecnología. Más bien, la verdadera revolución de los contratos inteligentes se desencadenará por paradigmas completamente nuevos que aún no hemos predicho.
Notas al pie
- Ver ¿Qué es el "Gas" en Ethereum? Cryptocompare, 18 de noviembre de 2016.
- En el mismo lugar
- Nick Szabo Contratos inteligentes: bloques de construcción para el mercado digital . 1996.
- Ian Grigg. El contrato ricardiano .
- Véase, por ejemplo, "Reformulación de (segundo) contrato", Parte 1, American Law Institute, 1981. En los Estados Unidos, las legislaturas estatales suelen ser responsables del derecho contractual. Aunque en este artículo consideramos los principios básicos del derecho contractual que son comunes a la mayoría de los estados, debe tenerse en cuenta que las diferencias en las leyes pueden afectar la ejecución obligatoria de los contratos inteligentes en ciertos estados.
- Al menos una empresa, AXA , ahora ofrece dicho producto.
- Ver UCC § 2-201.
- Por ejemplo, ver Lumhoo v. Home Depot USA, Inc. 229 F. Supp. 2d 121, 160 (EDNY 2002). Se cree que los demandantes proporcionaron evidencia suficiente para confirmar que las partes firmaron un acuerdo verbal que decía: el empleador paga por cualquier trabajo de horas extra que exceda las ocho horas al día.
- Ver Ley Uniforme de Transacciones Electrónicas (Unif. Law Comm'n 1999). Nueva York, Illinois y Washington tienen sus propias leyes que rigen la validez de las transacciones electrónicas.
- En el mismo lugar § 2 (6).
- En el mismo lugar § 2 cmt. 5)
- 15 USC § 7001 (h).
- 15 USC § 7006 (3).
- Ver 2017 Ariz. HB 2417 44-7061 y Nev. Rev. Stat. Ann. § 719.090.
- Ver Caso Nicosia v. Amazon.com, Inc. 834 F.3d 220 (2d Cir. 2016) (cancelación de la decisión del tribunal de distrito de desestimar el reclamo y la duda lógica de que Amazon haya proporcionado al consumidor un aviso razonable de arbitraje obligatorio).
- Ver Charles Alan Wright y Arthur R. Miller. Federal Practice and Procedure, Sección 6304 (3d ed. Supp. 2011) ("En realidad, la regla 706 rara vez se aplica. Esto se debe al menos en parte al hecho de que el nombramiento de un testigo experto aumenta la carga sobre el juez, aumenta los costos de las partes y evita el control adverso sobre la presentación evidencia "), así como Stephanie Domitrovich, Mara L. Merino y James T. Richardson. Uso por parte del juez de primera instancia de los expertos designados por el tribunal: resultados de la encuesta y comparaciones, 50 Jurimetrics J. 371, 373–374. 2010
- Ver Haseeb Qureshi. Un pirata informático robó $ 31 millones de éter: cómo sucedió y qué significa para Ethereum . FreeCodeCamp. 20 de julio de 2017.