Skip to content

Mentors4EDU/Bisq-Proposal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 

Repository files navigation

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

Bisq 2.0 - Social Trading Expansion Proposal

Author: Andrew Kamal @Mentors4EDU

Background: In response to #330 having social trading, and me wanting to also do social trading for a while as well, I decided to work on this proposal. I think Bisq can utilize some variation of social trading and I have a general idea of features I would hope for.

Table of contents

  1. Overview
  2. Base Modules
  3. Roadmap
  4. Project Goals

Overview

Bisq as a decentralized exchange has the potential for many social aspects and technological implementations. One of those aspects could be an integration of some form or variation of social trading. Social trading as a concept is open and transparent given the utilization of actual statistics and insights based off of skills or trading abilities. This proposal is on an open-source implementation of social trading on Bisq's network.

Base Modules

There will need to be a series of modules and/or components integrated into this project. Having something modularly built will allow for easy upgrading, and I do take somewhat of an inspiration from the Bisq-2.0 proposals. If something isn't modularly built, not only is upgrading a hassle. For certain issues, debugging and maintaining over time can also be hectic.

Profile

The profile needs to have just the basics. Optionally, it doesn't really have to have a profile picture but can denote some sort of icon given that a profile picture is just meaningless data storage. (At least in this instance). It depends on the community's preference. What it will have will include a description, a link to website, and a button to view trade history. It will also include metrics in regards to percentages for YoY returns. There will be a follow trades button which the user can input a certain percentage such as the default commission being 5% or set a custom fee. The ability to chose between both fee and percentage can offer flexibility for many users.

These features have been crossed out to preserve the privacy-preserving nature of the network (even though they are optional). This is as to not pressure someone into thinking they need to be included.

Trade History

Users can have the option between trading in real time or with a test network. Obviously, you only earn for real trades. There will be a tab for real time trades and test network trades. The tabs for trade history will only show entry and exit prices and percentages, it will not show how much money was put in order to encourage fair markets and a layer of anonymity.

Simulation Modes

You will be able to see simulation charts for the different trading histories and have the option to follow user's trades. You can follow trades that users do with real money including test network strategies. You can also run simulation tests. When following test network strategies with real money, that means every time the user inputs a simulated trade, you are actually doing that trade with real money. This is similar to other social trading websites such as Collective2's TOS badge or eToro's hypothetical performance charts.

For charting and market data, we would use the default Bisq charts or build untop of them.

Support for Scripts

I recommend support for the Julia programming language, given it is suited for numerical analysis and perfect for quant traders. I think you can utilize some sort of embedded API for implementation. There are many things in regards to what support for Julia could do. People can not just make manually traded strategies, but also make trading strategies that are automated or custom indicators that people can trade with for a fee percentage or custom licensing fee. The support for both manual and robotraders is something many social trading networks have, and support for Julia can attract alot of quants and mathematicians. Optionally, we can add secondary support for Python as well, but the use of Python has already been overly utilized.

In regards to Julia, packages such as the decentralized-internet SDK, Gen, Quandl.jl, TradingLogic.jl, FinMarkets.jl, Ito.jl, and TradeModels.jl can come pre-installed to support custom developer environments.

Ranking Mechanism

In regards to the ranking mechanism, I believe the UML below best illustrates how that will play out:

TradingUML

The ranking mechanism should support fairness and decentralization. That is why profiles are going to be ranked on performance-based metrics rather than how many people are following their trades. The metrics are going to be: Categories for YoY estimated ROI %, ROI % per Trade, and a Risk Tolerance subcategory. Risk tolerance in regards to uncertainty is measured by drawdown percentage in relation to returns. The better one performs, the higher they are ranked in a certain category. Performance-based is the best type of ranking mechanism in the world of trading.

Test and Realtime Support

As noted, both trades on a test network and realtime strategies can be followed. The same applies whether it is manual or automated. This is actually a good thing, because along with the ranking mechanism, traders can be rewarded on skills rather then them putting large amounts of money in their strategies upfront. Also, lower income traders might be higher skilled then some higher income traders. Leveling up the playing field is key.

Disclosures

Likely some sort of risk disclosure will need to be implemented that is site-wide and usage specific. This is due to the nature of exchanges and social trading in general, and the disclosure text can be open-sourced or within the public domain.

Regarding Privacy

I think users can have the option of being public to an extent (description and site profile fields), or having some level of anonymity or pseudonymity. There has been comments in the past regarding levels of pseudonymity, and I believe the network can still have privacy-centric aspects to it. This will be one of the key focuses or aspects to look at in regards to development.

These comments have been crossed out to preserve the privacy-preserving nature of the network (even though they are optional). This is as to not pressure someone into thinking they need to be included.

Addressing Liquidity

