septiembre, 2018

Contratos Inteligentes: qué son, orígenes y principales aplicaciones

Jaime Núñez

Hemos oído hablar mucho de “contratos inteligentes”, blockchains y criptomonedas. Pero ¿qué son en realidad? Los smart contracts son precisamente los que convierten el dinero en dinero inteligente. En este post los descubrirás, verás un ejemplo práctico y algunas de sus posibles aplicaciones.

El concepto de “contratos inteligentes” (smart contracts en inglés) lo definió por primera vez el ingeniero informático y jurista norteamericano Nick Szabo ya en 1994 como “un protocolo informático capaz de ejecutar cláusulas de un contrato.

Recordemos que la web daba entonces sus primeros pasos y abría nuevos horizontes entre los que se vislumbraban unas relaciones comerciales y financieras más directas, sin intermediarios y sin fronteras.  

Sin embargo este prometedor escenario también nos exponía a los peligros de una sociedad de la información anti-utópica en donde la privacidad, y en consecuencia la libertad, podrían quedar gravemente amenazadas.

Contratos inteligentes: ¿Cómo surgieron?

Para minimizar ese peligro, los “alquimistas” del movimiento Cypherpunk ya proponían la creación de una moneda nativa para Internet que tuviera las mismas propiedades que el dinero en efectivo, que sirviera como medio de cambio y que funcionara del mismo modo que ya lo hacía el correo electrónico.  

Aquel sueño del movimiento Cypherpunk culminaría 15 años después con la publicación del protocolo Bitcoin. El mecanismo inventado por Satoshi Nakamoto resolvió por primera vez el clásico dilema de los Generales Bizantinos y del doble gasto mediante un sistema que denominó “cadena de bloques” (blockchain en inglés).

Dicho sistema permite hacer transacciones y resolver discrepancias de forma automática sin recurrir a la intervención de una autoridad central. La posibilidad de realizar transacciones usando una red abierta y resistente a cualquier tipo de censura o ataque, abrió por fin las puertas al mundo de los contratos inteligentes y a la nueva Internet del Valor.

¿Qué es un contrato inteligente?

Para explicarlo de una forma sencilla, el propio Szabo usaba el ejemplo de las máquinas expendedoras, en donde una de las partes introduce una moneda por la ranura, selecciona después un producto y la máquina finalmente se lo entrega.

Ahora imaginemos esa misma funcionalidad con productos financieros, pero en vez de utilizar una máquina expendedora recurriremos a una máquina virtual que reside en una blockchain, con lo que garantizamos que siempre estará disponible.

En este punto es en donde nuestra imaginación se puede desbordar y no es raro oír hablar ya a algunos gurús sobre los contratos inteligentes en las blockchains como una pócima mágica capaz de resolver prácticamente todos los problemas de la humanidad, desde la corrupción hasta la pobreza mundial.

Un contrato inteligente no es más que un pequeño programa informático. Sin embargo, lo que les hace ser esencialmente distintos de otros programas es su capacidad para transferir valor (dinero u otros activos digitales) de forma nativa y sin recurrir a intermediarios.

Un ejemplo de contrato inteligente

En este caso será una dirección Bitcoin que requerirá la firma de al menos dos de sus tres propietarios a los que llamaremos Alicia, Roberto y Árbitro, para poder mover los fondos allí depositados.  Recordemos que en las blockchains las identidades son sólo claves, no personas físicas.

El siguiente código (imaginad que es una cerradura virtual) validará cualquier transacción que quiera hacer uso de los bitcoins depositados en dicha dirección:

Esto quiere decir que la transacción se ejecutará sólo si contiene al menos dos firmas válidas de las tres posibles. Ahora podemos hacer un contrato más complejo:I

En este caso, si la transacción que quiere mover los fondos no proporciona dos firmas válidas, bastará con la única firma de Alicia siempre y cuando hayan pasado 30 días desde que se depositaron los bitcoins en dicha cuenta.

Este tipo de contratos hacen uso de las operaciones (OP_CODES)
disponibles en cada tipo de blockchain. Las principales blockchains públicas son Bitcoin y Ethereum. La blockchain de Bitcoin está diseñada para maximizar la seguridad en perjuicio de la funcionalidad, y en el caso de Ethereum lo que se pretende es favorecer la funcionalidad en perjuicio de la seguridad.

En cualquier caso la seguridad siempre es un factor fundamental para este tipo de contratos, pues una vez desplegados en su correspondiente blockchain no hay posibilidad de modificarlos en el caso de que se descubriera un error.

Aplicaciones de los contratos inteligentes

Los contratos se pueden aplicar en nuevas formas de financiación y crowdfunding distribuido,  como es el caso de la emisión de tokens en la red Ethereum con los contratos tipo ERC20, crear canales de pago como los utilizados por la red Lightning Network o descentralizar la economía colaborativa.

Además, existe también la posibilidad de hacer seguros vinculados a eventos provenientes de fuera de la blockchain, vía oráculos o servicios que “inyectan” datos externos dentro de una blockchain para que puedan ser utilizados luego por los contratos inteligentes.

Los contratos inteligentes también plantean nuevos retos desde el punto de vista legal al no estar sujetos a ninguna jurisdicción concreta y tampoco ser susceptibles de interpretación. Deberían verse como reglas o leyes que se ejecutan de forma ciega tal y como puede ocurrir con la ley de la gravedad. En cualquier caso las personas físicas o jurídicas que los utilizan no están exentas de cumplir los requisitos que exige la Ley.

En lo que coinciden tanto juristas como ingenieros es en que las blockchains traerán consigo nuevas oportunidades, nuevos modelos de negocio y un cambio radical capaz de mejorar aquellos procesos en los que hasta ahora los intermediarios no han sido más que un mal necesario.

¿Quieres aprender a implantar en tu empresa modelos basados en Blockchain? Fórmate con el Curso Especializado en Blockchain de ICEMD. Encuentra toda la información e inscripciones, aquí.