Hello Richard.
Excellent interview, its always refreshing to hear from people who know what they're talking about, and are able to see the long term potential of this technology. I would be interested to hear your thoughts on mastercoin - they are currently working on some of the potential uses that you mention.
Hi there,
Thanks for the feedback.
It's great to see the projects that are underway to make the colored coin concept a reality (e.g. mastercoin, the work being done by the bitcoinx folk and so on).
I particularly like the approach taken, I think, by killerstorm to create a theoretical underpinning for the concept (e.g. here:
https://github.com/bitcoinx/colored-coin-tools/wiki/colored_coins_intro). I think the "color kernel" idea is a simple, yet important abstraction that has helped moved the debate on.
In my mental model, the colored coin concept is based on somebody asserting that "this transaction output is of color X, representing asset Y" and bitcoin transactions that transfer it are considered to be transferring ownership of the asset. So additional meaning has been placed over parts of the existing bitcoin network but the core principles are unchanged. I find mastercoin interesting because it takes a very different approach and so has forced me to clarify the concepts in my own mind.
The mastercoin approach doesn't share the same theoretical model as colored coins, at least not in my view. Assuming I understand it correctly, they've pretty much decoupled their system from the underlying bitcoins that appear in their bitcoin transactions, whereas they are tightly linked in the colored coin model: mastercoin is, in effect, using several of the key services provided by the bitcoin system (consensus, 'timestamping', persistent storage, etc) but building an alternative asset scheme on top; the bitcoins that appear in mastercoin's bitcoin transactions are almost incidental.
In this way, you can think of the classical colored coin concept as being the third layer in a stack consisting of "bitcoin network services" + "bitcoin currency" + "colored coin specialisation" -- whereas mastercoin could be thought of as "bitcoin network services" + "mastercoin asset/currency".
My model might not be perfectly accurate but I think it may explain some of the confusion. I think it also explains why many people (myself included) find the current mastercoin implementation inelegant. The reality is that, today, Bitcoin doesn't actually offer a "persistent storage" service and so mastercoin has had to come up with a clever bending of the semantics of bitcoin transactions to encode their own transaction information inside 'fake' bitcoin addresses in their transactions. It works but "feels" wrong. So I see the 80 byte storage option in bitcoin 0.9 as very interesting because it effectively gives mastercoin, and others, a far more elegant way to store what they need in the bitcoin blockchain. I haven't seen the details but I imagine mastercoin bitcoin transactions on 0.9 will simply be a micropayment to the exodus address, a fee to the miner and the rest sent back as change, with the 80 byte field containing the necessary hash(es) of the mastercoin information. As such, you could then model/interpret a mastercoin bitcoin transaction from the bitcoin perspective simply as the simultaneous consumption of underlying bitcoin network services and payment for them.
I don't have a view on which model I prefer - I find them both extremely interesting.
Richard