Shared compute where every result can be run again.
Recomputable is a research-compute network. Labs lend machines, supported jobs are built so anyone can re-run them and get the same bits, and a signed public record shows which work each result came from.
Your browser is one more machine
job lj.init · 7 atoms · 3,000 steps · seed 1This page is relaxing a seven-atom Lennard-Jones cluster right now, using a JavaScript copy of one sample job with the same arithmetic in the same order as our Python and Rust workers. Below are the 64 bits of the final energy: the reference value stored in this page, and the one your browser computes.
Running the job in your browser.
Borrowed compute is only useful if you can trust the answer.
Volunteer and pooled computing has always had the same weak point: you have to take a stranger's result on faith, or quietly compute it twice. Recomputable makes the check something anyone can repeat, and puts the evidence on a public record.
Lend compute
A worker is a small program that asks for jobs and returns signed results. It only makes outgoing requests, so a lab machine never has to accept a connection.
Replay anything
Supported jobs are written so that the same inputs give the same bits on a conforming machine. A verifier re-runs a job and compares, without asking the worker to be believed.
Record the contribution
Every job and result is signed and written to a log that cannot be edited quietly. Which worker returned which result, and which earlier results it built on, is on the record.
One job, from issue to public record.
- The run commits to its seed before the seed exists.A run promises, on a public blockchain, to take its randomness from a block that has not been mined yet. We cannot choose a favourable starting point in advance.
- A coordinator issues signed jobs.Each job names its inputs, its seed and the search policy that produced it.
- Workers pull jobs and return signed results.The fast worker is written in Rust. A plain Python reference defines what the right answer is.
- Everything goes into a hash-chained log.Each entry includes the hash of the one before it, so removing or changing an entry breaks every entry after it.
- The end of the run is anchored.Only a hash is published. It fixes the whole log at a point in time. The notary service accepts exactly one successor for a sealed record, so a second, competing history cannot be anchored after it.
- Anyone replays the log.The verifier re-runs the jobs, checks the signatures and follows the anchors back to the first one. It gives one of three answers.
The third answer matters. If a block header source is down or an anchor is too recent, the verifier says so. It never reports a pass it did not earn.
Four runs, five anchors, all on BSV mainnet.
These are the real records. Each one links to its public certificate and its transaction. Pick one to read what it commits to.
What has been shown, and what has not.
This is a prototype. Here is exactly where it stands.
Shown so far
- Four anchored runs, each replayed and verified in full against block headers from two independent sources.
- A sealed chain of three end-of-run records, also confirmed independently by the notary service.
- Floating-point jobs that give identical bits in Python and Rust, on five x86-64 machines (three AMD, two Intel).
- A run with its workers on rented machines in New York and Frankfurt, one Intel and one AMD, reached over the internet. Each re-checked a quarter of the other's jobs, and the log verified by replay on a third machine.
- A worker that returns results without doing the work is caught by replay.
- More than 130 automated tests, including tampered records that must be rejected.
Not yet
- ARM, WebAssembly and other compilers have not been checked for bit-exact results.
- Code that calls numerical libraries or runs on a GPU is not covered by the replay guarantee.
- Every worker so far has run under our control. Workers operated by other people, and a coordinator open to any address, are untested.
- How the record should turn into research credit or payment is still a design question. There is no token and no payout.
- No outside security review has been done.
Have a search problem and idle machines?
We are looking for a small number of research groups to run a real workload with us. Good fits are searches where a claimed answer can be checked on its own, far faster than it was found: combinatorial search, optimisation, certificate hunting.
Tell us what you compute and how you would know an answer is right.