There five ways to get Bitcoins (each has it's PROS and CONS):

    Get Bitcoins a little at a time from Bitcoin faucets
    Watch ads/videos to earn some Bitcoins
    Complete surveys/offers to earn some Bitcoins
    Buy Bitcoins with your real money through Bitcoin Exchange
    Mine Bitcoins by using  your computer(s) to solve complex mathematical equations

1.) Get Bitcoins a little at a time from Bitcoin faucets
This is an easier way to earn Bitcoins by going through all of the Bitcoin faucet websites (view list here) and put in your Bitcoin address, type in the CAPTCHA and that's it! Some websites will store your Bitcoins in their website or in Coinbox.me until it reach a minimum threshold (usually 0.00005500 BTC) before they actually send the Bitcoins to your wallet. 

PROS: Receive free Bitcoins, why not? Pretty fast process.
CONS: Receive small amounts of micro Bitcoins (uBTC) at a time, which can can take a long time to reach at least 1.0 BTC. Have to wait 15, 30, or 1 hour before you can get more Bitcoins.
2.) Watch ads/videos to earn some Bitcoins
This process takes a little longer, but is proven to give more Bitcoins than doing the above ^^. When going on these websites (view list here), some website require you to create an account, most of them don't. You will, of course, need to provide your Bitcoin address, watch ads in a given time (from 10 seconds - 5 minutes), then you will be paid in Bitcoins. Watching videos for Bitcoins time frame will be around (1 minute - 8 minutes) per video. But still, you get paid more Bitcoins. (HINT: You don't necessarily have to watch the ads/videos; you can do something else on the web until the time runs out)


PROS: Receive more Bitcoins. Some websites has no limits to how much you can earn. So you can get as much Bitcoins as you can if you have a lot of free time.
CONS: Time consuming. Some website require registration. 
3.) Complete surveys/offers to earn some Bitcoins
Of course, this will be more time consuming; but, again, more Bitcoins (view list here). Complete offers such as: doing certain tasks, visit a website, download an app, give a review, buying a product, etc. You can do surveys to earn a lot of Bitcoins, but some surveys take a long time to complete. 

PROS: More Bitcoins (LOTS of them)
CONS: Very, very time consuming. Some websites require registration. Not for impatient people.
4.) Buy Bitcoins with your real money through Bitcoin Exchange
This is a quicker way to earn Bitcoins, whether you want to buy them for investment or to transfer money to another country without paying hefty fees. This can be costly if you don't have much money as of right now (October 11, 2013) the current Bitcoin value is 1 BTC = $141.14 USD. To exchange from cash to Bitcoins, here is a mini list:

1.) Mt. Gox - one of the most popular Bitcoin Exchange sites
2.) LocalBitCoins - a site where you can buy and sell Bitcoins with people near you
3.) BitStamp - Another well known buy/sell Bitcoin Exchange
4.) CoinMkt - a Bitcoin Exchange site with simple web interface
5.) iHeartBitcoins Exchange - our very own Bitcoin Exchange coming soon!

PROS: Quickest way to get Bitcoins especially if you're impatient
CONS: You have to spend real money. Most of these Bitcoin Exchanges require you to connect your bank account 
5.) Mine Bitcoins by using  your computer(s) to solve complex mathematical equations
Mining shares - provides Mining as a Service (MaaS) model; break large-scale data center mining down to easily manageable pieces that are available in the form of shares of equipment. Mining a block is difficult because the SHA-256 hash of a block's header must be lower than or equal to the target in order for the block to be accepted by the network. This problem can be simplified for explanation purposes: The hash of a block must start with a certain number of zeros. The probability of calculating a hash that starts with many zeros is very low, therefore many attempts must be made. In order to generate a new hash each round, a nonce is incremented. The difficulty is the measure of how difficult it is to find a new block compared to the easiest it can ever be. It is recalculated every 2016 blocks to a value such that the previous 2016 blocks would have been generated in exactly two weeks had everyone been mining at this difficulty. This will yield, on average, one block every ten minutes. As more miners join, the rate of block creation will go up. As the rate of block generation goes up, the difficulty rises to compensate which will push the rate of block creation back down. Any blocks released by malicious miners that do not meet the required difficulty target will simply be rejected by everyone on the network and thus will be worthless.

When a block is discovered, the discoverer may award themselves a certain number of bitcoins, which is agreed-upon by everyone in the network. Currently this bounty is 25 bitcoins; this value will halve every 210,000 blocks. 

Additionally, the miner is awarded the fees paid by users sending transactions. The fee is an incentive for the miner to include the transaction in their block. In the future, as the number of new bitcoins miners are allowed to create in each block dwindles, the fees will make up a much more important percentage of mining income.


Users have used various types of hardware over time to mine blocks: 

