zeitgeist icon indicating copy to clipboard operation
zeitgeist copied to clipboard

Scalar dispute resolution via Court

Open Robiquet opened this issue 1 year ago • 4 comments

At the moment Court treats each voted number as a discrete option so votes such as "10.1" and "10.11" would be treated as different. I think this will make it really difficult for the court to reach consensus leading to needless slashing whilst bringing no benefit to market participants.

To alleviate this we could bring back the suggested outcome when calling the dispute extrinsic. Between that and the initial market report, it will at least give the jury something to go off.

I think the ultimate solution would need a change to consensus mechanism. We don't need to resolve the market to the exact correct number, just a number that is close enough. We could group numbers that are close together into discrete buckets, then the bucket with the most votes wins

Robiquet avatar Oct 03 '23 13:10 Robiquet

I understand the problem here. Our first approach was to crowdfund outcomes and let the highest be voting options. However, since development time constraints and storage overhead we decided to leave the crowdfunding mechanism out.

I suggest we start off (and we currently even have to) by having an authorized list of exact scalar outcomes visible on the Zeitgeist app. If the community had an appeal on the provided list, we would lose our credibility, so we would have literally no incentive to provide a wrong scalar outcome list. For now, if we have a dispute, we investigate time to find out the true outcome and offer at least two outcomes: the report outcome and our suggestion outcome on the front end. Unfortunately this requires us to store our outcome suggestion somewhere. My default would be to store it in a back-end server queryable from within our front end.

But sure, this is not ideal and we knew that before our implementation of court that this problem occurs.

To alleviate this we could bring back the suggested outcome when calling the dispute extrinsic. Between that and the initial market report, it will at least give the jury something to go off.

Even if we had a dispute suggestion, the outcome could still be wrong, leaving us with the same situation as we have right now. So, if the report outcome and dispute outcome suggestion was wrong, how determine the Schelling point for the true outcome in scalar markets?

I think the ultimate solution would need a change to consensus mechanism. We don't need to resolve the market to the exact correct number, just a number that is close enough. We could group numbers that are close together into discrete buckets, then the bucket with the most votes wins

Even with the "bucket" solution, you have to define boundaries, which is really hard. Before we do this, I would suggest to investigate time in another pre-selection mechanism, which can be triggered right at the dispute extrinsic. Crowdfunding is one approach, but I need more time to find other possibilities.

Chralt98 avatar Oct 18 '23 10:10 Chralt98

Y'know, I'm feeling more and more like scalar markets are a mistake altogether.

maltekliemann avatar Oct 18 '23 10:10 maltekliemann

https://github.com/zeitgeistpm/zeitgeist/issues/978

Chralt98 avatar Oct 18 '23 10:10 Chralt98

Even if we had a dispute suggestion, the outcome could still be wrong, leaving us with the same situation as we have right now.

I am not saying this is a perfect solution but it seems like a straightforward way to bring us closer to the "authorized list" solution you are suggesting. This way the will always be 2 relevant values for the jury to go off. I find it strange that you don't seem keen on this but at the same time suggest the front end provide a second value chosen by Zeitgeist insiders. If the disputer is putting down a bond surely they are best positioned to give an alternative outcome. I think we should also allow users to suggest an outcome when appealing

Even with the "bucket" solution, you have to define boundaries, which is really hard.

Why is this hard? We can group values within a certain % range, dealing with overlap could be difficult but I don't see why we can't come up with a sensible algo for this

Robiquet avatar Oct 18 '23 10:10 Robiquet

Needs more focus. Closing for now. A potential solution is tracked internally.

maltekliemann avatar May 03 '24 21:05 maltekliemann