Reading: Colored Coins – Bitcoin Wiki
In principle one can represent asset manipulation data on other blockchains. The term “ color Coins ” is normally associated with implementations that
- Use the Bitcoin blockchain
- Do not issue an auxiliary coin
eminence that the term Colored Coins adhere from older implementations such as the EPOBC protocol where an asset was actually associated with satoshis ( frankincense “ coloring ” them ). other implementations use early ways to encode assets on the blockchain, by and large using the OP_RETURN script code, so it is no farseeing the lone character that individual satoshis are “ bleached ” .
Use Cases
There are many interesting applications to colored mint .
Issuing shares
A company can issue shares using color coins, taking advantage of the Bitcoin infrastructure for activities such as
- Trading
- Voting
- Paying dividends
Smart property
Suppose there is a car lease party. The company can release one colored coin to represent each car, and then configure the car to turn on only if it receives a message signed with the secret samara that presently owns the colored person coin. It can then release a smartphone app that anyone can use to broadcast a message signed with their private key, and put up the colored coins on a trade platform. Anyone will be able to then purchase a bleached mint, use the cable car for whatever period of time using the smartphone app as a “ car key ”, and sell the coin again at their leisure .
coupon
A caller may wish to issue coupons, such as Air Miles rewards points
Community Money
A community. e.g. a town, can issue it ‘s own Currency .
Digital collectibles
Decentralized management of digital assets. Just like artwork collectors buy and sell original copies of celebrated paintings for millions of dollars today, colored coins allow us to do the lapp with strictly digital objects, such as songs, movies, e-books and software, equally well, by storing the current possession of the employment as a colored person coin on the blockchain .
Access and Subscription
Using colored person coins to trade and manage access and subscription services. For example, a museum, a underpass or an on-line overhaul like Netflix may issue passes as biased coins and release a smartphone app that can be used to make a signature proving ownership of a pass in person, allowing these passes to be simultaneously assignable, amply digital and securely uncopyable .
Bitcoin 2.0
Using the power of Bitcoin Blockchain technology for new use-cases other than currency
- The next generation of bitcoin developments
- Utilizing the power of Bitcoin Blockchain for new use-cases other than currency and extending its flexibility
- Wider range of digital transactions
- A complete multi asset economy
open Assets Block Explorer
Coinprism offers a colored mint Bitcoin blockchain explorer .
Colu ‘s ColoredCoins.org Block Explorer
ColoredCoins.org offers a public search engine for digital assets, all clear informant based on the Colu Coloredcoins implementation
The EPOBC protocol
EPOBC is the first Coloredcoins implementation which was created By ChromaWay. EPOBC does n’t use op_return to store metadata on the blockchain
Types of transactions
EPOBC introduces two types of transactions : • genesis transactions create new bleached coins ( of a new color ) ; they are used for issue • transfer transactions transfers existing colored coins If colored coins are used as inputs in a transaction which is n’t a transfer transaction, their rate is lost, it is not transferred to outputs of this or early transaction. besides the value of colored coins might be lost in a deformed transaction .
EPOBC-encoded colored mint transactions are marked in a special direction to distinguish them from convention Bitcoin transactions. This is done by putting a certain rag value into a nSequence field of transaction ‘s first stimulation. nSequence is constantly present, but is otherwise unused, which means that this way of score has zero overhead ( unlike OP_RETURN-based which increases the size of the transaction ). nSequence is a 32-bit integer, and 6 of its least-significant bits encode the rag. Transfer transactions and genesis transactions have different tags : • bit sequence 110011 is a tag of a transfer transaction. Its hexadecimal value is 0x33. • bite sequence 100101 is a rag of a genesis transaction. Its hexadecimal value is 0x25. Code which distinguishes transfer and genesis transaction :
- get nSequence of the first input
tag_nSequence = transaction.inputs [ 0 ] .nSequence
- extract its lowest 6 bits
chase = tag_nSequence & 0x3F if tag == 0x25 :
transaction_type = 'genesis'
elif tag == 0x33 :
transaction_type = 'transfer'
else :
transaction_type = 'none'
further treatment depends on transaction type. however, both transfer and genesis transactions have padding. EPOBC is the first Coloredcoins protocol to have support for slender SPV clients .
Current projects/companies which are leveraging EPOBC
open Assets
open Assets is a Colored Coin execution based on the OP_RETURN operator. Metadata is linked from the Blockchain and stored on the web .
example of an Open Assets OP_RETURN marker output
This exemplar illustrates how a marker output signal is decoded. Assuming the marker output signal is output 1 :
Data in the marker output Description ----------------------------- ------------------------------------------------------------------- 0x6a The OP_RETURN opcode. 0x10 The marker output is 16 bytes long. 0x4f 0x41 The Open Assets Protocol tag. 0x01 0x00 Version 1 of the protocol. 0x03 There are 3 items in the asset quantity list. 0xac 0x02 0x00 0xe5 0x8e 0x26 The asset quantity list: - '0xac 0x02' means output 0 has an asset quantity of 300. - Output 1 is skipped and has an asset quantity of 0 because it is the marker output. - '0x00' means output 2 has an asset quantity of 0. - '0xe5 0x8e 0x26' means output 3 has an asset quantity of 624,485. - Outputs after output 3 (if any) have an asset quantity of 0. 0x04 The metadata is 4 bytes long. 0x12 0x34 0x56 0x78 Some arbitrary metadata.
current projects leveraging Open Assets
CoinSpark
CoinSpark is a Colored Coin implementation that uses a lightweight ( SPV ) desktop wallet for Windows, Mac or Linux. In CoinSpark, contracts are hosted on the issuer ‘s web site and notarized on the blockchain. Like Open Assets, it uses OP_RETURNs to store metadata, with a highly efficient encoding system that allows multiple transfers of unlike assets to be encoded in a one transaction. CoinSpark software libraries are available for C/C++, Java, Javascript, PHP and Python, and there ‘s a detail developers guide with examples .
Colu Colored Coins Implementation
A fresh Colored Coins implementation was developed by Colu and fully open sourced on June 2015. The new execution is based on attaching data to transactions using the OP_RETURN field. Colu ‘s coloring dodge uses high data compression, can associate unlimited amounts of metadata with bitcoin transactions through the use of publicly available flood files and supports smart condense functionalities.
main Features
Smarts Contracts capabilities
A Rule Engine for issuing digital assets with diverse capabilities : termination dates, restricted access, extra fees ( supporting affiliate marketing ), limitations on promote issue, etc .
Using Torrents for Metadata memory
Metadata is stored in publicly available flood files, alone a reference book is stored directly on the blockchain. This allows for
- Maximal Decentralization
- Unlimited Size – Since metadata is not stored directly on the blockchain it’s size is unlimited and can contain information like: track record, history, description, validity or any information the issuer finds relevant.
flexible metadata handle
Adding metadata on every transaction, supporting the addition of relevant metadata that was not however available during issue ( e.g. mentioning a specific seat total on a movie dramaturgy token ) .
coherent issue policy
Enforcing a coherent issue policy by supporting two types of assets, locked and unbarred .
- Locked Assets – A fixed amount is defined during issuance. No one can issue more units of the asset, not even the issuer.
- Unlocked Assets – The issuer can keep issuing more units.
support for thin ( SPV ) wallets
The new colu implementation supports SPV clients – nodes that can ***verify bleached transactions*** without running a full Bitcoin node.
Read more: Where are my coins? | Ledger
efficiency and Low Cost
- Data compression – high level of data compression using a precision encoding scheme for encoding asset issuance and transfer amounts.
- Sending Multiple Assets in Single Transaction
- Minimal Blockchain Bloat
support for Zero Confirmations
The new computer architecture supports asset issue and transfer in zero confirmations ( even within the lapp transaction ) – the Asset ID references lone the beginning UTXO in the transaction and makes no character to a obstruct .