When you have a community of thousands of people, all actively contributing to a project, you need a system to evaluate each participant’s work in a way that is both scalable and easy to work with.

Old Problems

One of the first things we had to do when we built Bountyhive was to completely tear down the current reward system and create a new, intuitive one from the ground up.

You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.

― R. Buckminster Fuller

Let’s first go through the old go-to system bounty managers used on Bitcointalk, also known as the “Staking System”.

The bounty pool was first split into several smaller pools, one for each individual bounty type. Each bounty type then had a different staking system.

At the end of the campaign, each individual bounty pool is divided by the total number of stakes to obtain the value of 1 Stake. For example, assuming there are a total of 200 Stakes for the Twitter campaign then the value of 1 Stake would be (0.2 * 100) / 200 = 0.1 Tokens/Stake (Percentage of Twitter Pool * Total Pool) / Total Stakes. 😅

You can quickly notice how this starts to turn into a chaotic mess, going back and forth from tokens to stakes and once you make a mistake, the whole thing blows up. This is taking into account that this is an extremely simplified version of it, but when you also consider that there are 5–7 campaigns in each bounty and the fact that every manager has his own rules, his own staking system — this becomes disorganized and very hard to keep track of.

Plenty of Issues

But this doesn’t even start to touch the bigger problems the staking system has. To name just a few of them: