¿Qué es una Colored Coin?

Las colored coins o monedas coloreadas, son una de las primeras creaciones de la comunidad con el fin de crear tokens sobre Bitcoin, con el fin de disfrutar de su enorme potencia, seguridad y alcance global.

Para lograr esto, las colored coins hacen uso de las capacidades de programación de Bitcoin, por medio de su Bitcoin Script. Básicamente, lo que hacen es crear una programación que identifica de forma única a los Bitcoin, asignando unas propiedades que representan a ese nuevo token o colored coin.

De esta forma cada transacción de una colored coin en el fondo es una transacción de Bitcoin, solo que dentro de su script hay instrucciones que solo los nodos y monederos adaptados a colored coins podrán entender. Al igual que los tokens ERC-20 de Ethereum, los cuales llegaron posteriormente, este tipo de operativa abre las puertas para toda una nueva cantidad de funcionalidades.

Aunque hoy en día es un protocolo que apenas se usa, lo cierto es que inspiró la capacidad de crear otro tipo de activos sobre una red principal, algo que posteriormente Ethereum explotaría llegando a muchos más casos de uso.

Dicho esto, podemos definir a una colored coin de la siguiente manera:

Una colored coin es un token especial que funciona sobre la blockchain de Bitcoin. Un token en el que van definido una serie de instrucciones dentro de su Bitcoin Script que solo pueden ser comprendidos en su totalidad por nodos y monederos adaptados a ello. De esta forma, se es capaz de crear un token completamente nuevo, con su propia contabilidad dentro de Bitcoin.

Origen de las Colored Coin

El origen de las colored coin parte de la necesidad de crear nuevos tokens y transferir activos en la cadena de bloques de Bitcoin. Con estos tokens es posible representar cualquier cosa en el mundo, desde acciones, materias primas, bienes raíces, monedas fiduciarias e incluso otras criptomonedas. Y como la necesidad es la madre de todas las creaciones, dicha necesidad llevó a que en marzo de 2012, Yoni Assia (el CEO de eToro), impulsada por la idea de MasterCoin, presentó la idea de “colored coin” en su blog personal.

La idea fue cuajando, y en foros como Bitcointalk la idea de las colored coin comenzó a tomar más forma e interés. Todo esto llevó a que el 4 de diciembre de 2012, Meni Rosenfeld creara un whitepaper explicando las colored coin. Era el primer trabajo formal de una colored coin, y aunque incompleto, capturó la atención de la comunidad.

Ya en 2013, nacía Colored Coin Protocol de Flavien Charlon, un protocolo que permitía crear colored coin usando para ello configuraciones específicas en las entradas y salidas de las transacciones. Este fue el primer protocolo de colored coin funcional sobre Bitcoin. Sin embargo, no fue sino hasta el 3 de julio de 2014 que se crea el protocolo EPOBC de la empresa ChromaWay. Este protocolo facilitaba enormemente el proceso de creación de colored coins a los desarrolladores interesados en dicha tecnología, y era uno de los primeros en usar la nueva función OP_RETURN de Bitcoin Script.

A este desarrollo le siguieron otros como el de Colored Coins que salió a la luz en 2015, entre otros que fueron tomando cada vez más relevancia en el mundo de Bitcoin. Y sobre todo, aquellos interesados en la potencial tokenización del mundo, y todo ello antes de que Ethereum tuviera su primera release pública.

¿Por qué se crearon las Colored Coin?

Ahora bien, con todo lo anterior seguramente te estarás preguntando ¿Por qué se crearon las colored coins? Pues bien, la principal razón por la que las colored coin fueron creadas es la de abrir las puertas al desarrollo de nuevas funcionalidades en Bitcoin. La capacidad de crear tokens que estén asociados a cosas del mundo real, y que estos estén respaldados por una red blockchain es una oportunidad única. La capacidad de crear una moneda, un bono tokenizado, o incluso integrar aplicaciones con Bitcoin para enviar microtransacciones u operaciones que queden registradas y resguardadas por blockchain es algo único.

Pero no solo eso, las colored coins y sus posibilidades fueron solo el punto de inicio de otras tecnologías más avanzadas, como el caso de los protocolos de segunda capa que vemos ahora, como el caso de RSK o Bisq. En pocas palabras, la inventiva de la comunidad llevó un paso adelante las posibilidades de Bitcoin y permitió explorar otras posibilidades.

Por ejemplo, era posible crear una colored coin sobre Bitcoin donde cada una de sus unidades fuera equivalente a un dólar o un euro. En efecto, esto es lo que conocemos como stablecoin, y en ese entonces (2014) era algo novedoso con muchas posibilidades y Bitcoin permitía explorar todo aquello. Por supuesto no era lo único posible, con las colored coin se podía representar cualquier cosa, en ese punto, la imaginación era el límite.

¿Cómo funcionan las Colored Coin?

Las colored coin tienen distintos mecanismos de funcionamiento dependiendo del protocolo o la forma en la que estén implementadas. Recuerda que un protocolo simplemente significa una forma de hacer las cosas.

