There is also a minimum fee that the seller can impose. This means if someone would like to accept an offer, he has to pay a minimum miners fee. If the seller post a high minimum fee, it will be expensive for the attacker to shut down the Dex.
Gotcha, thanks a lot! My very first thought was that this fee is to make sure the transaction confirms in time, but this makes a lot more sense now.
I assume the reason why Bitcoin payments are not combined and included in the accept transaction is to prevent the case that two users buy at the same time and one of them is screwed. And only after balances are locked after the accept offer transaction was confirmed, it's really safe?
This kind of dos protection could lead to very interesting mechanics and questions, e.g. "is it more profitable to sell higher and disable competitors or play fair" etc.
Here is an idea: from a seller point of view I'm in conflict with my interests, because I want to have a minimum of fee required to have an edge against competitors, but at the same time I don't want to run into the risk of being dos-frozen. What if the dos-fee is sent to the seller instead of the miners and credited/considered as form of advance payment?
Hey Dexx,
Sorry, I only just noticed your post.
I actually thought a long time about who to give the fee to. Giving the fee to the seller presents another attack vector, where the seller attempts to yank their sell order just as someone tries to accept it, and pocket the fee. Also, a seller could post a very attractive offer way below market with a high fee in hopes of getting a ton of fees from different people all at once.
The problem gets easier if we do the fees in Mastercoin instead of bitcoin, but requiring a mastercoin fee in order to purchase mastercoin shuts out anybody buying for the first time.
All this game theory makes my head hurt!
edit: also, paying lots of larger-than-average fees to miners endears us to them, and we want them to like us!