decredcommunity / issues

Decred community issue tracker
5 stars 0 forks source link

Reason bits for Politeia No votes #118

Open xaur opened 5 years ago

xaur commented 5 years ago

In addition to just voting 'yes' and 'no' vote choices, stakeholders could specify extra vote "reason bits" for why they are voting 'no'.

Motivation

This has the potential to increase the efficiency of Politeia operation by giving proposal owners more information about what exactly is wrong about their proposals, so that they could address it and try again. Better clarity and overall experience for proposal owners may lead to a better image of Politeia and more quality proposals for the stakeholders.

Unlike comments criticizing certain parts of the proposal, the reason bits are as hard to game as Politeia votes themselves. In other words, if 5,000 tickets vote no with too expensive flag, it is a much more reliable signal about stakeholder sentiment than any amount of comments telling the same.

Possible bits

What kind of reason bits I imagine:

too large indicates that the proposal is too large. This may happen for different reasons:

Separate reason bits may be introduced to cover the above scenarios, at the cost of increasing the set of possible bits (which adds complexity and increases vote entropy).

In other words, too large indicates that stakeholders do not generally oppose the proposal, but would like to see the reduction of amount, scope or price, and perhaps vote on parts separately. This way they ask to "zoom in" into details. Alternative names: break down, scale down.

too small indicates that stakeholders do not generally oppose the proposal, but do not wish to vote on such small things (and set precedent), and wish to see a given proposal as part of a bigger proposal. Alternative names: combine, group, scale up.

low trust means that stakeholders do not generally oppose the idea, but the entity proposing it is unknown to the community and the credentials presented are not sufficient. It is a signal that the owner needs to earn more trust and try again.

not now means that the idea is not bad in general, but stakeholders don't want to fund it in current conditions for any reason (like low DCR price, low perceived impact of the proposal at that time, or that the subject is poorly understood and requires more research).

unclear indicates that the proposal is vague and requires more detail before a reasonable decision can be made for it.

Privacy considerations

Reason bits increase the variety of vote data generated by ticket holders, i.e. it increase entropy of individual votes. The more reason bits we add, the higher entropy individual votes may achieve. This may make it easier to cluster votes together and identify groups of tickets owned by the same person. Or maybe not? In any case, it must be carefully considered how bad the privacy damage is versus the gains.

The initial set of reason bits must be minimized. Should it become necessary to change the set of bits in the future, try to make changes less frequently and in batches (e.g. don't add bits one by one) and try to keep the set small.

Reason bits with yes votes?

Currently I imagine that the extra vote bits are only useful together with 'no' votes, but they may have use cases with 'yes' votes that I don't see. If there are no technical challenges in allowing the reason bits with 'yes' votes, that would be more flexible.

Inspired by reading Marketing 2019 proposal discussions on Reddit and on Politeia.

xaur commented 5 years ago

Another idea of more fine-grained Politeia vote choices shared by @Guang168:

maybe eventually we will have a high proposal costs, with voting options 1. No 2. No but refund prop costs 3. Yes (default to refund prop costs)

xaur commented 2 years ago

Per the Reddit comment, a big problem for the reason bits idea is the privacy risk and technical challenges to implement unlinkability between the votes and any extra data like the reason bits.