New Karma System - Proposal

This idea was elaborated after some discussions I’ve had with Rob, a Dev Protocol community member that has been active on since the beginning.

Introduction

The Goal of Dev Protocol is to Tokenize OSS or Creator projects and to sustainably fund them. Since the beginning there have been various episodes where some Creators didn’t interact with the Protocol, didn’t talk their own community about using DEV and just sold sold all the rewards and donated to themselves on Gitcoin.

There’s nothing wrong with selling since that’s exactly the use case of the token, funding the Creators. But, for this exact reason, people have been asking how can the proposed funding be sustainable with that constant sell pressure from both Creators and Stakers Rewards.

Current Karma System

The current Karma system was introduced on Stakes Social V3, the idea was that Karma would be some sort of metric that could indicate the level of altruism from each Creator. It takes in account how much is being staked on that project and how much the project is staking on other projects.

When implementing this, the team thought that since that the Karma variable was a form of easily quantifiable Altruism, people would take that in consideration when choosing where to stake their DEV. In reality this is not what’s happening, the Karma system is completely ignored by both Stakers and Creators.

DIP-55

As previously mentioned, some Creators ended up accumulating a lot of DEV in the beginning, they had a lot of market power because of it, and when they sold to donate to themselves on Gitcoin, the price impact was absurd, not sustainable.

One of the solutions that the team came up with was DIP-55, a withdrawal limit for Creators that is variable depending on the prices of the token, it can vary between ~1,100 and ~2.200 DEV. This was approved by the community through voting.

Just limiting isn’t ideal

Just limiting Creators isn’t ideal for the the success of Dev Protocol, just imagine that a Creator sells all of his rewards on January 1st, hitting the 2,200 DEV limit that day. What is his incentive to continue to promote Dev Protocol and use it after that on the next 365 days?

There has to be a way that Creators can increase their yearly withdrawal limit by causing a positive impact (positive externalities) on the ecosystem, and a way to penalize bad actors that cause negative impact (negative externalities).

This way, even if Creators have hit their yearly withdrawal could still be causing positive impacts on the ecosystem, because they’d have every incentive to do so. Bad actors would also have the incentive to change their behavior since that negative karma would be limiting their own funding.

New Karma System

Wrapping it all together, the proposal is, scrap the current Karma system as it currently stands. The solution should be through gamification, categories could be created for this, Bronze, Silver and Gold, for example.

Each creator should accrue Karma slowly over time, totally based on positive externalities they cause on the ecosystem. The amount of stakers a project has shouldn’t be taken in consideration here. A few variables of positive externalities that could be taken in consideration:

  • Amount of DEV staked on other projects;
  • Pulverization of their Rewards to create a new economy around the DEV token;
  • Amount of their own community members that use DEV;
  • Talking about DEV on social media;
  • etc.

I don’t see why projects that just exploit the system to get funds without participating can have a higher Karma than HiDE, for example.

These new Karma points slowly accrued could be exchanged to increase their DEV yearly withdrawal limit - 1 to 1. The Karma points could also be used to climb the ladder: for example, you start on Bronze, 1000 Karma points gets you to Silver, Karma points 2000 gets you to Gold.

Perks of being silver and gold: maybe they are featured higher in the social.stakes page (or we create pages showcasing the silver and gold creators), Dev could also mention gold creators more in our social media.

I’d say there should be no ceiling on accruing points or time limit. That is, they don’t expire annually. A monthly points bonus, voted on by the community, for say the top three ‘valued’ creators, could also be introduced. Prizes of No1 200 points, no2 100 points no3 50 points, for example.

This way, Stakers could have a way better idea of who should they stake for, and which Creators are not only more altruistic but have a bigger positive impact on the Dev Protocol ecosystem.

For this to be complete, some sort of negative Karma points should also be introduced, either voted by the community on a monthly basis or introduced on the accrue reward function. This way, bad actors would have the incentive to change their behavior, since negative Karma could limit their early withdrawal limit even further.

3 Likes

EDIT1:

It should be noted that New Karma = a point system, the current Karma system is not used and should be scraped off.

To incentivize the circular economy and to maintain DEVs inside the ecosystem, Creators could get Karma bonus when staking on Silver and Gold tier projects.

  • 1.25x points for staking on Silver Projects
  • 1.5x points for staking on Golden Projects.

This way we’d solve a lot of things, create incentives for Creators to stake, and reward projects that really cause a positive impact. Creators that just want to sell, would end up having to stake on projects that cause a big positive impact ( Gold Projects).

1 Like

I think it is better to incorporate external evaluation into the evaluation method of the new Karma system.
External ratings are, for example, Github Star. That’s because I think it’s wrong to say that when OSS, which has grown significantly on Github and has many Stars, enters the Dev Protocol, it lacks karma and is not recommended.
This is my personal opinion so feel free to think about it

1 Like

Hey Kawakami, thanks for answering.

