Proof-of-Anteriority

We can't backdate a prediction. Here's how you check.

Every drug-repurposing prediction GaiaLab makes is hashed and timestamped to the Bitcoin blockchain the moment it is recorded. That means a prediction's lead-time over a clinical trial is not something you have to take on our word — you can verify, independently, that the prediction existed before the trial was registered.

Why this matters

A claim like "we flagged this drug 34 days before the trial appeared" is only meaningful if the prediction's timestamp is trustworthy. A timestamp stored in our own database is not — in principle anyone with database access could change it. So we don't ask you to trust it. We commit each prediction to a public, immutable clock that we do not control.

How it works

  1. Leaf. When a prediction is made, we hash its full record — gene panel, drug, disease, mechanism, confidence, evidence sources, cited PMIDs, the ClinicalTrials.gov baseline (trials already present for the pair), model/code version, and exact timestamp — into a one-way digest (a Merkle leaf, SHA-256, RFC 6962 / Certificate-Transparency). The complete record is published alongside so you can recompute the hash yourself; the digest reveals no proprietary method or code. (Predictions recorded before this upgrade commit drug, disease and timestamp only — labelled v1.)
  2. Root. Periodically we batch every new leaf into a Merkle tree and take its single root hash.
  3. Anchor. We publish that root to the Bitcoin blockchain via OpenTimestamps and to a citable Zenodo record (DOI 10.5281/zenodo.21578642). Confirmation is not instant — once a Bitcoin block includes the root (typically within a day), the root — and every prediction under it — provably existed no later than that block's time, and cannot be moved earlier or later.
  4. Verify. Anyone recomputes the leaf, walks the proof to the published root, and confirms the block time precedes the trial's registration date. No GaiaLab code required.

The live ledger

Loading the anchor ledger…

Verify a prediction yourself

Paste a prediction's leaf hash (the 64-character digest shown on any anchored row of the trial-audit ledger, or returned by /api/verified-semantic-matches). You'll get its Merkle inclusion proof, the external anchor, and a step-by-step recipe to check it independently.

What the proof does and does not mean. A confirmed anchor proves anteriority — that the prediction was recorded before the trial, and was not backdated. It does not prove the prediction is correct, that the drug works, or that a trial's existence implies efficacy. Predictions recorded before this ledger existed read "pre-anchor" and are not retroactively provable; predictions anchored after their trial already registered read "committed (post-trial)" and claim no foresight. The guarantee is forward: every new prediction is anchored now, so trials that register against it later are provable.