La razón para esto es que en principio no existe en Bitcoin un método estándar para crear tokens directamente sobre su blockchain. Por esa razón, los desarrolladores de colored coin usaban algunos procesos más creativos para lograr su cometido, alguno de ellos bastante complejos, e incluso con potenciales riesgos.

Existen diferentes protocolos de crear Colored Coins, y la mayoría de ellos aprovechan actualmente el poder de la propiedad de Bitcoin Script llamada OP_RETURN. Pero OP_RETURN no ha existido siempre en Bitcoin.

Antes de la creación de OP_RETURN en 2014, las colored coins solían usar un esquema en el que las entradas y salidas de sus transacciones se elaboraban de una determinada forma. La forma en cómo se configuraban estas entradas y salidas creaban el equivalente a un “color”, una forma de identificar y diferenciar una transacción regular de Bitcoin, de su correspondiente colored coin.

Por ejemplo, en la primera versión de Colored Coin Protocol (CCP), la entrada 0 del índice de una transacción se marcaba con un “script de índice de colores” que identificaba a la operación. Este índice de colores, era luego usado para revisar las salidas superiores a 2 (la primera salida era considerada no gastable, y la segunda salida era la dirección de cambio) de esa transacción y por medio del script de la entrada 0, se realizaban las operaciones de colored coins correspondientes.

Como puedes ver es un sistema bastante complejo e incluso limitado. En primer lugar, CCP era incapaz de manejar de forma correcta secuencias de color no reconocidas en la red. Así por ejemplo, si una persona usaba una versión nueva del protocolo CCP, y realizaba una operación sobre una colored coin no reconocida en una versión anterior, los nodos antiguos invalidan la transacción por completo, incluso si varias de esas entradas fueron reconocidas de forma correcta. Esto llevaba a que el protocolo fuera especialmente susceptible a fork de red que afectan el funcionamiento de la colored coin.

Esta situación no afectaba directamente a Bitcoin porque para esta red y sus nodos, las operaciones que se realizaban eran válidas. Pero para la red de las colored coin que se ejecutaba sobre versiones modificadas de Bitcoin Core, las operaciones entre distintas versiones de su protocolo eran un verdadero caos.

La llegada de OP_RETURN

Con la llegada de OP_RETURN las cosas comienzan a cambiar con las colored coin. Con esta función era posible almacenar información en la blockchain de Bitcoin de forma estándar. Inicialmente solo era posible agregar 80 bytes de información en OP_RETURN, luego se redujo a 40 bytes, pero en la actualidad es posible almacenar un total de 83 bytes (desde Bitcoin Core 0.12) de información arbitraria en la transacción.

Podrá parecer poco espacio, pero 80 bytes es más que suficiente para crear nuevos protocolos de colored coins, dejando atrás muchas de las limitaciones que tenían hasta ese momento. En lugar de crear estructuras de colores en las entradas y salidas de las transacciones, era más sencillo incluir información de operaciones en la función OP_RETURN y que ésta fuera procesada por los nodos de la colored coin.

Básicamente lo que se hacía era inyectar instrucciones en la OP_RETURN para que los nodos de la colored coin tomarán las salidas de dicha transacción y las enviarán a sus destinatarios según las instrucciones otorgadas.

De esta forma, se mejoraba la capacidad de programación de las colored coin y al mismo tiempo, se permitía crear sistemas más estables y elaborados para su manejo.

La transacción génesis

Por supuesto lo anterior es simplemente los métodos para lograr que una colored coin funcione, pero en todo ello existe un punto básico que es compartido: la transacción génesis de la colored coin.

La transacción génesis sirve para emitir la totalidad de monedas que serán asignadas a dicha colored coin. Dicha transacción génesis tiene una serie de reglas específicas que deben seguir sus entradas y salidas.

En primer lugar, sus entradas deben considerar dos casos:

  1. Colored coin no reembolsables: en el caso de las colored coin no reembolsables, las entradas son irrelevantes; el emisor no tendrá ningún poder una vez que se emita la transacción, por lo que lo único que importa es la transacción en sí (específicamente, sus salidas).
  2. Colored coin reemisibles: en este caso, el emisor debe elegir una dirección segura como “dirección de emisión” y establecer la entrada 0 de la transacción para que provenga de esa dirección. Posteriormente, el emisor podrá emitir más unidades colored coin creando otra transacción de génesis con la misma dirección en la entrada 0.

Por su parte, de lado de las salidas de una transacción génesis estas consisten en un conjunto de salidas que envían las monedas de colores a sus propietarios originales, seguidas de una salida de datos OP_RETURN, junto a una o más salidas de “cambio” para enviar el exceso de bitcoins sin color al emisor.

En este punto, cada protocolo implementa su propio esquema de control y emisión de unidades de colored coins, pero en la práctica, estos dos puntos son universales para cada protocolo.

Los algoritmos de coloración

