A member of the development team made a small but drastic error. You can see the code on the github page:
https://github.com/CleanWaterCoin/cleanwatercoin/blob/master/src/main.cpp#L948int64 GetProofOfWorkReward(int nHeight, int64 nFees, uint256 prevHash)
{
int64 nSubsidy = 150 * COIN;
double coinDifficulty = (double)GetDifficulty();
int64 rewardCalc = 1/(sqrt(coinDifficulty + 500));
double buttCalc = 1/(sqrt(coinDifficulty + 500));
if (nHeight == 1)
{
nSubsidy = 10000000 * COIN; // first block is premine
}
else if (nHeight >1 && nHeight <= 55) // 55 blocks for confirmation of premine
{
nSubsidy = 1 * COIN;
}
else if (nHeight >55 && nHeight <= 7000)
{
nSubsidy = 1000 * COIN;
}
else if (nHeight >7000 && nHeight < 8000)
{
nSubsidy = (int64)((double)(20000 * sqrt(coinDifficulty + 500)) * COIN);
}
// fork here for proper block reward - 8000 per cleanwatercoin guys
else if (nHeight >= 8000 && nHeight < 8500)
{
nSubsidy = (int64)((double)(20000 * rewardCalc) * COIN);
}
The reward was meant to be 2000 * 1/sqrt(coinDifficulty + 500)) * COIN);
but the 1 was left out, and the rewards ended up huge.
After talking with the community, and in this thread, it was decided that it was not feasible to roll back the blockchain, because a large # of pool operators and nodes couldn't be contacted. Some have not even updated to the newest fork at 8000 which was where the coin amounts were fixed, and go off on their own chain.
It's not pretty, but it was decided by the team and the devs to leave the coin as is and hopefully salvage and move forward.