snip
ktimesg, you won't drag me into this mess. Let the other users draw their own conclusions. I repeat, this isn't a podcast-style debate between you and me.
Let's give other users a chance to read and give their opinions. We've talked enough and there's no understanding... no matter how much sarcasm, insults, or typical debate traps you use to drag me into your territory.
The data speaks for itself:
Thanks for the code @nomachine, this should clarify many points:my tests:PREFIX_LENGTH = 3
SIMULATIONS = 20000=====================================================================================
FINAL BENCHMARK | Iterations: 20000 | Time: 3016.63s
=====================================================================================
Linear 77% Found=15455 Checks=94,730,863 ROI=163.1464
Prefix Jump Found=16411 Checks=95,683,151 ROI=171.5140
=====================================================================================
ADVANCED PREFIX ANALYSIS
=====================================================================================
Max prefix matched (hex chars): 8
Log10 Prefix Frequencies:
Prefix 0: log10(freq) = 8.273017
Prefix 1: log10(freq) = 7.068642
Prefix 2: log10(freq) = 5.864462
Prefix 3: log10(freq) = 4.660524
Prefix 4: log10(freq) = 3.461499
Prefix 5: log10(freq) = 2.240549
Prefix 6: log10(freq) = 1.204120
Prefix 7: log10(freq) = 0.000000
Prefix 8: log10(freq) = 0.000000
Shannon Entropy:
Observed : 0.359629
Maximum : 3.169925
Ratio : 0.113450
Kolmogorov–Smirnov Test:
D statistic: 0.826424
PREFIX_LENGTH = 4
SIMULATIONS = 20000=====================================================================================
FINAL BENCHMARK | Iterations: 20000 | Time: 2932.67s
=====================================================================================
Linear 77% Found=15417 Checks=94,720,809 ROI=162.7625
Prefix Jump Found=19736 Checks=99,767,615 ROI=197.8197
=====================================================================================
ADVANCED PREFIX ANALYSIS
=====================================================================================
Max prefix matched (hex chars): 7
Log10 Prefix Frequencies:
Prefix 0: log10(freq) = 8.273005
Prefix 1: log10(freq) = 7.068802
Prefix 2: log10(freq) = 5.865262
Prefix 3: log10(freq) = 4.658603
Prefix 4: log10(freq) = 3.457579
Prefix 5: log10(freq) = 2.264818
Prefix 6: log10(freq) = 0.698970
Prefix 7: log10(freq) = 0.477121
Shannon Entropy:
Observed : 0.359755
Maximum : 3.000000
Ratio : 0.119918
Kolmogorov–Smirnov Test:
D statistic: 0.812508
If you look at the
log10 frequencies of my 40,000 iterations, you'll see a perfect exponential decay (from 8.2 to 7.0, to 5.8...). This confirms that HASH160 is uniform, but it also validates my strategy:
1- Each prefix encountered is a "
low-quality collision".
2- My algorithm uses this signal to clean up the noise and jump to a virgin area of the space.
3- I'm not trying to change the probability; I'm trying to optimize navigation.
The observed entropy (0.35) and the K-S test (0.81) demonstrate that, even if the hash is uniform, the navigation strategy doesn't necessarily have to be.
I think the data still speaks for itself, showing that this is the best option for people with limited computing resources.