As long promised!
Here is my proposal to change the way we distribute rGIV tokens. In this proposal I will explain briefly the current system, its problems according to my perspective and then a solution.
Current rGIV Distribution
You can see in our latest post: Q4 2023 rGIV Distribution! that we distribute rGIV (reputation GIV) at a quarterly cadence.
The amount of rGIV distributed to each eligible contributor increases according to a Fibonacci sequence (1,3,5,8,13,21,34,55,89,144…). This was designed to allow newish contributors to quickly gain considerable organizational reputation, catching up to contributors who’ve been around for a while (but always a little behind), and lessening the impact that contributors who have left the org might have in reputation based decision making.
We considered eligibility for rGIV based generally off of two things:
- Did you have a Work Agreement with Giveth (and not on a trial period)
- Were you an active contributor (I usually checked Praise data for this one)
If you met both conditions you were eligible to ask for the given fixed amount, nobody got more or less than the designated amount for the distribution period. Contributors had one month then to put up their rGIV request (starting from when the forum post was published), each contributor had to not only put up their own vote but also vote on everyone else’s so it would all pass quorum.
If you didn’t have rGIV yet then someone had to make a vote on your behalf. After the 1 month period no more votes could be made to claim rGIV for the distribution period.
Rinse and repeat every 3 months and that was the jist of it!
Problems with Current System
1. Very time consuming for many people
To engage all 30+ contributors to not only make their votes, but also to vote on everyone’s vote is very time consuming for many people. Add on top of that technical hurdles to get connected and make your vote and it gets to be a chaotic process!
It was easy once upon a time when there was less than a dozen Unicorns, but now it’s quite the operation.
2. Restricted only to ‘official’ contributors
The requirements of being eligible usually meant that if you weren’t an OG who’s been around for 4 years or if you didn’t have a work agreement… you didn’t get any rGIV. This excluded people who love Giveth and have been huge helps to us, while perhaps they are not “official” contributors or they aren’t getting paid by the org.
3. Unfair distribution
If one person contributed 5 hours a week vs. another who does 50 hours a week, the system is ignorant of the difference. Both contributed regularly and had an agreement, so they would get the same amount of reputation!
Proposed New System
This new system proposes to broaden our rGIV distribution, make it more dynamic and decrease the collective overhead to keep it running! I took some inspo from how we currently handle vesting in order to create this draft.
Parameters & Factors
This new system takes in 4 parameters:
- How many months a contributor has been at Giveth (similar to vesting)
- The average hours they work per month for Giveth (similar to vesting)
- The value of the praise they received
- The value of the praise that they dished
We also apply a factor to each parameter, allowing us to control the impact each one will have on the final amount of reputation distributed… so for example we could base your reputation received like the following:
- (40%) How many months a contributor has been at Giveth
- (40%) The average hours they work per month for Giveth
- (15%) The value of the praise they received
- (5%) The value of the praise that they dished
We are also able to add in more parameters over time as solutions present themselves, if we find a way to reliably get contribution data then we can always add it in and adjust all the other existing parameters.
Amount of Rep to Distribute
We distribute a fixed amount of reputation in total for each distribution period, your “reputation score” (the sum of the 4 aforementioned params) determines how big of a slice you get of the fixed amount. Gradually, we increase the total amount distributed, meaning current recipients have the opportunity to acquire more reputation than previous ones, because more is being given out.
For example, lets say we send out 5% more rGIV for every month the new system has been up and running:
Month # | rGIV Amount |
---|---|
1 | 1000 |
2 | 1050 |
3 | 1102.5 |
4 | 1157.62 |
5 | 1215.50 |
This allows us to moderate the amount of reputation we mint, not letting it quickly outpace the rate at which we distribute GIV. If we want to use rGIV with GIV for voting it’s easier for us to maintain a reasonable balance… for now.
How often to distribute
I propose we do this distribution every month. DAO Ops will be responsible for maintaining the sheet, doing the calculations and providing notice via the forum ahead of each upcoming distribution.
The Sheet
Of course this wouldn’t be complete without a demo spreadsheet to play around with.
Here it is:
There are two relevant tabs ‘Reputation Calculator’ & ‘sample with reputation’
The first is a fork of the vesting calculation sheet with some adjustments, it also has the cells where you can edit the factors applied to the parameters:
The next sheet is a sample of a report we get from the praise dashboard, with some modifications to include all the extra data & calculations:
Feel free to make your own copy of this and play around!
Challenges to note
We wanted to continue using our Karma dashboard but our subscription ended and renewing our service was going to be around $2k-$5k USD, which didn’t seem like a good use of our limited budget.
We also explored other tools we could use to gather info from Snapshot, Github, Notion, Forum… nothing looked easy, given the priorities of Giveth at the moment, engineering a technical solution didn’t seem like a good use of time.
Next steps
I’ll leave this open to advice process for at least one week.
Let me know two things:
What you think about this system, if you like it or would you make changes
AND
If you’d like to propose a set of factors to apply to the parameters to kick things off.