My coin has niether large block rewards, or super blocks, so....
Blocks start at 1 and 2 and then jump to 10-50. By definition the super blocks are the 50's, and the normal blocks are 10. Is there a metric on how the blocks are determined to be random? If not how can you truly predict how much will be in existence
?
Because the coin will stop producing coins at ~180,000,000. The only uncertainty, is how long it will take to reach 180,000,000 coins, do to the random block rewards. The client generates a random number, for each block, then if it falls within a range of certain numbers, that determines the block reward, for that block.
It's all in the code;
int64 nSubsidy = 0 * COIN;
std::string cseed_str = prevHash.ToString().substr(8,7);
const char* cseed = cseed_str.c_str();
long seed = hex2long(cseed);
int rand = generateMTRandom(seed, 400000);
if(rand < 10000)
nSubsidy = 10 * COIN;
else if(rand < 20000)
nSubsidy = 11 * COIN;
else if(rand < 30000)
nSubsidy = 12 * COIN;
else if(rand < 40000)
nSubsidy = 13 * COIN;
else if(rand < 50000)
nSubsidy = 14 * COIN;
else if(rand < 60000)
nSubsidy = 15 * COIN;
else if(rand < 70000)
nSubsidy = 16 * COIN;
else if(rand < 80000)
nSubsidy = 17 * COIN;
else if(rand < 90000)
nSubsidy = 18 * COIN;
else if(rand < 100000)
nSubsidy = 19 * COIN;
else if(rand < 110000)
nSubsidy = 20 * COIN;
else if(rand < 120000)
nSubsidy = 21 * COIN;
else if(rand < 130000)
nSubsidy = 22 * COIN;
else if(rand < 140000)
nSubsidy = 23 * COIN;
else if(rand < 150000)
nSubsidy = 24 * COIN;
else if(rand < 160000)
nSubsidy = 25 * COIN;
else if(rand < 170000)
nSubsidy = 26 * COIN;
else if(rand < 180000)
nSubsidy = 27 * COIN;
else if(rand < 190000)
nSubsidy = 28 * COIN;
else if(rand < 200000)
nSubsidy = 29 * COIN;
else if(rand < 210000)
nSubsidy = 30 * COIN;
else if(rand < 220000)
nSubsidy = 31 * COIN;
else if(rand < 230000)
nSubsidy = 32 * COIN;
else if(rand < 240000)
nSubsidy = 33 * COIN;
else if(rand < 250000)
nSubsidy = 34 * COIN;
else if(rand < 260000)
nSubsidy = 35 * COIN;
else if(rand < 270000)
nSubsidy = 36 * COIN;
else if(rand < 280000)
nSubsidy = 37 * COIN;
else if(rand < 290000)
nSubsidy = 38 * COIN;
else if(rand < 300000)
nSubsidy = 39 * COIN;
else if(rand < 310000)
nSubsidy = 40 * COIN;
else if(rand < 320000)
nSubsidy = 41 * COIN;
else if(rand < 330000)
nSubsidy = 42 * COIN;
else if(rand < 340000)
nSubsidy = 43 * COIN;
else if(rand < 350000)
nSubsidy = 44 * COIN;
else if(rand < 360000)
nSubsidy = 45 * COIN;
else if(rand < 370000)
nSubsidy = 46 * COIN;
else if(rand < 380000)
nSubsidy = 47 * COIN;
else if(rand < 390000)
nSubsidy = 48 * COIN;
else if(rand < 400000)
nSubsidy = 49 * COIN;
else if(rand < 410001)
nSubsidy = 50 * COIN;
if(nHeight == 2)
nSubsidy = 300000 * COIN;
else if(nHeight < 1000)
nSubsidy = 0 * COIN;
else if(nHeight < 2000)
nSubsidy = 1 * COIN;
else if(nHeight < 3000)
nSubsidy = 2 * COIN;
The starting blocks, of 1, 2 ,3, were merely to give people time to setup and to allow difficulty to increase, preventing any 1 person, from insta mining thousands of coins, while everyone else recieved nothing but orphans, and, its working, exactly as intended. You can't please everyone.
There are no super-blocks, the block reward was designed this way, to add variety, and make the coin fun to mine. Everyone has equal opportunity here, it's not favoring anyone.