Consensus

In community moderation, each vote has only two possible options - moderators can either agree or disagree with the submission. This binary approach reduces the entire quality spectrum of user submissions, such as quest completions or reports, to the binary result - either valid or not.

The same way hashes are estimated in the Bitcoin blockchain.

Binary choices also make voting easy and straightforward for moderators, and imply a binary validity of their votes, since they either agree or disagree with the consensus result, and are therefore either right or wrong, with no ambiguity.

There are other approaches, such as the range voting that Questfall uses for quest ratings. However, votes in such ratings are only right to a certain degree.

With binary votes, it is fairly easy to calculate the majority. However, the straightforward approach when all votes are equal opens the door to Sybil attacks. The problem is not solved even if the system weights votes by user level. An attacker could still create many low-level accounts and gain the overall weight in the system needed to change the voting results.

In Questfall, to prevent vote manipulation by many low-level accounts, voting is segmented by league and individual league results are generated. Each league result has the same weight, and the final result is determined by a simple majority.

League
Yes
No
Result

1

156

633

No

2

142

43

Yes

3

53

2

Yes

4

12

4

Yes

Final

363

682

Yes

In cases where the league results are evenly split, the highest league is given double weight.

This approach protects the results from both sides - many low-level accounts as well as a few high-level accounts will not be able to manipulate the consensus, since an attacker would need a majority in most leagues to abuse a voting system.

This is analogous to the 51% attack in Bitcoin.

Since the votes are quite diverse when segmented by league, the number of votes for a solid consensus can be much smaller than just a percentage of all moderator votes.

For example, the requirement could be at least 11 votes from each of 5 leagues, for a total of 55. This will be sufficient even if there are millions of moderators in the system.

Of course, these requirements will evolve over time, adjusting to the number of leagues and overall experience, as we are in uncharted territory here. For example, when Questfall launches, user levels will likely be used instead of leagues.

However, to achieve this efficiency, users should not be able to choose the topic they want to vote on - instead, the system should assign moderators from different leagues to voting topics as needed.

This also provides another layer of protection, because when topics are assigned by the system, there is no way for multiple accounts to synchronize an attack on a given vote, since each account is given an unpredictable topic.

Depending on the number of completions and active moderators, it should take anywhere from a few minutes to a few hours to reach a consensus. After that, moderators will be rewarded or penalized based on their vote, according to the voting topic incentives.

Last updated