In my previous post, I discussed how one might build a decentralised asset register on top of Bitcoin. However, there is another approach, one taken by mastercoin. There is a very good explanation of how the system works by Vitalik Buterin at Bitcoin magazine. What makes this approach interesting is that it is based on a deep insight: the bitcoin network and the bitcoin currency are not the same thing.
They don’t describe it this way, but what I think is going on is that they have implicitly said that we can think of Bitcoin itself as the core network (providing consensus services, storage of transactions, etc) and a currency and payment system that sits on top. The colored coin shemes I described in my last post can be thought of as providing a third layer above these. Graphically, we might draw it like this:
The key insight of mastercoin is that you could also build a distributed asset register on top of the network services, without making much use of the bitcoin currency itself. That is: whereas a bitcoin transaction and a colored coin transaction are really the same thing, a mastercoin transaction could have no real conceptual linkage to the underlying bitcoin transaction that happens to carry it. It would, in effect, be a second currency system sitting on the same network infrastructure.
Unfortunately, the bitcoin network doesn’t provide the generalised storage facilities that this approach requires and the current mastercoin implementation feels, to me, like a hack. For example, bitcoin addresses are repurposed to represent concepts other than addresses in a really quite unsatisfactory way. An ingenious solution to the problem but still a hack 🙂 This means that they haven’t quite managed to remove the middle box in the diagram above and the result is an uneasy half-way house.
However, once a seemingly minor change to allow 80-bytes of arbitrary data in a bitcoin transaction is introduced in bitcoin 0.9, it may be possible to implement a far more elegant implementation of mastercoin. In essence, their architecture might herald a wave of alternative schemes that sit on the core bitcoin network.
I have no idea which approach will prevail (economics will no doubt trump architectural purity, as ever!) but it is great to see so much innovation in this space.
Hi Richard, and thanks for this interesting article!
I just want to share a secret with you and your readers.
Mastercoin is not about the technology. It’s a project with a goal and a technology stack, which currently relies on Bitcoin.
However, that can be switched out or modified later if needed.
See http://wiki.mastercoin.org/index.php/FAQ#Does_Mastercoin_have_to_run_on_top_of_Bitcoin.3F
@ripper 234
Are you saying that Bitcoin could be swapped out for Peercoin, for example, – http://www.ppcoin.org – (a cryptocurrency which requires minimal energy to maintain it’s security, unlike Bitcoin)?
Alias, yes, Mastercoin-type technology could be deployed across the Peercoin network (and other crypto currency networks) someday. Bitcoin was chosen obviously because it is the frontrunner with the highest security (from a POW perspective, at least). However, given that Peercoin 0.4 (just being released) is a merge with Bitcoin 0.8 code, currently Peercoin is lacking in the more “elegant” way to store MSC transactions that the author brings up.
Also, I’m not sure if this would necessitate another Exodus-style fund raising or not to establish the initial PPC Mastercoin balances, for instance. Most likely so…
@ripper234 thanks for the comments. In some ways, I suppose the fact that you’re agnostic to whether you run “on” bitcoin or peercoin or whatever sort of makes my point about your central (technical) insight: systems such as Bitcoin provide *both* a currency *and* a set of services (such as consensus, temporally-ordered storage, etc, etc) and these services can be used to support the creation of other economic systems – such as mastercoin. I have my reservations about some of the design decisions in the mastercoin system (e.g. quite how much data that is ultimately transient is persisted for all time) but I accept that’s a matter of personal preference. Thanks for the comment – very helpful
Yeah, Mastercoin could swap out Bitcoin for Peercoin. I love Peercoin and am invested from the early days.
Basically we’re agnostic. Which underlying currency system better supports our needs, that one we’ll choose.
FYI we have an open bounty (we haven’t decided how much yet) for researching and documenting why and how we would swap out Bitcoin for another alt.
https://trello.com/c/2PiTRxy7/22-document-a-rough-plan-to-migrating-off-the-bitcoin-blockchain-into-a-new-altchain