CD: Noticias de Bitcoin, Ethereum, ICO, Blockchain y Criptomonedas

¿Qué son los contratos ricardianos? Diferencias con los contratos inteligentes

Ethereum revalorizó e introdujo los contratos inteligentes. Ahora EOS, otra de las grandes plataformas y criptomonedas por capitalización de mercado, prevé incorporar el uso de contratos ricardianos…

Te puede interesar: ¿Qué es EOS?

¿Qué son los contratos ricardianos?

Ideados por el programador y criptógrafo financiero Ian Grigg a mediados de los 90‘ para ejecutarse en Ricardo -un sistema de transferencia de activos-, se tratan de contratos digitales que utilizan métodos criptográficos, pero con la particularidad de ser legibles tanto para los humanos como para las máquinas.

Es un contrato de fácil lectura, ya sea para un abogado o hasta para las partes del acuerdo. Cualquiera que los lea puede entender los términos básicos del contrato, siendo también un contrato legible por programas informáticos.

Podría decirse que son una combinación entre contratos legales y tecnología.

Vayamos a la definición de contratos ricardianos (cuyo nombre rinde tributo al economista británico David Ricardo) dada por su creador.

Así los define Grigg en su artículo ‘Financial Cryptography in 7 Layers‘ (1998):

«Un contrato digital que define los términos y condiciones de una interacción, entre dos o más partes, que está firmado y verificado criptográficamente. Es importante destacar que es legible tanto para humanos como para máquinas y está firmado digitalmente».

Estos contratos se encuentran conectados digitalmente a un valor o por ejemplo a un objeto determinado. Posibilitan interpretar la información contenida en un texto legal en un formato ejecutado por una computadora.

Los contratos ricardianos convierten un contrato legible por personas, en un código de software legible por máquina, con la capacidad de ejecutarse con todas las características del contrato inteligente.

Pero en la década del 90′ aún no había una tecnología madura como para implementar estas ideas.

Esto cambió con la aparición de las blockchains, dando la posibilidad de que estos contratos se pueden implementar, hashear, firmar digitalmente y almacenar en una cadena de bloques.

Imagen: 1001 Blockchains

EOS abraza los contratos ricardianos

Hoy Grigg trabaja como socio de Block.One, uno de los proveedores líderes de soluciones blockchains y la empresa encargada de incorporar el concepto de contratos ricardianos en la cadena de bloques de EOS.

En los primeros meses de 2018, Block.one anunció que la infraestructura de la cadena de bloques EOS implementará los contratos ricardianos, con el objetivo de «llevar algunas definiciones legales muy necesarias a los acuerdos realizados sobre su infraestructura», explicó el blog de EOS Canadá.

Diferencias entre contratos ricardianos y contratos inteligentes

  • Un contrato inteligente supone un acuerdo entre partes, o bien un lugar para el registro de datos, ejecutado en base a un conjunto de instrucciones predefinidas y legibles por la máquina, que organiza y controla la llegada de determinados eventos.
  • Un contrato ricardiano es un documento digital que describe las intenciones y los eventos que se llevarán a cabo, posibilitando el registro de todos los detalles del acuerdo en un formato legible tanto por máquina como por personas.

Smart contract – Contrato inteligente

La idea de smart contract o contrato inteligente nació en 1994 por parte de Nick Szabo, criptógrafo, científico informático y creador en 1998 de la moneda digital llamada ‘Bit Gold’, que incluía en su código la capacidad de auto-ejecutar ciertas tareas.

En palabras simples, el contrato inteligente es un acuerdo entre partes, ejecutado en base a una serie de instrucciones predefinidas, es decir programadas, que prescinde de terceros para su celebración y puesta en práctica.

Pero un contrato inteligente no sólo supone un acuerdo entre dos o más partes, como suele definirse. También sirve como un espacio donde, simplemente, registrar datos.

Sin embargo, cuando Szabo propuso sus ideas de almacenar contratos de forma digital todavía no había una tecnología capaz de implementarlo.

Décadas después, Ethereum incorporó en su plataforma la funcionalidad (y potencial) de los contratos inteligentes y las aplicaciones descentralizadas.

Además de Ethereum, otras tantas plataformas usan contratos inteligentes en la actualidad, como ser Cardano, NEM, Stellar, NEO, Lisk Waves o EOS.

Los contratos inteligentes consisten en programas de software, con la capacidad de ejecutar por ejemplo pagos, de forma inalterable e irreversible.

