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

Add Bisq 2 wiki pages #801

Closed
HenrikJannsen opened this issue May 1, 2023 · 34 comments
Closed

Add Bisq 2 wiki pages #801

HenrikJannsen opened this issue May 1, 2023 · 34 comments
Assignees
Labels
documentation Improvements or additions to documentation
Milestone

Comments

@darawhelan
Copy link

I agree the wiki for both Bisq 1 and Bisq 2 should be hosted on the same wiki.

I would suggest having everything related to Bisq 2 should be contained within: https://bisq.wiki/bisq2

When Bisq 2 is live the main wiki index page: https://bisq.wiki/Main_Page can be changed to give people a choice between information related to Bisq 1 and information related to Bisq 2.

The wiki is already a bit mess from a navigation hierarchy point of view so trying to keep everything related to Bisq 2 within it's own sub directory seems to make sense.

Eg:

https://bisq.wiki/bisq2/

https://bisq.wiki/bisq2/roles
https://bisq.wiki/bisq2/roles/support-agent
https://bisq.wiki/bisq2/roles/mediator

https://bisq.wiki/bisq2/reputation
https://bisq.wiki/bisq2/reputation/burn-bsq

https://bisq.wiki/bisq2/roles/trade-protcols
https://bisq.wiki/bisq2/roles/trade-protcols/Bisq-Easy
https://bisq.wiki/bisq2/roles/trade-protcols/Liquid-Swaps

@HenrikJannsen
Copy link
Contributor Author

Yes agree. Would you be interested to help on that work?
I could write up the raw content for those ares which are not clear.

@darawhelan
Copy link

Yes, happy to make a start with it laying out the page structure and adding some content that can at least be used as a place holder for the time being until more details are known.

Will post the pages below as comments when they have been created.

@HenrikJannsen HenrikJannsen added the documentation Improvements or additions to documentation label Jul 1, 2023
@HenrikJannsen HenrikJannsen added this to the 2.0.0 milestone Jul 28, 2023
@HenrikJannsen
Copy link
Contributor Author

Are you still up for that task? We are getting closer to release and need to get those tasks done.

@darawhelan
Copy link

Yes, will make a start this weekend to put some holding pages together for the wiki.

@HenrikJannsen
Copy link
Contributor Author

@darawhelan Are you still available for that issue?
As we are getting closer to release, we would need to get that completed in the next 2-4 weeks to have some buffer time for adjustments. If you cannot commit to that deadline maybe @counterweightoperator could take it?

@counterweightoperator
Copy link
Contributor

Happy to help. Is there any documentation anywhere on how to edit the wiki? The readme on the wiki repo was not helpful.

@darawhelan
Copy link

Hi @HenrikJannsen

Great to hear that the launch of Bisq 2 is coming closer.

Can make a start on it this weekend.

Would be happy to have @counterweightoperator help me with achieving the deadline.

@counterweightoperator I will send you a message on Matrix with info about the wiki (my user is @darawhelan:matrix.org). You will need to get a wiki account set up so you can get started.

The wiki is based on MediaWiki, here are some help files about wiki editing here: https://www.mediawiki.org/wiki/Help:Contents

@darawhelan
Copy link

I have created the following Wiki pages for Bisq 2:

I would be great if @counterweightoperator can do the pages for the Bisq 2 Wallet (I think they have written the guide for the application already) and Bisq 2 Identities.

Some of the information I was not able to find out from the documentation / Bisq 2 repository alone without being able to understand the code itself for example (reputation / roles / identity).

@HenrikJannsen where is a good place to ask questions about the wiki content? Would you prefer it on this issue?

Also I think I would be able to improve the content further with screenshots / more context etc if I had access running Bisq 2. Are there any instructions for how to run the current version of Bisq 2?

I am happy to continue to add to the wiki but think I need more information in order to do so.

@HenrikJannsen let me know if I am on the right track with this content or if you envisioned something different.

@HenrikJannsen
Copy link
Contributor Author

@darawhelan Great thanks!

Re wallet: We will not ship a wallet in the initial release. It is not 100% decided yet which wallet we will use (currently Electrum and Bitcoin core).

