Cómo trabajan los Contratos Inteligentes de EOS

Contratos Inteligentes Ricardianos de EOS

Mucho tiempo ha pasado desde que Nick Szabo planteara el concepto de los Contratos Inteligentes y en este período es mucho también lo que se ha avanzado tecnológicamente. El surgimiento de la tecnología Blockchain no solo representó un avance para las finanzas y la forma en la que vemos el dinero, sino que también trajo un cambio de paradigma en el mundo de las relaciones jurídicas y sociales.

La tecnología dio un paso adelante desde el momento que Vitalik Buterin presentó la red de Ethereum y la posibilidad de utilizar la tecnología Blockchain en la regularización de relaciones económicas sin contacto directo y sin un intermediario de confianza por medio de Contratos Inteligentes.

Para comprender más acerca de la temática: ¿Qué son los contratos inteligentes o 'smart contracts'? Guía completa

No obstante, los Contratos Inteligentes han presentado algunas limitaciones. Para empezar su escritura es bastante compleja y solo se pueden escribir si se conoce de programación, lo implica que su lectura no está disponible para cualquier persona, elemento que ha imposibilitado su inclusión dentro del mundo jurídico formal. 

Además, programar con códigos computacionales las peticiones humanas pudiéramos encontrarnos con escritos que no sean completamente exactos si partimos del hecho de que las voluntades humanas plasmadas en un Contrato pueden ser bastante detalladas y complejas como para encuadrarlas en un simple algoritmo matemático.

Los problemas no solo se pueden ver en su lectura sino también en lo que deben de abarcar. ¿Cómo determinamos cual es la verdadera intención de las partes dentro del Contrato? ¿Qué hacer cuando se presenta una disputa? ¿Qué sucede si las condiciones establecidas en el contrato nunca cumplen? ¿Qué legislación debería actuar ante un conflicto? Son muchas las preguntas que se deben de responder ante la realización de un Contrato y las mismas parecen no incluirse en los Contratos Inteligentes.

Ante la realidad de los Contratos Inteligentes y su lenguaje de programación para aplicarlos dentro del mundo real, desde EOS se han planteado una solución más completa y eficiente, ahora tenemos los denominados “Contratos Ricardianos”. 

Sigue leyendo: ¿Qué es EOS? Guía para principiantes

¿Qué son los Contratos Ricardianos?

El concepto de Contratos Ricardianos fue presentado por Ian Grigg, uno de los primeros en aplicar la criptografía en el sistema financiero creando un sistema de transferencia de activos rudimentario y que llamó “Ricardo”.  Se le nombró así en honor al economista británico David Ricardo, uno de los pensadores más importantes en materia económica.

Pero, para el momento que Ian Grigg lanzó su idea de los Contratos Ricardianos todavía la tecnología no contaba con los elementos necesarios para poder aplicar el concepto. Para el momento, Ian se consiguió con el proyecto de DigiCash, uno de los sistemas que sirvieron para conceptualizar las criptomonedas pero que se presentó de una forma muy rudimentaria y con serias complicaciones.

La definición oficial de Contratos Ricardianos la encontró el propio Ian Grigg en su camino para encontrar la digitalización de distintos activos financieros. En este proceso se topó con el hecho de que antes de digitalizar un activo, debía digitalizar el contrato que vinculaba dicho activo con una persona y sobre esa idea presentó su libro “Criptografía Financiera en 7 capas”. En este texto definió a los Contratos como:

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 los humanos como para las máquinas.

Posteriormente, en otro documento llamado “The Ricardian Contracts”, Ian Grigg brindó una definición más extensa al mencionar que este tipo de Contratos se pueden definir como:

un documento único que es a) un contrato ofrecido por un emisor a los tenedores, b) por un derecho valioso que tienen los tenedores y administrado por el emisor, c) fácilmente legible por personas (como un contrato en en papel), d) legibles por programas (analizables como una base de datos), e) firmados digitalmente, f) llevan las claves e información del servidor, yg) aliados con un identificador único y seguro

Según lo que podemos observar de las definiciones, estos contratos son similares a la definición a los conocidos Contratos Inteligentes en ambos dos podemos ver que la interacción entre las partes se llevará de forma digital y bajo la seguridad de la criptografía. 

