bisq-network / proposals

@bisq-network improvement proposals
https://bisq.wiki/Proposals
44 stars 16 forks source link

Dispute resolution changes for bisq 2 multisig #459

Closed MwithM closed 2 months ago

MwithM commented 3 months ago

After reading #458, I have decided to share the ideas I've had in my mind for some time about of how to improve mediation and arbitration. Maybe Bisq 2 multisig integration allows some of this changes to be implemented.

Changes for mediation:

  1. Mediators picking tickets from a list. The burden of being constantly online to see if new cases appear would be reduced, and mediators could chose the cases where they feel more comfortable with, like specific payment methods and languages. As a secondary consequence, that would make also possible to filter the cases they get, for example by the amount of volume for their current mediation cases in relation to their locked bonds. Since they only suggest payouts this does not increase security a lot, but it could increase the amount of mediators as reducing the required bond for mediators would be safer.
  2. Rank mediators. Objective ratings and users' evaluation would configure this ranking. The parameters I would consider, in order of importance, are: Accuracy (objective as in ratio of trades in arbitration) and subjective (clearness in their suggestion), helpfulness, response times and age. Mediators with a higher ranking could get more offers to pick from, and/or could ask for higher compensation requests.

Changes for arbitration:

The refund agent role consists in a second round of evaluation (arbitration) and a payout (reimbursing the trader/s with in accordance with their own judgement). There are good reasons to keep both tasks under the same role, but separating them, if done correctly, would increase decentralization.

  1. Remove arbitrator and introduce a second round of mediation. It could always be necessary to have a second evaluation without involving the DAO. Instead of a dedicated arbitrator, this could be done by randomly picking a second mediator who reviews the case, or, if there are enough mediators, a couple of them + the original mediator. These two would review the case and reach a consensus with the third, or inform about the decision adopted by the majority of the three.
  2. Decentralize payouts. I think that payouts could be decentralized like burningman was. It's not an easy or risk free task. Creating the burningmen distribution system wasn't either.

The most important for arbitration is reducing the amount of tickets, and a very effective measure is already on the roadmap as new multisig trading protocol makes arbitration unnecessary when traders are unresponsive.

suddenwhipvapor commented 3 months ago

Thank you for your proposal, I have a few questions:

MwithM commented 3 months ago

Giving more cases to pick from to those who have less volume of trades currently ongoing. The bond could be different between mediators just like there are sellers with a lower amount of burned BSQ trading in Bisq 2. Those with a higher bond would have more "space" to get more offers. That has up and downsizes, I'm implying that mediation would not grant a fixed but a variable compensation, and thus bug reporting/fixing would be disincentivized.

Even if the reason for mediation is unavoidable, the mediation can be handled better or worse, and that's what users should reflect. There's the possibility that the losing part in a mediation will vote negatively to their mediator even if they did a good job just for revenge. This cases should balance out in the long term between different mediators, but ways to mitigate this effect might be necessary, so mediators can freely apply penalties when required. I'm thinking that a very bad mediation feedback from a penalized party should offer a clear report of what happened or be discarded.

pazza83 commented 3 months ago

@MwithM thanks for sharing your ideas.

I like the concept of ranking mediators, not sure about mediators picking there own tickets as I think this creates possible allegations of collusion.

If there was a ranking system in place maybe this could be converted into a ranking out of 100 for satisfaction, and tickets could be randomly assigned taking into account the mediators ranking:

Example:

Mediators average satisfaction scores (out of 100)

Mediator 1: 70 Mediator 2: 80 Mediator 3: 50 Mediator 4: 30

Total: 230

Chance of mediator getting a ticket:

Mediator 1: 70/230 = 0.30 Mediator 2: 80/230 = 0.35 Mediator 3: 50/230 = 0.22 Mediator 4: 30/230 = 0.13

New mediators would start with a score of 50, to give them a chance to build up their satisfaction score.

The satisfaction score would create an equlibrium. If mediators where too busy there scores would go down if not doing the best job. If mediators where too quiet it would give them the opportunity to do a better job with the tickets they had to increase their score.

The system above would also allow an easy way to see what mediators should be removed eg a medaitor with a prolonged satisfaction rating of less than 50%

I think the bond can still be a fixed amount. I think the potential problems a mediator can cause is with regards to the user account data they are made aware of rather than affecting a payout.

With regards decentralizing the arbitrator role I think this is something to be aimed for, however, once the new trade protocol is in place the arbitrator will get 5-10% of the current tickets so I do not think it is a good candidate for decentralization at present considering the low number of tickets they will deal with. At current arbitration levels I anticipate approximately 5 arbitration cases a month (once the non responsive trades are removed from arbitration).

That being said I know we have previously spoke about splitting up the arbitration role from the reimbursement role. I think this is still a good solution.

The arbitrator can make a judgement and the reimbursement could be made by anyone. For example arbitrator posts on GitHub the result of their arbitration case along with payout addresses, no names data would be needed. Any Bisq user could them come along and reimburse the bitcoin address and claim compensation from the DAO in BSQ for doing so.

