The Ins and Outs of Bitcoin Mining


Bitcoin Mining

Bitcoin Mining
Bitcoin Mining

At its most basic level, Bitcoin mining is the process of performing math calculations to create new Bitcoins. However, there is more work done when mining for Bitcoins than simply creating new Bitcoins to add to the existing supply base.

Wikipedia describes the functions of a Bitcoin miner in a rather technical way:

“The steps to run the network and generate or “mine” bitcoins are:

  1. New transactions are broadcast to all nodes.
  2. Each node collects new transactions into a block.
  3. Each node works on finding a difficult proof-of-work for its block.
  4. When a node finds a proof-of-work, it broadcasts the block to all nodes.
  5. Bitcoins are successfully collected or “mined” by the receiving node which found the proof-of-work.
  6. Nodes accept the block only if all transactions in it are valid and not already spent.
  7. Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash.
  8. Repeat.

Nodes always consider the longest chain to be the correct one and will keep working on extending it. If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first. In that case, they work on the first one they received, but save the other branch in case it becomes longer. The tie will be broken when the next proof-of-work is found and one branch becomes longer; the nodes that were working on the other branch will then switch to the longer one.

New transaction broadcasts do not necessarily need to reach all nodes. As long as they reach many nodes, they will get into a block before long. Block broadcasts are also tolerant of dropped messages. If a node does not receive a block, it will request it when it receives the next block and realizes it missed one.

Mined bitcoins

By convention, the first transaction in a block is a special transaction that starts a new coin owned by the creator of the block. This adds an incentive for nodes to support the network, and provides a way to initially distribute coins into circulation, since there is no central authority to issue them.”