Commit & reveal

Sealed forecasts

Some forecasts are published in full. Others are sealed: a fingerprint of the forecast is posted now, and the forecast itself is revealed only after the event resolves — with proof it was never altered in between.

How it works

An encrypted forecast enters the record before it becomes readable. Its commitment is timestamped at publication; the forecast is revealed later and verified against that earlier record.

  1. The forecast is written down with a long random secret (a "salt").
  2. Its SHA-256 hash is computed — a 64-character fingerprint that reveals nothing about the forecast, yet cannot correspond to any other text.
  3. Only the hash is published, and timestamped by entering the public Git history. The forecast itself stays hidden.
  4. After the event, the forecast and its salt are revealed. Anyone recomputes the hash and checks it against the one published earlier.

If the hashes match, the revealed forecast is provably the one committed earlier — a single changed character produces a completely different hash. The commitment is hiding (nothing leaks before the reveal) and binding (it cannot be swapped afterwards).

Precise about the guarantee. The hash proves the forecast was not changed. The timing is only as strong as the timestamp behind it. Publication into public Git history is a good, verifiable timestamp, but it is attested by the hosting platform — not absolute proof. For claims where timing must be trustless, a commitment can additionally be anchored to the Bitcoin blockchain (OpenTimestamps); anchored commitments are labelled as such. No stronger guarantee is claimed than the one actually in place.

Verify a revealed forecast yourself →

Sealed & revealed forecasts

No sealed forecasts yet. Commitments will be listed here with their publication date and hash.