Welcome to Cryptolinks.com – Your Ultimate Crypto Companion! Ready to dive into the world of Bitcoin, blockchain, and cryptocurrency? Look no further than Cryptolinks.com, your one-stop destination for curated crypto goodness. As someone who's spent years exploring the vast crypto landscape, I've handpicked the crème de la crème of resources just for you. Say goodbye to sifting through haystacks of information. Whether you're a curious beginner or a seasoned pro, my personally vetted links cover everything you need to know. I've walked the path myself and selected the most insightful sites that helped me grasp the complexities of crypto. Join me on this journey of discovery. So go ahead, bookmark Cryptolinks.com, and let's conquer the crypto realm together!

Ethereum:
$
Bitcoin:
$
Litecoin:
$
Cryptolinks by Nate Urbas Crypto Trader, Bitcoin Miner, Holder
review-photo

BetterHash: Enhancing the Decentralization of Bitcoin Mining

3 August 2019

Since Bitcoin’s introduction in 2019, it has shown the world that a decentralized currency is possible and has developed into the leading crypto-network that is undoubtedly the most resistant and secure that exists.

 

However, Bitcoin is far from perfect and needs many improvements to become truly decentralized. For instance, the mining part of Bitcoin’s ecosystem is seen by many as a centralizing force and hence problematic if not addressed.

 

One undesirable feature of Bitcoin mining in its current state is that mining pools represent miners. A mining pool combines the hashing power of all miners that join to secure a large chance of finding a block and aims to provide consistent and frequent payouts to miners.

 

The alternative to participating in a mining pool is known as “solo mining” – which is where you mine using your own machines and do not pool your hashrate with others. Solo mining is very unlikely to be profitable as the hashing power will be an insignificant proportion of the network’s entire hashrate, hence why mining pools have existed as early as 2010.

 

In essence, the mining pools perform the following functions; they signal for the miners, run a full node so miners do not have to, they construct the block, and they select which transactions go into that block. Mining pools also decide what fork of the blockchain that pool’s hashpower is used for.

 

 

While pools doing all of these things may make mining easier for less technical users, it has also led to a handful of mining pools dominating this part of the Bitcoin ecosystem and raising concerns of centralization. In this article, we will look at a protocol first proposed in June 2018 that aims to enhance the decentralization of Bitcoin mining; BetterHash.

 

What’s Wrong With Bitcoin Mining Today?

 

As already mentioned above, bitcoin mining pools represent and signal for the participating miners and this can lead to all sorts of problems. Because there are only a small number of mining pools with a limited set of options for miners to choose from, miners may not have a lot of choice with regards to which pool they go with. Because existing pools have a lot of power over the hash power from their miners, they have the ability to exploit Bitcoin in one way or another.

 

 

For example, because pools build the blocks rather than miners, mining pools can; determine which transactions make it into a block (raising concerns for potential censorship), can be bribed to reorganize the blockchain under certain conditions, can backlog transactions to raise Bitcoin’s fee rate, they can direct hashpower without the miner’s consent and mine forks of Bitcoin, as well as signal support for a proposal using their miner’s hashpower.

 

Another problem with Bitcoin mining at present is the Stratum protocol – which is the most widely used mining protocol which connects mining pools, clients and mining hardware. Suppose you have an ASIC miner – the control board that runs the mining software “speaks” to Stratum and connects to a pool. The pool then delegates work to the ASIC while the ASIC responds by submitting “shares, which serve as proof that the miner has contributed to the pool.

 

According to the BetterHash Bitcoin Improvement Protocol on GitHub, Stratum is “difficult to implement and poorly documented”. Due to the design of Stratum, pools rather than miner’s themselves build and distribute block templates and without a diverse group of players constructing block templates, pool operators may abuse their power to prevent protocol upgrades from being activated.

 

The cause for concern around Stratum is amplified even more as there is no cryptographically secure connection between the server and the client, which basically means that a “Man in The Middle” attacks is possible, which allows a malicious party to gain control of a pool’s hashrate until the pool operators or other miners intervene.

 

Pools may or may not be supportive of the Bitcoin protocol, so they may not abuse their power to do any of the things listed above. However, there is also the risk of third-party exploitation. Say if a mining pool gets hacked, then the attackers could take advantage of one of the exploits mentioned previously. We look at the potential exploits in more detail below.

 

Censoring Transactions

 

If enough pools can be convinced to blacklist a transaction type or address, then there is nothing individual miners can do about it and they have no say in what the mining pool does in secret. For example, if a large number of pools might blacklist an exchange – paid for by another competing exchange – it wouldn’t prevent that exchange from transaction but it would significantly slow down their transaction processing.

 

 

A good example – even if it was not meant to be malicious or intentional – is a recent instance when F2Pool was censoring Zcash’s shielded transactions. The point is that Bitcoin has different transaction types that can be identified by pools and ignore a specific type of transaction, which exacerbates the backlog for those transactions and raise the fee. While not exploited at present, the censoring of transactions does represent a risk for Bitcoin going forward.

 

Bribing Pools to Reorganize the Blockchain

 

Similar to censoring transaction, mining pools can decide that they do not want a certain type of transaction to be recorded on bitcoin’s ledger. However, this would be near impossible to coordinate but if enough pools colluded, they could build software in anticipation of a bribe and then act on it without consulting miners.

 

 

Following the recent hack of the Binance exchange, it was suggested that pools could reorganize the blockchain to roll back the hack and directly conflicts with the immutability property of Bitcoin.

 

Pools can Inflate Fees by Backlogging Transactions

 

On top of blacklisting certain transactions, pools can potentially ignore all transactions below a certain fee rate, consequently raising the transaction costs for everyone using the Bitcoin network. Some people may argue that smaller pools will pick up the slack, but we do still see empty blocks being mined by certain pools – where empty blocks contain no transaction at all and are viewed as a waste of resources that could have confirmed some bitcoin transactions.

 

 

Moreover, there have been a number of occurrences where pools have only included transactions that had a fee above five satoshis per byte, even though there were room for transactions with a lower fee to be added to the backlog. To have a significant effect, pools would need to coordinate with each other but suppose that enough pools perceive that this activity would have a decnet payoff, then they would have the ability to raise fees across the network – something that no other group of actors can do.

 

Pools are in Control of a Miner’s Hashpower

 

In essence, a mining pool gives a block to a miner and instructs it to mine that block. Generally speaking, miners do not track which chain their pool is mining and some trust is assumed that the pool is honest and mining the coin you want. Furthermore, as mining pools run a full node whereas miners tend not to, most miners are not confirming that they are on the right chain and following the consensus rules.

 

For instance, a pool could make you think you are mining Bitcoin, when in reality you are mining Bitcoin Cash. As a result of the pool mining a different chain, blocks slow down for the Bitcoin network which decreases a miner’s payout. Also, the market is fooled into thinking there is more support for the Bitcoin network than there actually is, which may decrease the value of bitcoin.

 

 

A related problem is that pools can explicitly say they are mining two chains and suppose they say that 40% of the hashpower is for chain 1 and 60% is for chain 2. Pools could tell each individual miner they are part of the 40%, but without miners coordinating and communicating with each other, they will never know for sure which chain they are mining. In this way, pools can exploit miner’s hashpower and affect the market value of each chain through presenting false information.

 

Similarly, pools can use all of their miner’s hashpower to signal for a proposal. As a result, pools can have a lot of influence on what proposals their miner;s signal for, and as a result, push through proposals so they are activated or prevent proposals from being implemented.  Since there is little to no financial cost of signaling, the risk is low for pools to engage in this type of behaviour.

 

What is BetterHash?

 

We’ve outlined the current state of Bitcoin mining and some potential problems. But what is BetterHash and how does it address these issues?

 

BetterHash, first proposed by Chaincode Labs Bitcoin developer Matt Corrallo, is intended to mitigate the problems of miner centralization as described above. Instead of pools representing miners, they would represent themselves.

 

Therefore, BetterHash wants to put the power back into the hands of miners and reduce the power of mining pools. Miners would control their own hashpower, whereas pools would simply coordinate them and distribute the payouts.

 

 

BetterHash is the working name for new mining protocols that aim to address the issues outlined above and the name may change in time. When BetterHash is complete, enough miners need to switch over to this new protocol to make the change profitable for all miners in the ecosystem. BetterHash will also require some pools that are willing to support the old and new mining protocols as miners switch over.

 

How Does BetterHash Reduce the Influence of Mining Pools?

 

In short, by placing miners in charge of creating the block template – instead of mining pools – and building a protocol, around that concept, BetterHash gets around a variety of issues that are considered risks to the Bitcoin network.

 

BetterHash will also make sure that miners run their own full node, select the transactions, create the block and mine it. As with the Stratum protocol, shares would be used by miners to prove they were mining for that pool. By being able to select which block they are mining on, miners can prevent double spend attacks.

 

Since pools would not just coordinate miners and distribute payouts, it wouldn’t matter if the entire network was mining using one pool, as mentioned by Matt Corallo in an interview with Bitcoin developer Jimmy Song, “We could have just one pool for the entire network, and it wouldn’t really be a big deal.”

 

 

There are two main protocols that make up BetterHash, known as Work and Pool. From Matt Corallo’s BetterHash BIP:

 

“The work-carrying protocol replaces both getblocktemplate and Stratum when passed directly to mining hardware, while the payout protocol manages all pool<->client communication. The segregation of these functions provide pool participants with the ability to construct block templates with transactions they (or another pool of their choice) have selected while the pool oversees the distribution of payouts.”

 

Together, the Work and Pool protocols provide information on how pools should build a coinbase transaction (which is associated with a block’s mining reward) as well as where to send the mining reward. Also, they provide users with the information needed to upload shares to the pool and the two separate protocols allows miners to create custom block headers but still receive the economic benefits of a mining pool.

 

The Pool protocol includes the ability to send “weak blocks” which improves the block propagation of mining pools. Weak blocks have been talked about since 2015 and they are the shares that miners frequently submit to a pool. For each new block with the same difficulty as an old weak block, the pool sends a compressed version of the weak block and compares with the new block and allows the pool to upload full blocks faster, benefitting mining efficiency.

 

Creating block templates required a lot of technical knowledge and Corallo is not anticipating a quick changeover to BetterHash, “Pools optimize software on behalf of their users. For this reason, I don’t think a lot of pools (hashers) have interest in adopting a protocol (BetterHash) like this when it requires them effort such as managing and running a full node.”

 

While BetterHash is not in use at present, work is continuing so that sometime in the future, miners can decide to switch over and help to reduce centralization in the Bitcoin mining ecosystem. While pools could still exert influence over their miners, with BetterHash, a mining pool would need to inform their users, after which the miner could decide to join another pool. By preventing pool abuse and network attacks, BetterHash is considered as objectively better for the decentralization of bitcoin mining.

 

Just by making miners run their own full nodes and using a better pooling protocol, BetterHash is an interesting and promising potential addition to Bitcoin.

Leave a Reply