Difference between revisions of "Reputation"

From Bisq Wiki
Jump to navigation Jump to search
Line 1: Line 1:
Reputation is the security mechanism used for [[Bisq Easy]], a [[Bisq 2]] trade protocol.
+
# Reputation
  
Bisq Easy does not use security deposits to ensure that trades go smoothly, instead buyers rely on the reputation of the sellers to ensure the trade goes smoothly.
+
The security model of Bisq Easy (a Bisq 2 trade protocol) is based on the seller's reputation.
 +
As the buyer need to send the fiat payment first in the trade process, the seller need to provide reputation so that the buyer can trust the seller to send the Bitcoin.  
  
Generally the higher the sellers reputation on Bisq Easy the higher the likelihood is of the trade being successful, and conversely,
+
From version 2.1.1 on the possible trade amount depends on the seller's repuation. The higher their reputation the higher the possible trade amount (up to a ceiling of the bitcoin amount equivalent to 600 USD).
the lower the sellers reputation is on Bisq Easy the less the likelihood is of the trade being successful.
+
Prior to v2.1.1 the user could set their min. required reputation score (for sellers) in the settings or use the recommended default value of 30 000. This has been removed in favor of the reputation based amount limits.
 +
Version 2.1.1 also introduces a change in the reputation score calculation, so that burned BSQ and bonded BSQ get doubled their value in the course of the first year.
  
Buyers should look to choose sellers with a high reputation for their trades.
 
  
Sellers should look at how to maximize their reputation to ensure they get more trades.
+
## Reputation based trade limits
  
== Minimum Reputation Score ==
+
A seller can take offers up to the amount derived from their reputation score. The formula is: `Reputation score / 200 = max. trade amount in USD`. In other words, for each USD the seller needs 200 reputation points. A score of 30 000 enables trades up to 150 USD (convewrted to the used fiat currency).
 +
Though for small amounts up to 25 USD, this restriction is lifted. This is motivated by the lower risk of such small amounts and to give users more felxibility.
  
Bisq Easy uses 10,000 as the minimum reputation score.  
+
That way, a buyer creating an offer can be sure that either the taker (seller) has an adequate reputation score. In case the offer allows amounts below 25 USD anyone with low or no reputation can take the offer. Maker who don't want to allow that should create offer with min. amount higher than 25 USD.
  
Seller's with a reputation score of 10,000 or more will be able to have their offers taken from buyers. Seller's that have a reputation score of less than 10,000 will not be able to have their offers taken from buyers.
 
  
Traders can change this setting in their Bisq 2 client, but the default minimum reputation score is 10,000.
+
A seller creating an offer will get shown the max amount which is covered by their reputation score. They still can create offers with higher amounts, but a taker will get displayed a warning about the potential risks.  
  
Seller's wanting to sell bitcoin on Bisq Easy should look to obtain a reputation score of at least 10,000, but preferably higher to compete with the other sellers on the platform.
+
 +
## Min and max amounts
  
== Reputation score star system ==
+
Prior to v2.1.1 the min. and max. amounts have been set to 0.0001 - 0.01 BTC. With v2.1.1 we use the fixed fiat amount (independent of Bitcoin price) of 6 USD - 600 USD (converted to the used currency). This avoid fluctuations in case of price volatility.
  
To make it easier for user's to compare the reputation scores of different traders, Bisq displays reputation scores as stars (0-5 stars).
 
  
To achieve this users' total reputation scores are compared to other scores in the network and ranked and normalized to a value between 0 and 1.
+
## Min. required repuation score
  
The user with the highest ranking will have a value of 5 stars. The user with the lowest ranking will have a value of 0 stars.
+
Prior to v2.1.1 users could set a min. required repuation score for sellers in the settings, or use the recommended default value (30 000). This has been removed in v2.1.1. as the amount based aproach is a better way to handle risk.
  