Son acuerdos que pueden ejecutarse solos, automáticamente, sin la participación de bancos ni otros intermediarios cuando se trata de usuarios que ni se conocen.

Posibilitan la transferencia, por ejemplo, de dinero digital en base al cumplimiento de determinados términos y condiciones, sin la necesidad de la intervención e interpretación de un ser humano, empleando para ello mecanismos de la programación, las matemáticas y la criptografía.

El trabajo lo lleva a cabo una red de computadoras, como por ejemplo la red de Ethereum.

Compartimos una definición muy clara de contratos inteligentes del autor Henning Diedrich:

«Un contrato inteligente es código de software descentralizado almacenado y ejecutado en una blockchain, que mueve dinero basado en una o varias condiciones. Es, al mismo tiempo, el acuerdo y la ejecución, la gobernanza y la ley».

Rasgos básicos de un contrato inteligente

  • Corre en una cadena de bloques, sin requerir de la participación de terceros para su ejecución.
  • Inmutable: no puede ser modificado ni borrado o censurado
  • Autoejecutable: una vez ejecutado, no puede detenerse
  • Autoverificable: puede auditarse por si solo

Al margen de sus reconocidas cualidades, como ser su naturaleza inmutable o poder de auto-ejecución, también se han señalado algunas debilidades.

Por ejemplo, el hecho de ser instrucciones de código, legibles únicamente por la máquina.

En caso de que haya un problema o error, no se podría demostrar una posible intención maliciosa en la órbita concreta de la justicia, dado que son contratos inteligentes pero no legalmente vinculantes.

La inmutabilidad con que comúnmente se asocia a las cadenas de bloques, si bien se considera un valor esencial y muy útil, también puede resultar en ciertos casos una traba, dado que no hay forma de cambiar ni alterar de ningún modo el contenido del contrato inteligente.

Te puede interesar: ¿Qué es un contrato inteligente?

Rasgos básicos de los contratos ricardianos

Consisten en un texto legible por el humano, que contiene ciertas variables o campos a completar en el momento de su ejecución. En este sentido, funcionan como una plantilla o template.

Lo que la máquina puede captar y verificar es que dichos campos o variables han sido completados con el dato o valor correcto. Además, utilizando su hash, comprobar que el texto original no fue modificado.

Sin embargo, por sí solo no tiene la capacidad de inferir qué debe hacerse sólo con el texto. Al respecto, cabe destacar que la ejecución es una cualidad exclusiva del contrato inteligente.

Mayor «legibilidad»

Los contratos ricardianos son de más fácil lectura, siendo legibles tanto por humanos como por máquinas; lo opuesto a los contratos inteligentes, que sólo cuentan con un código legible por máquina.

Es decir, son auditables tanto por personas como por computadoras.

Documentación

Permite el registro de los términos y condiciones del acuerdo entre las partes y su ejecución, a diferencia del contrato inteligente, que sólo ejecuta los términos predefinidos.

¿Legalidad?

Los contratos ricardianos proveen herramientas que pueden facilitar la adopción de los contratos inteligentes como contratos legales, lo cual todavía no existe.

Este tipo de contratos contienen un simple texto, adjuntado a una acción de un contrato, con el fin de explicar lo que sucederá si se ejecuta dicha acción.

Dicho texto puede estar escrito en lenguaje coloquial o puede seguir los lineamientos formales de los contratos legales clásicos.

Con la incorporación del texto, el objetivo es ofrecer a la persona que oficia de árbitro una explicación de lo que se esperaba de la ejecución de la acción.

El árbitro podría ser un juez, con lo cual en tal caso el contrato tendría implicaciones legales, o podría ser un particular elegido por la comunidad, como es caso de EOS.

Automatización

Todas las operaciones pueden automatizarse en cualquier aplicación basada en blockchain, tal como los contratos inteligentes.

Seguridad

Estos contratos usan firmas criptográficas digitales y funciones hash como capas de seguridad.

Con las funciones criptográficas es posible identificar digitalmente al contrato. Los hashes pueden referir a un código de software o a documentos externos.

Los intentos de cambiar el vínculo entre una referencia y el contrato pueden detectarse.

Casos actuales de uso de contratos ricardianos

OpenBazaar, un mercado P2P de comercio electrónico donde se puede comprar y vender casi cualquier cosa, cuenta con estos contratos para que las transacciones sean seguras y legalmente vinculantes para las partes que realizan las operaciones en la plataforma.

