Bitcoin Forum
June 22, 2024, 07:56:45 PM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: What would happen to difficulty  (Read 397 times)
rikii (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
April 20, 2013, 08:06:34 PM
 #1

If the majority of miners stopped mining right before a difficulty retarget causing the hashrate to drop as the retarget took place, and then started mining again after, couldn't the difficulty be manipulated and not actually scale with total network power?
rippleme
Newbie
*
Offline Offline

Activity: 33
Merit: 0



View Profile
April 20, 2013, 08:10:09 PM
 #2

Interesting question, hope someone can answer it.
coinerd
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
April 20, 2013, 08:14:02 PM
 #3

I have heard, but not confirmed, that if no block is solved for 15 minutes difficulty will drop.  I'm not honestly sure if that's bitcoin or another alt-chain.

Also I think that the reset is an average of the last 2k cycles or so.  You would probably have to convince a lot of miners to stop for a couple of days to see a significant difficulty reduction.

And in the end if you got it done, you would probably hurt yourself (unless you're an owner of a big ASIC) by making it easier for the 'big boys' to snap up the blocks for a couple of weeks.

Just some thoughts from another noob.

I'd also be interested in hearing from someone who really knows.
kbf
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
April 20, 2013, 08:23:18 PM
 #4

I have heard, but not confirmed, that if no block is solved for 15 minutes difficulty will drop.  I'm not honestly sure if that's bitcoin or another alt-chain.

Thanks for the reply, coinerd. Interesting behavior, but it would be very difficult to take advantage of it, unless most of the miners (or software) are controlled by someone.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
April 20, 2013, 08:43:21 PM
Last edit: April 20, 2013, 09:12:02 PM by DeathAndTaxes
 #5

There is no benefit to doing so.

Difficulty only adjusts every 2016 blocks and is based on the timespan between the most recent block and the block 2016 blocks ago.  The network targets a 10 minute average so this span should be 20,160 minutes (2016 * 10).  If the timespan is longer or shorter than 2016 difficulty will adjust to whatever difficulty would have resulted in a 20,160 minute span.  Difficulty adjustments are capped at 25% and 400% of prior difficulty.

So a group of miners "could" do this however they would lose 100% of revenue when not mining, and only decrease difficulty by the percentage of miners who decide not to mine.

As an example say 20% of miners decide not to mine the last 20 blocks.  Due to only 80% of the hashpower working on the last 20 blocks, those blocks on average would take 12.5 minutes each ( 10/0.8 ) or 250 minutes total which is 50 minutes more than normal.  Everything else being the same, the 2016 block period would take 50 minutes or 0.25% longer than expected. Difficulty for the next 2016 blocks would thus be 0.25% lower.  All miners (even those who didn't stop mining) would earn 0.25% BTC more in the next 2016 blocks, however the cost for the "abstaining miners" would have to forfeit 20/2016 = ~1.0% of their revenue. The "abstaining" miners would lose 0.75% of their gross revenue to ensure the continual miners earned 0.25% more.

Miners might as well trade $20 bills for $5 bills it would be just as effective.


rikii (OP)
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
April 20, 2013, 08:46:58 PM
 #6

Thank you for this well written explanation. It was just something I was thinking about, but as well planned out as all the other aspects of bitcoin are I assumed there was a clear cut answer as to why it wasn't a viable option. Thanks again.
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!