I appreciate a lot that you are diving into the code base. Hope it is somehow understandable, there is not much documentation and some parts would need probably a bit of extra info. We can have a chat any time you like so I can explain a few bits more in details. For the P2P network there is a doc out but it is outdated but might help to get a basic overview. Let me know if you want a link to it.
Thanks for your proposal and it reminds me on 2 future ideas which are loosely planned after we have all the basics in place (Synergetic cooperation, decentral. arbitration, automated altcoin trading, maybe CoinJoin).
Your idea sounds to me more in direction of a CFD (contract for difference) and that I was considering to offer the specultators/daytraders as alternative. They are not interested in holding Fiat or any currency but only want to bet on price movements. So for that use case CFD is much better suited than an actual currency exchange. I had not though deeper on the topic how to do it in details, but there will be probably ways. Micro payment channels, atomic cross chain transactions might be an alternative to the arbitrator based security model.
I had the idea to add a micro credit (only BTC) market to solve the problem for new users who don’t have any BTC and need to pay the securitys deposit and fees.
They could exchange their reputation against a small amount of BTC. That way we can use the benefits of repuation but keep Bitsquare exchange without it as it is never really safe. So if we separate it out and convert it to BTC which gets used in the exchange we get the benefits but avoid the problems or keep them firewalled in a sub system.
How does that work? It would be very simple:
Just a offerbook for lending offers. A lender can add an offer:
E.g. I lend 0.1 BTC for 1 week for 2% interest rate, I require that the borrower sends me min. 2 different social media accounts so I can rate the risk and check his repuation. The lender can require whatever he wants (real life ID verification, WOT,…). He takes 100% risk if the borrower does not pay back.
It is a simple deal between 2 persons who can interconnect and evaluate if the risk is worth the interest rate. The BTC transfer is a simple transaction as well as the payback tx.
Bitsquare only provides the communication platform (a chat like the one used in the arbitration) and credit offerbook (both sides) so lender and borrower can find each other. No MultiSig or whatever.
All the risk needs to be mitigated by the rating process done by the lender. If he get scammed he need do improve his repuation check. External reputation systems like Bitrated can be used as well.
I am not really sure if there is a market though for such a feature.
To check if there is a market I was considering to add a post in the forum where we can offer micro credits for new users who are in that problem situation of not having BTC. Then we can see if there is actually a market for that and if the scam rate is low enough so that it can work.
Fiat mircolending is for sure a market I am just not sure if there is one for BTC.
Though I might be very wrong here, hard to estimate…
If anybody want to work on that, I think it would be a relative easy task. It would be mostly UI work.
After reading again your first comment:
I think that this would be very close to the options model @mepistol was describing and it is in the same line I responded to @mepistol.
If so (I might be wrong have not though too much on it and need to get more familiar with those financial instruments) then I think that could be relatively easy implemented by giving the security deposit to the other trader and by allowing the user to define the trade period and height of the deposit. They can bet on price movements of any counter currency to BTC in a certain time period and with a certain amount. We could also add the option to settle the trade any time (like now) or to block it until the end of the time period. I think to simply hide the receivers BTC address might be enough, otherwise some time locking would be needed.
As said rough thoughts, but if you want to work on that you are welcome. I cannot contribute more soon as the other open issues have higher prio to me.
Of course if I misunderstood your idea please let me know.