Le colored coins o monete colorate sono uno dei tentativi della comunità di sviluppatori di criptovalute di espandere le funzionalità di Bitcoin, consentendo la creazione di token che servono a rappresentare altre valute o asset di interesse sulla blockchain.
Las colored coins o le monete colorate sono una delle prime creazioni della community per creare gettoni su Bitcoin, al fine di godere del suo enorme potere, sicurezza e portata globale.
Per raggiungere questo obiettivo, le monete colorate si avvalgono delle capacità di programmazione di Bitcoin, attraverso Bitcoin Script . Fondamentalmente, ciò che fanno è creare un programma che identifica in modo univoco Bitcoin, assegnando proprietà che rappresentano quel nuovo token o moneta colorata.
In questo modo ogni transazione di una moneta colorata in background è una transazione Bitcoin, solo che all'interno del suo script include istruzioni che solo i nodi e i portafogli adattati alle monete colorate potranno capire. Come è successo con il Gettoni ERC-20 de Ethereum, emerso in seguito, questo tipo di operazione ha aperto le porte a tutta una nuova quantità di funzionalità.
Sebbene al giorno d'oggi sia un protocollo poco utilizzato, la verità è che ha ispirato la possibilità di creare altri tipi di risorse su una rete principale, cosa che Ethereum avrebbe poi sfruttato, raggiungendo molti più casi d'uso.
Detto questo, possiamo definire una moneta colorata come segue:
Una moneta colorata è un gettone speciale che funziona sulla blockchain di Bitcoin. Un token in cui sono definite una serie di istruzioni all'interno del suo Bitcoin Script che possono essere comprese appieno solo da nodi e portafogli adattati ad esso. In questo modo è possibile creare un token completamente nuovo, con una propria contabilità all'interno di Bitcoin.
Origine della moneta colorata
L'origine delle monete colorate nasce dalla necessità di creare nuovi token e trasferire asset sulla blockchain di Bitcoin. Con questi token è possibile rappresentare qualsiasi cosa nel mondo, da azioni, materie prime, immobili, valute legali e persino altre criptovalute. E poiché la necessità è la madre di tutte le creazioni, questa necessità ha portato al fatto che nel marzo 2012, Yoni Assia (il CEO di eToro), spinto dall'idea di Master Coin, ha presentato l'idea della "moneta colorata" sul suo blog personale.
L'idea stava coagulando e nei forum come Bitcointalk l'idea delle monete colorate cominciò a prendere più forma e interesse. Tutto ciò ha portato a che il 4 dicembre 2012, Meni Rosenfeld creerà un white paper che spiega le monete colorate. Fu la prima opera formale di una moneta colorata e, sebbene incompleta, catturò l'attenzione della comunità.
Già nel 2013, Protocollo moneta colorata di Flavien Charlon, un protocollo che ha permesso la creazione di monete colorate utilizzando configurazioni specifiche per gli ingressi e le uscite delle transazioni. Questo è stato il primo protocollo di moneta colorata funzionale su Bitcoin. Tuttavia, non è stato fino al 3 luglio 2014 che il Protocollo EPOBC società ChromaWay. Questo protocollo ha notevolmente facilitato il processo di creazione di monete colorate per gli sviluppatori interessati a tale tecnologia, ed è stato uno dei primi a utilizzare la nuova funzione OP_RETURN di Bitcoin Script.
Questo sviluppo è stato seguito da altri come quello di Monete colorate che è venuto alla luce nel 2015, tra gli altri che stavano acquisendo sempre più rilevanza nel mondo di Bitcoin. E soprattutto, quelli interessati alla potenziale tokenizzazione del mondo, e tutto questo prima che Ethereum avesse il suo primo rilascio pubblico.
Perché sono state create le monete colorate?
Ora, con tutto quanto sopra, sicuramente ti starai chiedendo Perché sono state create le monete colorate? Ebbene, il motivo principale per cui sono state create monete colorate è aprire le porte allo sviluppo di nuove funzionalità in Bitcoin. La possibilità di creare token associati a cose nel mondo reale e che questi siano supportati da una rete blockchain è un'opportunità unica. La possibilità di creare una valuta, un'obbligazione tokenizzata o persino integrare applicazioni con Bitcoin per inviare microtransazioni o operazioni registrate e protette dalla blockchain è qualcosa di unico.
Ma non solo, le monete colorate e le loro possibilità erano solo il punto di partenza per altre tecnologie più avanzate, come i protocolli di secondo livello che vediamo ora, come RSK o Bisq. In breve, l'inventiva della comunità ha portato le possibilità di Bitcoin un ulteriore passo avanti e ha permesso di esplorare altre possibilità.
Ad esempio, è stato possibile creare una moneta colorata su Bitcoin in cui ciascuna delle sue unità era equivalente a un dollaro o un euro. In effetti, questo è ciò che conosciamo come stablecoin, e all'epoca (2014) era qualcosa di nuovo con molte possibilità e Bitcoin ci ha permesso di esplorare tutto ciò. Certo non era l'unica cosa possibile, con le monete colorate si poteva rappresentare qualsiasi cosa, a quel punto l'immaginazione era il limite.
Come funzionano le monete colorate?
Le monete colorate hanno meccanismi operativi diversi a seconda del protocollo o del modo in cui sono implementate. Ricorda che un protocollo significa semplicemente un modo di fare le cose.
La ragione di ciò è che in linea di principio non esiste un metodo standard in Bitcoin per creare token direttamente sulla sua blockchain. Per questo motivo, gli sviluppatori di monete colorate hanno utilizzato alcuni processi più creativi per raggiungere la loro missione, alcuni dei quali piuttosto complessi e persino con potenziali rischi.
Esistono diversi protocolli per la creazione di monete colorate e la maggior parte di essi attualmente sfrutta la potenza della proprietà Bitcoin Script chiamata OP_RETURN. Ma OP_RETURN non è sempre esistito su Bitcoin.
Prima della creazione di OP_RETURN nel 2014, le monete colorate utilizzavano uno schema in cui gli input e gli output delle loro transazioni venivano elaborati in un certo modo. Il modo in cui questi input e output sono stati configurati ha creato l'equivalente di un "colore", un modo per identificare e differenziare una normale transazione Bitcoin dalla corrispondente moneta colorata.
Ad esempio, nella prima versione del CCP (Coloured Coin Protocol), la voce di indice 0 di una transazione era contrassegnata da uno "script di indice di colore" che identificava l'operazione. Questo indice di colore è stato quindi utilizzato per controllare gli output maggiori di 2 (il primo output era considerato non spendibile, e il secondo output era la direzione del cambiamento) di quella transazione e attraverso lo script dell'input 0, il corrispondenti operazioni di monete colorate.
Come puoi vedere, è un sistema piuttosto complesso e persino limitato. Innanzitutto, CCP non è stato in grado di gestire correttamente le sequenze di colori non riconosciute sulla rete. Così, ad esempio, se una persona ha utilizzato una nuova versione del protocollo CCP, ed ha eseguito un'operazione su una moneta colorata non riconosciuta in una versione precedente, i vecchi nodi invalidano completamente la transazione, anche se molte di quelle voci sono state riconosciute correttamente. . Ciò ha portato il protocollo a essere particolarmente suscettibile ai fork di rete che influenzano il funzionamento della moneta colorata.
Questa situazione non ha influenzato direttamente Bitcoin perché per questa rete e i suoi nodi le operazioni che sono state effettuate erano valide. Ma per la rete di monete colorate che girava su versioni modificate di Bitcoin Core, le operazioni tra le diverse versioni del suo protocollo erano un vero caos.
L'arrivo di OP_RETURN
Con l'arrivo di OP_RETURN, le cose iniziano a cambiare con le monete colorate. Con questa funzione era possibile memorizzare informazioni sulla blockchain di Bitcoin in modo standard. Inizialmente era possibile aggiungere solo 80 byte di informazioni in OP_RETURN, poi è stato ridotto a 40 byte, ma oggi è possibile memorizzare un totale di 83 byte (da Bitcoin Core 0.12) di informazioni arbitrarie nella transazione.
Può sembrare poco spazio, ma 80 byte sono più che sufficienti per creare nuovi protocolli di monete colorate, lasciando dietro di sé molte delle limitazioni che avevano fino a quel momento. Invece di creare strutture colorate negli input e output delle transazioni, è stato più semplice includere informazioni sulle operazioni nella funzione OP_RETURN e farle elaborare dai nodi della moneta colorata.
In pratica si è provveduto ad iniettare le istruzioni nell'OP_RETURN in modo che i nodi della moneta colorata prenderanno gli output di detta transazione e li invieranno ai loro destinatari secondo le istruzioni fornite.
In questo modo è stata migliorata la capacità di programmazione delle monete colorate e allo stesso tempo è stato possibile creare sistemi più stabili ed elaborati per la loro movimentazione.
La transazione genesi
Ovviamente quanto sopra è semplicemente il metodo per far funzionare una moneta colorata, ma in tutto questo c'è un punto fondamentale che è condiviso: la transazione di genesi della moneta colorata.
La transazione genesis viene utilizzata per emettere tutte le monete che verranno assegnate a detta moneta colorata. Questa transazione genesis ha una serie di regole specifiche che i suoi input e output devono seguire.
Prima di tutto, le tue voci dovrebbero considerare due casi:
- Moneta colorata non rimborsabile: in caso di monete colorate non rimborsabili i biglietti sono ininfluenti; l'emittente non avrà alcun potere una volta che la transazione è stata emessa, quindi l'unica cosa che conta è la transazione stessa (in particolare, i suoi output).
- Monete colorate ammissibili: in questo caso, l'emittente deve scegliere un indirizzo sicuro come "indirizzo di emissione" e impostare la voce di transazione 0 in modo che provenga da tale indirizzo. Successivamente l'emittente potrà emettere più gettoniere colorate creando un'altra transazione genesis con lo stesso indirizzo in ingresso 0.
D'altra parte, sul lato di output di una transazione di genesi, questi consistono in un insieme di output che inviano le monete colorate ai loro proprietari originali, seguiti da un output di dati OP_RETURN, insieme a uno o più output di "cambio" per inviare il bitcoin non colorati in eccesso all'emittente.
A questo punto, ogni protocollo implementa il proprio schema di controllo ed emissione delle unità di monete colorate, ma in pratica questi due punti sono universali per ogni protocollo.
Algoritmi di colorazione
Gli algoritmi di colorazione o kernel color sono i meccanismi che permettono il funzionamento delle monete colorate secondo una serie di regole predefinite. In questo modo, gli algoritmi di colorazione sono il cuore dei protocolli che fanno funzionare le monete colorate, poiché sono questi che rendono possibile il funzionamento delle monete colorate tra borse diverse.
Il primo colore del kernel che ha permesso di trasferire monete con colori diversi nella stessa transazione è stato OBC (Colorazione basata sugli ordini). Quindi apparvero altri algoritmi come TBC (colorazione basata su tag), la POBC (Colorazione basata sull'ordine imbottito), la EPOBC (colorazione avanzata, imbottita, basata sugli ordini). Oltre ad altri più complessi come SPOBC (colorazione basata sugli ordini di proprietà intelligenti) e il DHKEC (Diffie-Hellman Key Exchange Coloring).
Ovviamente ognuno di questi colori del kernel ha i suoi vantaggi, i suoi svantaggi e le sue possibili applicazioni. Tuttavia, tutti rispettano alcune considerazioni operative di base, che sono:
- Il bilanciamento del colore di tutti gli input
- La posizione delle uscite rispetto agli ingressi
- La dimensione relativa degli output
- I dettagli dello script associato agli output
- Informazioni codificate nelle intestazioni della transazione. Ad esempio utilizzando OP_CODE, OP_NSEQUENCEo OP_RETURN.
Pro e contro delle monete colorate
Ora, come ogni cosa nel mondo della tecnologia, le monete colorate hanno i loro vantaggi e rischi.
Vantaggi
- Possibilità di essere utilizzato per rappresentare in modo tokenizzato ciò che si desidera.
- Poiché sono in esecuzione sulla blockchain di Bitcoin, godono della rete blockchain più forte, sicura e decentralizzata al mondo e con una portata globale.
- Consentono la creazione di sistemi di token intercambiabili. Questa proprietà permette ad esempio: di creare scambi decentralizzati o di effettuare scambi atomici tra monete di diverso colore.
Svantaggi
- Altamente complesso da implementare e sviluppare. L'aspetto dei protocolli e di altri strumenti per il loro sviluppo ha migliorato questa situazione, ma anche così, le monete colorate sono più complesse da creare rispetto ad altre opzioni come i token ERC-20 di Ethereum.
- Mettono più pressione sulla blockchain. La creazione di monete colorate aumenta la dimensione delle transazioni e questo compromette la capacità della rete di elaborare le transazioni. Tutto ciò porta a una diminuzione del numero di transazioni che possono essere elaborate, fa aumentare il costo delle commissioni minerarie e aumenta drasticamente le dimensioni della blockchain.
- Disincentiva i minatori a causa delle basse commissioni per le monete colorate. Questa è una situazione che può portare alla perdita di potenza di calcolo alla rete a causa dei bassi profitti dei miner, che poi preferiranno estrarre criptovalute più redditizie.
- Il fatto che alcune monete colorate rappresentino titoli o altri tipi di beni legati a terzi rappresenta un rischio. Il fatto che una terza parte rappresenti gli interessi per una moneta colorata porta al fatto che essa può semplicemente frodare chi partecipa a detto sistema.
Casi d'uso per monete colorate
Ora conosciamo alcuni casi che possiamo dare alle monete colorate:
- Sistemi di pagamento e scambio atomici. Poiché le monete colorate in realtà non sono altro che bitcoin che vengono trattati in modo specifico secondo lo schema di colori indicato o lo script OP_RETURN, è possibile eseguire operazioni atomiche o sistemi di pagamento utilizzando monete colorate.
- Scambi decentralizzati (DEX). La possibilità di eseguire scambi atomici con monete colorate apre la possibilità di rappresentare altri token o monete con loro e di effettuare scambi con loro in modo veloce, sicuro e completamente decentralizzato utilizzando la blockchain di Bitcoin.
- Creazione di oggetti da collezione. Le monete colorate sono per certi versi molto simili ai gettoni non fungibili, infatti, quando si effettua un pagamento con una moneta colorata, ciò che si fa veramente è passare la proprietà di quel gettone all'altra persona, proprio come accade con un Token NFT (come ERC-721 di Ethereum).
- Accesso e abbonamento. Uso di monete colorate per scambiare e gestire l'accesso e i servizi di abbonamento. Ad esempio, un museo, una metropolitana o un servizio online come Netflix possono emettere tessere come monete colorate. Pertanto, quando si avvia un'applicazione per smartphone, questa può essere utilizzata per fare in modo che una firma crittografica dimostri la proprietà di un biglietto di persona, consentendo a questi passaggi di essere trasferibili contemporaneamente, completamente digitali e senza una copia sicura.
- Una società potrebbe desiderare emettere azioni utilizzando monete colorate, sfruttando l'infrastruttura di Bitcoin per consentire alle persone di mantenere la proprietà di azioni e scambiare azioni, e persino di votare e pagare dividendi sulla blockchain di Bitcoin.
- Una comunità locale, ad esempio, potrebbe desiderare creare una valuta comunitaria, utilizzando l'infrastruttura Bitcoin per archiviare i fondi in modo sicuro.
Protocolli per la creazione di monete colorate
Ora, tutta l'evoluzione dello sviluppo sulle monete colorate ha portato alla creazione di diversi protocolli per la loro creazione. Ed è che lo svolgimento di questo lavoro su protocolli stabiliti non solo ha facilitato la sua creazione, ma anche il suo mantenimento e miglioramento. Ecco come sono stati creati i seguenti protocolli:
CCP o Open Assets Protocol
Conosciuto nel 2013 come Coloured Coins Protocols (CCP) e successivamente ribattezzato Open Assets Protocol, questo è un protocollo per la creazione di monete colorate. Il progetto è stato uno dei più utilizzati a causa dell'enorme quantità di strumenti disponibili per questo compito. In effetti, il protocollo ha interfacce in linguaggi popolari come Python, Objective-C, Ruby o Microsoft .NET, che facilita lo sviluppo di strumenti che utilizzano questo protocollo.
Inoltre, Open Assets Protocol supporta miglioramenti come BIP-70 (un protocollo di pagamento) e BIP-21 (uno schema URI per facilitare i pagamenti). Attualmente il protocollo è abbandonato e il suo repository su GitHub non è stato aggiornato dal 2016.
Protocollo ChromaWay EPOBC
Un altro protocollo popolare per la creazione di monete colorate è EPOBC di ChromaWay. Il protocollo ha iniziato il suo sviluppo nel 2014, quando l'azienda ha iniziato a commercializzare monete colorate. Il progetto è stato avviato da Alex Mizrahi e da allora ha iniziato a rivoluzionare il modo in cui potevano essere create le monete colorate.
Protocollo moneta colorata di Colu
Il protocollo delle monete colorate di Colu è un altro modo ben noto per creare le tue monete colorate. L'implementazione è scritta in JavaScript che facilita notevolmente il processo di creazione di progetti per gestire monete colorate.
Monete colorate in pratica
Creare una moneta colorata è gratuito, chiunque può farlo e ci sono strumenti per farlo. Di seguito vi mostriamo gli strumenti.
Tuttavia, devi capire che, nonostante l'azione di crearlo sia gratuita, per eseguirli deve essere creata una transazione Bitcoin. Cioè, devi pagare le commissioni per inviare una transazione Bitcoin.
Per effettuare una transazione sarà sufficiente disporre di un wallet che supporti lo stesso protocollo di moneta colorato utilizzato.
Le monete colorate funzionano sulla rete Bitcoin, il che significa che gli indirizzi sono gli stessi di Bitcoin. Non è necessario creare indirizzi speciali e qualsiasi indirizzo Bitcoin può ricevere una moneta colorata.
La visualizzazione delle monete colorate che ha un indirizzo dipenderà dal fatto che tu abbia o meno una borsa che lo supporta.
Successivamente, ogni volta che qualcuno vuole trasferire unità di quella moneta colorata ad un altro indirizzo Bitcoin, è necessario effettuare una transazione Bitcoin, poiché la moneta colorata è l'interpretazione del valore OP_RETURN di un UTXO, che viene trasferito al nuovo indirizzo. Ciò significa che devi pagare la commissione di transazione richiesta dalla rete Bitcoin.
Ma non solo quello! Poiché in Bitcoin, a differenza di Ethereum, non è possibile effettuare una transazione in cui non viene inviata alcuna quantità di Bitcoin, è necessario inviare l'importo minimo (quantità di polvere), attualmente 546 satoshi. In altre parole, inviare una moneta colorata ha un costo minerario e un “costo” di alcuni satoshi che devi inviare a destinazione.
Come puoi vedere, la sua scarsa usabilità ha innescato la ricerca di alternative, facendo sì che gli smart contract di Ethereum risolvano in modo più efficiente il caso d'uso dei token attraverso lo standard ERC-20: non richiedono l'aggiunta di un minimo, sono più facilmente programmabili e consentono di programmare scenari più elaborati.
Esempi di monete colorate
Attualmente ci sono diverse monete colorate in fase di sviluppo e utilizzo attivo, questi casi sono Counterparty, OmniLayer, Bisq. Tutti questi progetti dipendono dal funzionamento di Bitcoin per poter svolgere le loro operazioni, operazioni rese possibili da un caricamento dati (colorazione) nelle transazioni bitcoin.
Quindi, ad esempio, in Counterparty Attualmente ci sono diversi progetti che sfruttano la capacità di colorazione della controparte per emettere token su Bitcoin. Questo è il caso di progetti come Pepe raro, un insieme di meme ben noti nella comunità Bitcoin. Grazie a questo, è possibile creare, acquistare e vendere questi oggetti da collezione su Bitcoin. Allo stesso modo possiamo parlare di Spell of Genesis, un altro progetto che fa uso di Counterparty, e anche della stessa valuta di Counterparty, il token XCP.
OmnistratoDa parte sua, è meglio conosciuto perché è il luogo di nascita di Tether, la stablecoin ancorata al dollaro che attualmente è il cardine delle operazioni con questo tipo di valuta. Infatti, in OmniLayer il Tether è noto come Asset 31, e tutte le valute che fanno uso di questo tipo di Tether, effettuano effettivamente le loro operazioni su Bitcoin utilizzando monete colorate. Infatti se controlli questo indirizzo 32TLn1WLcu8LtfvweLzYUYU6ubc2YV9eZs, vedrai che è un indirizzo Bitcoin. Noterai che però è un indirizzo che riceve bitcoin in quantità molto piccole, cosa curiosa. Ma se usi l'estensione OmniLayer Explorer, la storia cambia radicalmente, potendo vedere che si tratta di operazioni in Tether, con un valore piuttosto alto, alcune fino a 220 milioni.
Bisq Da parte sua, è un noto exchange decentralizzato che funziona in Bitcoin, ed è anche un progetto che funziona grazie alle monete colorate, in modo molto simile a OmniLayer.
Tuttavia, questi protocolli sono cambiati molto e non solo usano la capacità di colorare per le loro operazioni, ma usano anche altri progressi come HTML,DLC, CLTV o CSV per le tue operazioni. Alla fine, questo li ha trasformati in qualcosa di molto più grande e ambizioso, che conosciamo come protocolli di secondo livello.