As colored coins ou moedas coloridas são uma das tentativas da comunidade de desenvolvedores de criptomoedas para expandir a funcionalidade do Bitcoin, permitindo a criação de tokens que servem para representar outras moedas ou ativos de interesse no blockchain.
Las colored coins o moedas coloridas são uma das primeiras criações da comunidade, a fim de criar tokens em Bitcoin, a fim de desfrutar de seu enorme poder, segurança e alcance global.
Para isso, as moedas coloridas fazem uso dos recursos de programação do Bitcoin, por meio de Bitcoin Script. Basicamente, o que eles fazem é criar um programa que identifica o Bitcoin de maneira exclusiva, ao mesmo tempo que atribuem propriedades que representam esse novo token ou moeda colorida.
Desta forma, cada transação de uma moeda colorida em segundo plano é uma transação Bitcoin, apenas que dentro de seu script inclui instruções que somente nós e carteiras adaptadas a moedas coloridas serão capazes de entender. Como aconteceu com o Tokens ERC-20 de Ethereum, que surgiu mais tarde, este tipo de operação abriu as portas para uma nova quantidade de funcionalidades.
Embora hoje seja um protocolo pouco utilizado, a verdade é que inspirou a capacidade de criar outros tipos de ativos em uma rede principal, algo que o Ethereum posteriormente exploraria, atingindo muitos mais casos de uso.
Dito isso, podemos definir uma moeda colorida da seguinte maneira:
Uma moeda colorida é um token especial que funciona no blockchain Bitcoin. Um token no qual uma série de instruções são definidas em seu Bitcoin Script que só podem ser totalmente compreendidas por nós e carteiras adaptadas a ele. Desta forma, é possível criar um token completamente novo, com contabilidade própria dentro do Bitcoin.
Origem da moeda colorida
A origem das moedas coloridas deriva da necessidade de criar novos tokens e transferir ativos no blockchain Bitcoin. Com esses tokens, é possível representar qualquer coisa no mundo, desde ações, commodities, imóveis, moedas fiduciárias e até mesmo outras criptomoedas. E uma vez que a necessidade é a mãe de todas as criações, essa necessidade levou ao fato de que, em março de 2012, Yoni Assia (o CEO da eToro), impulsionado pela ideia de MasterCoin, apresentou a ideia de "moeda colorida" em seu blog pessoal.
A ideia era complicada e em fóruns como Bitcointalk a ideia de moedas coloridas começou a ganhar forma e interesse. Tudo isso levou a que em 4 de dezembro de 2012, Meni Rosenfeld criará um white paper explicando as moedas coloridas. Foi a primeira obra formal de moeda colorida e, embora incompleta, chamou a atenção da comunidade.
Já em 2013, Protocolo de moeda colorida de Flavien Charlon, protocolo que permitia a criação de moedas coloridas a partir de configurações específicas nas entradas e saídas das transações. Este foi o primeiro protocolo funcional de moeda colorida no Bitcoin. No entanto, não foi até 3 de julho de 2014 que o Protocolo EPOBC da empresa ChromaWay. Esse protocolo facilitou muito o processo de criação de moedas coloridas para desenvolvedores interessados nessa tecnologia, e foi um dos primeiros a usar a nova função OP_RETURN do Bitcoin Script.
Este desenvolvimento foi seguido por outros, como Colored Coins que veio à tona em 2015, entre outras que foram se tornando cada vez mais relevantes no mundo do Bitcoin. E, acima de tudo, aqueles interessados na potencial tokenização do mundo, e tudo isso antes que o Ethereum tivesse seu primeiro lançamento público.
Por que as moedas coloridas foram criadas?
Agora, com todos os itens acima, você certamente está se perguntando Por que as moedas coloridas foram criadas? Bem, a principal razão pela qual as moedas coloridas foram criadas é para abrir as portas para o desenvolvimento de novas funcionalidades no Bitcoin. A capacidade de criar tokens associados a coisas do mundo real, e que são apoiados por uma rede blockchain, é uma oportunidade única. A capacidade de criar uma moeda, um título tokenizado ou mesmo integrar aplicativos com Bitcoin para enviar microtransações ou operações registradas e protegidas pelo blockchain é algo único.
Mas não só isso, as moedas coloridas e suas possibilidades foram apenas o ponto de partida de outras tecnologias mais avançadas, como é o caso dos protocolos de segunda camada que vemos agora, como é o caso do RSK o Bisq. Simplificando, a inventividade da comunidade levou as possibilidades do Bitcoin um passo adiante e permitiu que outras possibilidades fossem exploradas.
Por exemplo, era possível criar uma moeda colorida no Bitcoin onde cada uma de suas unidades era equivalente a um dólar ou um euro. Com efeito, isso é o que conhecemos como stablecoin, e naquela época (2014) era algo novo com muitas possibilidades e o Bitcoin nos permitia explorar tudo isso. Claro que não era a única coisa possível, com moedas coloridas você podia representar qualquer coisa, naquele momento, a imaginação era o limite.
Como funcionam as moedas coloridas?
As moedas coloridas têm diferentes mecanismos de operação, dependendo do protocolo ou da forma como são implementadas. Lembre-se de que um protocolo significa simplesmente uma maneira de fazer as coisas.
A razão para isso é que, em princípio, não existe um método padrão no Bitcoin para criar tokens diretamente em seu blockchain. Por esse motivo, os desenvolvedores da moeda colorida utilizaram alguns processos mais criativos para cumprir sua missão, alguns deles bastante complexos, e mesmo com riscos potenciais.
Existem diferentes protocolos de criação de moedas coloridas, e a maioria deles atualmente aproveita o poder da propriedade Bitcoin Script chamada OP_RETURN. Mas OP_RETURN nem sempre existiu no Bitcoin.
Antes da criação do OP_RETURN em 2014, as moedas coloridas costumavam usar um esquema no qual as entradas e saídas de suas transações eram processadas de uma determinada forma. A forma como essas entradas e saídas foram configuradas criou o equivalente a uma "cor", uma forma de identificar e diferenciar uma transação regular de Bitcoin de sua moeda colorida correspondente.
Por exemplo, na primeira versão do Protocolo de Moedas Coloridas (CCP), a entrada 0 do índice de uma transação era marcada com um "script de índice de cor" que identificava a operação. Esse índice de cor foi então usado para verificar as saídas maiores que 2 (a primeira saída foi considerada não gastável e a segunda saída foi a direção da mudança) dessa transação e por meio do script de entrada 0, o operações correspondentes de moedas coloridas.
Como você pode ver, é um sistema bastante complexo e até limitado. Primeiro, o CCP não conseguiu lidar corretamente com sequências de cores não reconhecidas na rede. Assim, por exemplo, se uma pessoa usou uma nova versão do protocolo CCP e executou uma operação em uma moeda colorida não reconhecida em uma versão anterior, os nodos antigos invalidam a transação completamente, mesmo se várias dessas entradas foram reconhecidas corretamente. . Isso fez com que o protocolo fosse especialmente suscetível a bifurcações de rede que afetam a operação da moeda colorida.
Esta situação não afetou diretamente o Bitcoin porque para esta rede e seus nós, as operações realizadas eram válidas. Mas para a rede de moedas coloridas que rodava em versões modificadas do Bitcoin Core, as operações entre as diferentes versões de seu protocolo eram um verdadeiro caos.
A chegada de OP_RETURN
Com a chegada de OP_RETURN as coisas começam a mudar com as moedas coloridas. Com esta função foi possível armazenar informações no blockchain do Bitcoin de uma forma padrão. Inicialmente só era possível adicionar 80 bytes de informação em OP_RETURN, depois foi reduzido para 40 bytes, mas hoje é possível armazenar um total de 83 bytes (do Bitcoin Core 0.12) de informações arbitrárias na transação.
Pode parecer pouco espaço, mas 80 bytes é mais do que suficiente para criar novos protocolos de moedas coloridas, deixando para trás muitas das limitações que tinham até aquele momento. Em vez de criar estruturas coloridas nas entradas e saídas das transações, era mais fácil incluir informações sobre as operações na função OP_RETURN e processá-las pelos nós da moeda colorida.
Basicamente o que se fez foi injetar instruções no OP_RETURN para que os nós da moeda colorida tomem as saídas da referida transação e as enviem aos seus destinatários de acordo com as instruções fornecidas.
Desta forma, a capacidade de programação das moedas coloridas foi melhorada e ao mesmo tempo, foi possível criar sistemas mais estáveis e elaborados para o seu manuseio.
A transação genesis
É claro que o acima é simplesmente os métodos para fazer uma moeda colorida funcionar, mas em tudo isso há um ponto básico que é compartilhado: a transação de gênese da moeda colorida.
A transação de gênese serve para emitir todas as moedas que serão atribuídas à dita moeda colorida. Esta transação de gênese possui uma série de regras específicas que suas entradas e saídas devem seguir.
Em primeiro lugar, suas entradas devem considerar dois casos:
- Moeda colorida não reembolsável: no caso de moedas coloridas não reembolsáveis, os bilhetes são irrelevantes; o emissor não terá poder uma vez que a transação seja emitida, então a única coisa que importa é a própria transação (especificamente, seus resultados).
- Moedas coloridas remissíveis: neste caso, o emissor deve escolher um endereço seguro como o "endereço do problema" e definir a entrada da transação 0 para vir desse endereço. Posteriormente, o emissor poderá emitir mais unidades de moedas coloridas criando outra transação genesis com o mesmo endereço na entrada 0.
Por outro lado, no lado do output de uma transacção genesis, estes consistem num conjunto de outputs que enviam as moedas coloridas para os seus donos originais, seguido de um output de dados OP_RETURN, juntamente com um ou mais outputs "change" para enviar os excesso de bitcoins não coloridos para o emissor.
Neste ponto, cada protocolo implementa seu próprio esquema de controle e emissão de unidades de moedas coloridas, mas, na prática, esses dois pontos são universais para cada protocolo.
Algoritmos de coloração
Os algoritmos de coloração ou cor do kernel são os mecanismos que permitem o funcionamento das moedas coloridas de acordo com uma série de regras pré-definidas. Desta forma, os algoritmos de coloração são o coração dos protocolos que fazem funcionar as moedas coloridas, pois são eles que possibilitam a operação das moedas coloridas entre diferentes carteiras.
A primeira cor do kernel que permitiu transferir moedas com cores diferentes na mesma transação foi OBC (coloração baseada em ordem). Em seguida, outros algoritmos apareceram, como TBC (coloração baseada em marcação), o POBC (coloração baseada em ordem acolchoada), o EPOBC (Enhanced, Padded, Order-Based Coloring). Além de outros mais complexos, como SPOBC (coloração baseada em ordem de propriedade inteligente) e o DHKEC (coloração de troca de chave Diffie-Hellman).
É claro que cada uma dessas cores de kernel tem suas vantagens, suas desvantagens e suas próprias aplicações possíveis. No entanto, todos eles respeitam algumas considerações operacionais básicas, que são:
- O equilíbrio de cores de todas as entradas
- A posição das saídas em relação às entradas
- O tamanho relativo das saídas
- Os detalhes do script associado às saídas
- Informações codificadas nos cabeçalhos da transação. Por exemplo, usando o OP_CODE, OP_NSEQUENCE, ou o OP_RETURN.
Prós e contras de moedas coloridas
Agora, como tudo no mundo da tecnologia, as moedas coloridas têm seus benefícios e riscos.
Vantagens
- Possibilidade de ser utilizado para representar de forma tokenizada o que se deseja.
- Como estão rodando no blockchain Bitcoin, eles desfrutam da rede blockchain mais forte, segura e descentralizada do mundo e com alcance global.
- Eles permitem a criação de sistemas de tokens trocáveis. Esta propriedade permite, por exemplo: criar trocas descentralizadas ou realizar trocas atômicas entre moedas de diferentes cores.
Contras
- Altamente complexo de implementar e desenvolver. A aparência dos protocolos e outras ferramentas para o seu desenvolvimento melhorou essa situação, mas mesmo assim, as moedas coloridas são mais complexas de criar do que outras opções, como os tokens ERC-20 da Ethereum.
- Eles colocam mais pressão no blockchain. A criação de moedas coloridas aumenta o tamanho das transações e isso prejudica a capacidade da rede de processar transações. Tudo isso leva a uma diminuição no número de transações que podem ser processadas, aumenta o custo das comissões de mineração e aumenta drasticamente o tamanho do blockchain.
- Desincentiva os mineiros devido às baixas comissões pelas moedas coloridas. Esta é uma situação que pode levar a uma perda de capacidade de computação da rede devido aos baixos ganhos para os mineiros, que irão preferir a mineração para criptomoedas mais lucrativas.
- O fato de algumas moedas coloridas representarem valores mobiliários ou outros tipos de ativos relacionados a terceiros representa um risco. O facto de um terceiro representar os interesses de uma moeda colorida leva a que esta possa simplesmente fraudar os participantes do referido sistema.
Casos de uso para moedas coloridas
Agora vamos conhecer alguns casos que podemos atribuir às moedas coloridas:
- Sistemas atômicos de pagamento e câmbio. Uma vez que as moedas coloridas nada mais são do que bitcoins que são tratados de forma específica de acordo com o esquema de cores indicado ou script OP_RETURN, é possível realizar operações atômicas ou sistemas de pagamento usando moedas coloridas.
- Trocas descentralizadas (DEX). A capacidade de realizar trocas atômicas com moedas coloridas abre a possibilidade de representar outros tokens ou moedas com eles e fazer trocas com eles de forma rápida, segura e completamente descentralizada usando o blockchain Bitcoin.
- Criação de colecionáveis. As moedas coloridas são até certo ponto muito semelhantes aos tokens não fungíveis, de fato, quando um pagamento é feito com uma moeda colorida, o que realmente se faz é passar a propriedade desse token para outra pessoa, assim como acontece com um Token NFT (como ERC-721 da Ethereum).
- Acesso e assinatura. Uso de moedas coloridas para negociar e gerenciar serviços de acesso e assinatura. Por exemplo, um museu, um metrô ou um serviço online como o Netflix pode emitir passes como moedas coloridas. Assim, ao lançar um aplicativo de smartphone, ele pode ser usado para fazer uma assinatura criptográfica comprovar a propriedade de um passe pessoalmente, permitindo que esses passes sejam simultaneamente transferíveis, totalmente digitais e sem cópia segura.
- Uma empresa pode querer emitir ações usando moedas coloridas, aproveitando a infraestrutura do Bitcoin para permitir que as pessoas mantenham a propriedade de ações e negociem ações, e até mesmo permitir que você vote e pague dividendos no blockchain do Bitcoin.
- Uma comunidade local, por exemplo, pode querer criar uma moeda comunitária, usando a infraestrutura Bitcoin para armazenar fundos com segurança.
Protocolos para a criação de moedas coloridas
Agora, toda a evolução do desenvolvimento das moedas coloridas levou à criação de diferentes protocolos para sua criação. E é que a realização desse trabalho em protocolos estabelecidos não só facilitou sua criação, mas também sua manutenção e aprimoramento. É assim que os seguintes protocolos foram criados:
CCP ou protocolo de ativos abertos
Conhecido em 2013 como Coloured Coins Protocols (CCP) e posteriormente renomeado para Open Assets Protocol, é um protocolo para a criação de moedas coloridas. O projeto foi um dos mais utilizados devido à enorme quantidade de ferramentas disponíveis para esta tarefa. Na verdade, o protocolo possui interfaces em linguagens populares como Python, Objective-C, Ruby ou .NET da Microsoft, o que facilita o desenvolvimento de ferramentas usando este protocolo.
Além disso, o Open Assets Protocol oferece suporte a aprimoramentos, como BIP-70 (um protocolo de pagamento) e BIP-21 (um esquema de URI para facilitar os pagamentos). Atualmente, o protocolo está abandonado e seu repositório no GitHub não é atualizado desde 2016.
Protocolo ChromaWay EPOBC
Outro protocolo popular para a criação de moedas coloridas é o EPOBC da ChromaWay. O protocolo teve seu desenvolvimento iniciado em 2014, quando a empresa passou a comercializar moedas coloridas. O projeto foi iniciado por Alex Mizrahi, e desde então ele começou a revolucionar a forma como as moedas coloridas podiam ser criadas.
Protocolo de Moedas Coloridas de Colu
O protocolo de moedas coloridas da Colu é outra forma bem conhecida de fazer suas próprias moedas coloridas. A implementação é escrita em JavaScript, o que facilita muito o processo de criação de projetos para lidar com moedas coloridas.
Moedas coloridas na prática
Criar uma moeda colorida é grátis, qualquer pessoa pode fazer isso e existem ferramentas para fazer isso. Abaixo, mostramos as ferramentas.
No entanto, você deve entender que, apesar de a ação de criá-la ser gratuita, para realizá-la deve ser criada uma transação de Bitcoin. Ou seja, você deve pagar as taxas para enviar uma transação Bitcoin.
Para realizar uma transação bastará ter uma carteira que suporte o mesmo protocolo de moeda colorida utilizado.
As moedas coloridas funcionam na rede Bitcoin, o que significa que os endereços são iguais aos do Bitcoin. Você não precisa criar endereços especiais e qualquer endereço de Bitcoin pode receber uma moeda colorida.
A visualização das moedas coloridas de um endereço dependerá de você ter ou não uma bolsa com suporte.
Posteriormente, toda vez que alguém quiser transferir unidades daquela moeda colorida para outro endereço de Bitcoin, você deve realizar uma transação de Bitcoin, pois a moeda de cor é a interpretação do valor OP_RETURN de um UTXO, que é transferido para o novo endereço. Isso significa que você deve pagar a taxa de transação que a rede Bitcoin solicita.
Mas não só isso! Como no Bitcoin, ao contrário do Ethereum, você não pode fazer uma transação em que nenhuma quantidade de Bitcoin seja enviada, você deve enviar a quantidade mínima (quantidade de pó), atualmente de 546 satoshis. Ou seja, o envio de uma moeda colorida tem um custo de mineração e um “custo” de alguns satoshis que você deve enviar para o destino.
Como você pode ver, sua baixa usabilidade desencadeou a busca por alternativas, fazendo com que os contratos inteligentes da Ethereum resolvam de forma mais eficiente o caso de uso de tokens através do padrão ERC-20: eles não exigem adição de um mínimo, são mais facilmente programáveis e permitem a programação de cenários mais elaborados.
Exemplos de moedas coloridas
Atualmente, existem várias moedas coloridas em desenvolvimento e uso ativo, esses casos são Counterparty, OmniLayer, Bisq. Todos esses projetos dependem do funcionamento do Bitcoin para poder realizar suas operações, operações que são possibilitadas por uma carga de dados (coloração) em transações bitcoin.
Por exemplo, em Counterparty Atualmente, existem diversos projetos que aproveitam a capacidade de coloração da contraparte para emitir tokens em Bitcoin. É o caso de projetos como Pepe raro, um conjunto de memes bem conhecido na comunidade Bitcoin. Graças a isso, é possível criar, comprar e vender esses colecionáveis no Bitcoin. Da mesma forma podemos falar do Spell of Genesis, outro projeto que faz uso da Contraparte, e até da mesma moeda da Contraparte, o token XCP.
Camada OmniPor sua vez, é mais conhecido por ser o berço do Tether, o stablecoin ancorado no dólar que hoje é um pilar das operações com esse tipo de moeda. Na verdade, no OmniLayer o Tether é conhecido como o Ativo 31, e todas as moedas que fazem uso desse tipo de corda, na verdade realizam suas operações no Bitcoin usando moedas coloridas. Na verdade, se você verificar este endereço 32TLn1WLcu8LtfvweLzYUYU6ubc2YV9eZs, você verá que é um endereço Bitcoin. Você perceberá que porém, é um endereço que recebe bitcoins em quantidades muito pequenas, algo curioso. Mas se você usar o OmniLayer Explorer, a história muda drasticamente, podendo ver que são operações em Tether, com um valor bastante alto, algumas de até 220 milhões de dólares.
Bisq Por sua vez, é uma conhecida bolsa descentralizada que funciona em Bitcoin, e também é um projeto que funciona graças às moedas coloridas, de forma muito semelhante ao OmniLayer.
No entanto, esses protocolos mudaram muito e não apenas usam a capacidade de colorir para suas operações, eles também usam outros avanços, como HTLC, DLC, CLTV o CSV para suas operações. No final, isso os transformou em algo muito maior e mais ambicioso, que conhecemos como protocolos de segunda camada.