ELI5: What is BetterHash?

ELI5: What is BetterHash?

BetterHash is a cryptocurrency mining method developed by Bitcoin Core developer Matt Corallo.

The main idea behind BetterHash is to improve decentralization of Bitcoin mining efforts.

Present Day Mining

The situation today is such that big mining operations, the large mining pools, control a large percentage of network hashpower.

The way this works is simple in concept, despite the complex cryptography that is involved.

Mining pools distribute little chunks of “work” to thousands of miners worldwide.

Miners take these chunks and crunch them until a desired outcome is obtained.

The outcome is a block that has a difficulty above a certain number decided by the Bitcoin network.

By working this way, small scale miners can earn a share of the mining rewards even if they don’t solve a Bitcoin block.

Solving a block could require hundreds of years of attempts for small hobbyist miners.

By sharing the pool profits, miners receive a tiny share of the reward even if they’re not remotely close to solving a block.

This is how traditional pool mining works. Now let’s take a look at how BetterHash can improve upon this.

BetterHash

BetterHash works by allowing the miners to choose the chunks they will work on.

In mining pools, the chunks of work are sent out unilaterally by the pool software. Miners don’t have much control of choosing how to process that chunk of data.

By allowing the miners to choose their own chunk “template”, and therefore to assemble their own blocks, BetterHash decentralizes a bit more decision power.

With BetterHash, miners can then get creative in assembling blocks in different ways which, perhaps, could yield better results than the way the pool assembles the blocks in the first place.

It is assumed that little would change, since SHA256 produces a uniform distribution of hashes (it is not biased). Still, BetterHash would give the miners a bit more freedom.

Transaction Selection

One of the biggest problems in present day pool mining is giving the mining pools the power to choose which transactions go in a block.

Today, a mining pool will assemble a block however they see fit. Then they hash the candidate block, build its headers and broadcast a tiny challenge, which is just a tiny bit of information, on which all the miners immediately start working.

The work that gets broadcast by the pool is derived from the block assembled by the pool itself. This allows mining pools to completely control which transactions get inserted in a block. Even if there are thousands of miners connected to a pool, one entity controls the block assembly process.

With BetterHash, miners themselves can assemble the blocks, promoting truly decentralized mining, even when miners work with with a centralized entity such as a pool.

Why isn’t BetterHash live yet?

BetterHash is a BIP, which is a Bitcoin Improvement Process request.

BIP’s are discussed by the community and their development depends on collective initiative. If the community gets behind a BIP, it’ll get developed, tested and released quickly.

When BIP’s don’t receive much attention, their development is slower.

This working methodology has worked well for Bitcoin throughout the years.

The community drives Bitcoin developmeht through BIP’s. Those who attract great interest get released quickly, those who don’t go slower or may not get accepted at all.

You can track the BetterHash BIP progress via the link found at the end of this article, under the references section.

Video Presentation

Here is a 1.5 hour technical explanation of the BetterHash mining strategy:

References

Bitcointalk Discussion

Alternative Bitcoin Talk Thread

BetterHash BIP (Find out more about Bitcoin  BIPs?)

Meta