No obstante, la diferencia radical se observó es que en los Contratos Ricardianos se le da legibilidad en primer lugar para los seres humanos y posteriormente se hacen entendibles para las máquinas, lo que implica que cuentan con una escritura mucho más similar a la que usualmente hemos venido viendo en los contratos tradicionales. Esta cualidad permite que los Contratos Ricardianos brinden mayores herramientas para registrar los acuerdos a lo que usualmente pueden hacer los Contratos Inteligentes.

Para expandir más sobre el tema: Firma de realidad virtual Magic Leap busca ingenieros de blockchain para datos de usuarios

Así mismo, la posibilidad de escribir y leer un Contrato Ricardiano en un idioma legible por cualquier persona sin conocimiento de programación permite que los contratos puedan ajustarse a todos los requisitos que se establezcan dentro de la legislación, hecho que también permite que el Contrato pueda hacerse valer dentro de un tribunal en el caso de que se presente algún tipo de disputa entre las partes.

Todo esto permite que la entrada de los Contratos Ricardianos sea más amplia dentro del mercado en comparación con los Contratos Inteligentes. Mientras que los primeros pueden ser utilizados en cualquier tipo de industria y firmados por cualquier persona que sepa leer y escribir, los segundos solo se pueden implementar en casos específicos que permitan la ejecución inequívoca de una obligación jurídica entre partes con una comprensión lo suficientemente amplia como para entender códigos de programación.

El primer proyecto de criptomonedas en implementar este tipo de contratos fue OpenBaazar y allí se planteaba su uso para poder determinar las responsabilidades de cada una de las partes dentro de una operación comercial. Si consideramos que OpenBaazar es un proyecto que aspira convertirse en un mercado descentralizado entre usuarios, la usabilidad de este tipo de contratos permite determinar las obligaciones exactas de cada una de las partes.

¿Cómo funciona un Contrato Ricardiano? 

Ya hemos entendido que este tipo de contratos puede ser leído tanto por las computadoras como por cualquier persona, pero, ¿Cómo se logra este tipo lecturas? ¿De qué manera un algoritmo puede comprender lo que dice un contrato?

Para comprender esto debemos de recordar que un Contrato Ricardiano se escribe de “dos” formas, uno que es entendible para las personas y otro para las máquinas. Estas formas se logran gracias a que el documento legible se “convierte” en un proceso mecánico por medio de la identificación del documento con un hash legible por computadoras.

Este hash se crea por medio de criptografía y es lo que permite blindar con seguridad el texto plasmado. Se crea única y exclusivamente para el documento y ello permite que se pueda identificar ante cualquier situación. El hash también permite que la computadora logre registrar lo que está dentro documento ante cualquier tipo de situación que amerite dicha información.

Te puede interesar: Contratos inteligentes no alteran necesariamente la ley tradicional de contratos, según expertos

Por ejemplo, si queremos registrar el cobro de un pago que se realiza cada 45 días, el hash al que representa el contrato va a identificar este cobro y puede utilizarse para reconocer la transferencia dentro de la cadena de bloques en donde se encuentra registrado el hash.

Una vez que el documento se le asigna el hash, este no se puede modificar libremente bajo ningún concepto, elemento que permite mantener la relación jurídica tal y como se ha pactado en un principio entre las partes.

Así mismo, las firmas de las personas que forman parte del documento se realizan por medio de las claves privadas criptográficas de esas mismas personas. Este proceso de firma con clave privada permite que se le pueda dar una identificación única al usuario dentro del mundo online, lo que a su vez ayuda a que se pueda rastrear y obligar según lo firmado a las partes involucradas en el documento.

¿Cómo se logra cumplir un Contrato Ricardiano?

Sobre este punto se ha discutido mucho y todavía hoy no se tiene una solución única al respecto. Una de las posiciones que se ha planteado es la de unir la capacidad de registrar la voluntad de las partes de los Contratos Ricardianos con la capacidad de ejecutar las obligaciones de los Contratos Inteligentes.

