bisq-network / projects

@bisq-network project management
https://bisq.wiki/Project_management
9 stars 2 forks source link

Improve dispute resolution #67

Open refund-agent2 opened 1 year ago

refund-agent2 commented 1 year ago

_This is a Bisq Network project. Please familiarize yourself with the project management process._

Description

This project contains diverse proposals to reduce arbitration cases and make it clear that arbitration was the last resource.

Rationale

Requiring arbitration became worse for traders since we can't fully reimburse them. This project aims to reduce reduce arbitration cases by extending mediation process after a suggestion is delivered and improving communication during the dispute resolution process. Arbitration cases can be divided into: Unresponsive trader: We need to make sure who is not responsive before opening arbitration. This is the most frequent, and there's not much we can do about it as long as they don't explain they've went away. Bugs: We need to make sure they're reported. Manual payout must be the default option in this cases, as full reimbursements suppose risk for the DAO. Traders disagree with mediator: A trader should let know the mediator why they're not accepting a suggestion, most of them are mistakes. This is the most infrequent arbitration case.

Criteria for delivery

Improve something is a never ending project, so I'll limit the scope of this project in time: All tasks will be completed and code will be ready to be included into next Bisq release before the end of March and measures of success will be taken 3 cycles after measures are implemented.

Measures of success

Risks

I considered asking for software checking if a deposit tx was spent to close a ticket, but I think that human actions are enough to close a ticket, so I don't think that sensitive areas will be modified. Risks that I can think about are:

Tasks

Estimates

Less than 1300 USD.

Notes

The features required have changed a lot since the creation of this project, thanks to @jmacxx and the rest of the support team for clarifying the features and providing feedback.

w0000000t commented 1 year ago

Personally, I don't see any critical point to this idea; would require reworking some areas, but doesn't look like this should introduce risk of new issues to me

ghost commented 1 year ago

Regarding task 1 (Follow up mediation suggestion) - does that also include the ability for the mediator to make revised/corrected payout suggestions? I think it would be nice to have, just asking to make sure we're on the same page regarding work.

refund-agent2 commented 1 year ago

Definitely would be nice to have, but since it has been stalled for so long, I don't know if it will keep this project stalled. @pazza83 @leo816 Do you frequently need to correct payout suggestions? This feature would be great as a manual payout is difficult and time consuming, but if it's difficult to implement and not used much it's better not to implement it. I would include it if you think it's possible to do it in about two-three weeks. Otherwise, I'd rather keep it with an automatic message and keeping tickets open until they're closed by the mediator.

pazza83 commented 1 year ago

@pazza83 @leo816 Do you frequently need to correct payout suggestions?

Not often. Maybe once every few cycles. The feature would be nice to have but would not need to be used often. Usually the reason it would be needed is if I have made an error or something has happened after mediation proposal (eg funds being refunded or payment arriving).

I think most manual payouts I make are result of either a bug or user error (user deleting needed data).

pazza83 commented 1 year ago

My thoughts are:

Unresponsive traders As they take up to 90% of arbitration cases I would like to see a solution implemented for these trades that can avoid arbitration / funds going to the donation addresses if possible. I think this would benefit both the DAO and the responsive peer.

Bugs Agreed these should be reported. One of the issues I see is that traders can become unresponsive after they have accepted mediation. I suppose if they are infrequent Bisq traders they have no reason to regularly check in on the app to see if the other peer has accepted or if there has been a bug. There is also the issue that manual payouts require a somewhat higher level of technical skill than trading and users are required to provide a hex code to complete the trade. I think this can put some traders off. I frequently see traders become unresponsive when being asked to supply the info needed to make a manual payout. I think some of them prefer to reply on arbitration, or just lose interest in resolving the issue over time.

Traders disagree with mediator I think quite a number of traders that disagree with the mediation suggestion do let mediators know. From my perspective the disagreements are often not based on the trading rules or suggested penalty amounts, but are often based on annoyance of being penalized for their actions. These trades usually end in mediation with both traders being responsive.

With regards the criteria's for success:

Increase manual payouts.

Yes, manual payouts should increase in cases where both traders thought they had accepted mediation but a bug meant the trade was not paid out.

I think having the option to re-send mediation acceptance message would be useful. This would make it more likely a message gets through when the first one does not get sent due to a tor issue. This could be implemented in the same way re-send payment confirmation works.

