Blockchain (I). Ethereum y smart contracts

La adaptación de la tecnología Blockchain es imparable y es un tema que, a mi modo de ver, va a suponer una disrupción mucho más allá del ámbito financiero. Dada mi obsesión con este asunto, y así me formo, elaboraré una serie de entradas sobre esta materia. Un matiz, toda la formación relacionada con Blockchain es prácticamente gratis (podcast, whitepapers, youtube, etc.) me llama mucho la atención cómo se está desplazando el conocimiento.

En esta primera entrada me centraré en Ethereum y los smart contracts, y en las sucesivas de los Tokens, las ICOs y las aplicaciones descentralizadas que más me han llamado la atención, todo ello desde un punto de vista de derecho privado en España (muy poco significativo, la verdad)

Traté de explicar la tecnología Blockchain aquí  y aunque como tecnología se ha usado esencialmente para Bitcoin tiene otros usos. Blockchain, a grandes rasgos, es el circuito por donde corre la información, se pueden crear tantas Blockchains como se quiera, sólo se necesita el compromiso de programadores (mineros) de ir validando las transacciones para que la red no se caiga, lo veremos con más detalle al hablar de tokens. La Blockchain tiene en su ADN la descentralización (no hay validador, por lo que se debe confiar en la tecnología) que es inmutable (no se puede cambiar y no hay un supra órgano que pueda revertir las operaciones) y que es pública (toda la información es accesible). El cambio de paradigma es confiar en la tecnología en lugar de en el validador, por ejemplo: para saber cuanto dinero tengo necesito que un tercero (el Banco) me certifique el importe. Aunque esté mal, en ese momento no tengo más dinero que el que el Banco diga (puedo reclamar pero no tengo más). En Blockchain como es un registro cuasi contable (ledger) cuánto dinero tengo no lo valida nadie, pero no podré hacer una transacción de 10 unidades si previamente no las he adquirido (a modo de partida contable: si 10 no entraron en la tesorería – que sería el wallet – no pueden contabilizarse a pago cliente). El paradigma cambia, sólo podré hacer una transacción porque hay un registro previo que dice que tengo unidades para comprar. El Bitcoin, en realidad, está en todas partes, es un bit, lo que permite moverlo de un sitio a otro por alguien son las claves a las que está asociado, de ahí la importancia de la criptografía en el sistema Blockchain.

El detalle de las diferencias entre las redes Bitcoin y Ethereum se pueden ver aquí;  pero esencialmente, mientras Bitcoin es una red pensada casi en exclusiva para pagos en criptodivisas con bloques donde se acumulan muchas transacciones cada 10 minutos (con las limitaciones que eso supone), Ethereum es una red 2.0 en la que se pretende que los desarrolladores puede generar contenidos en esta plataforma, en lugar de crear una Blockchain para cada proyecto, los desarrolladores trabajan sobre la Blockchain de Ethereum que les brinda un mayor potencial al ser un uso cuasi estandarizado. Es decir, que en lugar de ser una cadena para pagos, es una cadena sobre la que corren las aplicaciones de terceros con una moneda propia (Ether) que se usará para la conversión en tokens de cada proyecto y donde juegan un papel esencial los smart contracts.

Por ejmplo, Giveth es un proyecto de donativos basado en Blockchain que opera en Ethereum, en este proyecto el donante, (i) en primer lugar cambia euros por Ethers en una casa de cambio, (ii) con esos Ethers puede operar en Ethereum y acceder a Giveth que es un proyecto de tercero que corre en Ethereum, para ello comprará los tokens de este proyecto que en este caso se denominan “MiniMe Token” y se le asignarán tantos MiniMes por cada Ether que pague el donante que es quien elige el importe – ojo con la doble cotización – y (iii) a través de un smart contract el donante señalará en qué condiciones quiere donar MiniMes a un proyecto viendo en todo caso, a qué se destina su token, y con la facultad de revertir la donación si no se cumple un determinado evento o condición, (iv) el que recibe el donativo en MiniMes, proyecto asociado a Giveth,  sólo cuando se cumpla la condición pactada hará suyo el token y en definitiva podrá hacer el recorrido inverso hasta convertirlo euros u otra moneda. Esto genera una trazabilidad absoluta de las aportaciones así como transparencia total, algo que a fecha de hoy depende de un validador (auditor) de cada uno de los proyectos humanitarios, pero nuestro euro no sabemos a ciencia cierta a qué se destina.

Hasta aquí el Derecho poco interviene, donde tiene un papel más significativo es en los smart contracts relacionados con los Tokens o criptodivisas. No se puede entender Blockchain sin tokens, el token es la unidad que se crea en la Blockchain (es la representación digital del activo) para efectuar las transacciones dentro de la cadena. Por ejemplo: creo una aplicación que me permite utilizar un servicio (p.ej. música) que al usuario le cuesta 0,01 token por cada canción que escucha, no hay intermediario, es el artista quien sube su servicio a través de Ethereum por medio de un smart contract, se detraen los costes de validar la transacción por los mineros (volveré sobre esto en otra entrada) que son muy bajos y el artista recibe una parte muy importante del token. Este proceso es automático (un buen ejemplo es voise) y, com se puede apreciar, no depende de nadie. En este proceso es donde entran los smart contracts que son código (transacciones programadas) que se ejecutan en la red y que no dependen de las partes sino de que se den las condiciones señaladas en el contrato (código).

Para agilizar la “redacción” de los contratos se ha creado un lenguaje de programación específico denominado Solidity basado en Javascript (suena muy complicado pero es relativamente sencillo para los programadores porque tiene instrucciones, órdenes y librerías preconfiguradas). Un smart contract lo que hace, básicamente, es recopilar información y determinar las condiciones, que si se dan, producirán la transmisión del token en esa Blockchain y ello con la transparencia suficiente para que todos lo miembros de la cadena puedan ver el contrato. Una particularidad muy importante es que una vez “lanzado” el contrato no lo controla nadie, simplemente, se ejecuta (es descentralizado) por lo que cualquier error de código puede llevar a la pérdida de los recursos (veremos algunos ejemplos pero recomiendo escuchar esto). La mayor parte de los juristas entienden que el término smart contract es inadecuado, a mi modo de ver, una parte de contrato sí que es porque (i) no se diferencia mucho de un contrato con condiciones generales  – lo que el smart contract se basa en código – y (ii) cierto consentimiento es necesario para poder realizar la transacción. No sé que es más contrato, si el suministro de luz o un smart contract, la verdad.

Para que se entienda veremos un ejemplo. Uno de los usos en los que más se está trabajando es en votaciones. Pensemos en una Blockchain o una app en Ethereum creada para votar. A cada individuo con derecho a voto (tenemos un censo) se le asigna un token (una unidad) y se crea un smart contract que le permita asignar a cada individuo el token a un candidato mediante una transferencia a su identidad digital, o incluso no hacer nada. Cada votante tiene una única identidad (es imposible duplicar una identidad) se pueden generar muchas pero cada una es única, se abre la votación y el que más tokens tenga al final de un plazo es el ganador. El ahorro en costes es muy importante, y se gana en transparencia, seguridad y trazabilidad de cada voto. No hay dificultades de privacidad porque lo que se ve en la red es que una dirección “0xE0416818F30e3Fc20F25f3D7732b5F41B73e7059” que soy yo, ha enviado el token a otra (similar) que es la del candidato, representante, partido, etc. Ver como ejemplo agora, donde el coste para una población de 5 millones es de unos 105.000 € máximo, frente a los 1,5 millones de euros pagados a Indra para las últimas elecciones, sin contar los gastos de mesas electorales y sobre.

 

Anuncios
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s