Los algoritmos de coloración o color kernel, son los mecanismos que permiten el funcionamiento de las colored coin de acuerdo a una serie de reglas predefinidas. De esta forma, los algoritmos de coloración son el corazón de los protocolos que hacen funcionar a las colored coin pues son estos los que hacen posible el funcionamiento de las colored coin entre diferentes monederos.

El primer color kernel que permitía transferir en la misma transacción monedas con distintos colores fue OBC (del inglés Order-Based Coloring). Luego aparecieron otros algoritmos como el TBC (del inglés Tagging-based Coloring), el POBC (del inglés Padded Order-based Coloring), el EPOBC (del inglés Enhanced, Padded, Order-Based Coloring). Además de otros más complejos como el SPOBC (del inglés Smart Property Order-Based Coloring) y el DHKEC (del inglés Diffie-Hellman Key Exchange Coloring).

Por supuesto cada uno de estos color kernel tiene sus ventajas, sus inconvenientes y sus propias posibles aplicaciones. Sin embargo, todos respetan algunas consideraciones básicas de funcionamiento que son:

  1. El balance de color de todas las entradas
  2. La posición de las salidas relativas a la entradas
  3. El tamaño relativo de las salidas
  4. Los detalles del script asociado a las salidas
  5. Información codificada en las cabeceras de la transacción. Por ejemplo usando el OP_CODE, OP_NSEQUENCE, o el OP_RETURN.

Pros y Contras de las Colored Coin

Ahora bien, como todo en el mundo de la tecnología, las colored coins tienen sus beneficios y riesgos.

Pros

  1. Posibilidad de ser usada para representar de forma tokenizada lo que se desee.
  2. Al estar ejecutándose sobre la blockchain de Bitcoin, gozan de la red blockchain más fuerte, segura, descentralizada del mundo, y con alcance global.
  3. Permiten crear sistemas de tokens intercambiables. Esta propiedad permite por ejemplo: crear exchanges descentralizados o realizar intercambios atómicos entre distintas colored coins.

Contras

  1. Altamente complejas de implementar y desarrollar. La aparición de los protocolos y otras herramientas para su desarrollo mejoró esta situación, pero aún así las colored coins son más complejas de crear que otras opciones como los tokens ERC-20 de Ethereum.
  2. Ejercen mayor presión sobre la blockchain. La creación de colored coins aumenta el tamaño de las transacciones y ello resiente la capacidad de la red para procesar transacciones. Todo esto lleva a una disminución en el número de transacciones que se pueden procesar, impulsa el costo de las comisiones de minería y aumenta dramáticamente el tamaño de la blockchain.
  3. Desincentiva a los mineros debido a las bajas comisiones de las colored coins. Esta es una situación que puede llevar a perder poder de cómputo a la red debido a las bajas ganancias de los mineros, que entonces preferirán minar para criptomonedas más rentables.
  4. El hecho de que algunas colored coins representen valores u otros tipos de activos relacionados con terceros representa un riesgo. El que un tercero represente los intereses por una colored coin lleva a que este pueda simplemente estafar a quienes participen en dicho sistema.

Casos de uso de las Colored Coins

Ahora bien conozcamos algunos casos que podemos darle a las colored coins:

  1. Sistemas de pagos e intercambio atómicos. Debido a que realmente las colored coins no son más que bitcoins que son tratados de forma específica de acuerdo al esquema de colores o script OP_RETURN indicado, es posible realizar operaciones atómicas o sistemas de pagos usando colored coins.
  2. Exchanges descentralizados (DEX). La capacidad de realizar intercambios atómicos con colored coins abre la posibilidad de representar con ellos otros tokens o monedas y realizar con ellos intercambios de forma rápida, segura y completamente descentralizada usando la blockchain de Bitcoin.
  3. Creación de coleccionables. Las colored coins son hasta cierto punto muy parecidas a los tokens no fungible, de hecho, cuando se realiza un pago con una colored coin, lo que realmente se hace es pasar la propiedad de ese token a la otra persona, tal como pasa con un token NFT (como el ERC-721 de Ethereum).
  4. Acceso y suscripción. Uso de colored coins para comerciar y gestionar servicios de acceso y suscripción. Por ejemplo, un museo, un metro o un servicio en línea como Netflix puede emitir pases como colored coins. Así, al lanzar una aplicación de teléfono inteligente, esta se puede usar para hacer que una firma criptográfica demuestre la propiedad de un pase en persona, permitiendo que estos pases sean simultáneamente transferibles, totalmente digitales y sin copia segura.
  5. Una empresa podría querer emitir acciones utilizando monedas de colores, aprovechando la infraestructura de Bitcoin para permitir que las personas mantengan la propiedad de las acciones y las acciones comerciales, e incluso le permitan votar y pagar dividendos sobre la cadena de bloques de Bitcoin.
  6. Una comunidad local por ejemplo podría desear crear una moneda comunitaria, utilizando la infraestructura de Bitcoin para almacenar fondos de forma segura.