Formal description of HackZ's semi-reputation based DAO
HackZ DAO introduces novel, semi-reputation based governance system in which voting power is mathematically tied to rating points and activity on the platform.
Last updated
HackZ DAO introduces novel, semi-reputation based governance system in which voting power is mathematically tied to rating points and activity on the platform.
Last updated
Let be the rating of -th user, mean user rating, and rating deviation (in other words standard deviation of users ratings).
Then the z-score for the -th user, representing how many standard deviations is above the mean is given as:
Let denote a constant activity multiplication factor , and let denote a set , where is the number of challenges played by -th user and satisfies the following:
Note that the set is different for each user (assuming users have different rating scores) and it includes data about the number of challenges played by other users with similar skill. By users with similar skill we mean all users whose ratings lie within 1 standard deviation from the rating of -th user. Information about the median of set allows us to define , which we'll define as "inactivity damping function".
The purpose of is to reduce the excess voting power of inactive users with high rating. It does so by considering the median number of played challenges in time period within the set of similarly rated players. That way HackZ governance system rewards only active users, while simultaneously not making casual learners lose track of their progress.
Unlike other popular MMO games, HackZ does not reset users' ratings/divisions after each season.
Finally, the Voting Power function can be defined as:
* In order to be counted, tokens have to have to remain on the same wallet, starting from 7 days prior to introduction of the relevant DAO proposal.
To get a more intuitive understanding of the mechanism, readers might want to consider the following example:
The constant parameters:
Data regarding user named "Bob"
So for every 100 tokens, player Bob will be able to exercise 134 votes. This is a moderate voting boost, which came along with some activity in the game and a slightly above average rating.
Now, let's describe the function. That function serves as an exponent in the final voting multiplication expression, and resembles a typical sigmoid function. Below, stands for Euler's constant and is the number of challenges that were played by -th player in time period .
where: - abbreviation for for -th user, - number of HCKZ tokens held on an address belonging to -th user*, - constant base multiplication factor
and parameters are purposefully not predetermined and should be adjusted according to protocol's needs. The parameter controls how much we want to punish inactivity, while the parameter controls how much we want to boost the voting power of highly ranked users.
Initial values deemed as reasonable by the author are:
= 2
(user rating)
(mean rating)
(standard deviation of ratings)
(number of challenges played by Bob)
(set of challenges played by users with similar skill, median )
(tokens held by user)
The only thing we care about is that Bob is 1 above the norm and played half as many games as the median, so he will obtain the following exponent:
Now that we know the exponent: , we can calculate and find out the votes multiplicator.
equivalent to: which is the same as