Also from experience of trading on Bisq I not confident that the status of the mediation ticket is always accurate. For example as a trader on Bisq sometimes I might wait for the UI to show me that my peer has accepted mediation before I accept. In many cases when I do choose to accept mediation the payout occurs immediately and I was not informed the other peer had already accepted. Maybe if the status of the messages between peers was more accurate it would decrease arbitration.

For example allow peers to see if their counterparty had accepted mediation proposal or conversely rejected it and seeing what the reason was for rejection, therefore allowing a manual payout to be considered.

I think traders on Bisq are left in the dark about their peers actions during the mediation process. This could be improved.

Reduce total arbitration cases (37 per cycle in last 3 cycles).

Agreed, I think it should be measured as a percentage of arbitration cases for total number of trades. I think the best ways to drastically reduce this is have a protocol to deal with unresponsive peers and avoid sending funds to the donation address if possible.

Unresponsive traders % increased (90% during last 3 cycles)

I would like to see the percentage of unresponsive traders cases as a percentage of total arbitration cases decrease.

refund-agent2 commented 1 year ago

Avoid arbitration in case of unresponsive peers that will require to change the trading protocol. If it was possible to avoid arbitration for this cases, it would be possible for all the cases. Leaving that out of this project does not mean that it is not important, but it needs to be considered apart.

I don't think that knowing if your peer has accepted mediation should change whether one accepts it or not. I am not sure if there are alerts when your peer accepts mediation. If there are, it does not change the fact that traders should accept mediation as soon as possible and inform the mediator if the suggested payout is not broadcasted in the next 48h.

One case that happens sometimes is that a peer, according to their replies in arbitration, didn't know they had to accept mediation or did not know their peer had to accept mediation as well. An automatic message and not closing the ticket when suggestion is submitted should improve that.

pazza83 commented 1 year ago

I don't think that knowing if your peer has accepted mediation should change whether one accepts it or not. I am not sure if there are alerts when your peer accepts mediation. If there are, it does not change the fact that traders should accept mediation as soon as possible and inform the mediator if the suggested payout is not broadcasted in the next 48h.

Yes there are alerts when a peer accepts meditation but they are inconsistent.

I think my point is if you know your peer has accepted and then you also accept if you do not receive a payout you will message mediator who can initiate a manual payout.

Currently traders are in the dark, so they do not now what their peer has done so therefore they default to arbitration if they do not receive a payout in the time prior to the time lock rather than re-opening mediation.

MwithM commented 1 year ago

Quoting a user who just had their first dispute resolution case in the link above:

The mediation process is difficult. BISQ does a good job with having pop-up boxes to help explain things. The mediation is like going blind. I didn't even know there was a difference between mediation and arbitration until yesterday. This is not clear to the user. As far as liquidity goes, I do not understand why there needs to be a security deposit for the liquidity provider. Who or what is that for if it doesn't go to the winner of the arbitration?

refund-agent2 commented 1 year ago

We had a call yesterday with @jmacxx and showed a demo of the work done.

We saw that mediators get a message when arbitrator does a payout. It would be better to be alerted when arbitration starts, so they can close the mediation tickets and traders know they need to attend to arbitration.

This 2 features were required:

refund-agent2 commented 1 year ago

This proposal has 3 requirements:

  1. Include explanation on how much buyer and seller get from mediation so it's easier for them to know if they should accept it.
  2. Explaining that if mediation is not accepted and arbitration is required, 1 security deposit is lost.
  3. Change the button from "reject mediation proposal" to just "send to arbitration".

Requirement 1 would be nice to have, as it's not the first time that a user gets confused when having to accept a mediation proposal. Requirement 2 is overlayed already with PR6597, where I already asked to modify the "next steps" field. I'll submit a review to implement that requirement trying not to overload that field. For requirement 3 I think it would be even better to have 3 buttons: accept proposal, reject proposal and send to arbitration, which would be greyed out until the timelocked DPT can be published.

pazza83 commented 1 year ago

I have upgraded to v.1.9.10 today.

Will report back how it goes with the new mediation process.

pazza83 commented 1 year ago

Measures of success

This project has improved the dispute resolution process many thanks @refund-agent2 and @jmacxx

Future points to action:

refund-agent2 commented 1 year ago

I was waiting for the end of this cycle as this changes were introduced during cycle 47, but overall it seems that the changes made the dispute resolution better: last cycle 100% of the trades in arbitration were unresponsive traders and mediator's feedback has been positive too. It will be difficult to compare total number of arbitration cases as volume last month was low, on the current cycle the amount of cases are growing to a normal level according to the volume.