The staying power of this project is very impressive, and the fact that even with the long interval between finds (years) that doesn't seem to detract from dedicating CPU power to the project.
Can you explain finding Mersenne primes so CPU intensive?
Mₙ = 2ⁿ − 1 gives an easy to generate candidate set and testing primality of a single number isn't that expensive. 57885161th candidate being the 48th hit is getting pretty sparse I guess, but it isn't that crazy. What am I missing? Seems the compute would be rather small compared to much of the "big data" / NN training done every day
Because they are so big. 10³ > 1,000, so in decimal, 2^57,885,161 - 1 has over 3 × 5,788,516 digits, so over 17 million.
You do not check whether that is a prime by trial division (https://en.wikipedia.org/wiki/Trial_division). If you could do a division every nanosecond and had a billion devices, that would still take way, way more time than till the heat death of the universe to do.
Because of the numers 'in between', once you start testing that many numbers in such an enormous range it eats up CPU power. There is some very beautiful math trickery which uses an FFT to help determine if a number is prime or not, and even though that's a massive optimization the number of remaining cycles required is still enormous.
The algorithm for testing a Mersenne number for primality has the same running time as performing a pseudoprime test, so there's no point using such probabilistic tests. It is however useful to perform "trial division" to exclude small factors.
If you scroll to the very bottom there's some stuff on recent use of probable prime proofs, as well as a fairly detailed explanation of how the whole thing operates.
That could really be a great thing! The problem is that Mersenne primes are "sparse", i.e. there aren't many of them. Finding one could be like minting a new block, but it would be so rare that it won't be practical. For crypto, you would need something with many solutions, but then it's probably not so useful to find yet another solution...
you also generally speaking need something that is much easier to verify than it is to generate. I'm not saying it's impossible, but I don't think that "verifying" a protein folding in the "cryptocurrency" sense is a meaningful operation in the "useful" way you're hoping it to be.
Carbon footprint anyone? ;)