I'll try to give a brief explanation.
First of all, the #bitcoin protocol is based on a data structure called a 'blockchain' (sequence of blocks of data).
Each block contains some information (usually a list of transactions), a reference to the previous block in the chain & a cryptographic hash of the data.
Thus, if you want to change a block, you must also change all the blocks that come after it, because changing a block changes its cryptographic hash, which changes the cryptographic hash of the next block, and so on.
The bitcoin protocol has a special rule: the block at the end of the chain must have a cryptographic hash that starts with a certain number of zeros (currently, 6).
This is why it's called 'mining’: you have to work very hard to find a block that has the right cryptographic hash.
The computational complexity of finding a block is 'O': the target is a '256-bit number'
If the number of miners doubles, then the probability of a given miner finding a block will only decrease by a factor of two. This is due to the fact that the difficulty will be increased to keep the average rate at which blocks are found the same.
The probability that a given 'nonce' produces a hash starting with a zero is therefore '1/2^(log n)' where 'n' is the number of leading zero bits required, so the probability of any given nonce producing a hash starting with 3 zeros is approximately 1/2^3 or 1/8.
If 'n' is the number of leading zero bits required then why is the probability 1/2^(log n) & not 1/2^(n) ?