When it comes to traditional currencies (USD, EUR), governments simply print more money when it is needed. However, in bitcoin world, money is not printed but discovered. Computers compete with each other around the world, and that is how they "mine" for coins.
Where does mining start?
Cryptocurrency holders send funds to each other over the Bitcoin network, but it would be impossible to keep track of them if there wasn’t someone to keep a record of all these transactions. The Bitcoin network resolves this issue by gathering the data about all transactions that were made during a set period into a list, which is called the "block". The miners are those whose job is to confirm these transactions and write them down into the general ledger.
A general ledger is a form of a long list of mentioned blocks, called the "Blockchain". Blockchain can be easily used to track any transaction between two Bitcoin addresses. When a new block of transactions is made, it is added to the blockchain, making a huge list of all the transactions that ever happened on the whole bitcoin network, and that list constantly expands. After it is done, the updated copy of the block is sent to everyone who participates, so that they can keep track of what is happening on the network.
Even though the information is stored digitally, many still ask if it’s possible to ensure that Blockchain stays intact all the time. To ensure that, this system needs miners to do their job. Once the block of transactions is made, miners need to put it through a process. They take all the data from the block, and apply a mathematical formula to it, turning it into the sequence of letters and numbers, which is called "hash". When a hash is made, it is stored along with the block.
Making a hash from a collection of data of is a simple job, but it’s almost impossible to guess what data was in the hash just by looking at it. This means that each hash is unique. So, If someone tries to change just one character in a Bitcoin block, the whole hash changes completely. It’s important to know that miners do not use only the information about transactions in a block to generate a hash. There are some other pieces of data that need to be used as well. One of these pieces is the hash of the previous block that was stored in the blockchain. It is a way to secure that each new block, and every block after it, is legitimate.
Mining for coins
The job of miners is trying to seal off a block. They all compete with each other to accomplish this, using the software made specifically for mining blocks. Every time miners create a hash, they get a reward in Bitcoins, the Blockchain is updated, and everyone on the network receives the notice about it. That is the reason why the people want to keep mining and keep these transactions working. As it is very easy to create a hash from a collection of data, the bitcoin network had to make it a little bit more difficult to avoid the constant bitcoin mining in a short period of time.
In general, the Bitcoin protocol doesn't accept old hashes, but it requires that a block’s hash looks a certain way, having a certain number of zeroes at the beginning. There’s no way of telling what hash will look like before people produce it, and as soon as they include a new piece of data in the mix, the hash becomes different.
Miners’ job is not to interfere with the transaction information in a block, but to change the data, they’re using to make a completely different hash. Miner achieves this by using another random piece of data which is called a "nonce". A nonce is used together with the transaction data in order to create a hash. If the hash doesn’t fit the required format, the nonce is being changed. After that, the whole thing is hashed again. Finding a nonce that works requires some time and patience, so all the miners in the network are making efforts to do exactly that. That is the way miners earn their bitcoins.
What is Bitcoin mining pool?
Bitcoin mining pool is a group of BTC miners who make efforts to gather their resources and share the hashing power. Later, they all divide the reward proportionally which depends on the quantity of shares they have contributed to solving a block. This "share" is regularly given to the members of the BTC mining pool who can provide a viable proof of work. By doing so, miners report that their BTC miner successfully solved a part of the block. Mining in the form of pools dates from the times when the mining largely increased, getting to the point where it could take years for some low-speed miners to generate a block. So, the logical solution was to create groups of miners who pool the resources, generating blocks faster, regularly receiving a proportionate part of the Bitcoin block reward.
Those who wish to solo-mine, meaning they're not using Bitcoin mining pool, need to ensure that they are in consensus with the Bitcoin network. The best way to do this is to use the official BitCore client.
If choosing to participate in a Bitcoin mining pool, you will need to ensure that they follow the model and norms which correspond to your personal view of Bitcoin in general. In the recent period, some suspicious developers intended to endanger the network by creating software that could start a hard-fork on the BTC network, which would cause a huge financial harm. So, all users should ensure that the mining power they direct to BTC mining pool doesn't serve to disrupt the network consensus rules.
Once "segwit" is active, BTC miners can start mining and relaying segwit-style blocks. The following list of the software contains those programs that are upgraded to support segwit system.
- Bitcoin Core 0.13.1
- Bitcoin Knots 0.13.1
- Bitcoin FIBRE
Best Bitcoin mining companies
Nowadays, we have a wide variety Bitcoin mining pools competing with each other. Here, you can see just a few examples of the biggest BTC mining pools. Those are groups of people who cooperate by dividing block rewards in proportion to the hashing power they contribute.
Genesis mining is the most popular cloud-mining company. They cooperate with a number of well-known mining pools such as Zeus, Spondoolies Tech, MinerEU and others. It is a cloud-mining service that offers people to see their farms openly.
AntPool is a huge Chinese Bitcoin mining pool, known for being maintained by Bitmain. Their current mining volume shows that AntPool mines around 15% of all blocks. Even though they recently had a sort of controversy, AntPool managed to stay one of the largest BTC mining pools when it comes to network hash rate.
DiscusFish, which some know by the name “F2Pool”, is one more Chinese mining pool. In the beginning of 2017, DiscusFish was mining around 12% of all blocks. According to these numbers, this mining pool can be considered as one of the fastest growing ones.
Regarding the charts from early 2017, Bitfury would take the third place in the list of the largest mining pools of today. The charts have shown that BitFury mines around 11% of all blocks.
BTCC is mostly known as a big Chinese cryptocurrency exchange. Among the members of Bitcoin community, it is famous for its long existence. This company includes a BTC exchange, digital wallet and printing physical Bitcoins. BTCC currently mines around 7% of all blocks.
ViaBTC is the youngest mining pool here, with its one-year existence. This company provides a real-time data monitoring on hash rates, cryptocurrency users, and Bitcoin miners, offering quite simple graphical demonstration.
BW Pool comes from the country with the largest number of mining pools, China. BW Pool was launched in 2014, and the charts show that it currently mines around 8% of all blocks.