orphograph

OpenTimestamps for photographers, explained

OpenTimestamps is a free, open protocol invented in 2016 by Peter Todd. It lets anyone bind an arbitrary file's contents to a specific Bitcoin block without paying a per-file fee. It's the cryptographic engine underneath Orphograph and underneath several other timestamping services. Understanding what it does — and what it doesn't do — is worth ten minutes for any photographer thinking about long-term provenance.

The protocol in three sentences

You hash your file with SHA-256. You hand the hash to a public calendar server. The calendar bundles your hash with thousands of others into a Merkle tree and writes the root of that tree to the Bitcoin blockchain. That's it.

What you get back

The calendar gives you a small binary file with the extension .ots. It contains:

The .ots file is tiny — a few hundred bytes — and you should treat it the way you treat the receipt for an expensive lens: back it up, store it next to the file it certifies, and don't lose it. Without it, you can't prove anything.

Why five calendars instead of one

The OpenTimestamps protocol allows submission to multiple independent calendars. Orphograph uses five — a.pool.opentimestamps.org, b.pool.opentimestamps.org, alice.btc.calendar.opentimestamps.org, finney.calendar.eternitywall.com, and btc.catallaxy.com. Each is operated by a different party. You only need one to keep serving the upgrade path; the redundancy protects you against any single operator vanishing.

Calendar-attested vs. block-attested

When you first anchor, your receipt is "calendar-attested" — a signed promise from the calendar that your hash will land in a future Bitcoin block. Within roughly an hour, the calendar's batch transaction is mined, and your receipt upgrades to "block-attested" — the proof now references a real Bitcoin block height and the calendar drops out of the trust path entirely. Orphograph fetches the upgraded proof for you and stores it.

For most uses, the difference doesn't matter — both states are cryptographically meaningful. For litigation-grade defense, you'd wait for full block-attestation. For day-to-day "I just delivered this to a client," the calendar attestation is plenty.

What OpenTimestamps doesn't do

It doesn't sign your identity. It doesn't read EXIF. It doesn't prevent someone from anchoring a file they didn't author — the proof only attests that some file with these exact bytes existed by this moment. To bind a file to you, you anchor early (before any dispute), keep your originals (so the hash is reproducible), and consider pairing the anchor with a publication step — a tweet, an email, anything that ties your name to the work before anyone else could.

The CLI alternative

If you're comfortable with a terminal, you can use the official opentimestamps-client Python package directly for free, forever. Orphograph exists for the photographers who'd rather drag and drop. Both produce the same cryptographic artifact; the cryptography is identical. What Orphograph adds is a hosted UI, an emailed receipt, a sample-receipt verifier, and an open-source standalone verifier you can keep on a USB stick.

FAQ

What is OpenTimestamps?

A free, open protocol for timestamping files against Bitcoin. Submit a hash to a calendar; the calendar batches many hashes into a Merkle tree and writes the root to a Bitcoin transaction.

Do I have to install Python?

Not with Orphograph. The reference client is a Python CLI; we wrap the same protocol behind a browser drop-zone.

What is the .ots file?

A small binary proof recording the Merkle path from your hash up to the root committed in a Bitcoin transaction.

Is this the same as a notary?

No. A notary verifies identity and witnesses a signing. OpenTimestamps verifies file-bytes-existed-by-time, with no identity claim.

How long until full block-attestation?

About an hour. Orphograph fetches the upgraded proof for you and stores it alongside your receipt.