Bitcoin Forum
March 29, 2024, 02:08:20 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Is there a difficulty adjustment limit?  (Read 1012 times)
runeks (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1008



View Profile WWW
October 20, 2011, 08:38:00 PM
 #1

Looking at the difficulty history, I can see that from level 34 to 35 the difficulty level went up by exactly 300.0% (~45 to ~181). Is this a coincidence or is the difficulty adjustment limited to a maximum of +300% per 2016 blocks?
The trust scores you see are subjective; they will change depending on who you have in your trust list.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711721300
Hero Member
*
Offline Offline

Posts: 1711721300

View Profile Personal Message (Offline)

Ignore
1711721300
Reply with quote  #2

1711721300
Report to moderator
runeks (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1008



View Profile WWW
October 20, 2011, 09:28:25 PM
 #2

I see.

The reason I asked was because I though this might be exploitable in some way, since creating a new block chain (at an initial difficulty of 1) would go extremely quickly (134.4 minutes per 2016 blocks at 1 GH/s). But since the difficulty is adjusted every number of blocks (and not at a certain time interval instead), this, as far as I can tell, can't be exploited because the miner working on that new block chain would just increase difficulty very quickly.
If he had two weeks to mine at 1 GH/s at difficulty 1 he could create a longer block chain than the current one (150,000 blocks) in about a week. But since the difficulty is adjusted every time the miner has calculated 2016 blocks, the speed at which he creates blocks would decrease by a factor of 4 for every 2016 blocks he found. The faster he would mine, the faster the time to find 2016 blocks would increase.

So never mind Smiley.
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
October 20, 2011, 09:32:59 PM
 #3

I see.

The reason I asked was because I though this might be exploitable in some way, since creating a new block chain (at an initial difficulty of 1) would go extremely quickly (134.4 minutes per 2016 blocks at 1 GH/s). But since the difficulty is adjusted every number of blocks (and not at a certain time interval instead), this, as far as I can tell, can't be exploited because the miner working on that new block chain would just increase difficulty very quickly.
If he had two weeks to mine at 1 GH/s at difficulty 1 he could create a longer block chain than the current one (150,000 blocks) in about a week. But since the difficulty is adjusted every time the miner has calculated 2016 blocks, the speed at which he creates blocks would decrease by a factor of 4 for every 2016 blocks he found. The faster he would mine, the faster the time to find 2016 blocks would increase.

So never mind Smiley.
He could game the timestamps so his difficulty stays at 1 the whole time and easily produce a longer chain. He'd face several major obstacles. The biggest one is this -- we sometimes say the "longer" hash chain wins because that is true for situations where a difficulty change is not spanned. But for reorganizations that span a difficulty chain, the "stronger" hash chain wins. (That is, the one that we would expect to have taken the most hashes to create.)

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
jjiimm_64
Legendary
*
Offline Offline

Activity: 1876
Merit: 1000


View Profile
October 20, 2011, 09:36:43 PM
 #4


noob question.

Is this part of the original satoshi white paper? or was this algorithm added?.  I am asking about the "the "stronger" hash chain wins. "

1jimbitm6hAKTjKX4qurCNQubbnk2YsFw
runeks (OP)
Legendary
*
Offline Offline

Activity: 980
Merit: 1008



View Profile WWW
October 20, 2011, 09:51:36 PM
 #5

He could game the timestamps so his difficulty stays at 1 the whole time and easily produce a longer chain. He'd face several major obstacles. The biggest one is this -- we sometimes say the "longer" hash chain wins because that is true for situations where a difficulty change is not spanned. But for reorganizations that span a difficulty chain, the "stronger" hash chain wins. (That is, the one that we would expect to have taken the most hashes to create.)
Ah, yes. I heard about the time stamp fraud elsewhere, but I don't think I understood it until now. Basically we'd be saying that we started mining in 1970 (or whatever) and that we all the time kept producing one block every ten minutes. Thus, the difficulty wouldn't be adjusted, and no one would be able to see that we had been calculating a block in one second (or whatever).
But then, as you say, if we go through this block chain, we can sum up all the initial zeros in the hashes, and calculate how much processing power it took to create this block chain (the more initial zeros, the more processing power), and use this as a basis for selecting the "correct" block chain, instead of chain length.
Clever! But I guess that is the essense of Satoshi's solution to the Byzatine Generals' Problem anyway, ie. that processing power is what proves honesty, not some more or less direct derivative of that (the block chain length).


noob question.

Is this part of the original satoshi white paper? or was this algorithm added?.  I am asking about the "the "stronger" hash chain wins. "
Without knowing for certain, I believe this was included in Satoshi's release of his original Bitcoin client. The "processing power wins"-idea is basically the most elemental innovation that Satoshi made in order to make Bitcoin work, and he describes this in the following post:
http://www.mail-archive.com/cryptography@metzdowd.com/msg09997.html
So I'm fairly sure he was acutely aware that it must be proven processing power that wins, instead of some other factor that relates in some way to proven processing power (block chain length).
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!