Some experience from using localbitcoins
1. Reversable payment
Alice paid Bob and get the bitcoin, then she reverse the SEPA bank transfer
2. Stolen account
Alice using a stolen account to pay the Bob and get the bitcoin and then Bob's account is frozen by the banks after he released the bitcoin
3. Delayed payment
Alice paid Bob but Bob does not receive the payment in a week (Bank doubt that it is a bitcoin related transaction and intentionally delay the payment)
4. Future trading
Alice started the trade request but only do the bank transfer after the price rose
My experience is that person to person trading involves lots of fraud attempt from fraudulent buyers and sellers, even a well established trader can be fooled into some new type of scam
And as usual, liquidity and pricing is also a concern, you eventually need some large traders act as market maker to provide liquidity
Thanks johnyj for your input!
Re 1:
The reverability is a real hard problem. I thought SEPA is irreversible. At least my bank told me that. It may lead to a smaller set of bank transfers types which can be considered as safe. Or we need a reputation system or other elements to mitigate that fraud risk.
Re 2:
Thats another hard problem. But I assume thats is a problem with all online services dealing with money. At Ebay can happen the same. That does not mean we take that serious.
One protection to minimize the possible problems is to not use the primary bank account but a dedicated one, so a block of the account will not cause so much troubles.
I guess the only possible solution for that would be to include a form of reputation system. Unfortunately there is no perfect solution to protect against sock puppets, but in reality it makes it more safe and more cost-intensive for the attacker.
An identity check would be another solution against that. The traders could use an off-system channel like a skype video chat to show some IDs like a passport to prove the identity. The privacy is leaked anyway by the banking transfer, so that would not introduce a new disadvantage. An identity check combined with reputation could also solve the first point (chargeback). But reputation has also the problem of false accusations, which could be used for blackmail... so any new feature to fix something introduce new problems....
We discuss a possible solution for a reputation system in the paper, but it is not elaborated too much yet.
Re 3:
I never heard about that. But as long the users dont mark those payments with something like "BTC payment txID:1234" it would be hard for a bank to track those payments. And if a bank gets too customer-unfriendly why not change the bank, there are a lot of free alternatives (OKPay, PerfectMoney,....). So the banks has also something to lose...
Re 4:
That will be dependent to the collateral height.
In our example it would be Alice who offers 1000 USD for 1 BTC.
1. Assume the price change to 500 USD/BTC:
Alice dont like to do the deal anymore as she would pay too much. But she will lose her collateral if she does not continue.
If the collateral is lower then the price change she has incentive to stop and perfer to lose her collateral.
2. Assume the price change to 2000 USD/BTC:
Alice is happy to have the contract for a great deal she get 1 BTC for 1000USD which is already worth 2000.
Bob would like to stop but he cannot. When he receive the Fiat, he could decide to stop, but he will always lose some BTC (collateral) independent from the price. Just if the BTC price goes close to zero he might lose his incentive to behave fair. But anyway it is never lost, it is just blocked, it price rise again the incentive might also rise to finalize the trade.
The time window for Alice between broadcastin gthe depost tx and starting the bank tx would be 10 min to 1 hour, depending how much security she wants against doublespend attacks from Bob.
So the price change must happen in that time window. A price change of more then 10% in one hour might happen but is a bit unlikely, also the whole trade is a slow process due the bank tx. It is not the daytrader/HF trading setup.
Of course she could wait longer but if she waits too long it will hurt her reputation (if we use that).
The collateral height will be the main influence for that attack scenario. A reputation system would help also (but is difficult as well).
A trading fee could make any attack also more costy (beside the cost of time and blocked collaterals).
The trading fee could be distributed as lottery to all successful traders (described in the paper as well). But again, every new feature introduce new problems....
The pure Nash based setup seems to be too weak to protect against all possible attacks.
We are considering a 3rd party escrow solution with SSL Dump now.
The fact that the identity is known to the other due the banking tx leads to the need of a reputation system. If we don't offer any, the users will use something on their own (post scammers in a forum,...).