Democratizing DAOs through semi-reputation based voting | Kajetan Olas | ETHWarsaw [4]
ETH Warsaw·Sun, Nov 9, 2025, 12:00 AM
Kajetan Olas guides us on how DAOs can make the best of both worlds and assign voting power based on both tokens and reputation. 🎥 Recorded at ETHWarsaw 2025 Follow ETHWarsaw on social media for the latest updates! X (Twitter): https://x.com/ETHWarsaw LinkedIn: https://www.linkedin.com/company/ethwarsaw Telegram chat: https://t.me/joinethwarsaw
Transcript
So we're going to talk about a way to democratize Dows through a novel voting method. Uh that voting is called semi-reputation based voting. But first I would like to give you an outline of what the what are the problems that Dows are facing right now. So uh also I will say that I see democratization as a combination of two factors both the participation of the members or just community members the voting and also the low uh concentration of voting power. So first of all the voting power uh the larger the d the more concentration the more concentrated voting power is.
So we can see that in the case of the largest DS uh the voters uh with uh more than uh 50% of voting power uh made just uh around.1% of all the voters. So it's like the DAO with 50,000 members is controlled by 50 members. That's the kind of centralization that we're talking about. And so going forward uh the voting power concentration comes not only uh from the concentration of tokens it also comes from their indifference.
So uh here we can see a quote from Lionel Penroll uh where he said that uh when the uh indifferent population is very high then even if the voting power concentration is uh even when the voting power is not as much concentrated then uh the influence of that group that actually takes part in voting and that is uh uh predominantly the whales have even more influence. So uh uh how do we actually uh help? So uh there's there are studies that support the uh the test is that uh voters with more more voting power will actually participate if uh we just increase their voting power. We don't have to incentivize it further. We don't have have to give them monetary rewards to participate in votes.
If we increase their voting power on average they will participate in the votes more. So uh well uh let's also ask ourselves why is one token of one vote so common if everybody knows that it does not work very well. Uh and the answer is because project needs to need to raise capital right and so if tokens don't have any utility uh project founders can give it to these tokens by just making them a governance token right so that's understandable and so when designing any novel voting methods we don't want to exclude tokens we want to uh retain these tokens as governance um as governance bears because uh that just gives the utility and projects in web3 need capital to hire death and to do marketing and so on. So uh uh so uh like I said and uh how do we measure reputation that is another uh very uh important question so that's the key innovation of the system that I will introduce to you is that uh first of all we know how to measure the number of tokens right just number of tokens you have is the number of votes you have but for measuring reputation we can actually utilize rating system like ELO so uh why ELO for many reasons one of them is because just in just like in chess uh when there are many players there's a uh statistically the ELO good is a good representative of the uh strength of a player or the ranking of rating understood as uh how that player stands out uh next to other players when it comes to activity. For example, how often he participates in votings uh how often uh he does some tasks that we want them to do and so on.
So uh we measure it very similarly and uh here we'll just do a quick break breakdown of the equation. So VP voting power that's kind of obvious. Tokens you just multiply by the number of tokens a player has a player a community member. And so this the C term looks kind of scary but uh let's break it down. So uh C base constant this is just some number like 1.
5. This can be adjusted. uh Z uh this is the number of standard deviations a player is above the narrow in terms of ranking. For example, if anybody of you played online chess, you know that you have uh rating for example, 1800, right? If the average is at 1500 and uh 68% of players are uh below uh 1800 rating, then that rating is one standard deviation above the norm.
Right? So the Z factor this just the rating of a player minus average rating divided by standard deviation. So um so yeah that's the Z term. Now the uh the other one uh so uh first of all here we can see um uh this inactivity dumping factor uh I mean e to the minus gi * factor and what what is this and later we're going to do an example so this won't look you know too confusing uh so this is just some constant and this tells us how much we want to uh tolerate inactivity so uh later through example we're going to see that the uh larger this number is so larger is capa to be uh the more we punish uh inactivity and uh the median is uh the uh the number of activities for example number of played games by some player uh by players that are of similar rating to the play player we are considering and to the player that we want to punish for inactivity. For example, if we have a player with 1,800 rating, then we want to look at players between 2100 and 1500 in terms of how much games they played, how much tasks they perform, and then later potentially uh um decrease the uh voting power multi multiplication factor if the player that has high rating but doesn't didn't play too many games uh you know, didn't play Uh no because it can't go below uh one.
So the multiplication factor is one at lowest or else it will be higher you know so so yeah that's a good point. Um so uh basically uh this uh inactivity dumping factor uh goes here to the minus exponent of e and uh the minus gi is the number of games a player that you know we're considering has played. So for example u or maybe we're going to see an example here. All right. So uh uh you know uh you can have 10 seconds or something like that to to maybe read through the uh defining variables.
All right. So um now let's break down what happened here. So uh first of all number of tokens one has uh that's uh you know something that is uh taken into consideration at the end of this equation. Uh skill is zcore. So uh you know like we said how many standard deviations varies above the norm.
This is equal to one. So if uh you know standard deviation of rating is uh 300 the average rating is 1500 then the player has like 1,800 rating. Uh the next thing activity a play a player played 25 games recently and by games we don't actually mean games like in chess we actually mean uh that player has performed 25 tasks like for example you know we have these airdrop tasks and other kind of tasks that we usually want players players to perform and that was that's what we're measuring here uh and later I'm going to talk about how do we like increase and decrease the rating based on you know uh um how player performs in these tasks. Uh then we have the dumping factor. So this is equal to 0.
1. And what this means is that uh in the previous equation uh if the uh median of the number of games that players similar in rating uh played uh is 10 and the kapa is equal to one then the uh then that's why the dumping factor is equal to 0.1 right uh and the base constancy that's just equal to 1.5 that's something we uh set up initially so Uh here we have the calculate the logistic activity term. So that's something that will later decrease the voting power of a user if he has not played enough games.
Uh something that's important is that the voting power will always be decreased uh in some to some level. Uh but that decrease of voting power as the player plays more and more games will just be go uh slower because that's how this uh logistic function works. uh then we have the exponent computation. So the uh what we had just calculated here the 0.95 0.
924 times the number of standard deviations that player is above the norm. Uh so you know that will later go to the exponent the Z is one. Uh and by the way, one of the cases where the uh vote voting power might be decreased below one. Uh the situation that we have to take care of uh is if the number of standard deviations above the norm uh player was uh would be uh you know like below the average but we don't decrease the voting power in that case. And uh finally we calculate the voting power.
145. Uh this is uh just the constant. The 0.924 is the uh exponents that we calculated in step two. And uh we have the final voting power.
So a player that is moderately active and has played um uh you know more games than the median uh and uh is uh one divisions above the norm. Has his voting power increased by one 1.44. And uh as you can see since the Z factor the number of standard deviations a player is above the norm is in the exponents uh that means that if the player was two standard deviations above the norm um then uh you know that number would be uh 1.44 like to the second power right uh and that voting power increase rises exponentially.
So uh the reason why we that's uh okay with us uh is because in Elo rating system the number of players that are you know like the very high number of standard deviations above the norm is small like that's the idea in L system like you can only be in the top five percentage if other people are in the like low 95 percentage and therefore there is no risk of you know increasing the voting power of people too much. Um okay so one use case is gamefi uh that's kind of obvious in gamefi you usually use the rating system anyways uh those are based on or for example like on code 2 or other systems that work similarly but are a bit more complex and in there you could very easily implement uh you know the v voting power multiplication uh and uh increase the uh willingness of people to take part in votings and decrease the voting power concentration ution by just implementing the formula uh that was mentioned and uh uh yeah there you have already there you already have rating and therefore there is no complication uh in regards to implementing the system. Uh the second uh thing is in the case of Dows where or other kinds of applications where you don't have you know simple PVP where players uh play against each each other they can actually play against uh some tasks uh just like in less uh case or like another online chess or yeah main online chess the tasks that player do uh have a rating on their own and that rating is on the same scale as the rating of players and uh what that means is that We don't have to we don't need to have player against player competition. We can have players player against the challenge competition. And the uh assumptions behind the ELO rating also hold and therefore you know we can kind of gamify anything and increase the voting power of those who uh are active in regard to playing games or task or doing tasks on our platform.
Uh so properties of the system first of all it fosters fosters decentralization while allowing the token to retain its uh governance utility. So we are still able to do you know launchpad runs and like C rounds and sell to investors because the token still has value. The voting power increases linearly uh with it. Uh the second thing uh reputation is measured on a continuous spectrum. Uh that means that the uh you know multiplication factor uh that is a result of having uh uh having high rating and 20 reputation points uh can be you know anywhere from uh one to I don't know 10 20 or whatever we set the constants to be and that's as opposed to for example games uh you know like counter strike where you have divisions and there's nothing in between right uh here you you can have any number in win that um that multiplies your number of tokens.
And what this means for us is that every player is rewarded accordingly uh to uh their level and to and to where where they stand compared to other players. And by design, it's uh it is highly resistant to civil attacks. It's hard for players to create multiple accounts and farm you know reputation points and play games and later hijack the governance uh for the reason that uh it would require require for them to play many games and there's the inactivity dumping factor that reduces their voting power if they have not played enough so that would be difficult and that's all from me uh I will be happy to take any questions
okay We have the first one.
I guess my my first my my question is just the how much more data has to be stored on chain or like compared to like you know the simple just like key value of traditional things like implementation how how crazy is it?
Uh yeah sure so uh it's not very hard. So the uh ELO rating system there are many libraries in Python or in other programming languages where for developers it's very easy to you know just implement them and uh you know assign everybody how uh you know the the hardest thing to come uh to come with is I guess if it is not a game but just some other like uh platform that that has tasks for players to perform and to assign anything is to um um is to just get into the ELO how it works and other rating systems that are already known and uh you know just copy what we just did for these other chess websites you know in the simplest form uh and implement it uh but you know not with chess puzzles but for the uh any task that you want like crypto people to perform. So I would say it's uh it's not difficult at all conceptually. Uh and with regard to implementation it just requires you know developers to like read this 20 page long PDF about below and no uh that with regard to data stored on chain um the data does not have to be stored on chain. It can be um but uh you know you can start it like normally on thousand seconds.
Uh so if I understood it correctly the main uh way to change my ELO as a voter is to perform against some tasks not against some other voters.
Yeah. Yeah. Exactly. So the idea of the ELO system that it's a zero sum system if the competition is only against other players against other voters doesn't hold if you perform against task because the the ELO of the task drops not the ELO of uh other players.
Okay, they understand it correctly. Uh yeah, but you can make the uh ELO of the task uh like drop even more than the uh ILO of the player that would and like the rating of a player would increase less and less as uh uh as he performs against very lowly rated tasks so to speak. So the um so the likelihood that the player that the player uh wins against the uh highly rated tasks or loses against lowly rated um is uh adjusted if that makes sense. So uh in other words, players gain uh less and less points uh or less than that they would against player uh if they win against a task that would be rated similarly to that player. Um so
okay but uh um anyways is there is there any way do you have any idea how the competition between the players only between the players can can be uh implemented in the system or or is it only for competition against the tasks?
Uh yeah definitely so this came up as I worked uh as you know head of product for a gamefi project where players would compete only against each other. the idea of competing against tasks came later and in there uh you implement the ELO system like you know in its traditional I mean not the ELO because ELO is a bit too simple but the GLCO too.
Okay. So so the competition is not in the voting but on the other layer on some other layer.
Uh yeah exactly
that explains it for me. Thanks.
Perfect. Thank you. If we don't have any questions then thank you Kan. Thank you.
Automatic transcript — names and jargon may be misspelled.