Support for user-created currencies (Colored Coins)

Preamble:
Open-source Colored Coins protocol allows everyone to create their own digital currency based on Bitcoin blockchain. Colu (https://www.colu.com/) company makes one step further and develops API/SDK to make new currency issuance a breeze. One of successful use cases is digital Barbadian Dollar issued by Bitt (http://bitt.com/).

The problem:
One of the missing pieces with such a currencies is a (decentralized) exchange. Bitsquare might be an option. Surely, new asset currency may be added by new version release (as it is done now), but as it’s so easy to create a new currency such approach might not be scalable in future.

Proposed solution:
Bitsquare might have a UI for adding new asset currency (based on colored coins protocol). The flow is like following:

  • user enters assetId to add and specifies ticker (code) to use.
  • Bitsquare queries all the currency data from the blockchain. At this step Bitsquare can check the currency issuer and allow only those assets with verified issuers (that’s specific to colored coins protocol). This way we limit “garbage” currencies.
  • If currency is eligible, it’s being added to the list in Bitsquare and propagated to other peers

To avoid ticker collisions, I suggest asset currencies to be auto-postfixed with something like CC. E.g. BBD-CC
Additionally, extra filter may be added to UI to hide such a currencies from the offer lists by default (as there may be many of them). I’ve just made a preliminary implementation for this: check it out

Will be happy to hear your thoughts.

Hi @troggy,

as already discussed on IRC, I don’t see value for Bitsquare users to get 1000s of assets which have basically close-zero value (on the explorer there at 16k atm).
Though assets which are relevant (like Bitt) are very welcome!

To enable addition of new assets has technical and conceptual issues.
To store the data of available coins not in the app but in the P2P network is more complex and the P2P networks eventual consistency might cause problems here. Beside that it would be a major change and not backward compatible.
Conceptually I fear that it might end up easily in spam and creates load for the P2P network.

Regarding “Bitsquare queries all the currency data from the blockchain”:
Bitsquare used BitcoinJ SPV, so we don’t have the blockchain data.

Since we are talking about colored coins anyway, colored coins API may be used to query that data.

As for the rest, I will give it a thought. Thanks