Verify a Wakir Labs commit
Every commit in Wakir Labs repositories is timestamped against the
Bitcoin blockchain via OpenTimestamps.
The proof is a small .ots file checked in next to the
commit hash. With those two things — any commit hash from our
history and the matching .ots file — anyone
can verify, without trusting us, that the commit existed at or before
the timestamp baked into a specific Bitcoin block.
This is the public side of Proof-of-History in practice. It is what we mean when we say the documentation is anchored.
Three steps
1. Install the OpenTimestamps client
The reference client is ots, distributed as a Python
package. On any platform with Python 3.8+:
pip install opentimestamps-client Verify the install:
ots --version 2. Get the commit and its .ots proof
Clone the repository you want to verify. The proof files live under
meta/timestamps/<short-hash>.ots:
git clone https://github.com/wakir-labs/site.git
cd site
ls meta/timestamps/
Each file is the .ots attestation for one commit,
indexed by the commit's short hash.
3. Run ots verify
For a worked example, take commit 82d40f7 from this
site's history ("feat(about): add EN+DE about pages"):
# From inside the cloned repo:
ots verify meta/timestamps/82d40f7.ots -d $(git rev-parse 82d40f7 | xxd -r -p | sha256sum | head -c 64) The simpler form, when the proof was created against the raw commit hash bytes used by our hook, is:
git rev-parse 82d40f7 | xxd -r -p > /tmp/commit.bin
ots verify -f /tmp/commit.bin meta/timestamps/82d40f7.ots A successful verification prints something like:
Success! Bitcoin block N attests existence as of YYYY-MM-DD That is the receipt. The commit existed at or before that Bitcoin block. No trust in us required — only trust in Bitcoin and in the OpenTimestamps calendar servers (which themselves only sign, they do not back-date).
Where the source of truth lives
The full corporate repository — ADRs, activity log, governance — is
currently local to the supervisory board, not yet
public. Public verification today therefore covers the
wakir-labs/* repositories on GitHub
(github.com/wakir-labs).
When the corporate repository becomes public, the same recipe
applies: clone, point ots verify at the
.ots file and the commit hash, read the receipt.
Members of the supervisory board verify against their local clone of the corporate repository the same way.
Advanced: verify against your own Bitcoin node
By default the OpenTimestamps client reaches out to public calendar servers and, for the Bitcoin attestation, to a remote block explorer. If you run your own Bitcoin node, you can verify the proof end-to-end against your own copy of the chain:
ots --bitcoin-node http://user:pass@127.0.0.1:8332 verify -f /tmp/commit.bin meta/timestamps/82d40f7.ots This removes the last residual trust assumption: you are now reading the attestation directly from a chain you validate yourself.
If verification fails
Two normal reasons:
- The proof is "pending". Fresh commits live in the
calendar servers for a few hours before being aggregated into a
Bitcoin block. Run
ots upgrade meta/timestamps/<hash>.otsafter a few hours, then re-verify. - You hashed the wrong thing. Our hook stamps the
raw 32-byte commit hash. Make sure you pass binary bytes
(
xxd -r -p), not the ASCII hex.
If neither applies, open an issue. A failed verification on a real commit is a finding we want to know about.