Block Chain
The block chain is simply a database where records of all the transactions that ever happened on the bitcoin network are kept. Since there is no central server on the bitcoin system, where exactly is this block chain stored. Every user on the bitcoin network is a server and a client. The bitcoin network is a peer-to-peer network.
PEER-TO-PEER NETWORK
When bitcoins are sent from one address to another the transaction is broadcasted (sent out) to all other nodes directly connected to the node that performed the transaction those other nodes still broadcast what they receive and in no time everybody on the network hears about the transaction.
Because of the blockchain that everybody on the network has a copy of, now everybody knows about every transaction that has ever happened on the network so everybody will know what every other persons account balance should be by simple plus and minus. Example bitcoin account 1FdPFc6bWdPiz2UP18jorvbuP6sZZ31LU2 has received only 3 bitcoins in his entire history and has sent out 1 bitcoin in his entire history so his balance must be 2 bitcoins. Everyone on the bitcoin network knows this. So your bitcoins are not stored on your PC as per say but on the network.
So the basic concept on mining is once a transaction (true or false) happens on bitcoin network, the terminal that performed that transaction broadcasts that transaction is to all other nodes (computers) on the bitcoin network connected to him. Each Miner node or computer involved in bitcoin mining bundles these transactions into a block. Each block will contain some meaningless data and false transactions like double-spend attempts. The mining computers now put this block through a hash (complex math) and an output will be gotten normally it’s just a sequence of numbers and alphabets.
Example of a hash b666f26b0f364886b8fe9127920fd9202315e9fe but what makes the bitcoin network unique and difficult is that the bitcoin network will not just accept any hash value the network demands that a block’s hash has to look a certain way; it must have a certain number of zeroes at the start so the processors involved in mining bitcoins have to work that out. When a miner finds out correct hash value, it immediately broadcasts the new block. Also every computer on the network has its own copy of the block chain (record of transactions) so he simply adds the newly found block to the block chain.
The first transaction in a block is a special transaction that produces new bitcoins (25) owned by miner that discovered the block by solving it. The owner of these new coins distributes his new coins into the bitcoin economy by spending.
If a Mining pool was used the members of the pool share the new bitcoins in ratio of the hash power he/she donated to the pool. If you are a solo-miner you keep all 25 bitcoins to yourself.
In other words a block is a list of transactions written on an A4 sheet; the BlockChain is these A4 Sheets arranged in a file folder according to the order in which they were received.
Mining Pool
With a lot of powerful processors on the bitcoin network having the ability to perform millions of hashes in one second, it will mean that blocks will get resolved before 10 min and this will go against the Bitcoin network design that specifies that a block is released every 10 min. If more than one block is released in 10 minute period it means more than 25 bitcoins are minted in 10 minutes. If this continues there will be excess bitcoins in circulation and as a result the value of bitcoin will decline because it is no longer scarce.
Any way the bitcoin network automatically addresses this issue by increasing the network difficulty as more powerful devices begin to hash. This is achieved in such a way that the processors are made to perform more hashes to verify a single transaction.
Say for example normally 4096 hashes verifies a 1 block of transactions as the devices on the network become more powerful, in order to ensure that only 6 blocks are calculated in an hour the network then adjusts the difficulty to ensure that 12288 hashes verify 1 block of transactions.
Common software’s that can help you begin mining are BFG miner, CG Miner. and a host of others.
If you wish to begin mining it is usually advised that you start with a mining Pool
What is a Mining Pool.
As the network difficulty continues to increase it becomes impossible for you to use your CPU to mine because it may take your months of none stop hashing to find a block. People came together, formed a team and used the collective computing power of their CPU for mining.
We can simply say a mining pool is a group of people who decide to bring their processors together (they form a team) so they use the combined HASHING POWER (calculating power) of their CPU, GPU, ASIC to mine new BITCOINS.
The new bitcoins are shared according to the HashPower you contributed to the pool (Pool members with greater hash-rates get more Bitcoin when bitcoins are minted)
To rephrase, the newly generated 25 bitcoins are shared among pool members based on their contribution to solving a block. The larger your contribution, the more returns you’ll receive.
When all the bitcoins are mined, miner rewards will come from transaction fees.