bisq-network / growth

Bisq exchange growth experiments
https://bisq.wiki/Growth_team
25 stars 11 forks source link

Bonded BSQ sellers of small amounts #243

Open MwithM opened 3 years ago

MwithM commented 3 years ago

To make it easier for small volume traders, BSQ can be bought with a different security model, based on BSQ bonds from sellers. See wiki for details. The first post of this issue will be updated reflecting the current valid bonds for sellers, I'll keep it updated.

pazza83 commented 3 years ago

Hi @MwithM is there a wiki about bonds? I have looked but cannot find anything.

I get a little confused by them.

For instance your bond of 150 BSQ. I can see it on the DAO > Bonding > Bonds. But it would be great if when a user made the bond they can link it to a GitHub issue like on the compensation requests. This would identify the user as the bond holder and prevent a scammer claiming someone else's bond as their own.

Also if I were to make a bond I am unsure if I should add it as a comment here, or create a new issue?

MwithM commented 3 years ago

No, there is nothing at the Wiki yet. This would be the github issue for linking the bonds, which should be updated by me on regular updates for the first comment and the keybase group headline. There's no need to create a new issue. New bonded sellers could contact me now before bonding, to help each other to do it right. I want to get more familiar with how bonds work myself before creating a wiki page, that's why this matter at the wiki is so vague.

flix1 commented 3 years ago

What a great idea! I'm will try to create a bond as well. ...

OK, that wasn't so hard. I think that I have managed to lock up a bond. TxId: https://mempool.bisq.services/bisq/tx/efdbd5cfdd3b4b08b6c4700421428dfa16a4a6ad7415496ccc58bec574a4e5b1

image

I am still not certain how this works exactly, but I suppose there's some way to sign a message verifying that the bond was created by you, without revealing your private keys...

image

The bond appears on the DAO public list of bonds, as well as your private "My reputation bonds" section. I guess you can use different bonds for different things and this helps protect your privacy, just like using different Bitcoin addresses can.

For anyone else wanting to try this, it's actually not difficult. Just go to the DAO section in your Bisq client. -> Bonding -> Bonded reputation -> Lock up a bond for reputation -> Lockup

...after you click lockup you will have to wait for a block confirmation or two as usual, so be more patient than I was!

image

MwithM commented 3 years ago

Thanks for bonding and giving details of the process.

I still find missing a way to identify this bond with your identity, other than you communicated in advance the creation of this bond. There should be something you "reveal" to us that only you can. I see the salt on my bond, but I don't know what would you gain by knowing it, there must be a way to verify that.

I have updated this first post and will update #buy-bsq channel header. Do you know a simple blockchain "calendar", or calculator to know ETA for block 691272?

flix1 commented 3 years ago

Do you know a simple blockchain "calendar", or calculator to know ETA for block 691272?

No. But 10.000 blocks is ≈ 100.000 minutes -> 1.666 hours -> 69 days.

So 69 days since April 30th 2021.

stopfeds commented 3 years ago

I also just bonded 100 BSQ to try out my first BSQ/Lightning trade on Keybase.

My offer: 20 BSQ for 90k sats keybase://chat/bisq#buy-BSQ/213

"Proof of bond"

pazza83 commented 3 years ago

I think it would be good to develop the bonds.

Maybe some of the concerns I have come from a lack of understanding, but generally I think a bond without identification has limitations.

My concerns are:

Here are a couple of sceenshots from the Bisq DAO section:

proposal for boned role Proposal for bonded role - includes a reference to Github identify

Reputation bonds Reputation bond - no reference to Github and/or Keybase identity

Would adding Github and/or Keybase identity to the Reputation bond be simple to add? It seems like a fix to the issues I raised.

MwithM commented 3 years ago

Or revealing a secret here, that only the bond submitter could know, and we verify it. I thought that the purpose for the "salt" was that.

pazza83 commented 3 years ago

Thanks I was not aware the SALT could be used for proof. Still think having the option to add Keybase / Gitbub identity would be good

chimp1984 commented 3 years ago

The salt is the pre-image for the hash. Only the bond creator knows that, but once shared anyone knows it, so it is a one-time usage security feature. Better would be to add the siging tool we have for prrof of burn. Then the owner can always sign a challenge message and by that proof that he is the owner. As long the challenge message is choosen by the challenger (trade peer) and sufficient random it is safe. I think technically it should work very similar like proof of burn, so its mostly UI copy&paste work to add that feature to bonded reputation as well. With that anyone could use Bisq to do the verification of one who claims to have a bonded reputation.

MwithM commented 3 years ago

I don't understand what's the problem about making public the salt one time, as soon as it's set, reflecting that the one who knows the salt is the bond owner. That bond will be used as long as it's locked for the same trader. But I don't know how would someone verify that the salt corresponds to a locked bond.

MwithM commented 3 years ago

My bond should have been unlocked, I have to manually claim the funds? This txid does not appear under bonded roles tab but it's still displayed at my reputation bonds and at dashboard - locked in bonds. imagen