Al hacer un intercambio en OpenBazaar se genera un contrato ricardiano, firmado digitalmente por las partes involucradas, sirviendo como una herramienta para rastrear la responsabilidad de cada uno cuando intercambian productos.

Otras plataformas basadas en las tecnologías blockchain, que implementan variaciones de contratos ricardianos:

  • SciDex
  • BOSCoin
  • Kadena

Fuentes consultadas:

1 comentario

  • Hola, chicos. Cómo están? Me gustaría hacer algunas aclaraciones técnicas con respecto a los contratos, tanto ricardianos como inteligentes.

    1 – en muchos lados veo que se define a los contratos inteligentes como un «acuerdo entre dos (o más) partes» como podría ser una transferencia de valor (ej: tokens). Si bien en general es cierto (o más bien, se usa para eso), no es necesariamente así. Un contrato inteligente es un software que corre sobre una blockchain y es capaz de recibir mensajes (o transacciones) con parámetros, con la única finalidad de cambiar el estado interno del mismo contrato inteligente (o de otro si es que tiene efectos colaterales).
    Ej: un contrato inteligente podría implementar una agenda personal de contactos (igual que la que tenemos en el celular). Sus transacciones posibles podrían ser «dar de alta» (y sus parámetros los datos del contacto), «modificar contacto» o «dar de baja».
    Este sería un ejemplo de un contrato que no es un acuerdo entre partes sino un mero lugar donde registrar datos.

    2 – Los contratos ricardianos no son ejecutables.
    Los contratos ricardianos son únicamente un texto legible por el humano, con la particularidad de que contiene dentro del texto ciertas variables o campos a completar en el momento de su ejecución. Es decir que funcionan como una plantilla o template.
    Ej: «Al ejecutarse la acción ‘transfer’, USUARIO_1 acuerda trasferir un monto de CANTIDAD MONEDA a USUARIO_2»
    Ahora supongamos que bob presiona un botón en una webapp que genera una transacción que dice transfer(«Bob», «100», «EOS», «Alice»). Bob podría estar usando una aplicación como Scatter para firmar este tipo de transacciones. Si es así, el texto que bob visualiza justo antes de confirmar (y firmar digitalmente) la transacción diría: «Al ejecutarse la acción ‘transfer’, Bob acuerda trasferir un monto de 100 EOS a Alice».
    Así, Bob no tiene por qué saber programación para entender qué es lo que sucederá si confirma, puez está escrito en lenguaje para humanos (inglés por lo general).
    Sin embargo, la máquina no entiende este texto (al menos, no sin usar inteligencia artificial avanzada). Lo que la máquina puede verificar es que los campos o variables del template fueron llenados con el dato o valor correcto y que el texto original del template no fue modificado (usando su hash). Pero no es capaz de inferir qué debe hacer sólo con el texto del template. La ejecución es tarea exclusiva del contrato inteligente.

    3 – Los contratos ricardianos no son legalmente vinculantes.
    Los contratos ricardianos son un simple texto que se adjunta a una acción de un contrato y tiene como finalidad explicar lo que sucederá si se ejecuta dicha acción (mediante una transacción). Ese texto puede estar escrito a lo bruto (con lenguaje coloquial) o puede seguir los lineamientos de los contratos legales clásicos. La intención al introducir este texto es proveer a quien sea (humano) que oficie de árbitro ante un «error» en la ejecución. Un contrato inteligente podría tener un «bug» (o error) y generar un estado incorrecto o que no se condice con la «intención» de lo que se supone debía hacer. En estos casos el contrato ricardiano provee al árbitro de una explicación de lo que se esperaba de la ejecución de la acción y ahi entran a jugar tanto la comprensión del árbitro y de la ambigüedad del texto (recordemos que el lenguaje humano es ambiguo).
    Ahora, el árbitro podría ser un juez de la corte (en cuyo caso sí, tendría implicaciones legales) o podría ser un particular elegido por la comunidad (cómo en el caso de EOS) donde no hay un «marco ley» de por medio. Es decir, ante la ley, eso es un juguete.
    Dicho todo esto, los contratos ricardianos nos facilita y da herramientas para promover la adopción de los contratos inteligentes como contratos legales (cosa que todavía no existe)

    Perdón por extenderme tanto. Sólo quería complementar este muy buen artículo con esas aclaraciones.
    Muy buen trabajo! los leo a diario.
    Saludos

Your Header Sidebar area is currently empty. Hurry up and add some widgets.