@HenrikJannsen where is a good place to ask questions about the wiki content? Would you prefer it on this issue?

Yes I think we can use that GH issue.

Also I think I would be able to improve the content further with screenshots / more context etc if I had access running Bisq 2. Are there any instructions for how to run the current version of Bisq 2?

Which OS do you use? I can provide you a OSX and deb binary. For a more complete infrastructure (setting up mediators,...) it is a bit more complicated and probably best to wait until we have deployed Tor instances. I hope we are there in the next 2 weeks.

@HenrikJannsen let me know if I am on the right track with this content or if you envisioned something different.

Yes thats the direction I envisioned.

To give feedback to the provided text I think it would be easiest to use a gdoc or similar shared edit/feedback tool.
I also can provide more details to the identity/reputation parts. I will be not much online the next days though.

@HenrikJannsen
Copy link
Contributor Author

Is it easy to change the URLs later once Bisq 1 has been retired and Bisq 2 becomes Bisq? I think now its best to prefix all Bisq 2 content with Bisq2 or put it into a sub directory to make clear its about Bisq 2. but later it would be good to get rid of that prefix.

@darawhelan
Copy link

Is it easy to change the URLs later once Bisq 1 has been retired and Bisq 2 becomes Bisq? I think now its best to prefix all Bisq 2 content with Bisq2 or put it into a sub directory to make clear its about Bisq 2. but later it would be good to get rid of that prefix.

Agreed, but I could not see how to create a sub directory on the wiki. I tried looking online but did not find anything. Something about Subpages but I needed more access to the wiki than I had.

All existing wiki pages are found in the root directory, see: https://bisq.wiki/Special:AllPages

If sub directories could be created that would be great, otherwise it has the potential to get a little messy!

@darawhelan
Copy link

Is it easy to change the URLs later once Bisq 1 has been retired and Bisq 2 becomes Bisq?

Yes

@darawhelan
Copy link

darawhelan commented Oct 30, 2023

Which OS do you use? I can provide you a OSX and deb binary. For a more complete infrastructure (setting up mediators,...) it is a bit more complicated and probably best to wait until we have deployed Tor instances. I hope we are there in the next 2 weeks.

I am using Windows 10, not sure if that causes issues. Happy to have a go at running it but would need some support as I have not built something from source before.

To give feedback to the provided text I think it would be easiest to use a gdoc or similar shared edit/feedback tool.
I also can provide more details to the identity/reputation parts. I will be not much online the next days though.

Ok will get something set up.

@darawhelan
Copy link

darawhelan commented Oct 30, 2023

Questions:

Identity

Will the identities apply across trade protocols?

For example is a Bisq Easy 5 star rated seller is selling Bitcoin on the 2-of-2 multisig protocol will potential buyers see that they are rated 5 star?

I was a little confused with the identity section, not sure where to start. Might be better for someone else to write this section.

Roles

I am happy to have a go at writing this page but I do not know what roles will be included in Bisq 2. I made a list of all the roles I saw mentioned in the repository / discussion. I assume not all will be used:

Arbitrator
Bisq 1 reputation service
Bitcoin Node Operator
Blockchain explorer API node
DAO bridge service
Mailman Operator
Market price API node
Mediator
Mempool Operator
Moderator
Monero Explorer Operator
Oracle
Price Node operator
Release Manager
Security Manager
Seed Node Operator
Timestamp service

Please let me know which of the above will be roles in Bisq 2 and I will write some content for them.

Tor / I2P

I am not sure if Bisq 2 will run over Tor initially but then later have the option to run some aspects over I2P?

Reputation

This is a little confusing for me, but I think I will be able to improve on the content once I have access to the reputation simulation tool.

Do you think it is worth including the formulas for how reputation is calculated for each component in the wiki?

How is the 5 star system rating calculated? Assuming top users reputation score will be 100% / 5 star and other users become a percentage of that expressed as a star rating (eg user with 20% of top users reputation is 1 star, user is with 60% of top score is 3 star)?

@HenrikJannsen
Copy link
Contributor Author

