First post, and already a question! I’m probably missing something, but does this mean that somebody is willing to pay the 0.09 for each XCP?
That is an order to buy an arbitrarily large amount of XCP with BTC that the address is unlikely to have. Thus, "troll order".
Recent patches to the fee system have made such orders less likely to occur.
Ok, thanks. Are people able to place buys and sells without having the funds on hand?
I believe the XCP are escrow’d as soon as the order is placed but the BTC have no way to be escrowed. That could be wrong, i’m still learning about xcp.
Ok, thanks. Doesn’t that kind of wreck the whole “trustless exchange” concept?
[quote author=CounterEvan link=topic=95.msg532#msg532 date=1392492605]
Ok, thanks. Doesn’t that kind of wreck the whole “trustless exchange” concept?
[/quote]
No. If the BTC isn’t sent within 10 blocks after the orders have been matched, the transaction is cancelled, and the XCP are re-credited to the address that put up the “XCP sell” order.
Ok, good. However, what’s to stop people from spamming buy orders without any funds and causing mass confusion/ XCP gridlock?
Perhaps a BTC payer should escrow a small amount of XCP if XCP purchase is above a minimal threshold say 10XCP. So a trader can buy a small initial order of 10XCP without having to put any XCP in collateral, once that is successfully completed they have 10XCP and a successful trade, they can now pay the 1XCP escrow required for BTC purchases of XCP larger than 10XCP
Frankly it wouldn’t be bad if new users did a low risk transaction to get their feet wet, this would make that the natural on-ramp
[quote author=CounterEvan link=topic=95.msg534#msg534 date=1392493616]
Ok, good. However, what’s to stop people from spamming buy orders without any funds and causing mass confusion/ XCP gridlock?
[/quote]
For a “buy BTC” order, a [tt]fee_required[/tt] can be specified; it defaults to 1% of the order, however, users are free to change it; likewise, for a “sell BTC” order, a [tt]fee_provided[/tt] can be specified; it defaults to 1% of the order, but it, too, can be changed. In order for buy/sell orders to match up, [tt]fee_provided[/tt] must be greater than or equal to [tt]fee_required[/tt].
I’m not sure if I was clear. Let’s just say that there are 3 parties. For simplicities sake: Bob (Wants to exchange his XCP for BTC), Dave (Wants to exchange his BTC for XCP) and Ben (Wants to wreck things for some ulterior motive). Dave posts that he wants 5 XCP for 1 BTC. Bob looks in a day later and views the exchange. There is Dave’s listing. Bob sees it and goes ahead with purchasing it. Dave and Bob are happy.
But what if Ben, soon after Bob’s listing, lists 100 duplicate offers that he won’t honor? Dave would have to guess which listing was legit. True, Dave won’t lose his XCP, but the exchange will be virtually useless then.
[quote author=CounterEvan link=topic=95.msg538#msg538 date=1392495968]
I’m not sure if I was clear. Let’s just say that there are 3 parties. For simplicities sake: Bob (Wants to exchange his XCP for BTC), Dave (Wants to exchange his BTC for XCP) and Ben (Wants to wreck things for some ulterior motive). Dave posts that he wants 5 XCP for 1 BTC. Bob looks in a day later and views the exchange. There is Dave’s listing. Bob sees it and goes ahead with purchasing it. Dave and Bob are happy.
But what if Ben, soon after Bob’s listing, lists 100 duplicate offers that he won’t honor? Dave would have to guess which listing was legit. True, Dave won’t lose his XCP, but the exchange will be virtually useless then.
[/quote]
I may be misunderstanding you, but I also may just not have explained myself adequately: First of all I think you may be missing the fact that Counterparty has a decentralized exchange. If two users put up buy and sell orders that “match”, the protocol itself matches them. If you put up an order, you don’t need to check whether someone has matched it - the protocol takes care of that and executes the transaction for you.
In this case, Ben will provide a BTC fee that is a percentage of his offers and is destroyed in miners’ fees immediately upon the order being placed. Ben’s “duplicate offers that he won’t honor” can get matched with Dave’s “BTC buy” order [em]only if[/em] his provided fee covers Bob’s required fee.
It’s not that Ben can’t spam the network with fake “BTC sell” orders, but rather that it is expensive to do so; indeed, the expense is proportional to the size (and the probable success) of the fake “BTC order”. If Dave wants to decrease the likelihood of having his order matched with Ben’s fake “BTC sell” order, he can make his [tt]fee_required[/tt] higher.
Ah, so the fee is an elegant solution to spam. I understand now, thanks for holding my hand!