-
Notifications
You must be signed in to change notification settings - Fork 1
Description
This is a theory on cryptocurrency. Every coin that can be mined has a block time and in this example i'll be using AmityCoin which has 2 minute block times.
What's this then?
So if the network solves a block in a shorter time than it is supposed to, then the network will give you a lower block reward
The formula in its most simple form will look something like this;
if ST < 120
return lowerReward
else if ST => 120
return normalReward
120 seconds equals 2 minutes so this saying "if the block time is solved in less than 120 seconds, then give us a lower reward but if it's exactly 120 or over then give us the normal reward for the block".
There is a slight problem though with this. If a block was solved in 10 seconds, then it would have the same penalty as a block being solved in 100 seconds. Both are incorrect solve times but a reward for a block solved within 10 seconds should have more of a penalty than one solved within 100 seconds so for this we need to think a little outside the box.
DIFFICULTY_TARGET = ST
if ST => 120
return normalReward
else if ST < 119
return lowerReward1
else if ST < 115
return lowerReward2
else if ST < 110
return lowerReward3
lowerReward1 = (normalReward / 2) + 60
lowerReward2 = (normalReward / 2) + 50
lowerReward3 = (normalReward / 2) + 40
lowerReward = lowerReward1
= lowerReward2
= lowerReward3
if lowerReward * 10
return normalReward / 2
if lowerReward * 20
return normalReward / 3
Now this is saying "if a block is solved anything less than 120 seconds then use 1,2 or 3 to get the new block reward. Also if a case of a lower block is reward multiple times because of the solve time is still to quick, then it half's and then third's the reward".
This does need properly coding so don't try and copy this into your code as it simple won't work "as-is"
This is just a rough sketch, feel free to comment something about this