Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Bitcoin is the forerunner and by far the most widely used cryptocurrency. In what follows we will use the customary notation of referring to the Bitcoin network/protocol as Bitcoin (Capitalized) and to the units of currency flowing in the Bitcoin network as bitcoins (lowercase). Sometimes we will be using native atomic units known as satoshis (1 bitcoin = 100 million satoshis).
By design, bitcoins have several highly desired technical attributes
- Fixed supply
- Easily transportable
On top of that, Bitcoin is decentralized. Decentralization adds an extra layer of robustness because the Bitcoin network has no single point of failure.
All Bitcoin transactions are publicly available on a ledger known as “The Blockchain” and quickly become practically immutable.
While originally designed to be a currency, Bitcoin supports a limited scripting language that can be used to store metadata on the blockchain. Colored Coins is a concept that allows attaching metadata to Bitcoin transactions and leveraging the Bitcoin infrastructure for issuing and trading immutable digital assets that can represent real world value. The value of such digital assets is tied to a real-world promise by the asset issuers that they are willing to redeem those digital tokens for something of value in the real world.
Digital assets on top of the Bitcoin Blockchain can be used to issue Financial assets (securities like shares, commodities like Gold or new currencies), prove ownership (A digital key to a house or a car, a concert ticket), store information (Documents, Certificates) or create smart contracts.
The advantage given by using the blockchain as the backbone for such asset manipulation is that one can rely on the blockchain’s transparency, immutability, ease of transfer and non-counterfeitability to transfer and trade such digital tokens with unprecedented security and ease.
The Colored Coins Protocol
This document describes the Colored Coins protocol specification for issuing and transacting digital assets on top of the Bitcoin Blockchain, proposed by Colu.
This Document consists of two main parts:
The coloring scheme describes the encoding used to encode/decode the Colored Coins data that is stored in a bitcoin transaction after the OP_RETURN operator (and sometimes in one additional multisignature output). This coloring scheme is optimized for robust functionality by inserting the most data within the current size constraints of the OP_RETURN operator (80 Bytes).
Asset Metadata and the Rule engine2.
This document introduces the first specification for handling metadata for digital assets. Because of the 80 Bytes limit of the OP_RETURN field, any metadata that is attached to a transaction is hashed and stored in torrents to allow decentralized access to the information. By hashing the metadata for every transaction, Colored Coins actually expands dramatically the basic Bitcoin functionality by allowing to insert rules that exist outside the blockchain and can be publicly accessed via torrents and verified against a specific transaction thus creating a rule engine with basic smart contract functionality.