Bitcoin mining is often thought of as the way to create new bitcoins. But that’s really just a secondary purpose. The primary purpose of mining is to maintain the ledger of all bitcoin transactions (the blockchain).
Mining is also the mechanism used to introduce bitcoins into the system: Miners are paid any transaction fees as well as a “subsidy” of newly created coins. This both serves the purpose of disseminating new coins in a decentralized manner as well as motivating people to provide security for the system.
Bitcoin miners are processing transactions and securing the network using specialized hardware and are collecting new bitcoins in exchange.
In order to have an edge in this global competition, the hardware used for Bitcoin mining has undergone various iterations, starting with using the humble brain of your computer, the CPU. A more sophisticated way of doing this is using the GPUs in a computer.
The problem with using CPUs for mining is that they are not very efficient at it, and also they tend to overheat pretty easily. So, in order to stay competitive, miners started using GPUs.
The next step up from using a CPU is using your computer’s graphics processing unit (GPU). A GPU can handle more complex algorithms than a CPU can because it has a lot more cores (units that can execute instructions).
The most popular way to amass Bitcoin now is through so-called Bitcoin mining pools, which number over two dozen and counting. Joining one is easy—miners just have to sign up and provide some basic information—and doing so entitles them to a portion of every block mined by the pool, proportionate to the amount of hashing power they contributed.
Some pools keep fees low to encourage participation, while others charge higher percentages but promise more regular payouts. The two largest by hash power are SlushPool and AntPool, which together account for about 30 percent of all hashing power on the network.
When you join a mining pool, you’ll need software for communicating with it and connecting your miner(s) to it. The main program for interacting with most pools is called cgminer; other software includes bfgminer and gui miner.
Cgminer is mostly used on Linux systems; gui miner works on Windows only; and bfgminer works cross-platform but requires installation of additional software such as the Berkeley Open Infrastructure Networking stack.
Once you’ve got your miner set up with a pool, you’ll need to point it towards your bitcoin address—this is what allows you to receive bitcoins in your wallet should your miner successfully add a block onto the blockchain. You can find your bitcoin address by going into your wallet (we’ll be showing how to do this later) and clicking on “Receive coins.
” Your wallet will provide you with one or more bitcoin addresses; copy and paste one of them into your text editor, so you’ll be able to type it out when needed during installation.