The process of mining and thus confirming all the transactions made in the Bitcoin network is an integral component of the whole process.
Mining is simply a way of saying that complicated mathematical problems are being solved in order to make sure that everything on the network is legitimate, while generating more bitcoins at the same time.
Every block in the chain is reduced to a single hash (thus being solved) and the result is referenced in the next block so the continuity of the network can be preserved.
The number of hashes a hardware component can suggest per second is the measure of speed for this component (usually in gigahashes per second or GH/s for modern hardware).
The block chain is supposed to follow a schedule of solving a block every ten minutes. However, with more miners joining the network, the computational power of the entire network increases unavoidably. Hence, in order to compensate for the increases in computational ability, the network needs to increase the difficulty.
Here’s bitcoin difficulty explained in very basic terms: in order to solve a block, you need to find a hash value that is below a certain global target. This global target which is valid for the entire network is what we call difficulty.
The lower this value is, the less computations are needed to solve a block, since the possible answers to the cryptographic problem are less.
However, with the increase of computing power, miners find the answer easier and start to solve blocks faster than the scheduled 10 minutes per block.
In order to combat this, the difficulty is readjusted every 2016 blocks (or approximately two weeks).
It can be increased if it took less than two weeks to solve 2016 blocks (which is usually the case) or it be decreased, if it took longer. The percentage of the increase is calculated based on the time difference between the schedule and the actual solving of the 2016 blocks.
The current difficulty is 13462580114.525. Bitcoin next difficulty is expected to be approximately 16780864348.84939990.
Based on the difficulty, you can use a bitcoin calculator to see an estimate of how long it would take you to solve a block based on your hardware.
You can even see potential profits. The end numbers will probably be different in the end, though, because the calculator gives estimates based on perfect conditions. This is the basics of bitcoin difficulty explained.