Dear Mr gmaxwell,
Thank you for your interest and your simulation. I don't think your program does simulate what we want to study: It is not the probability of having 4 nounces in a 7% range, it is the probability of having 4 nounces with differences less than 1.8%, 0.12% and 7.2% respectively of the range in this order. Please, try it. You will see that the 0.12% counts for something important here.
Usually in the circles I travel I am not accused of fallacius arguments that are not so...nor we need a computer program to compute the probability on your problem (it is just a 4-dimensional volume of a simplex).
What is the probability, under uniform assumptions, of a single nonce being the specific value _2167965896_? It is one in four billion. And yet, there it is in block 354640--- a nonce with that specific value. Does this mean that I now have evidence for some theory in the forum of a one in four billion event?
No. Because criteria of that specific value was selected after the fact based on the data, and so the probability of observing it is 1 and the information content of the observation is absolutely zero.
Your suggested study is making the same form of reasoning, but this fact is somewhat hidden by the additional complexity-- yet it clearly was based on observing the data (your threshold are the exact differences in the data), rather than being based on some principle which set in advance and only after was it tested against the data.
Putting that aside for a moment, even if I take your back-computed from the data 0.00015552% probability number (without order-- do you really demand ordering?-- if so, you're owed a stern lecture on fallacious arguments); with 354k blocks we would expect to see a 0.00015552%/block event about 55 times; and in the 25 days between your post immediately prior to creating this thread there would be a 42.87% chance of observing it at least once in that window; all with uniform nonce assumptions (obviously the non-uniform nonce reality make it more likely).
I provided the program to cut through some noise; rather than arm-waving we've had in this thread the programs operation is clear, and can easily be tinkered with (e.g. as soon as you assume some non-uniform distribution, you must then integrate; much easier and safer to just twiddle the numeric code and get an approximate answer; especially once you start adding any non-linear hypothesis).
Interesting. Do you have statistics of time lags between your receiving time and block timestamps? How do they compare to the same statistics on other nodes? I guess by comparing timestamps on different nodes one can tell which miners and how much are using the malleability of timestamps.
"using the malleability of timestamps" There isn't any reason to assume from inconsistency of timestamps that miners are intentionally using their generally free control of the timestamps for much of anything. Large latencies in miner hardware/software/pooling (including avoiding bandwidth usage sending new midstates) contribute a lot of inaccuracy, but there is no such thing as a singular definition of time in a decentralized system; miners have their own clocks; they often only vaguely agree, the numbers are all over the place, they've always been more or less all over the place, and its not surprising. Every once in a while someone sees a block with a timestamp an hour in the future and they show up freaking out... its ordinary and not unexpected.
As far as my timestamps; I'm reasonably well connected due to connecting to the block relay network. Stats, in seconds for the last 1295 blocks (which I'm reasonably confident is a generally uninterrupted observation), negative times are blocks 'from the future' according to my local timebase:
Min. 1st Qu. Median Mean 3rd Qu. Max.
-1539.000 10.000 26.000 1.989 44.000 1098.000
Absolute differences:
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 19.00 34.00 63.73 57.50 1539.00
Stem-and-leaf plot shows that the extrema are outliers:
The decimal point is 2 digit(s) to the right of the |
-15 | 4
-14 |
-13 |
-12 |
-11 |
-10 |
-9 |
-8 | 3
-7 | 2110
-6 | 76430
-5 | 866631
-4 | 976633332211100
-3 | 99986433321000
-2 | 99999888666655444443333221000
-1 | 9999998888777765554443333222111110000000
-0 | 99999988888777777777666666555555555554444444444444433333333333333333+42
0 | 00000000000000000001111111111111111111111111111111111111111111111111+938
1 | 00011112222233334444555666677788899
2 | 02
3 |
4 | 5
5 |
6 |
7 |
8 |
9 |
10 | 1
11 | 0
A density chart of the (-120, 120):
+-------+-------------+-------------+-------------+------------+---------+
| *** |
| ** *** |
| * ** |
0.015 + * ** +
| * ** |
| ** ** |
| * * |
0.01 + * ** +
| * ** |
| ** ** |
| * ** |
| * ** |
0.005 + ** ** +
| * *** |
| ***** ***** |
| ********** * *** |
0 + ********************* ******** +
+-------+-------------+-------------+-------------+------------+---------+
-100 -50 0 50 100