Blockchain: Cómo hacer contratos inteligentes o smart contracts

¿Qué software de gestión necesita su empresa?

Una de las grandes promesas de blockchain son los contratos inteligentes o Smart Contracts. La definición más simple es que se trata de contratos que tienen la capacidad de cumplirse de forma automática una vez que las partes han acordado los términos. Pero ¿cómo es posible que un contrato se pueda hacer cumplir a sí mismo? Pues bien, lo cierto es que los contratos inteligentes son un poco distintos a los contratos en papel.

1. ¿Qué es un contrato inteligente o Smart Contract en Blockchain?

Digamos que un contrato inteligente, al día de hoy, es similar a un contrato tal cual lo entendemos legalmente: un acuerdo entre dos partes cualesquiera en el que se regula con cláusulas los términos y condiciones de dicho acuerdo. La diferencia está en tres aspectos fundamentales.

Primero, es un acuerdo con capacidad de auto-ejecutarse. Lo que viene a ser que, sin intervención de terceras partes, se determina el cumplimiento o no de las condiciones del acuerdo y se ejecutan lo pactado en los términos. Por ejemplo, si un contrato inteligente regula la prestación de un servicio de telefonía móvil, podría tanto gestionar de forma automática el cobro de la mensualidad si durante dicho mes el servicio se prestó en las condiciones pactadas, así como tramitar la baja del servicio si el abonado cumple las condiciones para ello.

Segundo, es un código informático que, al contrario de lo que es habitual, no se instala ni en un ordenador personal ni en un servidor. El código se inscribe en una cadena de bloques, o ‘blockchain‘, de manera que no se puede borrar ni editar.

Tercero, y último, no requiere necesariamente de una tercera parte para contraer y validar el acuerdo. Sin embargo, esto no debe entenderse como que el servicio sea gratuito. El ciclo completo de un contrato inteligente conlleva una serie de costos (o sea procesamiento, energía, programación, etc.) que las partes que hagan uso del contrato deberán asumir, por ejemplo en forma de una comisión de los activos monetarios que gestione el contrato o una tarifa por uso.

En el futuro, los contratos inteligentes serán capaces de gestionar acuerdos y tareas cotidianas mucho más complejas, al punto que la palabra «contrato» seguramente sea inadecuada como término. Sino algo más cercano a un «asistente» o «agente» inteligente capaz de validar, decidir y ejecutar por nosotros. En todo caso, es una de las aplicaciones más potentes de la tecnología, sin duda alguna.

2. ¿Cuáles son sus principales ventajas?

El código informático se asienta en premisas muy básicas: si sucede x, ejecuta y. Por ejemplo, si un avión se retrasa más de media hora, indemniza a los pasajeros con el 10% del precio del vuelo.

En el mundo real, ese tipo de acuerdos conllevan papeleo. Pero, como afirma con contundencia un informe de la consultora Cap Gemini, “los contratos financieros clásicos simplemente no valen para la economía digital. El recurso a los soportes físicos conlleva retrasos e ineficiencias y aumenta la posibilidad de errores y fraudes”

Ahí es donde entran las ventajas de ‘blockchain‘: los términos de la transacción se escriben en un código informático situado en la cadena de bloques y firmado criptográficamente por las partes intervinientes, que se ejecutará cuando se den las condiciones previstas. Todo está en ‘blockchain’, lo que significa que es transparente para todas las partes, e inmodificable. Así, se pueden hacer negocios y transacciones con extraños sin que sea necesaria una tercera parte que haga de intermediario de confianza, de validador. Todos los intervinientes manejan la misma información al mismo tiempo y se acaba con el papeleo, se reducen los tiempos y se elimina casi al 100% el riesgo de fraudes y malentendidos. Pero también hay inconvenientes.

3. ¿Y sus puntos débiles?

La inmutabilidad es una ventaja, pero también puede ser un problema. Como resalta Cap Gemini, “los contratos inteligentes escritos como programas informáticos en cadena de bloques implican que, una vez llegado a un acuerdo, no se puede modificar fácilmente. Y esto provoca problemas en casos de la vida real”. Ya se investigan “ventanillas de escape”, que permitan reprogramar formas de cambiar los términos de los acuerdos, con adendas, modificaciones y cancelaciones, pero técnicamente es complicado, y puede contrarrestar la eficacia de los ‘smart contracts’, basada precisamente en su sencillez.

La transparencia que da blockchain también tiene sus aristas ¿Quieren las empresas que su competencia esté al tanto de las condiciones de sus contratos inteligentes? ¿Y qué ocurre con la protección de datos de los consumidores?

Burgueño recalca que no es suficiente con que las empresas cifren los datos de los usuarios y los suban a ‘blockchain’: estarían incumpliendo la Ley de Protección de Datos. La solución sería separar los datos en un repositorio en los que sí apareciese información personal y que se pudiese relacionar con lo escrito en la ‘blockchain’ solo por la empresa en cuestión. Es una solución, pero existe el riesgo de que ese repositorio sea ‘hackeado’.