I think that external evaluation could be a good way to list the projects somehow on the Stakes Social page. For example, list them by GitHub stars. I totally agree that famous projects have their part in the platform and will have their impact, even legitimizing Stakes Social. I think that this way, using stars, it could be a good way to filter famous projects.
But, for this point system, the main idea that I thought was, we need to reward Creators that participate in the ecosystem, don’t use DEV as just an ATM and actually talk to their community about it.

This way we’d be creating an incentive for positive externalities. By increasing their withdrawal limit by using those Karma points that are earned by causing a positive impact on the ecosystem, more projects will end up doing this, currently they have no incentive of doing so, after they get stakers, they can just chill and not participate in the ecosystem and still get paid.

Having that Bronze, Silver and Gold tier, where you can get 1.5x points for staking on the Gold tier project (project that accumulated a lot of points for causing a positive in the ecosystem).

TLDR: There are a lot of projects that are famous/ have a lot of stars for example that won’t even participate in the ecosystem after onboarding, won’t talk with their community about it and won’t cause a positive impact.
On the other hand there are small projects who will talk about DEV daily, bring a lot of stakers, create a new economy for the DEV token that will end up causing a great positive impact on the ecosystem. There should be an incentive for projects to act like this.

We have to think that since that we’re early, and most of the stakers are invested in Dev Protocol, and want to see it’s success, most of us want to stake on projects that really cause a positive impact. I think that some time in the future we’ll have this inflection point where people will want to stake for famous projects as well, specially if they bring their own community. But by having a point system where positive externalities are incentivized is a good thing for the health of the project in my opinion.
Being able to filter projects by stars and positive impact (points/newkarma) could both be viable and happen at the same time, and it could really help stakers decide who they want to support.

thanks for listening, please tell me what you think guys, I think that through discussion we can come up with a better idea!

3 Likes

Hi @Pdot
Thank you for your reply! Also, thank you for respecting my ideas :smiling_face_with_three_hearts:

My concern was that when a project with an external reputation registered with Stakes.social, it was hard to find due to lack of Karma. However, by reading your reply and devising a way to display it, I found that it could be solved without adding it to Karma. Thank you very much.
I think it’s a good idea. I agree with your idea

2 Likes

(English is described at the bottom.)
まずはシンプルにkarmaの数をstakes.socialの表示順にするのはどうだろう。
それで様子を見て、それから状況に応じてゴールドやシルバーといった得点をつけていくのはどうでしょうか。

そしてkarmaの計算式にGitHubのスター数を利用するのは反対です。
理由はスター数はお金で買うことができるからです。

[今のKarmaを算出する計算式はこれです]

A:propertyのauthor
B:Aがauthorである全property
C:Aがトークンを保持している全property

X:AがステーキングしているDevのValue数合計
Y:BにステーキングされているDevのValue数合計、ただしproperty token数の割合に案分される
Z:CにステーキングされているDevのValue数合計、ただしproperty token数の割合に案分される

Karma:X + Y + C

Hideのkarmaが0なのは、Hideのpropertyのauthorは全くステーキングしておらず、Hideのproperty以外のpropertyトークンを保持しておらず、Hideのproperty以外のpropertyのauthorでもないため。

===============================

How about simply using karma for the display order of stakes.social first?
How about we start by simply using karma in the order in which stakes.social is displayed, and see how it goes, and then add perks such as gold and silver as the situation demands.

And I’m against using GitHub stars in the karma formula.
The reason is that the number of stars can be bought with money.

[Here’s the formula to calculate Karma now]

A:property’s author
B:All properties for which A is the author
C:All properties for which A holds a token

X: Total number of Dev Values that A is staking
Y: Total value of Devs staking in B, divided by the percentage of property tokens
Z: Total value of Devs staking in C, divided by the percentage of property tokens

Karma:X + Y + C

Hide’s karma is 0 because the author of Hide’s property is not staking at all, does not hold any property tokens other than Hide’s property, and is not the author of any property other than Hide’s property.

2 Likes

It is a clever formula.

It may be an idea to use it in the background for sorting but I think it is perhaps presently a little too complex for creators and stakers.

We need to consolidate all these ideas and come up with the most minimalist solution which is the easiest for new members to understand.

I think approaching this from a ‘blank slate’ perspective will give the best results.

巧妙な式です。

ソートのバックグラウンドで使用するというアイデアかもしれませんが、おそらく現時点では、クリエイターやステーカーにとっては少し複雑すぎると思います。

これらすべてのアイデアを統合し、新しいメンバーが理解しやすい最もミニマリストなソリューションを考え出す必要があります。

「空白のスレート」の観点からこれにアプローチすると、最良の結果が得られると思います。

1 Like

I think that the current Karma system as it is today isn’t really useful . No one uses it to base their decisions on Stakes Social.

And this is a proof of this, even Projects that are not staking are viewed as the project that has the biggest positive impact on the ecosystem, they have more DEVs staked than any other project, even with 0 Karma.

Even though I think that the amount of DEV staked on other Creators divided by the amount of DEV on their own pool is a good variable, it doesn’t really captures the positive impact the project causes in the ecosystem. The problem is getting all the Karma at once just by staking, Karma or Point could accrued over time and it could itself have a functionality.

