Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: JeromeL on May 02, 2015, 05:18:00 PM



Title: Difficulty readjusting every 2 weeks?
Post by: JeromeL on May 02, 2015, 05:18:00 PM
Anyone knows why this period was chosen?

Why was the readjustment period not made shorter ?

If mining power drops down (for example because of a fork, but that's just an example) that would paralyze transaction confirmations. And just waiting for 15 days would not help since I assume the adjustment algorithm is based on number of blocks found.



Title: Re: Difficulty readjusting every 2 weeks?
Post by: achow101_alt on May 02, 2015, 05:21:07 PM
If mining power drops down (for example because of a fork, but that's just an example) that would paralyze transaction confirmations. And just waiting for 15 days would not help since I assume the adjustment algorithm is based on number of blocks found.


Yes. It is based on the time it takes for 2016 blocks to be found and the target block time is about 10 minutes. This comes out to be a readjustment every 2 weeks to keep block times at 10 minutes.


Title: Re: Difficulty readjusting every 2 weeks?
Post by: Lauda on May 02, 2015, 05:24:59 PM
Satoshi has chosen these numbers. Unless he had made a post about it in the past (someone might find one) we can't really know.
There is no need to change difficulty adjustment. I you have such proposals feel free to suggest it to someone in the altcoin section as coins tend to have faster readjustment (sometimes even each block).


Title: Re: Difficulty readjusting every 2 weeks?
Post by: Amph on May 02, 2015, 05:51:39 PM
it's all about not having block confirmation too fast, because of possibile security/orphan problem, some altcoin did suffered from this, i remember fastcoin as a first example, there were tons of orphans blocks for that coin


Title: Re: Difficulty readjusting every 2 weeks?
Post by: JeromeL on May 02, 2015, 06:15:27 PM
Hmmm okay. So if I rephrase my question, why was the number "2016 blocks " chosen to update the difficulty?

@Amph : thanks but my question has nothing to do with the 10 min block confirmation time. So even if your comment is interesting, it's off topic :)


Title: Re: Difficulty readjusting every 2 weeks?
Post by: inBitweTrust on May 02, 2015, 06:41:49 PM
Hmmm okay. So if I rephrase my question, why was the number "2016 blocks " chosen to update the difficulty?

@Amph : thanks but my question has nothing to do with the 10 min block confirmation time. So even if your comment is interesting, it's off topic :)

Satoshi never explained the exact reason but a retarget had to be set and 2016 blocks (or an average of 2 weeks ) seemed like a good middle ground where a large amount of the network could go offline and the retarget wouldn't be delayed to drastically and there wasn't constant daily adjustments leading to wild difficulty fluctuations where miners had to be extra vigilant. Some suggested a dynamic difficulty is better but that also has the same problems of less stability and could lead to some interesting attack vectors and really is an act of supererogation as 2016 has proven to be fine.

In reality a retarget of 3024 blocks - 3 weeks average or 1008 blocks - 1 week average would have worked just as well. Shorter or longer would start to introduce problems.  


Title: Re: Difficulty readjusting every 2 weeks?
Post by: CoinFriend on May 02, 2015, 06:49:02 PM
Anyone knows why this period was chosen?

Why was the readjustment period not made shorter ?

If mining power drops down (for example because of a fork, but that's just an example) that would paralyze transaction confirmations. And just waiting for 15 days would not help since I assume the adjustment algorithm is based on number of blocks found.



If i would know this reason i would tell you.
Actually i wondering exactly about the same.
Maybe the number 2016 is somehow magical ???
by the way 2016 = next block reward halving.
And somehow i think two weeks is a short period of time, in comparison with the amount of time which is needed to mine the whole 21 million bitcoins.


Title: Re: Difficulty readjusting every 2 weeks?
Post by: inBitweTrust on May 02, 2015, 06:59:13 PM

Maybe the number 2016 is somehow magical ???


If one is a conspiracy theorist or religious loon they could find 2016 significant because the freemasons believed that 2016 represented  the conclusion of the Illuminati enterprise with 2016 representing the “midst of the week” when Apollo (Antichrist) presents himself as God and enters the temple in Jerusalem. This was technically supposed to happen in the generation that lived around 0 CE and there have been many supposed special dates for these "special " events to occur throughout history when christ's promise was failed to be realized so I wouldn't put any faith in those myths or the number 2016 holding special significance.

A more reasonable way to view it is that bimonthly events are common in society (for accounting and payroll)


Title: Re: Difficulty readjusting every 2 weeks?
Post by: S4VV4S on May 02, 2015, 08:18:25 PM
If mining power drops down (for example because of a fork, but that's just an example) that would paralyze transaction confirmations. And just waiting for 15 days would not help since I assume the adjustment algorithm is based on number of blocks found.


Yes. It is based on the time it takes for 2016 blocks to be found and the target block time is about 10 minutes. This comes out to be a readjustment every 2 weeks to keep block times at 10 minutes.

^^^ That is more or less correct,
however, the time depends on how fast or slow the blocks are found.

If blocks are found faster than 10 minutes then difficulty readjustment might occur earlier that 2 weeks,
and of course if it takes longer time to find blocks it might take longer that 2 weeks.


Title: Re: Difficulty readjusting every 2 weeks?
Post by: MicroGuy on May 03, 2015, 12:56:21 AM
Hmmm okay. So if I rephrase my question, why was the number "2016 blocks " chosen to update the difficulty?

Because 2016 is the year in which Satoshi plans on returning to reclaim his title of "King of Bitcoin"!


Title: Re: Difficulty readjusting every 2 weeks?
Post by: CoinFriend on May 03, 2015, 01:25:29 AM
Hmmm okay. So if I rephrase my question, why was the number "2016 blocks " chosen to update the difficulty?

Because 2016 is the year in which Satoshi plans on returning to reclaim his title of "King of Bitcoin"!

I don't think that he plans a return to be the king of bitcoin. If this should happen i would probably stop using it.

But if the amount of 2016 blocks should be a sign for something, so would i predict it means the year 2016. Because the mass of bitcoins is produced until the next block reward halving happen. Look here to see how many coins: https://en.bitcoin.it/wiki/Controlled_supply
For the last it needs a very long time, until 21 million coins are reached.
This means, the worth of bitcoin against fiat currency will rise continual, if its popularity rise in the same way.
The miners are not able anymore to produce a strong inflation ...


Title: Re: Difficulty readjusting every 2 weeks?
Post by: Amph on May 03, 2015, 07:27:52 AM
@Amph : thanks but my question has nothing to do with the 10 min block confirmation time. So even if your comment is interesting, it's off topic :)

actually they are tied together, so no it wasn't off topic

1 block every 10 min, 6 per hour, 144 per day, 2016 in two weeks

and like i said it was for security and for not having orphan block

the biggest example are those coins that have a fast retarget, the result was sometimes orphan blocks

satoshi wanted to avoid this


Title: Re: Difficulty readjusting every 2 weeks?
Post by: virtualx on May 03, 2015, 10:44:30 AM
@Amph : thanks but my question has nothing to do with the 10 min block confirmation time. So even if your comment is interesting, it's off topic :)

actually they are tied together, so no it wasn't off topic

1 block every 10 min, 6 per hour, 144 per day, 2016 in two weeks

and like i said it was for security and for not having orphan block

the biggest example are those coins that have a fast retarget, the result was sometimes orphan blocks

satoshi wanted to avoid this

Its in linear time. Is there any reason for 10 minutes as say 5 minutes or 15 minutes? To which degree does this time affect the security of a coin?


Title: Re: Difficulty readjusting every 2 weeks?
Post by: Amph on May 03, 2015, 12:09:24 PM
@Amph : thanks but my question has nothing to do with the 10 min block confirmation time. So even if your comment is interesting, it's off topic :)

actually they are tied together, so no it wasn't off topic

1 block every 10 min, 6 per hour, 144 per day, 2016 in two weeks

and like i said it was for security and for not having orphan block

the biggest example are those coins that have a fast retarget, the result was sometimes orphan blocks

satoshi wanted to avoid this

Its in linear time. Is there any reason for 10 minutes as say 5 minutes or 15 minutes? To which degree does this time affect the security of a coin?


probably has to do with the block halving time, he wanted 4 years, between each halving, for a greater spread of the money supply in the time


Title: Re: Difficulty readjusting every 2 weeks?
Post by: teukon on May 03, 2015, 02:55:19 PM
Hmmm okay. So if I rephrase my question, why was the number "2016 blocks " chosen to update the difficulty?

As far as I'm aware, there's nothing particularly special about 2016.  I believe it's simply a figure Satoshi felt was not too big and not too small; an educated guess at an optimal value.

Indeed, such parameters were subject to last-minute tweaking.  Not long before Bitcoin 0.1 came out, the intent was for 2880 blocks per difficulty change.


Title: Re: Difficulty readjusting every 2 weeks?
Post by: lontivero on May 03, 2015, 11:09:03 PM
I don't know if 2016 blocks is the best number. However, it is a good number anyway because we have new block every 10 minutes average. That means a new block can be mined in 5 seconds and the next one in 18 minutes so, it is important to have a big number of blocks before to increase or decrease the difficulty.

Just imagine we readjust the difficulty every day (144 blocks) and some miners were lucky and found 20 blocks in 5 minutes each, in that case the network could assume that there was more computational power available and then, it would increase the difficulty. Next day, and given the increased difficulty, we could have 100 blocks (instead of the 144 expected) and again the network could assume there was less power in the network and then, decrease the difficulty. In the end we could have a kind of vibration moving difficulty up and down every day. Nobody would like this.

On the other hand, a much longer period of time could fail in detecting extra computation power in the network, more coins mined.

Even if the 2016 blocks election is not explained very well, it seems to be good enough (IMO).


Title: Re: Difficulty readjusting every 2 weeks?
Post by: btcbobby on May 03, 2015, 11:56:16 PM
Ultimately, the numbers were likely arbitrarily chosen. When satoshi first developed Bitcoin, there weren't prior examples to look at and see how different settings affected each coin. Nor were there enough users or miners to make it worth while to play with one setting and then another. Basically, to push Bitcoin forwRs he had to decide on values for those settings and what you're looking at is the result

I'd rally be curious, if he had to do it all over again, knowing what he knows now, what, if any, changes or adjustments would he have made? I know there is a huge contingent that thinks tha satoshi is basically anxiety, couldn't have gotten anything wrong, and therefore thinks the code and settings are perfect as-is, so such things are never discussed here, which is why I wish we could ask satoshi himself.


Title: Re: Difficulty readjusting every 2 weeks?
Post by: jdebunt on May 04, 2015, 09:19:27 AM
2016 blocks because 2016 will be the year Bitcoin goes to the moon? All kidding aside, it seems random... :)


Title: Re: Difficulty readjusting every 2 weeks?
Post by: CoinFriend on May 04, 2015, 10:12:37 AM
2016 blocks because 2016 will be the year Bitcoin goes to the moon? All kidding aside, it seems random... :)

Yeah, it seems random, but why it should?

This guy means also it was just by the feeling of satoshi:

As far as I'm aware, there's nothing particularly special about 2016.  I believe it's simply a figure Satoshi felt was not too big and not too small; an educated guess at an optimal value.

Indeed, such parameters were subject to last-minute tweaking.  Not long before Bitcoin 0.1 came out, the intent was for 2880 blocks per difficulty change.

But he says also, it was a last-minute tweaking. So why he tweaked this value in last-minute to 2016, when some other values do exactly the same?

Maybe satoshi did it it only to heat up this discussion today?
 ;)


Title: Re: Difficulty readjusting every 2 weeks?
Post by: teukon on May 04, 2015, 12:27:28 PM
2016 blocks because 2016 will be the year Bitcoin goes to the moon? All kidding aside, it seems random... :)