MwithM commented 3 months ago

I like the concept of ranking mediators, not sure about mediators picking there own tickets as I think this creates possible allegations of collusion.

Picking tickets would not fix allegations of collusion, which currently a mediator can do at 50% of the trades as there are just 2 mediators, with a 100% success rate as mediator is known before opening mediation. On the positive side, I think tickets would be replied much quicker, as there is no reason for a mediator who picks a trade to start replying right after picking it, and it would even facilitate mediators to have a vacation when needed. The amount of info displayed before picking a trade could be adjusted depending on the needs. I think it would be impossible for a mediator to not know which trade is theirs, but trade amounts or even payment methods could be hidden.

I think the bond can still be a fixed amount. I think the potential problems a mediator can cause is with regards to the user account data they are made aware of rather than affecting a payout.

Agree with that, I had this in mind (mediators only suggest, final decision is taken by the DAO but only in extreme cases), but instead of a fixed bond I was thinking about a minimum bond.

The arbitrator can make a judgement and the reimbursement could be made by anyone.

Although I have proposed that change, I'm worried that when splitting arbitration and reimbursement roles, there will bes less skin in the game for both roles. Arbitrator would not fear not being reimbursed, and trade reimbursement agent would be inclined to pay automatically. Actually, automatic payments would be expected as otherwise it would be an arbitrator of the arbitrator. From all the four changes, this is the less likely to be implemented but still something nice to think about for the long term.

pazza83 commented 3 months ago

Picking tickets would not fix allegations of collusion, which currently a mediator can do for 50% of the trade and is known before opening mediation. But I think tickets would be replied quicker, as there is no reason for a mediator who picks a trade to start replying right after picking it, and it would even facilitate mediators to get a vacation when needed.

I think picking tickets creates more possibilities for any allegations. I think the current randomness does provide some protection to allegations of collusion. Also I can see mediators being asked by a trader to always take on their cases when they see them. Although this can be done in good faith I think this has the potential to cause issues.

A vacation would be nice :) But there is work to do with the current tickets in progress or even old tickets being re-opened. Currently a mediator can sign out from receiving new tickets, which is pretty much the same as in the above of not selecting new mediation cases.

Traders being able to agree to transfer their case to another mediator, or even just adding another mediator to the ticket, in the case of an unresponsive mediator would be a good option.

HenrikJannsen commented 3 months ago

Thanks for the suggestions.

I am not sure if those suggestions would be better suited if there would be a big pool of mediators/arbitrators who would want to work and compete for the job. I guess that is not reflecting our reality. To ensure quality of service I think we can define clear rules (e.g. mediator need to respond in xx hours, if x times failing to do so he has to step out and get replaced, in severe failures the bond can be confiscated). Instead of adding a problematic (loser might smear mediator unfairly) ranking system I guess in severe failure of service (e.g. mediator or arbitrator made a mistake or failed to respond) the traders will escalate that to the community and then the DAO can take actions.

To make ticket allocation depending on ranking might also lead to higher "centralisation" of the best ranking mediator which is not desired.

To all that, implementing those suggestions is not a small task (have not though out the details) and I see just too many other higher prio tasks from my point of view (MuSig, mobile,...).

I think we should rather focus on how to decrease number of mediation and arbitration cases. The non responsive trader problem is already addressed by the multi stage payout protocol update for Bisq1 and will be integrated in Bisq2 MuSig as well. But wondering what are possibilities to reduce mediation cases in Bisq1 and Bisq Easy. I guess it is mostly UX / communications / in-app support tasks. Those are from impl. effort low-effort tasks, but devs would need concrete suggestions (text, ideas,...).

MwithM commented 3 months ago

My idea is that it will be easier to get new mediators if, for example, bond requirements are reduced as the amount of tickets a mediator can get is limited depending on their bond. Or it's more flexible as a mediator can get only the kind of trades that suit them. It is easier to get an idea of a mediator performance if users send feedback for every trade.

If Bisq go from 2 mediators to 4 (I don't think about a scenario where more than 6 mediators are needed, except hyperbisqization), to "centralize" a single mediator to something like what we got now, the share should need to go from the 25% if they were equally distributed, to 50%, leaving the other 3 with 16%. I think this scenario is unrealistic, but if this mediator was that better than the rest, it would not be that bad. If the evaluation works properly, he's showing an amount of pow that makes it less likely to commit a failure/attack on Bisq users. Like I said before, there is no reason for a mediator who picks a trade to start replying right after picking it and I have to add that there is no reason to pick a trade if their current issues have not been properly addressed. If a mediator wanted to get a lot of tickets, he would have to be efficient addressing the issues on their table.

I agree that there are more important tasks, that's why I haven't shared this before, but I think that this mediation measures would be the way to go to improve mediation significantly. Even for a case where a trader is not responding a mediator will be required. Most mediation cases are support-like tickets instead of disputes, so decreasing them a lot does not seem feasible to me.

suddenwhipvapor commented 2 months ago

Closing as stalled, notify me if you believe it should reopened.