Show HN: Goldbach Conjecture up to 4*10^18+7*10^13
244 jay_gridbach 134 4/19/2025, 6:11:37 AM medium.com ↗
Achieved a new world record in verifying the Goldbach Conjecture using grid computing, by extending the verification up to 4 quadrillion (4×10¹⁸) + 70 trillion (7×10¹³).
My grid computing system - Gridbach is a cloud-based distributed computing system accessible from any PC or smartphone. It requires no login or app installation. The high-performance WASM (WebAssembly) binary code is downloaded as browser content, enabling computation on the user’s browser.
[Website] https://gridbach.com/
[Medium] https://medium.com/@jay_gridbach/grid-computing-shatters-wor...
A. No validation is done on server side to confirm the workers are reporting correct results.
B. Increasing the limit by less than a thousandth of a percent does not make this a "world record"! If we go by that logic, I only have to validate one more example than you and claim a world record. And then you'd do the same. And then I'd do the same and we'll be playing "world record" ping pong all day!
But "B" isn't the big problem here because we have worse problems "A"! Nobody (not even the OP) can tell if the results are accurate!
No, I'm not simply dissing at a Show HN post. There are many comments here that explain these problems much better than I could.
This is egregrious clickbait!
Why doesn't it?
"If we go by that logic, I only have to validate one more example than you and claim a world record."
Yes. You can argue that it's not difficult enough or interesting enough, but you can't argue that N+1 result is not a world record.
Here's one:
4*10^18 + 7*10^13 + 1.
Boom! New world record. Now add 1 and you've got another. Try it. Keep going. World records like this will be surpassed by someone else in milliseconds.
Honestly, this is the first time I've heard "world record" used for NOT finding a counterexample. The whole thing feels absurd. You can keep checking numbers forever, calling each one a record? It's silly, to be honest. Never heard anyone calling these world records, before today.
OP has a nice project. But the wording is so deceptive and so silly that it harms the credibility of the project more than it helps.
You've never heard of the world record for calculating digits of pi?
https://www.livescience.com/physics-mathematics/mathematics/...
With Goldbach, claiming a "world record" just means checking one more number and seeing if it is still NOT a counterexample. It's easy. Contrast that with computing a new digit of pi - something you can't achieve by simply incrementing a value and running a check.
Finding each new digit of pi (the ones very far out) is not a trivial task. The computational effort increases by a lot as you go deeper. Something like O(n (log n)^k) for some k (usually k = 3).
I.e. not only is this an extremely small increment but the original work did not have to be repeated. Nothing about the state of computing in 2012 would have prevented going the extra amount here, they just decided to stop. The original record even states (on https://sweet.ua.pt/tos/goldbach.html):
> On a single core of a 3.3GHz core i3 processor, testing an interval of 10^12 integers near 10^18 takes close to 48 minutes
So the additional work here in 2025 was the equivalent of running a single core of a 2012 i3 for ~70 more hours.
All this is a shame as the project itself actually seems much more interesting than leading claims.
Take it up with the rules.
And yes, mathematically it's uninteresting. But that's not what is being showed off here.
I don't dispute that. If you read my comment carefully, you'll find that I'm calling them "world records" too. My point is that nobody in the math community uses "world record" for finding trivial non-counterexamples like this. There are infinitely many such "world records" and each one is trivial to surpass in under a second.
Compare that to something like the finding a new Mersenne prime or calculating more digits of pi. Those records hold weight because they're difficult to achieve and stand for years.
This post could've been one of the infinite, uninteresting "world records" if the OP had applied more rigor in the implementation. But due to gaps in verification, this post is not a world record of any kind because the correctness of the results can't be confirmed. The OP has no way to confirm the correctness of their data. You'd get better context by reading the full thread. This has already been discussed at length.
Like imagine there was a record for longest novel published, and what you did was take the previous longest novel and add the word "hello" to the end of it. Does the person who added "hello" get the record?
He slightly pushed the computation past the previous world record, and he’s continuing to push it forward with a clear goal. It’s well within the spirit of a world record.
Besides, a world record is still a world record — it’s up to you to decide how interesting it is. You are indeed just dissing on a Show HN post.
Server side validation is trivial. What makes you believe that is not happening? That code is not available.
If you'd read the article carefully, he hasn't. For all we know one client (or worse, several) found counterexamples but didn't report them back to the server. Without verification on the server side, there's no way to claim the entire range has been reliably checked.
What he's shown is that many volunteers have checked a large portion of the numbers up to a certain bound and found no counterexamples. But he hasn't shown that all numbers within that range have actually been verified. It's entirely possible that some block results were falsely reported by bad clients. Meaning counterexamples could still be hiding in those falsely reported gaps, however improbable! This kind of lapse in rigor matters in math! This lapse in rigor invalidates the entire claim of the OP!
> Server side validation is trivial. What makes you believe that is not happening? That code is not available.
Please read the full thread. This has all already been discussed at length.
https://news.ycombinator.com/item?id=43735397
https://news.ycombinator.com/item?id=43735498
https://news.ycombinator.com/item?id=43735483
https://news.ycombinator.com/item?id=43735555
From the OP himself, an admission that there's no mechanism to ensure clients aren't submitting false results:
https://news.ycombinator.com/item?id=43736281
https://news.ycombinator.com/item?id=43736558
Don't get me wrong. I've said before. This is a good project. But the claims made in the post don't hold up to scrutiny.
> a world record is still a world record
This isn't particularly relevant at the moment, since OP can't confirm the correctness of the results!
But I agree then. Good project; not a world record.
Edit: I’m not getting any of this for the article still, but I trust I’m misreading something
What Hiroaki wants here is "no one has proven it mathematically". Full stop.
Or "no one has proven it mathematically to this day", or "no one has proven it mathematically so far".
Alternatively, "it has yet to be proved mathematically".
1. pedantry
"Proven" refers to something confirmed over time, often used more informally.
"Proofed" is an editorial term—preparing text for publication.
We only have a few of these in English, where one of the tenses of the verb changes depending on the subject matter, but they do exist. The only other one I can think of off the top of my head is hang: past and participle "hanged"/"have hanged" (to execute or be executed via hanging from the neck) versus "hung"/"have hung" (any other meaning).
Hope that helps!
Edit: fixed my example to better match the original text.
I'm not a mathematician though, so maybe this is a genuine semantic convention that neither I nor my dictionary are aware of. Maybe it's just that some mathematical style guides say to prefer "proved", for consistency, not that it really depends on the context?
It feels sort of like the difference between gilded and golden. Something that has been gilded now has a golden surface. Now golden has that en suffix like some participles, but isn't one. It's a pure adjective.
You don't say "your application has been approven".
Or "the problem has been solven".
Or "the quantity halved again, like it had halven before".
Or "that function has misbehaven again".
Or "I have moven the funds to the correct account".
Yet, "proven" is accepted.
Same with: write, wrote, written; smite, smote, smitten; bit, bit, bitten; hide, hid, hidden; ride, ride, ridden; drive, drove, driven.
There's a pattern that the verbs with the en participles do not have ed regular past tenses. They have ove, ote, ode, it, id past tenses.
There are exceptions though like swell, swelled, swollen. It's fuzzy enough that any -en past participle will sound fine if you just get used to hearing it.
To request a new batch:
returns something like which means the client should check 4000075534400000000-4000075534500000000.Once done:
Here, _client_hash is generated by wasmHash(`{"method":"Hash"}`) in /js/worker.js (yes, the payload is a fixed string), and while I didn't try to disassemble the wasm, one can pause execution and repeatedly call wasmHash() to observe it's basically a TOTP that changes every 10s, so it doesn't carry any mathematical information.Therefore, all the info that can be used for verification on the server is a single pair of _p and _q adding up to one number in the entire range. That's the extent of the verification.
One can of course patch the code to check a single number before reporting that the entire range has been checked. Pretty sure it's impossible for the server to detect that.
Correct me if I made a mistake somewhere.
Edit: On second thought, maybe the specific number reported back is deterministically chosen in a way that relies on finishing all the checks in the range, and thus can be compared with other reported results for the same range?
Even in that case, the server can't verify the work without repeating it. mersenne.org hands out a double checking job about 8 years later presumably to thwart determined attackers.[1]
[1] https://www.mersenne.org/various/math.php
You must ask for each number in the interval the two primes and a Primality certificate for each prime. https://en.wikipedia.org/wiki/Primality_certificate
The idea is that it's very hard to find the two primes and it's very hard to prove that they are actually primes. But if the client send you both primes and send you each primality certificate, then the verification is very fast. Also, you can store that info so people can see it.
As highlighted by @tromp and @oefrha (https://news.ycombinator.com/item?id=43734877) it is clear, clients can cheat. So we can't be 100% sure that none of the clients cheated. What if a counterexample to the conjecture exists, but a dishonest client simply failed to report it? Math results require rigor and without rigor no claim can be trusted. Without rigor, this bold assertion remains just that. A claim, not a fact.
OP! On top of that, you're being evasive in threads where you're being asked how your validation works and you went so far as to flag a pertinent thread. That definitely doesn't inspire confidence. Addressing the validation questions is absolutely 100% necessary if you want this to be seen as more than just a claim.
Except... Doing this level of verification would enable DoSing the server very easily -- just send lots of false positives.
[0] Verifying that those two numbers are actually primes may take more time, but it seems to me that we're still dealing with number sizes for which primality testing isn't that hard. After all, the code here seems to just be using Erathostene's sieve to find primes.
And this project has increased that number to 4,000,010,000,000,000,000.
Increasing the limit by 0.00025%
Not totally sure this is a good use of the compute/brainpower...
I don't know about making a judgement call on what a good use of computer or brainpower is, it seems like a fun enough project in many ways, but in terms of claims worth headlining about the project I agree wholeheartedly.
So this tickles my nostalgia bone strongly. And maybe makes me feel a tiny bit jealous. But more excited than envious, really, to see people are still working on this problem.
Time required to compute next range grows very slowly and this project has only computed the incremental part from 4*10^18 to 4*10^18+7*10^13 . It would have taken previous record holder extra 0.002% time get those additional 7*10^13.
A meaningful record needs to either reproduce old one or beat it by significant margin. Otherwise you get meaningless +1 like this.
By my estimates (~7s to compute 10^8 large chunk) new "record" represents ~60days worth of single core compute. Run it on multiple threads and you essentially get 3-4days worth compute on single modern computer.
And it does so at rate which is much worse than previous record using 2012/2013 hardware. Previous record software was able to do 10^12 window in 48minutes on single i3 core from 2013. That's roughly 24x faster using the old software on 10year old low end computer compared to the new software on new hardware. Previous record represents ~133000 days of single core compute, probably less since majority of it likely run on something better than i3.
Unless author gets it to maliciously run on a popular website with at least 10^5 users(concurrently every minute not 10^5 unique during day), 5*10^18 doesn't seem reachable this way. Getting a data center to donate computing hours would also work, but in that case you could use more efficient native software like the one from 2013 (which was order of magnitude faster even then) or rewrite of it optimized for modern hardware. The current webassembly one only makes sense if you can get random individual volunteers do donate compute.
That is not to say that this is not a cool project. The distributed nature and running so seamlessly directly in the browser is definitely cool and allows people to contribute compute easily.
It may be that grandiose claims of new records are needed to make people donate their computational resources but I am not a fan of deceptive claims like this.
Well, maybe they do on their resume.
Great intuitive metaphor, btw.
---
Burj Khalifa - 828m
US Penny - 1.52mm (0.00152m)
Adding a US penny to the Burj Khalifa would therefore make it 0.000183% taller.
--
Original work - 4,000,000,000,000,000,000
OP's work - 70,000,000,000
OP's work added 0.00000175% to the current record.
---
Conclusion: adding a penny to the Burj Khalifa is actually >100x more constructive than this effort.
I tried running in on 4 tabs on Firefox, and it did slow down a bit (maybe 16 seconds). All 4 tabs reported the same count, and it seemed not to increment for all the tabs. Also the initializing step was very fast on the subsequent tabs, as if it was reusing some data. Each tab used 100% of CPU and was doing different calculations. Same for Chrome.
Maybe it is not designed to be run in parallel on the same browser? Now I just run it on two separate browsers, one tab each. I probably stop later today when I need the computer for something else.
(Edit: Got a bit over 100B in 3.5 hours, stopping now. Machine running a tad warm, 25% CPU use, feels normal to use, but I think the fans are working a bit harder than normal)
At this point, I am not capable with addressing the thing you pointed out - the way to block fake results in open network. From the very beginning, I don't want to make the system closed-network nor login required as I want people to join the calculation instantly. Technically, I think it is impossible to prevent reporting fake result as long as it is open network system - which means my design doesn't fit to seeking rigor.
If someone starts another project that handles calculations in better way, I would like to learn from it.
There's no definitive proof that a world record has been set. Nor that every individual block has been processed and reported honestly. What is known is that the system provides a mechanism for volunteers to submit counterexamples if they choose to. That's something.
It's possible for clients to act dishonestly and withhold counterexamples. There's an incentive to claim independent credit. So the clients have incentive to lie.
So your project doesn't ensure that every block has been verified, it allows honest participants to report findings. That's the reality and you should frame it that way in the post and article.
Many natural questions would arise, starting with “Is this the only counterexample?”
(I got that from https://math.stackexchange.com/questions/514/conjectures-tha... which features some other false conjectures that may be of interest to you)
X3D processors seem happy with running cores*1.5 tabs as long as you can keep it cool, was locked at 90C overnight and it never throttled below 4.2. Can see they're all doing different jobs, wish the display was better about updating the shared state!
I've submitted ~400,000,000,000 verifications so far, highest ridge is 5641 (18th on the dashboard). I think I've submitted far more than this and it isn't being counted correctly due to multiple tabs
E: The whinging about power consumption and killing the planet faster is so silly, a modestly sized OLED TV uses more power than this
Also likely that seti@home was killed due to bandwith cost making it uneconomical[1]. After all they were looking for aliens in the data.
This "gridbach" project is much closer to GIMPS.
[1]: even if seti@home got their server bandwidth for free, they also need to factor in the bandwidth cost of their "home" participants.
That's 4 quintillion.
"i aim to push this farther to 5 quadrillion."
Final Answer: 4.00007×10^18
:-D