Sin embargo, esta solución cuenta con muchos contratiempos como para poder ejecutarse en la realidad. La dificultad más grande que podemos mencionar es el hecho de que los Contratos Inteligentes no pueden ejecutar más de una obligación cuando se presentan varios supuestos, lo que implica que son bastante limitados para los Contratos complejos.

Particularmente en el caso de EOS, se ha planteado que los Contratos Ricardianos sean regulados por el equipo de arbitraje que funciona dentro de la red. Ya anteriormente hemos mencionado al Foro de Arbitraje Básico de EOS, uno de los grupos de poder dentro del ecosistema de mando del ecosistema de EOS.

Para aprender más: Cómo funciona el algoritmo “Prueba de Participación Delegada”. El algoritmo presentado por EOS

Entre las funciones que tiene este Foro de Arbitraje podemos encontrar que se encuentra la resolver disputas entre los usuarios del sistema sin tener que acudir a tribunales legales. Esta función podía aplicarse fácilmente ante cualquier problema que pueda surgir ante la aplicación de un Contrato Ricardiano firmado dentro de la red y así mismo, también podrían ordenar la ejecución de las obligaciones que se puedan cumplir dentro del ecosistema.

No obstante, dar esa responsabilidad a un pequeño grupo pudiera generar rechazos por parte de los usuarios que prefieren tener un sistema realmente descentralizado en donde solo gobierne un código algorítmico que actúe de forma independiente y sin subjetividades. 

Contratos Ricardianos en la red de EOS

Uno de los objetivos planteados por EOS fue lograr la conversión de la complejidad del código que se pueda observar dentro de la tecnología Blockchain en un lenguaje más sencillo para que cualquier persona pudiera entenderlo. Esta posición la podemos encontrar por ejemplo en el proceso que han planteado de convertir las direcciones públicas de las personas en frases entendibles y personalizadas por los usuarios.

Sigue descubriendo: ¿Qué es DAO?

Respecto a los Contratos Inteligentes, EOS plantea la misma visión de facilitación y es por ello que plantean el uso de estos Contratos en lugar de aplicar sólo códigos y algoritmos. De hecho, el compromiso de EOS con los Contratos Ricardianos es tan importante que Ian Grigg, el creador de la idea de estos Contratos, trabaja dentro del equipo de desarrolladores de Block.one.

Según lo que ha expresado el equipo de EOS, la idea es combinar los Contratos Ricardianos con los Contratos Inteligentes dentro de la plataforma. Inclusive, el propio Ian Grigg ha llegado a proponer que la Constitución de EOS se haga con la base de un Contrato Ricardiano. Elementos como la tasa de inflación que aplica EOS para su producción de monedas pudieran ser llevadas en un Contrato Ricardiano para que así sea más entendible para los usuarios y menos complicado de llevar en cuanto a código se refiere.

Aterrizando nuevamente en la idea de la aplicación de este tipo de Contratos dentro de la red de EOS y yendo a elementos un poco más técnicos, este tipo de contratos se utiliza con un lenguaje de plantilla basado en JSON y este permite que los programadores puedan agregar metadatos al contrato y una serie de herramientas que permiten que los Contratos Inteligentes comunes puedan tener un formato entendible para los usuarios dentro de la red.

Los metadatos que se deben de agregar dentro del Contrato para que se pueda considerar Ricardiano son: spec_version (se especifica la versión del Contrato que se está trabajando), title (nombre de la acción que se busca desarrollar), summary (descripción breve de la acción que se busca ejecutar en el contrato) y icon (versión gráfica que explica la acción que se espera ejecutar). Todos estos son indispensables dentro del Contrato Ricardiano y es necesario que se escriban en idioma inglés. 

Para continuar leyendo: Falta de diversidad en contratos inteligentes de Ethereum representa riesgo para todo el ecosistema, según un informe

Para la redacción de los Contratos Ricardianos en EOS, los desarrolladores tienen a su alcance herramientas para elaborar plantillas ricardianas que permiten observar los Contratos de forma inteligible para cualquier persona así como para también adaptar los Contratos Inteligentes que quieran ser más claros. Estas herramientas son de utilidad para que las personas que no conocen de códigos y programación puedan comprender realmente que es lo que están estableciendo dentro del Contrato.