1.) CPU Mining:
Early Bitcoin client versions allowed users to use their CPUs to mine. The advent of GPU mining made CPU mining financially unwise. The option still exists in the reference Bitcoin client, but it is disabled by default.

2.) GPU Mining:
GPU Mining is drastically faster and more efficient than CPU mining. 

3.) FPGA Mining:
FPGA mining is a very efficient and fast way to mine, comparable to GPU mining and drastically outperforming CPU mining. FPGAs typically consume very small amounts of power with relatively high hash ratings, making them more viable and efficient than GPU mining. 

4.) ASIC Mining:
An application-specific integrated circuit, or ASIC, is a microchip designed and manufactured for a very specific purpose. ASICs designed for Bitcoin mining were first released in 2013 and (at the time of this writing) are in the hands of a very limited number of miners. For the amount of power they consume, they are vastly faster than all previous technologies and already has made GPU mining financially unwise in some countries and setups.

Mining in Pools:
With increasing generation difficulty, mining with lower-performance devices can take a very long time before block generation, on average. For example, with a mining speed of 1000 Khps, at a difficulty of 14484 (which was in effect at the end of December, 2010), the average time to generate a block is almost 2 years.

To provide a more smooth incentive to lower-performance miners, several pooled miners, using different approaches, have been created. With a mining pool, a lot of different people contribute to generating a block, and the reward is then split among them according to their processing contribution. This way, instead of waiting for years to generate 50btc[Citation Needed] in a block, a smaller miner may get a fraction of a Bitcoin on a more regular basis.

A share is awarded by the mining pool to the clients who present a valid proof of work of the same type as the proof of work that is used for creating blocks, but of lesser difficulty, so that it requires less time on average to generate.

1.) The slush approach:
Bitcoin Pooled Mining (BPM), sometimes referred to as "slush's pool", follows a score-based method. Older shares (from beginning of the round) have lower weight than more recent shares, which reduces the motivation to cheat by switching between pools within a round.

2.) The puddinpop approach:
(As of February, 2011, there are no puddinpop pools running.)

Another approach is the 'metahash' technique, used by puddinpop's remote miner. Clients generate hashes, and also submit 'metahashes', which are hashes of a large chunk of generated hashes. The server checks that the metahashes are correct (in a round-robin fashion, picking up a metahash from a client that hasn't been checked on the longest), thus preventing clients from simply claiming that they have done work without actually doing it. The withholding of good blocks by the clients is prevented by the server's possession of the private key, just as in the previous approach. Rewards are distributed based on the number of metahashes submitted by the clients.

The generated blocks contain multiple keys in the generation transaction, giving fractional bitcoin amounts to each key in proportion to their hashing contribution for that block.

3.) Luke-Jr's approach ("Eligius")
Luke came up with a third approach borrowing strengths from the earlier two. Like slush's approach, miners submit proofs-of-work to earn shares. Like puddinpop's approach, the pool pays out immediately via block generation. When distributing block rewards, it is divided equally among all shares since the last valid block. Unlike any preexisting pool approach, this means that the shares contributed toward stale blocks are recycled into the next block's shares. In order to spare participating miners from transaction fees, rewards are only paid out if a miner has earned at least 0.67108864 BTC (400 TBC). If the amount owed is less, it will be added to the earnings of a later block (which may then total over the threshold amount). If a miner does not submit a share for over a week, the pool sends any balance remaining, regardless of its size.

4.) The Pay-per-Share approach:
The Pay-per-Share (PPS) approach, first described by BitPenny, is to offer an instant flat payout for each share that is solved. The payout is offered from the pool's existing balance and can therefore be withdrawn immediately, without waiting for a block to be solved or confirmed. The possibility of cheating the miners by the pool operator and by timing attacks is thus completely eliminated.

This method results in the least possible variance for miners while transferring all risk to the pool operator. The resulting possibility of loss for the server is offset by setting a payout lower than the full expected value.

5.) The Triplemining approach:
The Triplemining approach is to bring together a medium-sized pool with no fees and clever redistribution of 1% of every found block to allow your share to grow more rapidly than on any other bitcoin mining pool.

For every found block, Triplemining redistributes 1% of the profits to all minipool owners (people with 1 or more friends mining with them). The redistribution is connected to the shares found by the members of the minipool. So if the hash rate of the minipool members equals or is bigger than yours, the part in the redistribution will be equally bigger.

6.) P2Pool approach:
P2Pool mining nodes work on a chain of shares similar to Bitcoin’s blockchain. When a block is found, the reward is divided among the most recent shares in this share-blockchain. Like the puddinpop and Luke-Jr approaches, P2Pool pays via generation.


PROS: The quickest way to earn Bitcoins especially if you have a very good internet connection, fast computer chip, and mine in pools than doing it yourself
CONS: Can consume a lot of electricity. Only for experienced Bitcoin users, not recommended for Bitcoin starters as this requires more learning.