In regards to liquidity, it is of my opinion that liquidity wouldn't be too much of an issue in the long run. Also, it may not be the best reason as to why something should or should not be developed. While Bisq still isn't in its infancy and alot of its users tend to be Bitcoin maximalist and non-sellers, this has more or less to do with Bisq's technological premise. Yes, liquidity is quite small, but the technology in regards to supporting high liquidity is within reach. It is of my opinion that with integrations such as social trading and the features discussed in proposals such as these, liquidity will no longer be an issue.

New Privacy Integrations

Integrations for privacy and privacy preservation are of the outmost importance. That is why instead of just focusing on reputation, one must also focus on numerous privacy layers in regards to reputation. Currently, even given the P2P compatibilities and the difficulty to store data without sacrificing privacy, comes new ideas centered around tackling these issues. These issues can not be tackled in a way that isn't decentralized or doesn't make sense through the lens of technological compatibility.

Preserving Privacy

As mentioned, privacy preservation is of the outmost importance. While, transactions are still hashed on Bitcoin's blockchain, there are still other layers of privacy that can be integrated beyond this. This is especially true in relation to preservation of trade history or other related data.

Layers of Anonymity

An example integration can be an anonymity layer or custom sidechain, that focuses on preserving and hashing data or being like a secondary shield. This can be custom coded and built as a P2P decentralized feature with no central authority or database.

Validation Mechanisms

Numerous data and validation mechanisms can be put into place. This includes how Bisq already completes market orders, as well as variations of privacy-preserving transnational escrows for different forms of trades. Instead of over-complicating the solution, the focus should be on technological protocols that don't integrate a form of data collection, but do integrate a form of data shielding and encryption without actually storing the data.

Regarding Reputation

The same formalities can apply to reputation. There could be voting mechanisms given profiles are anonymous. However, taking this a step further, if one properly integrates various forms of transnational escrows and already shields data, then reputation shouldn't be an issue. If you can rank trades anonymously and also not push invalid trades through, then that is already the primary focus. Bisq already does a great job in many of these things, but integrating extra layers of privacy while having something such as social trading, can really reiterate both the privacy-preserving and network compatibilities that make Bisq a great contender.

Roadmap

There are lots of things to take into consideration in regards to building this platform. Most likely from acceptance and funding to MVP, the timeline is 4 to 5 month with around 4 to 7 part time and voluntary software developers. More details will be in the funding section. This is almost the equivalent of building a full scale exchange given the advancements needing to be in place, but it is a very ambitious and promising project.

Project Goals

In regards to project goals, besides a basic ACK, we are trying to get funding, design, build and market the platform. My goal is to eventually maintain this and personally work on marketing this platform and bringing more awareness towards Bisq. There are already lots of mediums I have to market this as a career-long startup advisor, and I have a general idea of how I will be managing the technological implementations of this project.

Basic Community Acceptance

We are hoping to receive an ACK for this proposal. Please keep in mind that proposals can be commented on, discussed and updated over time. Also, remember criticism is best handled with a degree of respect and politeness within the context of the idea being critiqued.

Get Funding

The funding I am looking for is around 35k Bisq done through the Bisq DAO. Although this is negotiable, I calculated how much it would cost for the potential hiring of engineers + my time allocation. The actual COCOMO model would suggest probably alot more. Also, I would want a 0.25% trading fee in regards to project maintenance over time (from the social trading only). Keep in mind this will still be open-source. Again, the funding will likely be crucial given lots of time will be voluntary and the low volume of Bisq as well

Design and Mockups

Part of this project will also include a design phase. We want to make sure that the design fits well with Bisq's current UI and UX. This includes everything from trade history and order books to its social aspects.

Hiring Team

The team will be paid from the Bisq funding pool. I will be taking the role of mostly a PM and CTO during the development process. I won't be taking from the funding pool, but rather instead be taking trading fees as a form of managing the platform over time and sort of being its chief technologist and marketing strategist. Many marketing costs that may occur afterwards will be mostly on my own dime. Henceforth, this is why the minor fee is helpful.

Marketing

I think marketing is a thing that Bisq lacks. You can still be decentralized and theoretically teamless while focusing on others to use your software. I believe that social trading provides the opportunity to tap into markets that Bisq has yet to enter. Also, with the rise of many DEX and supposed "DeFi" apps, I believe Bisq can offer a popular alternative to what is mainstream.

MVP Built

Once the MVP is built, we will start garnishing some community feedback and preparing for the launch.

Project Launch

Once all the milestones are met, the MVP has been built, and things are ready for full deployment, it will be officially launch time. My focus at that time will than be marketing, network growth and scalability.

For sake of transparency, in regards to issue edits based on consensus, you can see the draft history via the repo here. This is as of the writing of this proposal.