bisq-network / proposals

@bisq-network improvement proposals
https://bisq.wiki/Proposals
43 stars 16 forks source link

Off-chain trade protocol for small amounts using merit, bonds and proof of burn #324

Closed chimp1984 closed 3 years ago

chimp1984 commented 3 years ago

This is a Bisq Network proposal. Please familiarize yourself with the submission and review process.

I would like to propose a model for off-chain trade protocol inspired by the off-chain keybase channel experiment of @pazza83. It will have some limitations and will work only for lower amounts, but I think it could help in that area where the high capital requirements for collateral and high miner fees hurt most.

Overview:

Suggested parameters:

How to implement it:

The merit, bond and the burned BSQ can be verified in the app (requires the DAO to be activated and synced). Only if those requirements are met a user can make sell-BTC offers. The peer will verify offers as well.

Integrating it into the offerbook, trade domain and UI is a bigger challenge. It comes with similar problems like the BSQ atomic swap project @sqrrm is working on. The current offer/trade domain is tailored around the current trade protocol and data structures. There is no easy way to extend and change that as it has implications all over the place (mediation, trade history, statistics,....). One approach is to try to squeeze in the new model into the existing, but that will lead to lot of technical debt and ugly code. To generalize the existing domain to the extent required here is also pretty challenging. Another approach is to build a parallel more generic infrastructure. The benefit here would be to be more flexible for other future protocols like XMR atomic swaps.

So unfortunately the dev effort for integrating that is quite large.

Risks:

MwithM commented 3 years ago

Using merit is a great measure for buyers, but stops me or other contributors from creating a sock puppet account to gain privacy. I don't think there would be many sellers under this conditions.

chimp1984 commented 3 years ago

For fiat privacy is very limited anyway as the trade peer will know your payment account data which in many cases include the name.

pazza83 commented 3 years ago

Thanks @chimp1984 for making this proposal.

Taking away all miner fees would enable small offers of $300 or under to be made more of benefit to both buyers and sellers. This would likely result in more offers of $300 or less being made / taken.

I agree that the risk would be low considering the high bond amount.

I can see how merit hardens security but I also think it would decrease participation of sellers that would like to get involved.

Sellers with bonds having having the ability to make feeless offers, and also a requirement to make enough trades to make the 100 BSQ/month or equivalent, plus profit, could lead to a saturation of small offers from those sellers. This level of saturation, loss of some aspects of privacy, and also counterparties able to take offers at no fee with no penalty for late payment, no payment, spam, bad intentions etc would may be off putting to potential sellers wanting to use such a system.

To protect against privacy If merit value where not to be used it would require the trade to be proportional to an amount bonded say 50% Trades to bond. This would also give the level of security required but I assume would be more complicated to develop? This would also resolve the potential for over saturation of bonded sellers offers.

To protect against late payment, no payment, spam, bad intentions etc Maybe the lightning network could be used? Taker would pay buyer $5 worth of BTC equivalent over lightning network when taking offer before account details are released.

I think this proposal also helps lead toward a potential scenario of Bisq potentially being used to trade other small value assets off chain.

chimp1984 commented 3 years ago

To limit offers by bond would not be too complicated, just to follow open/closed trades is the hard part which is likely not possible without a blockchain. The merit could be also used optionally to signal extra security for the buyer. Bond can be defined by allowed parallel offers, so per offer some bond amount. maybe burned BSQ as well...

But the main problem is still how to add new protocols and support that in parallel in Bisq. Bisq was not designed as multi-protocol platform (as no other dex I am aware of). It is a bit like changing the drive of a car from a diesel to electric motor. This is a real challenge....

pazza83 commented 3 years ago

Hi @chimp1984 thanks for the proposal. I am doing some housekeeping on the proposals. Please can you take steps to move this forward or alternatively close the proposal.

Not sure if this is something to be considered / included with the development of Misq?

Re: https://bisq.wiki/Proposals