Yeah, it seems random, but why it should?

This guy means also it was just by the feeling of satoshi:

As far as I'm aware, there's nothing particularly special about 2016.  I believe it's simply a figure Satoshi felt was not too big and not too small; an educated guess at an optimal value.

Indeed, such parameters were subject to last-minute tweaking.  Not long before Bitcoin 0.1 came out, the intent was for 2880 blocks per difficulty change.

But he says also, it was a last-minute tweaking. So why he tweaked this value in last-minute to 2016, when some other values do exactly the same?

Maybe satoshi did it it only to heat up this discussion today?
 ;)

Lol.  I expect he thought about it and concluded that 30 days per re-target was overly long.  Rumour has it that these tweaks were at least part inspired following some feedback by Hal Finney.

2016 doesn't seem so random to me.  There are exactly 20160 minutes in 2 weeks.


Title: Re: Difficulty readjusting every 2 weeks?
Post by: CoinFriend on May 04, 2015, 02:05:54 PM
2016 blocks because 2016 will be the year Bitcoin goes to the moon? All kidding aside, it seems random... :)
...
...
...
...

2016 doesn't seem so random to me.  There are exactly 20160 minutes in 2 weeks.

Very good point!

This exactly says the 2016 is related to the 10 minutes block time an and the difficulty re-target of 2 weeks.
A serious answer why this number is 2016 seems not possible without noticing this other both values ;)


Title: Re: Difficulty readjusting every 2 weeks?
Post by: lontivero on May 04, 2015, 04:45:28 PM
2016 blocks because 2016 will be the year Bitcoin goes to the moon? All kidding aside, it seems random... :)
...
...
...
...

2016 doesn't seem so random to me.  There are exactly 20160 minutes in 2 weeks.

Very good point!

This exactly says the 2016 is related to the 10 minutes block time an and the difficulty re-target of 2 weeks.
A serious answer why this number is 2016 seems not possible without noticing this other both values ;)

I took a numerology course last year and it is clear there is a message here:
2016 = 2 ** 11 - (2 ** 5)
Remove the noisy signs and we get
2016 11 05

There are two important events that day:
* The Silk Road Conference (http://www.uncon-conv.com/silkroad-main-2016/) and,
* The Kobe Convention Center, the Asian Pacific Digestive Week (http://www.apdw2016.org/congress.html).

Just coincidence?