En el futuro, otra posible solución para solventar este riesgo sería el empleo de sistemas de almacenamiento descentralizado con IPFS (InterPlanetary File System), un nuevo protocolo de internet que permite crear aplicaciones distribuidas.

Precisamente la seguridad es la otra gran preocupación en todo lo que tenga que ver con código informático. Lo que está en ‘blockchain’ no se puede ‘hackear’, pero sí pueden suceder errores con consecuencias muy serias. Y lo sucedido con The DAO es una advertencia seria.

The DAO era una organización autónoma y descentralizada (su nombre viene de las iniciales en inglés de estas tres palabras) que recaudó en la criptomoneda ether el equivalente a 160 millones de dólares para invertir en proyectos de la economía descentralizada. Todo funcionaba a través de ‘smart contracts’, pero el problema surgió cuando un ‘hacker’ encontró un error en el código informático, y la utilizó para quedarse con parte de los fondos. Los promotores reaccionaron creando una escisión de ether y así lograron minimizar parte del robo. No obstante, se calcula que el pirata informático se hizo finalmente con aproximadamente dos millones de dólares.

4. ¿Qué aplicaciones podrían ser posibles con los contratos inteligentes?

Actualmente, las aplicaciones están limitadas a la madurez de la tecnología. Blockchain es una tecnología en evolución; el potencial es indiscutible pero tiene limitaciones que sin duda serán superadas.

Hoy encontramos primeras versiones de unos cuantos productos y algunos prototipos funcionales aplicados a casos concretos. La billetera multi-firma, en la que se requieren más de una firma autorizada para realizar un pago superior a cierto monto, es uno de los casos más simples y disponibles al día de hoy. Un ejemplo claro, es para garantizar el cumplimiento del contrato de la compra o alquiler de una casa. Ante el impago de una cantidad determinada en la fecha mensual elegida, podría decidirse rescindir el contrato de propiedad. Pero, ¿cómo sabe el ‘smart contract’ si se ha pagado el alquiler? Aquí es donde intervienen los oráculos, herramientas informáticas que permiten actualizar el estado del contrato inteligente con la incorporación de información externa.

Los oráculos son cruciales para que el ‘smart contract’ pueda desencadenar las órdenes programadas dada una situación específica en el mundo real. Esta información externa puede ser de muchos tipos, ya sea el valor de una moneda, la ejecución de un pago, el cambio en un precio o el aumento de una temperatura.

El desarrollo de estos programas informáticos está avanzando rápidamente. Proyectos como Orisi y Oracle están creando sistemas que recogen toda la información de distintos proveedores y determinan el dato más fiable en función de lo que la mayoría indica. De esta forma, se descentraliza también esta parte del proceso para evitar tener que introducir una tercera parte que valide que se trate de información certera y real.

Imagen

5. ¿Cómo se diferencian los contratos inteligentes de Bitcoin o Ethereum o incluso Block Chains privadas?

Sin entrar en aspectos técnicos y especificaciones de cada una, no habrían diferencias en lo que podría ser un contrato inteligente en Bitcoin, Ethereum o Corda. Seguramente llegue el momento en que en las tres podrían ser opciones validadas para un mismo tipo de contrato. La diferencia está más en el uso, alcance y posibilidades que ofrezca cada una para aplicar contratos inteligentes.

La blockchain de Bitcoin es una cadena de bloques cuya funcionalidad está principalmente ligada a transacciones con bitcoins y admite contratos inteligentes muy específicos (por ejemplo billeteras multi-firma). Debido al poder de cómputo y la infraestructura asociada a la Blockchain de Bitcoin, es muy interesante poder usar también contratos inteligentes sobre su cadena de bloques, por ello startups como Rootstock trabajan en ampliar la capacidad de la Blockchain de Bitcoin para usar contratos inteligentes.

Ethereum por su parte, es una plataforma de aplicaciones descentralizadas basadas en blockchain. Por tanto, los contratos inteligentes son «nativos» de la cadena de bloques con capacidad para aplicar los contratos inteligentes a más casos de uso y limitados solamente por la madurez de la tecnología en el tiempo.

Corda, a diferencia de Bitcoin blockchain y Ethereum, es una solución permisionada (block chains privadas). Además, por ser una solución desarrollada por el consorcio R3, tiene un enfoque muy vertical al sector financiero. Los casos de uso se centran en los de este sector tomando en cuenta las condiciones y características específicas de este sector. Incluso considerando las regulaciones actuales de las entidades financieras.

6. ¿Cómo crear contratos inteligentes?

Los smart contracts no están escritos en lenguaje natural, sino en código informático, así que la gran pregunta es: ¿hay que saber programar para crear contratos inteligentes? Pues bien, ahora que esta tecnología está dando sus primeros pasos, es preferible, pero no obligatorio.

En A Lawyer’s Introduction to Smart Contracts se describen dos ‘capas’ para los contratos inteligentes:

  • La Plataforma de Smart Contracts (SCP), que es la infraestructura que permite crearlos y operarlos sobre una blockchain.
  • El Sistema de Gestión de Smart Contracts (SCMS), un protocolo que se añadiría a esa infraestructura para hacer mucho más fácil a un usuario sin conocimiento de programación el manejo de estos contratos. Dicho de otro modo, la interfaz gráfica amigable.

