BACKGROUND OF MINING
Technical Background
During mining, your Bitcoin mining hardware runs a cryptographic hashing function (two rounds of SHA256) on what is called a block header. For each new hash that is tried, the mining software will use a different number as the random element of the block header, this number is called the nonce. Depending on the nonce and what else is in the block the hashing function will yield a hash which looks something like this:
You can look at this hash as a really long number. (It's a hexadecimal number, meaning the letters A-F are the digits 10-15.) To ensure that blocks are found roughly every ten minutes, there is what's called a difficulty target. To create a valid block your miner has to find a hash that is below the difficulty target. So if for example the difficulty target is
any number that starts with a zero would be below the target, e.g.:
If we lower the target to
we now need two zeros in the beginning to be under it:
Because the target is such an unwieldy number with tons of digits, people generally use a simpler number to express the current target. This number is called the mining difficulty. The mining difficulty expresses how much harder the current block is to generate compared to the first block. So a difficulty of 70000 means to generate the current block you have to do 70000 times more work than Satoshi Nakamoto had to do generating the first block. To be fair, back then mining hardware and algorithms were a lot slower and less optimized.
To keep blocks coming roughly every 10 minutes, the difficulty is adjusted using a shared formula every 2016 blocks. The network tries to change it such that 2016 blocks at the current global network processing power take about 14 days. That's why, when the network power rises, the difficulty rises as well.