The user profiles only stay for 2 weeks in the network in case a user is not active. Thus their associated reputation will disappear with their profile if being inactive for 2 weeks. This has an impact on the relative reputation score of all other users. For instance if the user with the highest reputation is inactive and gets removed from the network the next user with the highest reputation will become the highest ranked with 5 star. Once a inactive user becomes active again their reputation score will be taken into account in the relative ranking.
 
  
One could phrase it as: The reputation score star system is the relative ranking compared to the reputation of the active users in the network.
 
  
[[File:Reputation-ranking2.png|frame|left|Bisq converts a seller's reputation score into am easy to view star system. This makes it easy for buyers to see at a glance which are the most reputable sellers. The sellers with the highest reputation have 5 stars and the sellers with the lowest reputation will have 0 stars.]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+
## Transition and backward compatibility with prior versions:
  
== Why is Reputation important for sellers ==
+
As long there are users who run versions priro to v2.1.1. we need to deal with some backward compatibility cases.
  
Bitcoin buyers send the fiat payment to the sellers prior to receiving the bitcoin. Therefore it is important for bitcoin sellers to have a good reputation to help establish trust with their potential trade partners.
+
An offer created by a version prior to 2.1.1 can be taken by users of v2.1.1 up to 25 USD even the reputation score is insufficient as we have for such relative small amounts the requirements relaxed. In case a maker who have set the min. required reputation score to a higher level as the taker of the offer has, can reject that trade without risking panelty. The mediator can assist in doubt.
  
It is expected that users that want to gain reputation to be bitcoin sellers on Bisq Easy will be experienced Bisq users that can provide buyers with a positive experience.
+
Buy offers created with v2.1.1 have set the min. required reputation score to 30 000 independent of the users setting (as that has been removed). Thus sellers still using a version lower than v2.1.1. need to have at least 30 000 reputation score to take that buy offer.
 
 
Selling bitcoin on Bisq Easy is expected to be profitable for the sellers in that they will likely choose to sell bitcoin over market price.
 
 
 
== How to build reputation ==
 
 
 
There are currently 4 options for creating reputation:
 
 
 
* Burning BSQ
 
* Setting up a BSQ bond
 
* Importing the Account Age from Bisq 1
 
* Importing the Signed Account Age from Bisq 1
 
 
 
The total score is calculated as sum of the individual reputation sources/events. The reputation scores of users' will change over time due to:
 
 
 
* Reputation gained from bonding BSQ is lost when the bond is unlocked.
 
* Users can burn or bond BSQ repeatedly.
 
* Users can import signed accounts or aged accounts to replace previous gained reputation scores.
 
 
 
Also the representation of the reputation as stars next to the user profile will also change over time in respect of the score of other users profile IDs.
 
 
 
It is expected that there will be some competition between sellers to achieve higher reputation scores to get more trades from bitcoin buyers interested in trading with account with the most reputation.
 
 
 
You can access all 4 methods of increasing your reputation from the Bisq 2 reputation section found in 'User Options' > 'Reputation'
 
 
 
[[File:Reputation-section.png|frame|left]]<br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
 
=== Burning BSQ ===
 
 
 
 
 
A user who wants to improve their reputation on the Bisq Easy trade protocol can can burn BSQ.
 
 
 
The more BSQ that is burned the better the reputation score the user would get.
 
 
 
The minimum amount of BSQ that can be burnt is 5.46 BSQ (dust limit).
 
 
 
The value gained by burning BSQ persists over time. Reputation scores achieved from burning BSQ is cumulative. It can be assumed that regular burning (e.g. each week or month) is a form of work and represents activity by the user resulting in a higher reputation score.
 
 
 
Data about the burned BSQ gets published automatically by the oracle node.
 
 
 
If a user gets banned by a moderator they will lose the reputation value that they gained from burning the BSQ as the reputation is linked to their profile and a banned profile cannot be used anymore.
 
 
 
'''Follow these steps to burn BSQ for reputation:'''
 
 
 
# Select the user profile for which you want to attach the reputation
 
# Copy the "profile ID"
 
# Open Bisq 1 and go to "DAO/PROOF OF BURN" and paste the copied value into the "pre-image" field
 
# Enter the amount of BSQ you want to burn
 
# Publish the Burn BSQ transaction
 
# After blockchain confirmation your reputation will become visible in your profile
 
 
 
On the bisq 2 app you will find this same information under 'User Options' > 'Reputation'
 
 
 
[[File:Burning-bsq-reputation.png|frame|left]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
 
<pre>
 
 
 
Burning BSQ has the highest impact on the reputation score.
 
 
 
For every BSQ burnt the user receives a reputation score of 100. For example if a user burns 100 BSQ their reputation score will be increased by 10,000. Reputation obtained by burning will persist with that users profile.
 
 
 
To increase their reputation further a user can burn multiple times. The scores received are cumulative.
 
 
 
</pre>
 
 
 
=== Setting up a BSQ bond ===
 
 
 
Similar to Burn BSQ but using refundable BSQ bonds.
 
 
 
BSQ needs to be bonded for a minimum of 50,000 blocks (about 1 year). During this time the BSQ is unavailable to the user. After 50,000 blocks the bond can be unlocked and the BSQ is available again to the user.
 
 
 
The value gained by bonding BSQ persists until the time the bond is unlocked. Reputation scores achieved from bonding BSQ is cumulative. It can be assumed that regular bonding (e.g. each week or month) is a form of work and represents activity by the user resulting in a higher reputation score.
 
 
 
A bond can be confiscated (destroyed by a Bisq DAO vote). This would only be done if a bond holder was scamming users. To confiscate a scammers bond requires high quorum at DAO voting, thus its more risky that the confiscation might fail.
 
 
 
Data about bonded BSQ gets published automatically by the oracle node.
 
 
 
'''Follow these steps to bond BSQ for reputation:'''
 
 
 
# Select the user profile for which you want to attach the reputation
 
# Copy the "profile ID"
 
# Open Bisq 1 and go to "DAO/BONDING/BONDED REPUTATION" and paste the copied value into the "salt" field
 
# Enter the amount of BSQ you want to lockup and the lock time (50000 blocks)
 
# Publish the lockup transaction
 
# After blockchain confirmation your reputation will become visible in your profile
 
 
 
On the bisq 2 app you will find this same information under 'User Options' > 'Reputation'
 
 
 
[[File:Bonding-bsq-reputation.png|frame|left]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
 
<pre>
 
Bonding BSQ has a high impact on the reputation score.
 
 
 
For every BSQ bonded the user receives a reputation score of 10. For example if a user bonds 1,000 BSQ their reputation score will be increased by 10,000. Reputation obtained by burning will persist with that users profile.
 
 
 
To increase their reputation further a user can bond multiple times. The scores received are cumulative.
 
 
 
Once the bond is unlocked the reputation score attributed to that bond is lost.
 
</pre>
 
 
 
=== Importing the Account Age from Bisq 1 ===
 
 
 
Users of Bisq 1 can gain reputation by importing their account age from Bisq 1 into Bisq 2.
 
 
 
Accounts ages from Bisq 1 could include any of the following account types:
 
 
 
Any Fiat account can be used.
 
 
 
The older the user's account age the more trustworthy the user will be assumed to be.
 
 
 
In case of repeated registrations the oldest account will be used (as it has the highest value). Multiple accounts do not get accumulated.
 
 
 
'''Follow these steps to import your account age from Bisq 1 for reputation:'''
 
 
 
# Open the account age reputation section on Bisq 2
 
# Select the user profile for which you want to attach the reputation
 
# Copy the "profile ID" to paste on Bisq 1
 
# Open Bisq 1 and go to "ACCOUNT/NATIONAL CURRENCY ACCOUNTS"
 
# Select the oldest account and click 'Export Account'
 
# This will add a signed message with the Bisq 2 profile ID
 
# Paste the signature from Bisq 1 in the account age reputation section on Bisq 2
 
# Press 'Request authorization' button
 
 
 
On the bisq 2 app you will find this same information under 'User Options' > 'Reputation'
 
 
 
[[File:Age-bsq-reputation.png|frame|left]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
 
<pre>
 
Importing an account age from Bisq 1 the lowest impact on the reputation score.
 
 
 
For every day old the user's account is they will receive a reputation score of 2.5. For example if a user imports a 300 day old account from Bisq 1 their reputation score will be increased by 750. Reputation obtained from importing their account age will be cumulative with all other reputation scores the user obtains.
 
 
 
A user cannot obtain the minimum reputation score required from importing their account age alone, they would need to burn or bond BSQ to achieve this.
 
 
 
The maximum reputation score a user can achieve from importing an account age is 5,000. This can be achieved when importing accounts of 2,000 days old, or older.
 
</pre>
 
 
 
=== Importing the Signed Account Age from Bisq 1 ===
 
 
 
Users of Bisq 1 can gain reputation by importing their signed account age from Bisq 1 into Bisq 2.
 
 
 
Any signed account from Bisq 1 can be used.
 
 
 
The older the user's signed account age the more trustworthy the user will be assumed to be.
 
 
 
In case of repeated registrations the oldest signed account will be used (as it has the highest value). Multiple accounts do not get accumulated. account will be used (as it has the highest value). Multiple accounts do not get accumulated.
 
 
 
'''Follow these steps to import your signed account age from Bisq 1 for reputation:'''
 
 
 
# Open the account signed account age witness reputation section on Bisq 2
 
# Select the user profile for which you want to attach the reputation
 
# Copy the "profile ID" to paste on Bisq 1
 
# Open Bisq 1 and go to "ACCOUNT/NATIONAL CURRENCY ACCOUNTS"
 
# Select the oldest signed account and click 'Export Account'
 
# This will add a signed message with the Bisq 2 profile ID
 
# Paste the signature from Bisq 1 in the signed account age witness reputation section on Bisq 2
 
# Press 'Request authorization' button
 
 
 
On the bisq 2 app you will find this same information under 'User Options' > 'Reputation'
 
 
 
[[File:Signed-bsq-reputation.png|frame|left]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
 
<pre>
 
Importing a signed account age from Bisq 1  has a low impact on the reputation score.
 
 
 
For every day old the user's singed account is they will receive a reputation score of 5. For example if a user imports a 300 day old account from Bisq 1 their reputation score will be increased by 1500. Reputation obtained from importing their signed account age will be cumulative with all other reputation scores the user obtains.
 
 
 
A user cannot obtain the minimum reputation score required from importing their signed account age alone, they would need to burn or bond BSQ to achieve this.
 
 
 
The maximum reputation score a user can achieve from importing a signed account is 10,000. This can be achieved when importing accounts of 2,000 days old, or older.
 
</pre>
 
 
 
== Reputation Simulation Tool ==
 
 
 
For bitcoin sellers it can get a little complicated to work out what the best way is to increase their reputation. To help make the decision process easier Bisq 2 provides a simulation tool for sellers to see what different actions they can take to increase their reputation.
 
 
 
The simulation tool can be access from the reputation system. It can be used for both burning and bonding BSQ. Here is an screenshot showing it in use for burning BSQ.
 
 
 
[[File:Simulation-tool.png|frame|left]]<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
 
 
== What happens when a user profile ID is banned? ==
 
 
 
When a user profile ID is banned they lose all reputation associated with that profile ID.
 
 
 
The profile ID contains a pub key hash that is tied to a corresponding reputation score.
 
 
 
Once a user profile ID is banned their corresponding reputation score will no longer be visible.
 
 
 
Moderators will ensure that they only ban profile IDs that have severely, or repeatedly, violated Bisq trade protocols. Banned users might be impacted in Bisq 1 as well (e.g. their onion address will be banned, or a BSQ bond confiscation proposal is made, if applicable).
 

Revision as of 16:01, 3 October 2024

  1. Reputation

The security model of Bisq Easy (a Bisq 2 trade protocol) is based on the seller's reputation. As the buyer need to send the fiat payment first in the trade process, the seller need to provide reputation so that the buyer can trust the seller to send the Bitcoin.

From version 2.1.1 on the possible trade amount depends on the seller's repuation. The higher their reputation the higher the possible trade amount (up to a ceiling of the bitcoin amount equivalent to 600 USD). Prior to v2.1.1 the user could set their min. required reputation score (for sellers) in the settings or use the recommended default value of 30 000. This has been removed in favor of the reputation based amount limits. Version 2.1.1 also introduces a change in the reputation score calculation, so that burned BSQ and bonded BSQ get doubled their value in the course of the first year.


    1. Reputation based trade limits

A seller can take offers up to the amount derived from their reputation score. The formula is: `Reputation score / 200 = max. trade amount in USD`. In other words, for each USD the seller needs 200 reputation points. A score of 30 000 enables trades up to 150 USD (convewrted to the used fiat currency). Though for small amounts up to 25 USD, this restriction is lifted. This is motivated by the lower risk of such small amounts and to give users more felxibility.

That way, a buyer creating an offer can be sure that either the taker (seller) has an adequate reputation score. In case the offer allows amounts below 25 USD anyone with low or no reputation can take the offer. Maker who don't want to allow that should create offer with min. amount higher than 25 USD.


A seller creating an offer will get shown the max amount which is covered by their reputation score. They still can create offers with higher amounts, but a taker will get displayed a warning about the potential risks.


    1. Min and max amounts

Prior to v2.1.1 the min. and max. amounts have been set to 0.0001 - 0.01 BTC. With v2.1.1 we use the fixed fiat amount (independent of Bitcoin price) of 6 USD - 600 USD (converted to the used currency). This avoid fluctuations in case of price volatility.


    1. Min. required repuation score

Prior to v2.1.1 users could set a min. required repuation score for sellers in the settings, or use the recommended default value (30 000). This has been removed in v2.1.1. as the amount based aproach is a better way to handle risk.


    1. Transition and backward compatibility with prior versions:

As long there are users who run versions priro to v2.1.1. we need to deal with some backward compatibility cases.

An offer created by a version prior to 2.1.1 can be taken by users of v2.1.1 up to 25 USD even the reputation score is insufficient as we have for such relative small amounts the requirements relaxed. In case a maker who have set the min. required reputation score to a higher level as the taker of the offer has, can reject that trade without risking panelty. The mediator can assist in doubt.

Buy offers created with v2.1.1 have set the min. required reputation score to 30 000 independent of the users setting (as that has been removed). Thus sellers still using a version lower than v2.1.1. need to have at least 30 000 reputation score to take that buy offer.