Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve BSQ accessibility through OTC market and bonded reputation #308

Closed
MwithM opened this issue Feb 6, 2021 · 13 comments
Closed

Improve BSQ accessibility through OTC market and bonded reputation #308

MwithM opened this issue Feb 6, 2021 · 13 comments

Comments

@MwithM
Copy link

MwithM commented Feb 6, 2021

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

To make BSQ more accessible to traders, I propose to create a #buy-bsq channel to trade small amounts of BSQ outside of Bisq protocol. Payment methods will vary (main option could be lightning).
This proposal has been thought after the evolution of #305 and it's inspired on the #buy-bitcoin channel.

This is how it would work:

  • BSQ buyers send a message on a # buy-bsq Keybase chat indicating that they want to buy BSQ, the amount (up to 0.001 BTC), and how they could pay (on-chain BTC, Lightning, altcoins...).
  • A bonded BSQ seller will reply with a price. Bonds are intended as security mechanisms to discourage foul play, so if a bonded seller were to act dishonorably, the buyer could make a case against them in the DAO and propose to have their bond revoked.
  • Complete the deal in private chat.
  • BSQ buyers must send BTC first, and then the bonded BSQ seller will send BSQ.
  • Only those who bond 200BSQ for six months (25920 blocks) and associate their bond to a Growth github issue will be indicated as trusted sellers on the "info" field at the # buy-bsq channel.

@chimp1984 is the salt something only known by the one who puts the bond? How would an external viewer verify and associate Keybase/Github identities to a bond?

@chimp1984
Copy link

The salt is the preimage for the hash added to the opReturn. Only the tx creator knows the preimage but once its shared its not secret anymore. So it can be only used once safely. A signature signing tool like we have at proof of burn could be added, that would be more useful if there is a need for that.

@chimp1984
Copy link

We have to take care to not promote the insecure and centralized (keybase can shut us down any time) off-Bisq trade option too much. For users not having Bitcoincoin I think its justified as an experiment, but to extend it if it is not really needed I think its a slippery slope.

@huey735
Copy link

huey735 commented Feb 7, 2021

I don't know much about the details of the implementation of BSQ but a multiparty transactions seems like a simple way to do the trade given that the BTC seller wants to pay with an on-chain transaction in a more trustless way.

inputs outputs
BTC buyer's BSQ BTC buyer's BSQ change
BTC seller's BTC BTC seller's BSQ
BTC buyer's BTC
BTC seller's BTC

@pazza83
Copy link

pazza83 commented Feb 7, 2021

I think this is a good idea it addresses the many complaints of BSQ being inaccessible for small purchases we have seen on Github, Keybase and Reddit.

Eg comments like: bisq-network/bisq#4575 (comment)

High mining fees are a barrier to enter for those looking to sell or buy BSQ in small amounts.

I also made a proposal here of how to address this by increasing transaction times to 7 days on BSQ for users that want this.

@chimp1984
Copy link

There might be some new ways for swapping BSQ to BTC: #304 (comment)

@pazza83
Copy link

pazza83 commented Feb 11, 2021

I would like to sell Bisq Starter Packs. Everything you need to trade on Bisq

  • 0.007 BTC
  • 7 BSQ

All instant payment methods accepted
Maximum purchase 1 per user
No refunds given :)

@chimp1984
Copy link

FYI There are 2 DAO features which might be useful for any off-chain / OTC experiments.

  1. Bonds
  2. Proof of burn

Beside the defined Bisq DAO bonded roles there is bonded reputation which can be used arbitrarily.
You can define a salt which is a preimage for the hash which will get added in the opReturn. This can be used as a one-time secret (nobody can derive the preimage from the hash). Once you have shared it with anyone it has lost its secuirty as you cannot guarantee that the other one is not sharing it further. The salt has to be a hex string, I dont remember why that was made a requirement but you could convert any string into that hex.
There is no signature tool implemented in the UI but it could be added as well if there is a strong use case for it, that would be more useful. The lock time and the amount can be defined by the user.

Screen Shot 2021-02-10 at 23 30 20

There are quite some bonded reputation and some with quite long unlock time, so it seems some people have found some use case for it.

Screen Shot 2021-02-10 at 23 30 32

The other feature is the Proof of burn.
Here the BSQ is burned and could be used to create reputation. If you have invested 1000 USD in burning BSQ and bind your online ID to that you will take care not to damage that reputation as then your investment has no value anymore.
It is not that attractive to most people as the funds are gone (to the DAO) but I think it has even stronger security properties as there is no "long con" possible.
It comes with the preimage-> hash feature but the preimage can be any string. Additionally you can sign any messages and the peer can verify it in Bisq:
Screen Shot 2021-02-10 at 23 38 19
Screen Shot 2021-02-10 at 23 38 34
Screen Shot 2021-02-10 at 23 38 46

The reason why I share that all is because I have the feeling that those OTC experiments might help us to get to the off-chain trade protocol (which was based on BSQ bonds). If we can solve in a simple low-tech version the conceptual challenges we might get a step closer to be able to implement it.

@Mycelial1
Copy link

I would love a signature tool that proves bonded BSQ. Not so much the "Proof of Burn" signature.

I have sold 0.007 Bitcoin to a few different new users lately so that they can pay their first security deposit. They reached out to me simply because I'm active, but being able to refer to bonded BSQ would be very meaningful to me, for building rep, and meaningful to them, because they know it could get confiscated if I commit foul play.

This would be useful for both the #buy-bsq as well as the #buy-bitcoin OTC channel experiments that we have.

@MwithM
Copy link
Author

MwithM commented Feb 15, 2021

It could be done in an inverse way, burn BSQ but having a right to claim it back (in USD value). In case the bonded through burning trader misbehaves, claiming it back will be rejected.
The best part of it is that it's ready to go, it could be used yesterday for that purpose. We just need to stay vigilant through the chat that trading volume at a time is not over their burnt BSQ.

@Mycelial1
Copy link

Unless anyone has an issue with me claiming back the same amount of BSQ at a later date, I would like to go ahead and burn some BSQ to increase trust when selling BTC away from the Bisq trade protocol.

@MwithM
Copy link
Author

MwithM commented Feb 26, 2021

I think that in case that burning BSQ with a right to claim the BSQ back again is the way to go, selling BSQ or selling fiat should have separated burning transactions.
I think it's better if we keep the discussion about how to use BSQ to bond this trades at #283 @Mycelial1 make this same question there, please.

@huey735
Copy link

huey735 commented Mar 2, 2021

@Mycelial1 you can lock BSQ under DAO > Bonding > Bonded Reputation, you don't have to burn it.

@MwithM
Copy link
Author

MwithM commented Mar 14, 2021

Moved to discussions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants