Home

Blog

Careers

Story

Bonds

KNIHY

Merch

We apologize but this page is available only in English.

Bitcoin Mining Insights

Bitcoin mining and difficulty adjustments explained in non-technical terms using a simple dice analogy.

START READING

Most people misunderstand what bitcoin miners actually do, and as a result they don't fully grasp the level of security provided by bitcoin's hashrate. In this article, we'll explain proof of work in a non-technical way so that you’ll be able to counter the misinformation about supercomputers and quantum computers attacking the Bitcoin network in the future.

Simply put, mining is a lottery to create new blocks in the Bitcoin blockchain. There are two main purposes for mining:

- To permanently add transactions to the blockchain without the permission of any entity.
- To fairly distribute the 21 million bitcoin supply by rewarding new coins to miners who spend real world resources (i.e. electricity) to secure the network.

To understand what is actually happening in this lottery system, let's look at a simple analogy where every Bitcoin hash is equivalent to a dice roll.

Imagine that miners in the Bitcoin Network are all individuals gambling at a casino. In this example, each of these gamblers have a 1000 sided dice. They roll their die as quickly as possible, trying to get a number less than 10. Statistically, this may take a very long time, but as more gamblers join the game, the time it takes to hit a number less than 10 gets reduced. In short, more gamblers equals quicker rounds.

Once somebody successfully rolls a number less than 10, all gamblers at the table can look down and verify the number. This lucky gambler takes the prize money and the next round begins.

Ultimately, the process of mining bitcoin is very similar. All miners on the network are using Application Specific Integrated Circuits (ASICs), which are specialized computers designed to compute hashes as quickly as possible. To “compute a hash” simply means plugging any random input into a mathematical function and producing an output.

More hashes per second (i.e. higher hashrate) is equivalent to more dice rolls per second, and thus a greater probability of success. Miners propose a potential Bitcoin block of transactions, and use this for an input. The block is plugged into the SHA256 hash function which yields a fixed-sized output, known as a hash. A single hash can be computed in less than a millisecond, as it involves no complex math.

If the hash value is lower than the Bitcoin Network difficulty, then the miner who proposed the block wins. If not, then the miner continues trying by computing more hashes. The successful miner’s block is then added to the blockchain, the miner is rewarded with newly issued bitcoin for their work, and the “next round” begins.

Assigning the most powerful supercomputer to mine bitcoin would be comparable to hiring a grandmaster chess player to move a pile of bricks by hand. The job would get done eventually but the chess player is much better at thinking and playing chess than exerting energy to repetitively move bricks.

Likewise, combining the computing power of the most powerful supercomputers in the world and using them to mine bitcoin would essentially be pointless when compared to the ASIC machines used today. ASICs are designed to do one thing as quickly and efficiently as possible, whereas a supercomputer is designed to do complicated tasks or math problems. Since Bitcoin mining is a lottery based on random trial and error rather than complex math, specialization (ASICs) beats general excellence (supercomputers) everytime.

Network Difficulty and 10-Minute Block Times

Now that you understand the randomness of miners finding a block, it is important to understand block times and difficulty. In our gambling example, imagine that anybody can join or leave the table at any time. If one person is rolling a 1000 sided die trying to get less than a 10 it will take them an average of 10 minutes to hit that number. Sometimes they’ll hit in 1 minute, other times it might take them 30.

If a new person steps up to the table and starts rolling, collectively it will take them an average of 5 minutes for somebody to win the round. If 20 people step up to the table, this time is significantly shortened. In order to keep the game interesting we want to average a winner every 10 minutes. To do this, we can simply adjust the dice target. As additional gamblers step up to the table, the rules will change (e.g. gamblers must now roll a number less than 5 to win) so that the average remains 10 minutes per round. As more gamblers join, the casino makes winning harder. If gamblers leave, they make it easier.

This is exactly how the Bitcoin network regulates mining to maintain a steady issuance schedule of new BTC. Miners compute hashes below the target difficulty every 10 minutes on average. Every 2016 blocks (~2 weeks) the average for those blocks is calculated and the difficulty is adjusted to bring block times back to 10 minutes. If more miners join the network in this ~2 week period, the hashrate and difficulty will increase as a result.

Note: Nobody knows exactly why these arbitrary numbers were chosen. That said, it’s important that 10 minutes is long enough for miners and nodes to pass information around the world without internet speeds causing significant issues, and 2016 blocks is long enough to get a statistically accurate block time needed for the difficulty adjustment.

The difficulty adjustments described above make Bitcoin the only asset with a truly fixed and known supply schedule. Since inception, we’ve known two things:

- There will never be more than 21 million coins.
- Every 10 minutes more bitcoin is newly issued as we approach that 21 million number.

In every other industry, (gold, auto, or even sandwich bags) the supply fluctuates based on demand. If demand increases for automobiles, then the manufacturer can increase production to match the demand. In Bitcoin, supply is locked in and cannot change, therefore demand and price are tied more closely than any other industry or asset classes. This sounds very cut and dry, but it gets interesting when you try to understand what miners do with their newly issued coins and the impact this has on the market.

At the time of writing this article (04/14/2021), more than 89% of the total 21 million coins have been issued. Currently 6.25 BTC are added to the supply every block.

On this date, the price has increased dramatically compared to the growth in network hashrate. This means that price is going up faster than mining difficulty, and thus the revenue that miners are earning per unit of hashpower (i.e. BTC/TH) is increasing.

Additionally, there is a semiconductor shortage that is making it difficult for mining manufacturers to secure chips and make new ASICs. This combination of factors is making it so that even old generation ASICs can profitably mine bitcoin, which is great for all miners including hobbyists and home miners who cannot easily secure competitive electricity costs . Pairing this with our Braiins OS+ firmware, one can further increase the profitability of older ASICs like the Antminer S9 by optimizing performance and efficiency.

You can view the changelog also in our documentation.

See the full changelog

Wohoo! You're subscribed, we'll be in touch soon.

Something went wrong. Please try again.

No items found.

Wohoo! You're subscribed, we'll be in touch soon.

Something went wrong. Please try again.

Bitcoin mining software company: Slush Pool, Braiins OS+ & Stratum V2.

By miners, for miners.

Industry leaders in transparency and innovation, with more than 1.25 million BTC mined since 2010.

Discover more

Increase hashrate on S9s to 17+ TH/s, improve efficiency as much as 20%, and get 50% lower pool fees on Slush Pool

Discover more

Cutting-edge firmware with an implementation of Stratum V2 and mining software written from scratch in Rust language.

Discover more

Quality improvements including reduced data loads, empty block elimination, hashrate hijacking prevention, and more.

Discover more

Keep reading!