So in my opinion we would have to think what really causes positive impacts on the ecosystem for the users, is it that they talk about DEV? that they brought their own community members to the platform? that they create an unique use case for the token in their own ecosystem? that instead of creating sell pressure by themselves, they’re going to distribute the tokens to hundreds or thousands of new users, promoting growth? There are a lot of variables that could be added on this that would make the Point system closer to a quantitative value of positive impact.
So by having a point system that is hard to get and it gets as close as it can to a metric that captures creator’s positive impact on Dev Protocol, it could be used by stakers to decide if they want to support projects that promote Dev Protocol’s growth, the point system itself could be used as an incentive to promote growth and shape Creator’s behavior in the platform if well implemented. Taking away the selling pressure or negative impact, making DEV more sustainable.

I agree, GitHub stars shouldn’t be on the Karma formula but it could be a way to rank projects, just like it is today on most recent, most staked, just a adding a most amount of stars could be valuable I think.

Hey @Kawakami !
Yeah I think that having a way to rank them by stars separately from Karma could be a great thing.

1 Like

Took me a while to read through it all and I loved it! A change is very much needed and I couldn’t have put it into words the same way you did P. Awesome proposal, you have my vote

2 Likes

I think that the current Karma system as it is today isn’t really useful . No one uses it to base their decisions on Stakes Social.

Agreed.

Even though I think that the amount of DEV staked on other Creators divided by the amount of DEV on their own pool is a good variable, it doesn’t really captures the positive impact the project causes in the ecosystem. The problem is getting all the Karma at once just by staking, Karma or Point could accrued over time and it could itself have a functionality.

I think it’s a good consideration that karma accumulates over a long period of time.

Here is the formula I came up with for karma.

・All Karma will be completely reset once and for all.
・Every day at midnight, the contribution is added to each property, and the total is karma.
・The contribution is a geometric mean using the values that are staking
・The population is based on the AUTHOR with the highest number of staking destinations.(Currently, 16 is the maximum value.)
・Any shortage will be calculated as 1staking.
・Karma subtraction has not been taken into account for now.

for example
When staking 100DEV to 16property
Add 100 points to karma every day.

When staking 1000DEV to 1property and 500DEV to 2property
Add 3 points to karma every day.

2 Likes

Are developers KYC’ing in any way when they onboard? Is there any way to prevent them from adding new projects and staking there to boost karma?

1 Like

I think we need to avoid complex mean formulas as they will have the same effect as the current system - i.e. will be too difficult to understand, so no one uses them.

The protocol is complex in of itself, so I really think we ought to focus on simplicity with regards to a new karma system.

It may be more transparent to remove the complex background automations and have it as doing X rewards you with points there and then.

There will be activities as P has highlighted that need human judgement to award points. So a monthly poll could be a solution to these.

I think the core focus ought to be on rewarding projects that’s don’t withdraw as many Devs from the platform and recruit more stakers (external; so new people) from their communities. Everything beyond this is secondary. How we achieve this is perhaps the first thing we need to decide on as a community.

1 Like

This is a good way to evaluate the positive impact cause by staking on other projects.
It could be a nice way to start it. But as Rob mentioned, that are a lot of variables that may be subjective to the users, and they might help explain the positive impact/altruism a lot.

Another thing is that, for Creators to really use and care about their Karma points, they have to have a purpose. Like I proposed, exchanging it for an increased Withdrawal limit could be a valuable one.

If I think of anything else I’ll share my thoughts here.

So let’s keep it simple and not complicated.

karma=the total value properties author are staking on other properties

and sort the results in descending order by karma and display them in stakes.social.

What do you think?
@Pdot @Rob

1 Like

I think the core focus ought to be on rewarding projects that’s don’t withdraw as many Devs from the platform and recruit more stakers (external; so new people) from their communities.

How do we incentivise this and how do we monitor progress?

The answer to how we run the karma system will stem from this.

1 Like

Yes, the idea is to try to quantify how much are Creators using the platform and giving it back instead of just selling.

Not selling DEV rewards and Staking on other projects would give totally different results I think.
Not selling helps with price sustainability which is essential for funding.
Participating and staking on other projects helps to circulate those tokens and fund other projects.

Sorry I can’t help but always bring some sort of complexity to this, maybe setting some weight to both of these variables? 50-50 at first? Both of them are important, and I can’t decide which one is the most important one.

It’s a tricky one Projects staking on other projects is essentially secondary in any decision making tree as that is not the core reason they are on the platform. That is primary for stakers - but creators are here to make money for their project, not to fund other projects… Yes they can use Dev as a savings account (by staking on other projects) but the majority of the user base won’t be joining to do this.

1 Like

I see it, good arguments. I think that this could be it. Use this as the new karma system as a base, and if there’s time and resources, try to make it a little bit more complex later?

I think using points as the basis of a withdrawal amount is simple enough to understand and we can build upon this to incentivise other things.

1 Like