A fork is occurs when two miners find a valid hash within a short space of time.
They both spread the solution for verification to their neighbours.
As the process continues the network will split into two, where one half of the network believes one block is the next to be included in the blockchain ledger, whilst the other half of the network believes in a different block.
This problem is almost always resolved quickly, or within one block – the probability of two blocks being found within two seconds of each other for two block rewards consecutively is very low. A one block fork occurs roughly once a week, whilst a two block fork occurs extremely rarely.
The problem is solved by the part of the network that finds the next block, as this blockchain is then said to have more difficulty – or higher complexity. The other part of the network will then make its blocks redundant and adopt the 2 blocks of the longer half of the blockchain. The block that it thought was the solution will then be stored in a pool as an orphan block. This is called blockchain reconvergence.
This brings up an interesting problem with other crypto currencies, for example litecoin, where the targeted block time is set to two and a half minutes instead of Bitcoins ten minutes. As the block time is less with Litecoin there is a higher probability of blocks being solved within seconds of each other and causing a Litecoin Fork.
This is the compromise between transaction confirmation and network forking – for example Fastcoin with a block target time of less than thirty seconds will create a multitude of forks.