Bitcoin is software that is free to run and fully decentralized. Anyone who wants to join the mining business can do so, anytime, anywhere, provided they have the right hardware and electricity. Miners can also stop their operations whenever they feel like it.
Due to this free movement of the miners (and the fact that they are the network participants that are investing computing power for the Proof of Work (PoW)) Satoshi Nakamoto integrated various protocol rules in Bitcoin, such as a constant time for the emission of blocks and a difficulty adjustment to extract them.
Although it may sound contradictory, mining Bitcoin has become increasingly difficult as more computing power has entered the network over the years.
At the beginning of Bitcoin's history, it was possible to mine BTC with a simple CPU of a desktop computer.Nowadays, this won't suffice and specialized ASIC (Application-specific integrated circuit) mining chips are used today.
Bitcoin mining difficulty can be defined as a parameter that reflects how much it may cost a miner, in computing, to complete the Proof of Work to add a new block to the blockchain.
According to Bitcoin protocol rules, a miner is attempting to find a hash number smaller than the target number (nonce), which is adjusted every 2016 blocks (~2-week periods named mining epochs), in order to keep the rate of block production and new generation BTC constant to 10 minutes.
This difficulty number essentially tells us how difficult it is to find this hash number below a given target
As explained by Andreas Antonopoulus in the book, Mastering Bitcoin, The Proof-of-Work must produce a hash that is less than the target. A higher target means it is less difficult to find a hash that is below the target. A lower target means it is more difficult to find a hash below the target. The target and difficulty are inversely related.