What is hashing? The battle for hashing power in bitcoin mining!

Hashing is a cryptographic process to map data of arbitrary length to data of a fixed length, the SHA256 protocol. The mining pools use hashing power to solve complex mathematical problems through brute force computation. 

The more computational power they have, the higher their chances are to validate transactions and claim new coins as a reward for participating in the fairness of bitcoin’s blockchain, a process known as “mining”.

Bitcoin mining can be separated into two general stages: the first stage is transaction verification, in which a valid transaction is verified against bitcoin’s blockchain to determine its validity. 

The second stage is about solving a computationally difficult problem using the block reward that was just awarded by the network to ensure the fairness of transaction verification. Both stages are crucial for bitcoin’s blockchain to work.

The first stage is known as “proof of work” (PoW). The second stage, using the block reward just awarded, is called “proof of stake” (PoS), and it requires much less computational power than the PoW algorithm uses. For example, it can be calculated that the second stage uses 1/100 to 1/1000 of the power used in the first one.

The battle for hashing power in bitcoin mining!

As bitcoin’s blockchain evolved, mining became more complex and required more hashing power for successful completion. This increased mining hardware processing capabilities around the 2010-2011 period when CPU was replaced by GPU (graphic cards processors), which were much faster and cheaper, and later to ASIC (application-specific integrated circuit). These specially designed mining processors are much faster than GPUs. Check more at The News Spy App!

GPUs use a lot of electricity and put out a lot of heat, forcing bitcoin miners to look for more incredible places with cheap electricity to place their hardware farms. Eastern Washington in the United States became one such area with cheap electricity and cold weather. Today, most of bitcoin’s mining is done there while its population was less than 20 thousand in 2010 and now exceeds 500 thousand people.

Bitcoin’s blockchain will never exceed 1 megabyte per block, which can process seven transactions per second at best. If the current average transaction is taken to the size of 500 bytes, then it will take 14 seconds to process a transaction. 

To be confirmed, a transaction has to be included in a block that solves the current hash puzzle, and since only one block per 10 minutes is mined on average, it will take over an hour for bitcoin’s blockchain to confirm a transaction. That’s more than enough time for a double-spend attack which can cost you a lot if you are a legitimate business accepting bitcoin payments. 

That’s why there is a need for the Bitcoin Payment Protocol (BIP70) and its extensions like BitPay’s Insight, which provide real-time 0-confirmation transactions while saving you from potential fraud losses.

As the number of miners increases, so does the hashing power of the Bitcoin network, which raises the difficulty required to mine a block. Miners have been trying different approaches to solve this problem, including empty mining blocks and fake transactions to make it look like they are in the lead of hashing power.

The current state of mining pools

One well-known miner, F2Pool (also known as DiscusFish), has recently published its report on the current state of mining pools, showing that this issue is not yet resolved. Furthermore, they show that although there are fixes for this issue proposed by various developers, it is still not implemented.

In their report, they have shown that unknown miners mine over 42% of blocks at the moment. The unknown miners are an anonymous group that can be either individuals or groups working together to gain hashing power for themselves. There is also another group known as “unknown”, mainly solo miners who are unknown to the public.

This unknown group makes up roughly 2MB or 17% of all hash power in the network. The second biggest is F2Pool which has 12%, followed by Antpool with 9%. They also show that seven pools currently make up around 50% of all hashing power in the network.

Winding Up

DiscusFish shows that there are currently three proposals that could bypass this issue of rivalling hashing power, the first being Automatic Checkpointing implemented by Gavin Andresen. 

The second is block commit, in which miners send back blocks they mined to other nodes before sending them out to the network, preventing bad acting pools from producing orphan blocks.

The last of which is a new p2pool protocol called Decentralized Checkpointing in which all nodes mine checkpoints together and prevent block withholding attacks from happening. 

If these three proposals are adopted, it could mean that rival hashing power would not be an issue anymore. However, DiscusFish says that instead of changing the core code of Bitcoin, it might be better to implement client-side checkpointing.