If ASIC based machines can run at 14TH/s, why isn't the answer found almost immediately?

5

As far I understand correctly, the objective is to find a nonce which creates a hash with the specified difficulty. The current difficulty being around 1.4 trillion. If that is so, why doesn't a machine which runs at 14 TH/s calculate the nonce in under a second?

Daniel Gee

Posted 2017-11-07T03:07:18.383

Reputation: 163

1The "difficulty" number of 1.4 trillion does not directly correspond to "number of hashes per second".Greg Hewgill 2017-11-07T03:09:39.383

Answers

4

As explained here in the Bitcoin Wiki, the formula for using the Difficulty to determine the expected time to solve a block is:

time = difficulty * 2**32 / hashrate

Currently, the difficulty is 1,452,839,779,146 so a 14TH/s ASIC miner would be expected to, on average, solve a block with

time = 1,452,839,779,146 * 4,294,967,296 / 14,000,000,000,000

which gives a result of 445707095 seconds, which is about 14 yrs, if I've done my calculations correctly.

To double check that the technique works:

Using the current approx network hashrate (according to blockchain.info) of 10,183,000TH/s, and the same difficulty as indicated above, the formula gives a result of 612s to solve a block, which is the expected result of approx 10 mins.

Highly Irregular

Posted 2017-11-07T03:07:18.383

Reputation: 10 514

If it's such a massive number, shouldn't the average nonce be higher? I just took a look at the last block and the nonce was 2075812744. At 14TH/s, that would have been found almost immediately?Daniel Gee 2017-11-07T03:49:45.380

1The nonce is a 32 bit unsigned integer so the maximum value a nonce can be is 4294967296. However miners do not just increment the nonce; they also do things to transactions within the block to change the merkle root in addition to incrementing the nonce. So there are way more things than just the nonces that they can hash to find a valid block hash.Andrew Chow 2017-11-07T05:04:58.980

1@DanielGee The person who actually found that block no doubt found the nonce less than a second after they started searching for a nonce to complete that particular block. But miners try very, very large numbers of blocks before they find one that works. Until you find a nonce that works for a block, you have no way to know whether or not one exists. That's why you try every nonce, then start over trying nonces with a different block.David Schwartz 2017-11-07T21:35:29.420