[bisq-network/proposals] Bisq v2 (#118)

chimp1984 notifications at github.com
Mon Sep 9 22:55:19 UTC 2019


I would like to give a rough overview and the more broad picture how the [off-chain trade protocol](https://github.com/bisq-network/proposals/issues/32) would impact and change Bisq. In fact I think it will be such a radical change that it will require to be deployed as a new application and justifies the upgrade to version 2. The current trade protocol can continue in parallel and might fade out one day when most user have migrated.

The core change is that the **trade protocol is decoupled from the security protocol**. 

Security for the trade is based on a BSQ bond. Once a bond is set up it can be reused for multiple trades in parallel up to the amount of the bond. E.g. You set up a 10 000 BSQ bond and start one trade with 4000 USD against 3600 EUR (no need that the trade contains any crypto currency). Lets assume 1 BSQ = 1 USD. So your available bond for further trades is now reduced to 6000 BSQ. You do another trade with 5000 USD and you still have 1000 BSQ left. You cannot do any trade > 1000 USD now until you have completed one of the open trades. After that, the amount from the completed trade increases your available bond again.

The bond/trade tracking is based on cryptographic pimitives like hashing and signatures and uses the Bisq P2P network. It is described at the end of the #32 proposal (and require still some work to make sure it is solid).

The way how we use bonds has some similarities to opening a channel in Lightning network.

The trade protocol itself is trivial. You make an offer and define the mediator to be used in case of a dispute. A taker agrees to your contract and then both have to exchange their currencies over the payment method defined in the contract. 
In case of a dispute the mediator investigates and delivers both traders a signed result which states who violated the contract. That can be used for a confiscation request and the BSQ stakeholders would take the mediators result as orientation for their vote. This human barrier gives extra security against malicious mediators (they risk their bond).
Confiscation is considered an exeption and should not happen very rarely. It is similar like ending up in court in normal business relationships. Its an exeptional outcome and both partied usually try to avoid that as far as possible.

With this new model we get tons of benefits and it resolves so many problems which seems basically unsolveable with the current model:

- You can trade anything again anything: XMR-EUR, USD-EUR, BTC - lightning to LTC - lightning, Apples-Bananas....
- There is no blockchain tx required for the trade, so no miner fee and no privacy leaks via connected BTC transactions.
- Trade execution can be instant - no waiting for blockchain confirmation.
- Offer maker don't need to be online anymore as no automatic tx signing is done.
- We don't have the requirement for a trading wallet and automated tx signing anymore. This removes our biggest security risk. We should discourage traders to use the Bisq wallet for anything else than for miner fee for BSQ tx and converting BTC to BSQ. We likely can get rid of BitcoinJ.
- Exchangin BSQ can be done in an atomic tx. 1 BTC input, 1 BSQ input, outputs are swapped. Totally trustless and secure as it is one atomic tx. Trading BSQ-BTC can be presented to the user as conversion rather than a trade. No need to show complexity of offers, etc. You want to get 1000 BSQ? The apps shows how much BTC it costs based on current offers. You click ok and you execute the offers to get your BSQ. E can probably use presigned txs so no need for the BSQ offer maker to be online.
- It gives as well more security against chargebacks as bonds are locked up long term.
- Mediator model is flexible. Can be a Bisq mediator, lawyer... 

There are also some downsides and risks:
- New user need to buy BSQ to cover trade amount (there might be some ways to mitigate that by using some sort of reputaion for security, e.g. use certificates like in #79).
- It changes the economic model of the DAO. A small feature will become major price factor. We need to think very well about possible unintended consequences and risks.
- BSQ price volatility becomes a security issue at some extent.

### Roadmap
- First we need to finalize and audit the bond/trade tracking concept. This is the core of the off-chain trade protocol and it need to be 100% solid.
- If that is completed we should get a good idea how we implement the new trade experience and the BSQ/BTC conversion so that user experience is much better as now. @pedromvpg, @ripcurlx are very welcome to help here.
- We need to find out what is the best deployment model. Currently it seems the best is to deploy a new Bisq v2 application completely separate from the old app. The P2P network and the DAO are the only connecting elements. As it is a fresh new app we can clean up lots of stuff and think about more radical changes (e.g. get rid of BitcoinJ,...).
- We need some notifiaction mechanism as traders dont need to be online. Maybe we can use the existing mobile notification but as this feature becomes more important we might need to develop some more robust tool (current has not guarantee for msg delivery).
- Ensuring that the P2P network is compatible to support both applications might be a bit of a challenge. To start a new network and use a bridge node for transferring DAO data between the networks might be another option. We also plan some bigger changes in the P2P network to make it more ddos resistant which would be easier if we don't have dependencies on existing network. 
- We need to find the best model for trade fees. As the trade does not require a tx we dont want to add a tx for the fee. At unlocking of a bond we could maybe apply a fee. But will require more thought once the protocol is more defined. Should be the easiest problem to solve ;-).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/proposals/issues/118
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20190909/0732db73/attachment.html>


More information about the bisq-github mailing list