Actualmente tenemos diversas SCP, aparte de Ethereum. Sin salir de la blockchain de Bitcoin, de hecho, están disponibles Rootstock y Counterparty. Fuera de él, Codius y la más reciente, Ivy Playground Chain, también son opciones. Sin embargo, para ‘escribir’ contratos inteligentes sobre ellas, directamente se requiere de conocimientos de programación.

Plataformas disponibles con SCMS pueden equipararse a ‘Smart Contracts as a Service’, lo que implica que, de momento, probablemente provienen de startups blockchain y se otorga el servicio a cambio de un coste. Una de ellas es Smart Contract, donde se pueden crear distintos tipos de contratos sobre Bitcoin o Ethereum sin necesidad de programación.

7. Funcionamiento de los contratos inteligentes

Veamos un ejemplo. Digamos que María quiere comprar la casa de Pedro a crédito, pagando cierta cantidad de cuotas mensuales. Entonces Pedro y ella utilizan alguna plataforma de contratos inteligentes (como Ethereum o Smart Contract) para programar el contrato con los términos establecidos. Entre ellos:

  • María pagará X cantidad antes de cierta fecha cada mes, o de lo contrario la cerradura de la puerta de la casa se bloqueará.
  • Pedro cederá irrevocablemente el título de propiedad registrado en la cadena de bloques a María cuando la cantidad acordada se alcance.

Entonces el contrato inteligente actuará, sin necesidad de intermediarios, y llevará a cabo justamente esas instrucciones, al pie de la letra, sin que María ni Pedro puedan intervenir.

Ahora bien, pongamos otro ejemplo donde se requiere más información externa, como una apuesta deportiva. Digamos que María quiere apostar X bitcoin al equipo A, y Pedro quiere apostar la misma cantidad al equipo B. Depositan los fondos en un contrato inteligente para asegurarse de que, tras el resultado, el ganador realmente se quede con ellos. Pero, ¿quién le dice al contrato cuál de los equipos ganó?

Estas son herramientas informáticas que permiten actualizar el estado de los contratos inteligentes con información del exterior, como los precios de las divisas, la cotización de las acciones o si ganó el equipo A o el B. Aunque, por supuesto, la fuente de esa información sigue siendo una tercera parte, un intermediario fuera de la blockchain y fuera del contrato y por tanto sujeto a la confianza.

Este es un problema a resolver, pues precisamente lo que se quiere eliminar con los smarts contracts y la blockchain es la necesidad de confianza. Sin embargo, ya existen opciones para ello: algunos proyectos, comparan la información de todas las fuentes que se les indique para determinar su validez.

8. ¿Son legales?

Depende de la jurisdicción, e inclusive de la interpretación del mismo contrato sobre la jurisdicción a la que debería sujetarse, dado que estos son escritos sobre la blockchain, que puede consultarse en cualquier lugar del mundo. De momento, están una zona más bien gris. En A Lawyer’s Introduction to Smart Contracts, que data de 2014, se llega a una conclusión que hasta la fecha no ha cambiado demasiado en la mayoría de los países:

“La actual posición legislativa, al tiempo de esta escritura, es muy simple: nunca se ha discutido en las legislaturas. La razón es que, por supuesto, esta discusión es preventiva, ya que los SC no están públicamente disponibles como un producto o servicio, aunque hay un software de versión beta disponible para demostrar el concepto tecnológico. Puede ser intrínsecamente ilegal, al igual que las criptomonedas son ilegales debido a leyes inflexibles sobre la moneda de curso legal; algunas jurisdicciones pueden tener leyes inherentes que prohíben de manera similar a los SC.

Las particularidades de los smart contracts basados en blockchain suponen retos para su eficacia legal. Por ejemplo, un smart contract formalizado exclusivamente en código informático y registrado en la cadena de bloques puede plantear dudas en cuanto a la validez del consentimiento contractual en entornos de contratación a gran escala, si no es posible acreditar que todas las partes intervinientes en su formalización son expertas en ese lenguaje de programación, o que aun no siéndolo se ha formulado también en lenguaje natural.

La salvedad es que, por supuesto, la discusión ya no es ni de lejos preventiva. Ethereum llegó en 2015, y con él una verdadera avalancha de contratos inteligentes. Tampoco podemos afirmar que son ilegales o que se han prohibido; de hecho, este tratamiento ha sido mucho más enfocado hacia las criptomonedas.

Resumen

Como síntesis, así funciona un contrato inteligente: las partes configuran los términos del contrato, este se almacena en una dirección específica de la blockchain, el evento contemplado ocurre (una transacción o información recibida) y la consecuencia anteriormente establecida se lleva a cabo.

Fuente: Los contratos inteligentes serán cada vez más complejos gracias al Blockchain, El Economista. http://www.eleconomista.es/
Criptonoticias.com

Adaptado por la División Consultoría de EvaluandoSoftware.com

¿Qué software de gestión necesita su empresa?