Metacoins, Tokens, y otros pobladores de la Blockchain (Parte II)


 

En este recorrido iniciado con el primer artículo de la serie, que nos introducía el concepto de token, llegamos ahora a una nueva etapa en la que conoceremos un poco mejor el funcionamiento de los tokens, y veremos cómo podemos crearlos, tanto en el blockchain de Ethereum como en el de Bitcoin (si, se pueden crear tokens basados en Bitcoin!).

¿Cómo funcionan los tokens?

Tokens en Ethereum: el estándar ERC20

En el mundo Ethereum, los famosos Smart Contracts y la Ethereum Virtual Machine [1] proporcionan una “capa de aplicación” a la tecnología Blockchain. Podemos decir que Ethereum es una “blockchain programable”, en la que cualquier usuario puede crear sus propias aplicaciones, con su lógica de negocio y sus variables, que son almacenadas (y ejecutadas) por todos y cada uno de los nodos de la red. Solidity y Serpent son los lenguajes de programación que se utilizan normalmente para crear Smart Contracts.


Creación de un token en Ethereum con la interfaz del wallet Mist

Los tokens en Ethereum son un tipo determinado de aplicaciones o Smart Contracts que siguen el estándar ERC20. Esto quiere decir que implementan una serie de métodos que permiten operar con ellos de una forma normalizada. Todo programador sabrá por tanto que un token ERC20 debe permitir al menos las siguientes funcionalidades:

  • Mantener e informar sobre el estado del token, el suministro total, y el balance de las distintas cuentas
  • Realizar transferencias de una cuenta Ethereum a otra
  • Aprobar el gasto de una cantidad

Tendremos así las herramientas necesarias para realizar operaciones con el token, independientemente de cual sea el activo, bien o servicio al que representa.

Para crear estos smart contract “especiales”, o tokens, hay que definir una serie de parámetros, como ya vimos en el primer post de la serie:

  • El nombre del token
  • El número inicial de tokens a crear
  • Decidir si puede dividirse (tener decimales) o no

Tokens en Bitcoin: metacoins

La blockchain de Bitcoin no ofrece de forma nativa una capa de aplicaciones como tal, y por tanto, inicialmente este blockchain permitía casi únicamente realizar transacciones con bitcoins. Pero ya en 2013 (casi dos años antes de que Ethereum estuviera funcionando) empezaron a surgir distintos proyectos que tenían como base la plataforma Bitcoin y que buscaban extender su funcionalidad para permitir la creación de características avanzadas e innovadoras aplicaciones más allá del intercambio de criptomonedas.

Estas extensiones de Bitcoin, que se conocen genéricamente como metacoins, consiguen codificar sus propios metadatos “escribiendo en los márgenes de las transacciones de Bitcoin regulares” [2]. Inicialmente lo hacían escribiendo en campos no utilizados por el protocolo, y han ido avanzando hacia métodos más sofisticados como la codificación de metadatos mediante la funcionalidad OP_RETURN.

Algunas de las metacoins más conocidas son:

Colored Coins es proyecto comenzado en 2013 y cuyo nombre viene de la analogía de “pintar” una moneda de un determinado color, de forma que, aún conservando su valor intrínseco, represente además otro activo. Se trata de una plataforma blockchain agnostic, pues aunque actualmente funciona sobre Bitcoin, el concepto se puede extender a Ethereum, Hyperledger o Multichain.
Omni Layer, previamente conocida como Mastercoin, es otra de las plataformas pioneras en el mundo de las metacoins, y fue el primer proyecto financiado por una Initial Coin Offering (ICO).
Counterparty, se creó en 2014 y se financió mediante una ICO, para la que se crearon 2,6 millones de XCP, su token nativo, que se utiliza para realizar transacciones y para la creación de otros tokens.

La creación de tokens utilizando metacoins es más sencillo que la creación de tokens basados en smart contracts. Counterparty, por ejemplo, permite la creación de tokens de forma fácil, rápida y muy barata. El proceso es el siguiente:

1 Elegir el nombre del token (también puede ser una secuencia numérica aleatoria), el número inicial de tokens y determinar si son divisibles o no.
2 Añadir una descripción y un logo.
3 Pagar la tarifa de “registro”: un token alfanumérico cuesta 0.5 XCP (unos 10€ según la cotización a 10/02/2018) y uno numérico es gratuito.

Una vez creado el token, el creador tendrá en su “cuenta” de Bitcoins de Counterparty la cantidad total de tokens “acuñados”. A partir de aquí, podrá operar con ellos para intercambiarlos por otros activos digitales y físicos o para usarlos como llave de acceso a servicios, funcionalidades premium de aplicaciones, etc.


Creación de un token en Bitcoin con la interfaz de Indiesquare

Y esto es todo por hoy…
En el tercer capítulo de esta serie veremos algunos ejemplos sobre cómo se utilizan en la práctica los tokens de las distintas blockchains.

Referencias

[1] What is Ethereum?. Ethereum Homestead Documentation. Acceso: 01-02-2018. Disponible en http://www.ethdocs.org/en/latest/introduction/what-is-ethereum.html#ethereum-virtual-machine

[2] About Counterparty. Counterparty Platform Website. Acceso: 05-02-2018. Disponible en https://counterparty.io/platform/

Incluso antes de mis primeros contactos con el mundo de los ordenadores a principios de los 80, siempre me ha movido la pasión por intentar comprender el funcionamiento de las cosas y de las personas. Esa curiosidad me ha permitido aprender y trabajar en campos tan dispares (aparentemente) como el diseño gráfico, la ciberseguridad, el desarrollo móvil o el machine learning. Llevo trabajando en FutureSpace desde hace casi 12 años, y actualmente soy Business Development Manager para los sectores Telco y Media. "Curiosity skilled the cat" es una frase que acuñé hace ya bastante tiempo, pero que sigue definiendo mi forma de enfocar la vida.