mathematics – Fixed reward and dynamic difficulty calculation for simple digital coin

Some intro:

I am looking for any help from math point to resolve the blocker with my project where i am creating a very simple cryptocurrency based on sha1 hash chain and need some strategic help on rewards/difficulty systems – keeping in mind it needs to be simple to understand (for the audience) but challenging as more blocks are mined (difficulty increases) in practice.

Technical facts:

My project has a maximum number of blocks (total nuber of blocks that can be mined) equal to max(uint32)=4294967295.


I am struggling to figure out a simple yet dynamic reward mechanism so i went and implemented a fixed mechanism, where for each mined block, miner is rewarded with 0000000001 coin.

Thus if i have only one miner mining, he can mine all and get 4294967295 coins total (1 coin per block).

Because of the selected (fixed) rewards approach – to make mining more challenging i want to adjust difficulty dynamically which will have impact on the time spent to mine a block.

Ideally the more miners/hashrate/sharetime/… the more time spent for all miners mining (increase of difficulty).


What simple to explain yet challenging for mining mathematical formulas i could use to dynamically adjust the difficulty as more and more blocks are mined – keeping in mind, let’s say that the maximum difficulty should be around 1000000 (1 million) – as more would be a waste of time for miners ?

Thank you for any input into this.