Post
Topic
Board Announcements (Altcoins)
Re: [ANN][XCP] Counterparty Protocol, Client and Coin (built on Bitcoin) - Official
by
Peter Todd
on 02/04/2014, 08:30:05 UTC
Except... it's not built on bitcoin. That's exactly the gripe of myself, jtimon, and others I'm sure. Counterparty does not interoperate with bitcoin scripting. You cannot have bidirectional transactions between the two. Counterparty rules are not validated by bitcoin nodes. Lightweight clients can't rely on most-work as an indicator of validity. Counterparty is built separate from bitcoin. If I take a bible and start scribbling in the margins, do I get to go on a pulpit and claim a biblical foundation for my scribbled theories? No, it has no relevance.

Counterparty does in fact interoperate with Bitcoin scripting in that you can add conditions to a transaction in the form of Bitcoin scripts - the transaction can only go through if the Bitcoin script evaluates true. I know for a fact that this is used in Mastercoin to allow for atomic Mastercoin<->Bitcoin trades in the decentralized marketplace functionality; I'm sure Counterparty works similarly. Further exploring how to exploit this is on my TODO list, as is adding scripting functionality to Mastercoin itself. (though I'm in no particular rush to do so - my TODO list is rather long!)

Counterparty transactions are scribbled in the margins of validated bitcoin transactional data. So what? Bitcoin does gain from this. Counteryparty doesn't gain from this, any more than they would from a fully merged-mined datachain or any other equivalently powerful proof-of-publication sytem. And Counterparty could be doing much better by having miners which validate its transactional data.

I've said this over and over: Counterparty gains security from this. Client-side validation means you can't be harmed by malicious miners; merge-mining means you can be at nearly zero cost to those miners. We only have to look at Coiledcoin to see why this matters.

As for the inefficiency, yes, currently the global state of the Mastercoin and Counterparty consensus is implemented inefficiently, which is why I'm working on examining how to improve on that with compact proofs of coin validity for Bitcoin. I'm pretty confident that at least linear scaling is possible with simple math using non-interactive proofs, better than linear with "moon-math". There are many ways to apply that research to embedded consensus systems.

In the meantime I'm glad Mastercoin and Counterparty are exploring a huge set of other considerations related to the design of "decentralized finance 2.0" systems.