I am using Windows 10, not sure if that causes issues. Happy to have a go at running it but would need some support as I have not built something from source before.

I heard from a dev who is on windows that there are some issues to get a binary. I will let you know once there is a binary available.
Running from source should not be too much of a problem if you want to try it out. You need java 17 and git on your machine and IntelliJ community version.
I can assist you once you have the basics installed/downloaded. There are only 1 or 2 extra things you need to do to get it running.

@HenrikJannsen
Copy link
Contributor Author

Questions:

Identity

Will the identities apply across trade protocols?

Yes. An identity is a collection of network addresses (tor, i2p) and a key pair.

For example is a Bisq Easy 5 star rated seller is selling Bitcoin on the 2-of-2 multisig protocol will potential buyers see that they are rated 5 star?

Identity and reputation are separate concepts. Reputation is based and tied to one identity. Currently it is not planned to re-use the Bisq Easy reputation for the Multisig protocol. But its something we could consider.

I was a little confused with the identity section, not sure where to start. Might be better for someone else to write this section.

Ok. I can provide a draft.
On short: Users can create multiple identities (user profiles). Each interaction (chat, trade) can then be isolated to one identity. Thus if you trade fiat with identity 1 and don't want to leak anything to a XMR trade you can create identity 2 and there is no link between those. In Bisq 1 your key pair and onion address is the same for all, so if one knows your rela life name from a fiat trade and you have monero offers, they could link that.

Roles

I am happy to have a go at writing this page but I do not know what roles will be included in Bisq 2. I made a list of all the roles I saw mentioned in the repository / discussion. I assume not all will be used:

Arbitrator Bisq 1 reputation service Bitcoin Node Operator Blockchain explorer API node DAO bridge service Mailman Operator Market price API node Mediator Mempool Operator Moderator Monero Explorer Operator Oracle Price Node operator Release Manager Security Manager Seed Node Operator Timestamp service

There are roles and node operators:

Roles:

  • Mediator (similar to Bisq 1 mediator)
  • Moderator (can ban users, chat room moderator)
  • Security manager: Similar to Filter operator in Bisq 1. Can publish data to block other roles/nodes and other security related things (block trading). User can deactivate per program argument security manager, so the security manager has reduced power.
  • Update manager: Publishes software update notifications

Node operators:

  • Seed node: Similar as in Bisq 1 but seed nodes have less importance for initial data requests. There must be at least one hard coded seed node.
  • Oracle node: Serves a bridge and "notary" for Bisq 1 DAO data and P2P network data (account age, account age witness data) and for timestamping Bisq2 profile creation (Bisq2 account age). There must be at least one hard coded seed node.
  • Explorer nodes: Lookup for trade transactions for informational purpose. Pose little but non-zero risk.
  • Market price node: Same as Bisq 1 price nodes.

All Bisq 2 roles and nodes must have a BSQ bond setup and be registered via the oracle node which will verify the BSQ bond. Only the root seed node and root oracle node cannot be verified that way as it would be a chicken and egg problem. Though those root nodes are expected to have also their Bond set up and users can manually verify those nodes bond (as well as all the other roles/nodes). All roles/nodes need to get voted ok before setting up their bond. Bisq 1 mediators can re-use their bond they have locked up already.

Please let me know which of the above will be roles in Bisq 2 and I will write some content for them.

Tor / I2P

I am not sure if Bisq 2 will run over Tor initially but then later have the option to run some aspects over I2P?

It was planned to run on both networks, but it seems that I2P is too unstable atm. We likely will deploy with tor enabled only and users can enable I2P in the settings with a warning that its experimental. If a dev sufficient familiar with I2P fixes the open issues we might get to the initial plan.

Reputation

This is a little confusing for me, but I think I will be able to improve on the content once I have access to the reputation simulation tool.

Do you think it is worth including the formulas for how reputation is calculated for each component in the wiki?

Hm, not sure. Maybe a screenshot should be enough?

How is the 5 star system rating calculated? Assuming top users reputation score will be 100% / 5 star and other users become a percentage of that expressed as a star rating (eg user with 20% of top users reputation is 1 star, user is with 60% of top score is 3 star)?

Yes.

