While I have a bit of time to kill waiting for things to get going I figured I would talk for a minute about the PoS rewards for anyone who was wondering. If you either haven't been here for long, or haven't been keeping up with everything, you may have noticed that the rewards for staking don't seem to match up with what you may have expected. So here is a breakdown of what is going on, I posted this in slack when asked, so will just copy and paste it here with a bit of editing and a few additions.
Masternodes will be paid a portion of the block rewards. Refer to the OP of the ANN thread for the block rewards for any given block number. We have implemented a "seesaw" reward mechanism that is used to determine the split between the masternode and the staker of the block. Right now the value of each block is 50 DNET. 10% of that is reserved for the budget, which is voted on by the owners of masternodes, anyone can submit a proposal to be voted on. So, we are left with 45 DNET to be shared between the winning masternode and the staker
Here is the actual code that is used to determine the split.
else if(nHeight > LAST_POW_BLOCK)
{
int64_t nMoneySupply = chainActive.Tip()->nMoneySupply;
int64_t mNodeCoins = mnodeman.size() * 10000 * COIN;
if(fDebug)
LogPrintf("GetMasternodePayment(): moneysupply=%s, nodecoins=%s \n", FormatMoney(nMoneySupply).c_str(),
FormatMoney(mNodeCoins).c_str());
if (mNodeCoins <= (nMoneySupply * .05) && mNodeCoins > 0) {
ret = blockValue * .85;
}
else if (mNodeCoins <= (nMoneySupply * .1) && mNodeCoins >= (nMoneySupply * .05)) {
ret = blockValue * .8;
}
else if (mNodeCoins <= (nMoneySupply * .15) && mNodeCoins >= (nMoneySupply * .1)) {
ret = blockValue * .75;
}
else if (mNodeCoins <= (nMoneySupply * .2) && mNodeCoins >= (nMoneySupply * .15)) {
ret = blockValue * .7;
}
else if (mNodeCoins <= (nMoneySupply * .25) && mNodeCoins >= (nMoneySupply * .2)) {
ret = blockValue * .65;
}
else if (mNodeCoins <= (nMoneySupply * .3) && mNodeCoins >= (nMoneySupply * .25)) {
ret = blockValue * .6;
}
else if (mNodeCoins <= (nMoneySupply * .35) && mNodeCoins >= (nMoneySupply * .3)) {
ret = blockValue * .55;
}
else if (mNodeCoins <= (nMoneySupply * .4) && mNodeCoins >= (nMoneySupply * .35)) {
ret = blockValue * .5;
}
else if (mNodeCoins <= (nMoneySupply * .45) && mNodeCoins >= (nMoneySupply * .4)) {
ret = blockValue * .45;
}
else if (mNodeCoins <= (nMoneySupply * .5) && mNodeCoins >= (nMoneySupply * .45)) {
ret = blockValue * .4;
}
else if (mNodeCoins <= (nMoneySupply * .55) && mNodeCoins >= (nMoneySupply * .5)) {
ret = blockValue * .35;
}
else if (mNodeCoins <= (nMoneySupply * .6) && mNodeCoins >= (nMoneySupply * .55)) {
ret = blockValue * .3;
}
else if (mNodeCoins <= (nMoneySupply * .65) && mNodeCoins >= (nMoneySupply * .6)) {
ret = blockValue * .25;
}
else if (mNodeCoins <= (nMoneySupply * .7) && mNodeCoins >= (nMoneySupply * .65)) {
ret = blockValue * .2;
}
else if (mNodeCoins <= (nMoneySupply * .75) && mNodeCoins >= (nMoneySupply * .7)) {
ret = blockValue * .15;
}
else{
ret = blockValue * .1;
}
}
So, basically, when the number of coins locked in masternodes is between 0 and 5 percent of of all available coins the winning masternode gets 85% of the block reward. using that as a reference you can go through the code to see that if the number of coins in masternodes is more than 75% of all available coins the winning masternode will get 10% of the block reward.
There are 16 steps to the seesaw right now, over time we will tweak the seesaw as we get a better feel for how the various aspects of the network perform. We started with the idea that about 1/3 of coins being in masternodes is an ideal split. That makes for a strong masternode network, which is responsible for the Obfuscation transactions as well as the SwiftTX transactions. It should also leave enough coins in the wild to support the needed level of staking to promote blockchain security, and have a good number of coins on the exchange to provide sufficient liquidity.
A more user friendly breakdown of the steps of the seesaw is as follows.
If number of coins in masternodes is between 0 and 5 percent of coin supply masternodes will receive 85% of the block rewards.
If number of coins in masternodes is between 5 and 10 percent of coin supply masternodes will receive 80% of the block rewards.
If number of coins in masternodes is between 10 and 15 percent of coin supply masternodes will receive 75% of the block rewards.
If number of coins in masternodes is between 15 and 20 percent of coin supply masternodes will receive 70% of the block rewards.
If number of coins in masternodes is between 20 and 25 percent of coin supply masternodes will receive 65% of the block rewards.
If number of coins in masternodes is between 25 and 30 percent of coin supply masternodes will receive 60% of the block rewards.
If number of coins in masternodes is between 30 and 35 percent of coin supply masternodes will receive 55% of the block rewards.
If number of coins in masternodes is between 35 and 40 percent of coin supply masternodes will receive 50% of the block rewards.
If number of coins in masternodes is between 40 and 45 percent of coin supply masternodes will receive 45% of the block rewards.
If number of coins in masternodes is between 45 and 50 percent of coin supply masternodes will receive 40% of the block rewards.
If number of coins in masternodes is between 50 and 55 percent of coin supply masternodes will receive 35% of the block rewards.
If number of coins in masternodes is between 55 and 60 percent of coin supply masternodes will receive 30% of the block rewards.
If number of coins in masternodes is between 60 and 65 percent of coin supply masternodes will receive 25% of the block rewards.
If number of coins in masternodes is between 65 and 70 percent of coin supply masternodes will receive 20% of the block rewards.
If number of coins in masternodes is between 70 and 75 percent of coin supply masternodes will receive 15% of the block rewards.
If number of coins in masternodes is more than 75 percent of coin supply masternodes will receive 10% of the block rewards.
This is a bit more rudimentary than we initially anticipated, but should work well enough for the time being until we get a good idea of the profitability of staking vs masternode ownership. We will be revisiting the seesaw once we have more data to base the numbers on.
The primary goal behind the seesaw is to ensure that it is always more profitable to have a masternode than it would be to just stake those 10k coins. The reason for that is the costs, hassles, and risks associated with upkeep of a masternode are greater than those of staking alone. But we also need to ensure that there are enough coins not in masternodes for the reasons presented above.