Pages:
Author

Topic: How hard to find a block at 8 Billion difficulty? (Read 2272 times)

legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
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.
donator
Activity: 1218
Merit: 1079
Gerald Davis
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.
hero member
Activity: 556
Merit: 500
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.
newbie
Activity: 38
Merit: 0
Wow, I've learned so much in this topic!
 Cheesy
donator
Activity: 1218
Merit: 1079
Gerald Davis
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.
hero member
Activity: 955
Merit: 1004
Phosphorous, the answer to your question is 8000872134.99999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999 99999999999999999999999999999999999.  And then more nines.
hero member
Activity: 556
Merit: 500
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.
donator
Activity: 1218
Merit: 1079
Gerald Davis
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.
hero member
Activity: 556
Merit: 500
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?
hero member
Activity: 577
Merit: 504
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).
hero member
Activity: 955
Merit: 1004
For some reason, cgminer shows the difficulty as being multiplied by 65536.  
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
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.
donator
Activity: 1218
Merit: 1079
Gerald Davis
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

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 Smiley.  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.
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
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

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 Smiley.  I suppose I could have just looked at the very first block in the chain to see how many leading zeroes there were.
donator
Activity: 1218
Merit: 1079
Gerald Davis
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

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".



donator
Activity: 1218
Merit: 1079
Gerald Davis
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".
legendary
Activity: 1344
Merit: 1024
Mine at Jonny's Pool
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.
hero member
Activity: 955
Merit: 1004
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?
hero member
Activity: 588
Merit: 500
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. Smiley

This is getting out of hand...
hero member
Activity: 615
Merit: 500
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. Smiley
Pages:
Jump to: