Bitcoin Forum

Bitcoin => Mining => Topic started by: timk225 on April 30, 2014, 05:47:39 PM



Title: How hard to find a block at 8 Billion difficulty?
Post by: timk225 on April 30, 2014, 05:47:39 PM
I remember reading about how the bitcoin algorithm got started, with its difficulty set to be super easy at 1, and the hash to find a block had to be a certain number of zeroes followed by some other number / letter.  What was that amount of zeroes?

Now with difficulty touching 8 BILLION today, how many zeroes must a hash start with, and then what letter or number after the zeroes, to find a block?


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: timk225 on May 01, 2014, 07:31:59 AM
No one knows?


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: Ayers on May 01, 2014, 09:29:16 AM
you need terapower or something to find it in one day, but i'm not sure


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: timk225 on May 01, 2014, 01:37:06 PM
That's not what I asked, I never said anything about one day to find a block.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: Crossbow376 on May 01, 2014, 01:48:44 PM
Now with difficulty touching 8 BILLION today, how many zeroes must a hash start with, and then what letter or number after the zeroes, to find a block?

Current difficulty: 8000872135.9682 (http://blockexplorer.com/q/getdifficulty)
Current target: 0000000000000000896C00000000000000000000000000000000000000000000 (http://blockexplorer.com/q/hextarget)

So, it is 16 zeroes now. :)


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeboraMeeks on May 01, 2014, 02:08:58 PM
Now with difficulty touching 8 BILLION today, how many zeroes must a hash start with, and then what letter or number after the zeroes, to find a block?

Current difficulty: 8000872135.9682 (http://blockexplorer.com/q/getdifficulty)
Current target: 0000000000000000896C00000000000000000000000000000000000000000000 (http://blockexplorer.com/q/hextarget)

So, it is 16 zeroes now. :)

This is getting out of hand...


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: timk225 on May 01, 2014, 06:12:25 PM
To calculate a big number and somehow have it start with 16 zeroes?  Yes, I'd say that is pretty difficult.

Was it one zero back when Bitcoin started and the difficulty was at 1?  Or one of some other number?


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: jonnybravo0311 on May 02, 2014, 02:28:25 PM
To calculate a big number and somehow have it start with 16 zeroes?  Yes, I'd say that is pretty difficult.

Was it one zero back when Bitcoin started and the difficulty was at 1?  Or one of some other number?

Yes, the simplest difficulty is to find a hash with a single leading zero.  Difficulty is adjusted every 2016 blocks to keep the average generation time about 10 minutes per block.  Therefore, as more hashing power gets added to the network, the greater the difficulty must become.

To answer the original question, current difficulty means you need to find 16 leading zeroes to satisfy the requirements.  Anybody can find it, from the poor guy who has a miner doing only a single hash per second to the giant farm hashing at quadrillions of hashes per second.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeathAndTaxes on May 02, 2014, 02:38:52 PM
To calculate a big number and somehow have it start with 16 zeroes?  Yes, I'd say that is pretty difficult.

Was it one zero back when Bitcoin started and the difficulty was at 1?  Or one of some other number?

Difficulty 1 is just as arbitrary as any other difficulty.  The probability of any individual hash solving a block is (2^32)*(difficulty).  On average is requires (2^32)*(difficulty) attempted hashes before one is found which is smaller than the target (and thus valid for solving the block).  So at difficulty 1 it took about 4.2 billion hashes on average to solve a block.

2^32 = 32 bits.  Expressed as hex one digit = 4 bits.  32/4 = 8.  At difficulty 1 a block would need eight zeroes.  

While looking at number of leading zeroes can be useful it is important to understand the network doesn't look just at the leading number of zeroes.  If it did then difficulty increases (or decreases) would be limited to a factor of 16x (when difficulty changes it could only stay the same, go up 16x, or be reduced to 1/16th) that is beacause each additional leading zero, make the target 16x less likely.

A block is valid if the hash is smaller than the target.  Right now that is: 0000000000000000896C00000000000000000000000000000000000000000000

So a hash with the value 0000000000000000912300000000000000000000000000000000000000000000 would not be valid despite "having the right number of zeroes".


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeathAndTaxes on May 02, 2014, 02:48:58 PM
Yes, the simplest difficulty is to find a hash with a single leading zero.  

That is incorrect.  Difficulty 1 represents that it will require on average 1 full nonce range, which is 2^32 attempted hashes to solve a block, not 1 attempted hash (or 16 which is what a single zero would represent).

The initial target at difficulty 1 (2^256 / 2^32) is computed as 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF to store this however would require 256 bits.  Bitcoin uses a truncated target to save space in the blockchain which means the actual target for difficulty 1 is 0x00000000FFFF0000000000000000000000000000000000000000000000000000

Note the leading eight zeroes.  There are no block hashes in the blockchain which have less than eight zeroes.

As an example here is block #1
https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 (https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048)

Yes Satoshi made some things a little more complex than they need to be.  There is no requirement that difficulty 1 equal 2^32 attempts.  Difficulty is just for us humans anyways the network works off the raw target and difficulty is computed from that.  So Satoshi could have made Difficulty x = x attempted hash (on average) per block.  If that were the case the original difficulty would have been 4.2 billion and today it would be 34,363,484,163,461,100,000.  Yes that is 34,363 quadrillion.  It means that on average to solve a block means computing 34,363 quadrillion hashes.  We probably would just shorthand difficulty to "quads".  "Damn difficulty is now more than 30,000 quads, it is getting insane".





Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: jonnybravo0311 on May 02, 2014, 03:44:03 PM
Yes, the simplest difficulty is to find a hash with a single leading zero.  

That is incorrect.  Difficulty 1 represents that it will require on average 1 full nonce range, which is 2^32 attempted hashes to solve a block, not 1 attempted hash (or 16 which is what a single zero would represent).

The initial target at difficulty 1 (2^256 / 2^32) is computed as 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF to store this however would require 256 bits.  Bitcoin uses a truncated target to save space in the blockchain which means the actual target for difficulty 1 is 0x00000000FFFF0000000000000000000000000000000000000000000000000000

Note the leading eight zeroes.  There are no block hashes in the blockchain which have less than eight zeroes.

As an example here is block #1
https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 (https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048)

Yes Satoshi made some things a little more complex than they need to be.  There is no requirement that difficulty 1 equal 2^32 attempts.  Difficulty is just for us humans anyways the network works off the raw target and difficulty is computed from that.  So Satoshi could have made Difficulty x = x attempted hash (on average) per block.  If that were the case the original difficulty would have been 4.2 billion and today it would be 34,363,484,163,461,100,000.  Yes that is 34,363 quadrillion.  It means that on average to solve a block means computing 34,363 quadrillion hashes.  We probably would just shorthand difficulty to "quads".  "Damn difficulty is now more than 30,000 quads, it is getting insane".





Thanks for your response and I stand corrected.  Now I've learned something, too :).  I suppose I could have just looked at the very first block in the chain to see how many leading zeroes there were.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeathAndTaxes on May 02, 2014, 03:56:52 PM
Yes, the simplest difficulty is to find a hash with a single leading zero.  

That is incorrect.  Difficulty 1 represents that it will require on average 1 full nonce range, which is 2^32 attempted hashes to solve a block, not 1 attempted hash (or 16 which is what a single zero would represent).

The initial target at difficulty 1 (2^256 / 2^32) is computed as 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF to store this however would require 256 bits.  Bitcoin uses a truncated target to save space in the blockchain which means the actual target for difficulty 1 is 0x00000000FFFF0000000000000000000000000000000000000000000000000000

Note the leading eight zeroes.  There are no block hashes in the blockchain which have less than eight zeroes.

As an example here is block #1
https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048 (https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048)

Yes Satoshi made some things a little more complex than they need to be.  There is no requirement that difficulty 1 equal 2^32 attempts.  Difficulty is just for us humans anyways the network works off the raw target and difficulty is computed from that.  So Satoshi could have made Difficulty x = x attempted hash (on average) per block.  If that were the case the original difficulty would have been 4.2 billion and today it would be 34,363,484,163,461,100,000.  Yes that is 34,363 quadrillion.  It means that on average to solve a block means computing 34,363 quadrillion hashes.  We probably would just shorthand difficulty to quads; "Damn difficulty is now more than 30,000 quads, it is getting insane".





Thanks for your response and I stand corrected.  Now I've learned something, too :).  I suppose I could have just looked at the very first block in the chain to see how many leading zeroes there were.

Well there can always be more leading zeroes due to "luck".  Case in point, the genesis block has ten leading zeroes, 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: jonnybravo0311 on May 02, 2014, 04:15:20 PM
Agreed.  It's just that you need to satisfy the target difficulty, doesn't mean you need to exactly equal it.  For example, I found a block a couple weeks ago and my miner showed a 63B difficulty - well above the target 6.9B that it was when I found it.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: timk225 on May 03, 2014, 06:24:56 AM
For some reason, cgminer shows the difficulty as being multiplied by 65536.  


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: SelbyTsang on May 03, 2014, 11:47:13 AM
Agreed.  It's just that you need to satisfy the target difficulty, doesn't mean you need to exactly equal it.

Yup, your block is valid if it has a hash lower than target value (equivalent to higher than difficulty).


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: Phosphorous on May 07, 2014, 04:43:44 PM
A question to help me understand the "Best Share" stat...

At todays' current difficulty of 8000872135, what would be the largest "Best Share" I can see without actually finding a block?


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeathAndTaxes on May 07, 2014, 05:32:58 PM
Best Share can be any hash value.  It is just the smallest hash (smaller = harder = "better") you found.  If your best share is smaller than the current target then it solved a block, if it is larger than the current target it is the "closest" you got to solving a block.  Think of it as a personal best but understand there really is no such thing as better shares.  They are binary.  They either solve a block (lower than target) or they are worthless (not lower than the target).  A smaller but not small enough hash is just as worthless as a larger one.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: Phosphorous on May 07, 2014, 06:32:28 PM
Thank you, and I do understand that's how it works, but I am trying to understand the numbers I am seeing. How does "Best Share" relate to the current difficulty level? Basically what I'm asking is, how do I know (which value will I see) if I come a "hair's width" from getting a block? I realize that it's worthless, but it's still fun to know how close you came.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: timk225 on May 07, 2014, 07:02:30 PM
Phosphorous, the answer to your question is 8000872134.99999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999 99999999999999999999999999999999999.  And then more nines.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeathAndTaxes on May 07, 2014, 08:03:53 PM
Thank you, and I do understand that's how it works, but I am trying to understand the numbers I am seeing. How does "Best Share" relate to the current difficulty level? Basically what I'm asking is, how do I know (which value will I see) if I come a "hair's width" from getting a block? I realize that it's worthless, but it's still fun to know how close you came.

The target is publicly available (you can compute it from difficulty if you love biginteger math)
http://blockexplorer.com/q/hextarget
Code:
0x0000000000000000896C00000000000000000000000000000000000000000000
A valid block must have a hash below the target so the target is the smallest hash which would still not be a valid block.

If you want to know "how close you got" You would need to divide your hash by the target and that would give you a multiple (i.e. your hash was 520x easier to find than a block).  You will need a calculator that can take 256 bit bigintegers in hex format.  There might be one online.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: ProtoAES256 on May 08, 2014, 03:42:27 AM
Wow, I've learned so much in this topic!
 :D


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: Phosphorous on May 08, 2014, 04:15:03 PM
OK, I could use some clarification as the two answers seem to contradict or else I do not understand something.

All I care about is the "Best Share" stat. I don't care about the value of the corresponding hash, unless that is the same thing. Is it as simple as looking for a value of 8000872134 (current difficulty minus 1) or is Best share a different value? I guess even though I know what it is, I don't know what "Best Share" actually represents.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: DeathAndTaxes on May 08, 2014, 04:53:29 PM
Sorry for the confusion I was thinking bestshare was showing the hash not the difficulty.  Yes Best share is the highest difficulty share you found.  The best one which still doesn't solve a block is difficulty - 1.


Title: Re: How hard to find a block at 8 Billion difficulty?
Post by: jonnybravo0311 on May 08, 2014, 05:09:37 PM
OK, I could use some clarification as the two answers seem to contradict or else I do not understand something.

All I care about is the "Best Share" stat. I don't care about the value of the corresponding hash, unless that is the same thing. Is it as simple as looking for a value of 8000872134 (current difficulty minus 1) or is Best share a different value? I guess even though I know what it is, I don't know what "Best Share" actually represents.

Best share represents the highest difficulty share your miner has found.  If that value is greater than the target difficulty of the block, congratulations, your miner has generated a block.  If that value is lower than the target difficulty, then it is meaningless.