There are currently 4 sourced for reputation:

  • Burn BSQ
  • BSQ bond
  • Account age witness
  • Bisq 1 Account age

Burn BSQ:
A user can burn any amount of BSQ above dust limit (5.46 BSQ). The formula calculates the value this form of reputation creates. The more BSQ burned and the newer the burn event the more value. Details are in the formula. Repeated regular burning is considered better than one time burn of a higher amount, thus the formular is a bit more complex to represent that time factor. It is assumed that regular burning (e.g. each week or month) is some form of work and represents activity.
E.g. A scammer has easier life to burn one time 1000 BSQ rather that to burn 10 months 100 BSQ.
Burning BSQ has the highest weight as its considered the highest commitment. Penalizing a scammer is happened by the moderator by banning the user profile.
Data about burned BSQ gets published automatically by the oracle node.

BSQ bond:
Similar to Burn BSQ but using refundable BSQ bonds. Min. lockup time is 10000 blocks (about 2.5 months).
The locktime is used in the calculation.
To confiscate a scammers bond requires high quorum at DAO voting, thus its more risky that the confiscation might fail.
The weight of that reputation source is therefor lower.
Data about burned BSQ gets published automatically by the oracle node.

Account age witness:
Bisq 1 account age witness can be imported to Bisq 2 via the oracle node.
It is assumed that a user who have traded on Bisq1 for sufficient time to have been signed is more trustworthy than a user who have not. Only fully signed accounts are considered.
In case of repeated registrations the oldest account will be used (as it has the highest value). Multiple accounts do not get accumulated.

Bisq 1 account age:
Bisq 1 account age can be imported to Bisq 2 via the oracle node.
It is assumed that a user who have created an account on Bisq1 some time ago is more trustworthy than a user who have not. This is the weakest weight for reputation. In case of repeated registrations the oldest account will be used (as it has the highest value). Multiple accounts do not get accumulated.

In all cases the user profile ID (pub key hash) is tied to the reputation source. By banning a user their reputation is not usable anymore. Thus the moderator has quite some power.

The total score is calculated as sum of the individual reputation sources/events (Burning/Bonding can be repeated).
The total score is then compared to other scores in the network and ranked and normalized to a value between 0 and 1.
The user with the highest ranking has 5 stars. 0 stars is score of 0.
Every user profile gets published to the network when the user starts the app and is valid for about 2 weeks. If a user has not been using Bisq in that time, their profile gets removed from the network. Thus a high reputation score is only visible in the network as long the user has been active.

One could phrase it as: The reputation is the relative ranking compared to the reputation of the active users in the network.

@HenrikJannsen
Copy link
Contributor Author

@darawhelan How is the state of that issue?

@darawhelan
Copy link

darawhelan commented Nov 12, 2023

Hi @HenrikJannsen

Thanks for all the info it is useful.

I have taken the info supplied and used it to edit the following pages for Bisq 2:

To give feedback to the provided text I think it would be easiest to use a gdoc or similar shared edit/feedback tool.

All the documents above have been created in a shared CryptPad that can be edited:

https://cryptpad.fr/drive/#/2/drive/edit/Qe2uck5D-VyNRfDg5jOn3exW/

I have left them in their wiki formatting for easy copy / paste.

Please feel free to make any comments or edits.

Running from source should not be too much of a problem if you want to try it out. You need java 17 and git on your machine and IntelliJ community version. I can assist you once you have the basics installed/downloaded. There are only 1 or 2 extra things you need to do to get it running.

I have installed java 17 and git on my machine.

Is this the correct link to download IntelliJ community version:
https://www.jetbrains.com/idea/download/?fromIDE=&section=windows

@HenrikJannsen
Copy link
Contributor Author

Is this the correct link to download IntelliJ community version:
https://www.jetbrains.com/idea/download/?fromIDE=&section=windows

Yes

@darawhelan
Copy link

darawhelan commented Nov 19, 2023

Hi @HenrikJannsen

I have made additional edits since the feedback provided.

Pages still to be completed by @counterweightoperator:

