Mining: Difference between revisions
Line 21: | Line 21: | ||
== Hardware == | == Hardware == | ||
=== CPU Mining === | === CPU Mining === | ||
=== GPU Mining === | === GPU Mining === | ||
GPU Mining is drastically faster and more efficient than CPU mining. See the main article, [[Why a GPU mines faster than a CPU]]. | |||
=== FPGA Mining === | === FPGA Mining === | ||
=== Mining in the Future === | === Mining in the Future === |
Revision as of 03:55, 27 November 2011
This page is a stub. Help by expanding it.
Introduction
Mining is the process of generating blocks for the block chain. Blocks confirm transactions and create new bitcoins. Adding a block to the block chain is difficult, requiring much time and processing power to accomplish.
History
The Genesis block was found on January 3rd, 2009 at 18:15 UTC presumably by Satoshi Nakamoto. (Please help by expanding this section, keeping in mind that the topic at hand is mining specifically.)
Bitcoin mining is so called because the rate at which bitcoins are generated resembles the rate at which commodities like gold are mined from the ground. See Controlled Currency Supply.
Difficulty
The Computationally-Difficult Problem
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 Metric
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.
Reward
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 50 bitcoins; this value will halve every 210,000 blocks. See Controlled Currency Supply.
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.
Hardware
CPU Mining
GPU Mining
GPU Mining is drastically faster and more efficient than CPU mining. See the main article, Why a GPU mines faster than a CPU.
FPGA Mining
Mining in the Future
Pools
As mining a block became more and more difficult, individuals found that they were working for months without finding a block and receiving any reward for their mining efforts. Thus they started organizing themselves into pools so that they could share rewards more evenly. See Pooled mining.