Bitcoin mining difficulty: how the 2,016-block adjustment works

By: WEEX
|
0

Bitcoin is designed so that miners can’t speed it up. If twice as many machines join tomorrow, the network is still meant to find a block about every ten minutes on average. Difficulty is the dial that keeps it that way.

Here’s what difficulty measures, how it relates to the target, how the adjustment works every 2,016 blocks, why it exists, and what a change does and doesn’t mean. This article doesn’t quote current difficulty values or predict the next adjustment, because both depend on how fast blocks are found.

What mining difficulty measures

The Bitcoin Wiki describes difficulty as a measure of how hard it is to find a hash below a given target. Mining is less like solving a long, set problem and more like a lottery. Each hash gives what is effectively a random number, and if it’s below the target, the miner wins the block. If not, the miner changes the nonce and tries again.

So difficulty isn’t about how complicated the math is. It’s about how many attempts, on average, a miner needs before one succeeds. Bitcoin’s developer documentation defines a minimum allowed difficulty, called difficulty 1, and current difficulty is expressed relative to it.

Target and difficulty

The target is a 256-bit number shared by all Bitcoin software. The hash of a block header must be lower than or equal to it for the block to be accepted, and the Bitcoin Wiki notes that the lower the target, the more difficult it is to generate a block. Difficulty is the same idea from the other side: a higher difficulty means a lower target. As covered in the article on hash rate, the Bitcoin Wiki also gives a rule of thumb that finding a block takes on average about the difficulty multiplied by 2 to the power of 32 hashes.

How the adjustment works every 2,016 blocks

The rule is counted in blocks, not days. Every 2,016 blocks, which would take two weeks if blocks arrived exactly every ten minutes, every Bitcoin node compares the time those blocks actually took with the two-week goal, as the Bitcoin Wiki explains. It changes the target by the percentage difference. If the blocks came faster than planned, the target is lowered and mining gets harder. If they came slower, the target is raised and mining gets easier.

A single adjustment can never move the target by more than a factor of four in either direction, which prevents huge swings. No one sets difficulty. Each node works it out independently from the chain using the same rule, and the Bitcoin Core software encodes the two-week goal and the 2,016-block interval.

Because the trigger is a block count, “two weeks” is only approximate and the next adjustment can’t be tied to a calendar date. It comes sooner when blocks are found faster, and later when they are found slower.

Why Bitcoin adjusts difficulty

The Bitcoin white paper explains the purpose. To compensate for increasing hardware speed and varying interest in running nodes over time, difficulty is determined by a moving average that targets an average number of blocks per hour, and if blocks are generated too fast, the difficulty increases. The Bitcoin Wiki adds that a steady pace of about one block every ten minutes gives the network stability and low latency for transactions.

A steady block pace also keeps the issuance schedule steady. Bitcoin’s block subsidy is halved every 210,000 blocks, according to the developer documentation, so keeping the number of blocks per year roughly constant keeps the halving schedule at about four years, whatever hardware miners use.

What a change does and doesn’t mean

When difficulty rises, the previous 2,016 blocks arrived faster than planned, which usually means more computing power joined the network. When it falls, they arrived slower. Because the adjustment only happens once per period, difficulty follows hash rate with a delay of up to one period.

A change doesn’t alter the block reward or the supply schedule, since both are counted in blocks. It changes how many attempts each block takes, so each miner’s expected share of the rewards shifts. It’s a description of mining conditions, not a signal about bitcoin’s price.

WEEX Reminder: difficulty figures are not return forecasts

WEEX reminds users that difficulty and its adjustments describe how competitive mining is, not whether anyone will profit or where prices will go. Be careful with promotions that cite difficulty or “network power” to justify promised returns, since no one can guarantee profits from mining. Never share a seed phrase or verification code with anyone offering to “mine” for you. Nothing here is financial advice.

Conclusion

Mining difficulty measures how many attempts it takes, on average, to find a valid block. Every 2,016 blocks, every node compares how long those blocks took with the two-week goal and adjusts the target, up to a factor of four, so that blocks keep arriving about every ten minutes. Difficulty follows hash rate with a delay, and it says nothing about price.

FAQ

1. What is Bitcoin mining difficulty?
It’s a measure of how hard it is to find a block hash below the current target. A higher difficulty means miners need more attempts, on average, to find a valid block.

2. How often does difficulty adjust?
Every 2,016 blocks. That’s about two weeks if blocks arrive every ten minutes, but it’s counted in blocks, not days.

3. Is difficulty adjusted exactly every two weeks?
No. The fixed part is 2,016 blocks, and the time it takes depends on how fast blocks are found, so the date of the next adjustment can’t be known in advance.

4. What happens to difficulty if miners leave?
Blocks arrive more slowly, and at the next adjustment the difficulty falls. A single adjustment can change it by at most a factor of four.

5. Does a higher difficulty mean a higher bitcoin price?
No. Difficulty describes mining activity and how fast blocks were found. It isn’t a price signal.

Related articles
Share
copy

Gainers

iconiconiconiconiconiconiconiconicon
Customer Support:@weikecs
Business Cooperation:@weikecs
Quant Trading & MM:bd@weex.com
VIP Program:support@weex.com