All the documents are also updated in the shared CryptPad that can be edited: https://cryptpad.fr/drive/#/2/drive/edit/Qe2uck5D-VyNRfDg5jOn3exW/

@HenrikJannsen
Copy link
Contributor Author

HenrikJannsen commented Nov 22, 2023

I linked all wiki pages from the app and added a link to identity from the user profile screen.
See #1400

@HenrikJannsen
Copy link
Contributor Author

What is the state of that issue? Can we estimate a date for completion?

@counterweightoperator
Copy link
Contributor

@HenrikJannsen, from my side, last I heard the Identities page was considered not necessary. Let me know if I misunderstood. Other than that, the only thing on my court is this additional scoped we defined here: #1508 (comment).

@counterweightoperator
Copy link
Contributor

@darawhelan is there anything pending besides the Identities page that we may or may not go for? Thanks

@darawhelan
Copy link

Hi @counterweightoperator

Thanks for your work on the wiki.

From my side I need to edit the https://bisq.wiki/Reputation page as the way the reputation is managed has changed and is now a lot clearer to me. I will complete this page this weekend.

I also thought I would add a 'How to trade safely on Bisq Easy' page with some tips for buyers and sellers. This page can be developed over time and Bisq 2 can be launched without this page if needed.

Regarding the Identities page I think it would be good to have something. Even if brief. Will be a shame for someone to delete an identify by mistake if they have built up reputation. @counterweightoperator how to you feel about creating the identifies page?

@counterweightoperator
Copy link
Contributor

I agree. I'll make something for identities, even if we keep short and simple. Thanks @darawhelan.

@darawhelan
Copy link

I have updated the Reputation wiki page https://bisq.wiki/Reputation

@darawhelan
Copy link

I have added a 'How to stay safe on Bisq Easy' section to the Bisq Easy wiki https://bisq.wiki/Bisq_Easy#How_to_stay_safe_on_Bisq_Easy

@HenrikJannsen
Copy link
Contributor Author

@darawhelan Can we replace https://bisq.wiki/File:Reputation_measurement.png with a up-to-date image?

I guess the content is kind of complete now? Right? If so I would close the issue.

@HenrikJannsen
Copy link
Contributor Author

@darawhelan Is there anything open with that task or can we close it as completed?
I am aware that the wiki is a living document with permanent updates on the fly. So that issue should only cover the basics required for the release.

We should also have a plan how to link the Bisq2 / Bisq Easy pages into the main page (to be deployed at release date)

@darawhelan
Copy link

Can we replace https://bisq.wiki/File:Reputation_measurement.png with a up-to-date image?

Yes, do you have an image I can use to replace it with? Not sure how to access the new images?

@darawhelan
Copy link

@HenrikJannsen I have completed everything on the wiki from my side bar replacing the image.

@counterweightoperator still needs to complete the https://bisq.wiki/Identities page, but the issue can be closed as this page it not required prior to launch.

We should also have a plan how to link the Bisq2 / Bisq Easy pages into the main page (to be deployed at release date)

I think the simplest way to do this is to rename https://bisq.wiki/Main_Page to be https://bisq.wiki/Bisq_1

Then create an new page for https://bisq.wiki/Main_Page that gives users the option between finding out more about:

It should be a simple change (Less than 30 mins work). I am happy to do this when needed.

@Ven32123
Copy link

Ven32123 commented Feb 6, 2024

I have added a 'How to stay safe on Bisq Easy' section to the Bisq Easy wiki https://bisq.wiki/Bisq_Easy#How_to_stay_safe_on_Bisq_Easy

@darawhelan It might be a good idea to add a couple of optional general tips on how to stay safe.
a. Use anti-virus software to make sure your computer is clean.
b. If possible only use your bisq trading computer for finacial use. Surf the internet, stream, check email ect... on a seperate computer to reduce the likely hood of getting a virus on your trading computer.
c. Use a VPN.
d. Secure your seed phrase preferable on a metal hardware wallet and keep it in a safe location where only you have access.

Many of these items are common sense to us veterans, but with the up coming bull cycle there will be a lot of new comers with out this experince. Feel free to make any changes to above suggestions.

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

No branches or pull requests

4 participants