@Friction
So no meta-coins? Well if you can get it to work I suppose that would be fine.
jamaer brought up a good point about orders. How do you do orders without a meta-coin? There is implied escrowing with orders to keep both sides honest. What if someone submits an order with 5 IXC in their wallet, then moves the 5 IXC to another wallet before the order is filled? Does the order just not occur? Does it get canceled immediately when the 5 IXC gets moved?
Let me give an example: how do you plan to implement escrow for IXC (in orders, bets etc.)? XCP is simply a protocol currency, so in the original Counterparty it's simple to do, but IXC is a blockchain currency so the same does not work (as miners need to accept each transaction). So if I want to give 5 IXC for a particular asset, what happens to my IXC while a match is looked for? If a match is found, how those 5 IXC is moved to the previous asset owner?
No need for *a* meta-coin. Anyone can create their own asset. So the foundation can create its own asset that has a 1:1 backing with IXC.
You can create an order with IXC. There is just an additional step to pay the IXC. It is just like making an order with BTC using Counterparty.
If you want to exchange other alt-coins (i.e. BTC, LTC etc) then you use what is called a 'proxy coin'. Essentially a party provides a 'vending' capability where you exchange say BTC for proxy BTC coins ( let's call those IX-BTC). The IXBTC can then be held in escrow using the order or bet functionality. The equivalent of a counterparty coin would be an IX-IXC.
So someone can essentially setup a vending service for alt coins that converts say LTC to IX-LTC for trading. Essentially it is a distributed decentralized exchange. So really what happens now is the creation of trusted parties that vouch for the specific asset. However the actual trading is done in a decentralized manner.
So, here is the scenario, you want to buy Gold with BTC.
You have a gold bullion vendor that exchanges one ounce of gold for 1 IX-GLD.
You have another vendor that exchanges 1 BTC for 1 IX-BTC.
A party that want to buy gold makes an buy order for say 3 IX-BTC in exchange for IX-GLD.
The buyer gets a match from an existing sell order. The quantities are exchange.
The seller redeems his IX-BTC at the BTC vendor.
The buyer redeems his IX-GLD at the gold bullion vendor.
In no event does the exchange have posession of the BTC or Gold. Only trusted vendors have real ownership.
Good info but you didn't answer my specific question. As I think about it more I think we can implement Counterparty without their metacoin, and still allow orders without formal escrowing.
My guess is that Counterparty knew they couldn't rely on the Bitcoin developers to add the required transaction validations natively so they had to create their own metacoin to give them the control they needed.
So for my question about orders it could work something like this.
Let's say a sell order for 5 IXC is placed to buy a CP asset. The order gets recorded in the blockchain with the address of the 5 IXC for everyone to see. Then the owner tries to send the 5 IXC to a new address. Well, the miners need to confirm it first. By adding checks for open orders before performing a send, the miners can cancel the open order if the address balance drops below 5 IXC. Only then would they confirm the send. Or they could just disallow the send all together. Regardless, it's all enforceable natively.
The problem Counterparty has doing this using Bitcoin is they can't add the order cancellation to Bitcoin transactions since they are not the Bitcoin devs. They need the metacoin as an intermediary to give them the control they need. They control the metacoin and its transaction rules, but not Bitcoin.
In our case our devs control both the IXC blockchain and the Counterparty implimentation. So we can streamline Counterparty and remove the metacoin by moving any new transaction logic to the native blockchain validations. It should work.