Skip to main content
Tweeted twitter.com/StackBitcoin/status/795246067247906816
added 117 characters in body
Source Link
Geremia
  • 4.7k
  • 7
  • 39
  • 81

I set out to test the claim: "Every nonce has an equal chance of winning."

Time Evolution

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Histograms

It makes sense that the nonces found are skewed toward 0 because this is a selection effect[selection effect][8]: most everyone starts searching for nonces starting at 0, so the lower nonces are found first, even though there may be also higher nonces that could produce a winning block: [![nonces histogram][8]][9]histogram][9]][10]

Why are the hashes distributed this way, though?: hashes distribution

2-D histogram of hashes and nonces (logarithmic color scale): 2-D histogram of hashes and nonces

I set out to test the claim: "Every nonce has an equal chance of winning."

Time Evolution

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Histograms

It makes sense that the nonces found are skewed toward 0 because this is a selection effect: most everyone starts searching for nonces starting at 0: [![nonces histogram][8]][9]

Why are the hashes distributed this way, though?: hashes distribution

2-D histogram of hashes and nonces (logarithmic color scale): 2-D histogram of hashes and nonces

I set out to test the claim: "Every nonce has an equal chance of winning."

Time Evolution

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Histograms

It makes sense that the nonces found are skewed toward 0 because this is a [selection effect][8]: most everyone starts searching for nonces starting at 0, so the lower nonces are found first, even though there may be also higher nonces that could produce a winning block: [![nonces histogram][9]][10]

Why are the hashes distributed this way, though?: hashes distribution

2-D histogram of hashes and nonces (logarithmic color scale): 2-D histogram of hashes and nonces

cleaned up what had been struck-out and added some 1- and 2-D histograms
Source Link
Geremia
  • 4.7k
  • 7
  • 39
  • 81

I set out to test the claim: "Every nonce has an equal chance of winning."

Time Evolution

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain, and I was very surprised to see that the nonce values that produce valid blocks are not uniformly distributed whatsoever:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
They're heavily concentrated toward the max nonce value (0xffffffff).
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Histograms

It makes sense that the nonces found are skewed toward 0 because this is a selection effect: most everyone starts searching for nonces starting at 0: [![nonces histogram][8]][9]

Isn't having such an uneven distribution of nonce values a big weakness in how Bitcoin does proof-of-work? Or does using extranonce even things out?

Doesn't this mean miners should concentrate only on large nonce values instead of wasting their time scanning the whole nonce space?

Why are the hashes distributed this way, though?: hashes distribution

2-D histogram of hashes and nonces (logarithmic color scale): 2-D histogram of hashes and nonces

I set out to test the claim: "Every nonce has an equal chance of winning."

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain, and I was very surprised to see that the nonce values that produce valid blocks are not uniformly distributed whatsoever:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
They're heavily concentrated toward the max nonce value (0xffffffff).
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Isn't having such an uneven distribution of nonce values a big weakness in how Bitcoin does proof-of-work? Or does using extranonce even things out?

Doesn't this mean miners should concentrate only on large nonce values instead of wasting their time scanning the whole nonce space?

I set out to test the claim: "Every nonce has an equal chance of winning."

Time Evolution

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Histograms

It makes sense that the nonces found are skewed toward 0 because this is a selection effect: most everyone starts searching for nonces starting at 0: [![nonces histogram][8]][9]

Why are the hashes distributed this way, though?: hashes distribution

2-D histogram of hashes and nonces (logarithmic color scale): 2-D histogram of hashes and nonces

edited title
Source Link
Geremia
  • 4.7k
  • 7
  • 39
  • 81

Why are the nonces that produce valid hashes so unevenly distributed? Isn't this highly problematic Does every nonce really have an equal chance of winning?

I set out to test the claim: "Every nonce has an equal chance of winning."

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain, and I was very surprised to see that the nonce values that produce valid blocks are not uniformly distributed whatsoever:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
They're heavily concentrated toward the max nonce value (0xffffffff).They're heavily concentrated toward the max nonce value (0xffffffff).
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Isn't having such an uneven distribution of nonce values a big weakness in how Bitcoin does proof-of-work? Or does using extranonce even things out?

Doesn't this mean miners should concentrate only on large nonce values instead of wasting their time scanning the whole nonce space?

Why are the nonces that produce valid hashes so unevenly distributed? Isn't this highly problematic?

I set out to test the claim: "Every nonce has an equal chance of winning."

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain, and I was very surprised to see that the nonce values that produce valid blocks are not uniformly distributed whatsoever:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
They're heavily concentrated toward the max nonce value (0xffffffff).
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Isn't having such an uneven distribution of nonce values a big weakness in how Bitcoin does proof-of-work? Or does using extranonce even things out?

Doesn't this mean miners should concentrate only on large nonce values instead of wasting their time scanning the whole nonce space?

Does every nonce really have an equal chance of winning?

I set out to test the claim: "Every nonce has an equal chance of winning."

So, I plotted, with gnuplot, the nonce values vs. hashes for all the valid blocks in the blockchain, and I was very surprised to see that the nonce values that produce valid blocks are not uniformly distributed whatsoever:
Nonces vs. Hashes
Nonces vs. Hashes (cummulative)
Nonces vs. Hashes (1,000 blocks shown at a time)
They're heavily concentrated toward the max nonce value (0xffffffff).
(Also, in the last plot, you can really visualize the change in the difficulty and even see where the difficulty was decreased.)

Isn't having such an uneven distribution of nonce values a big weakness in how Bitcoin does proof-of-work? Or does using extranonce even things out?

Doesn't this mean miners should concentrate only on large nonce values instead of wasting their time scanning the whole nonce space?

striked-through incorrect part
Source Link
Geremia
  • 4.7k
  • 7
  • 39
  • 81
Loading
Source Link
Geremia
  • 4.7k
  • 7
  • 39
  • 81
Loading