Withdraw witness

Trail 2026-09-18-ewr1

Experiment Nr. 1, Lauf 2 — Drain ewr1 (Vultr NJ)

Fetch and verify

BASE=https://anycast.dev/witness/2026-09-18-ewr1
mkdir 2026-09-18-ewr1 && cd 2026-09-18-ewr1

curl -sO "$BASE/MANIFEST.txt"
curl -sO "$BASE/log.jsonl.gz"
curl -sO "$BASE/checkpoints.jsonl"
curl -sO "$BASE/origin"

mkdir -p keys anchors
curl -s -o keys/signing_key.pub "$BASE/keys/signing_key.pub"
for f in $(awk '$3 ~ /^anchors\// {print $3}' MANIFEST.txt); do
  curl -s -o "$f" "$BASE/$f"
done

gunzip -k log.jsonl.gz

# what you got is what the manifest says
awk '$1 ~ /^[0-9a-f]{64}$/ {print $1"  "$3}' MANIFEST.txt \
  | shasum -a 256 -c          # GNU: sha256sum -c

# the key comes from the published file, not from the trail
curl -s https://anycast.dev/.well-known/logsiegel-pubkey.txt -o pubkeys.txt
sed -n '/Lauf-ID: *2026-09-18-ewr1$/,/END PUBLIC KEY/p' pubkeys.txt \
  | sed -n '/BEGIN PUBLIC KEY/,/END PUBLIC KEY/p' > pub.pem

pip install logsiegel==0.1.2
logsiegel verify . --pubkey pub.pem

Expected: PASS: <N> entries, <M> checkpoints. The guide also shows how to break the check on purpose, so you know it measures something.

The copy of the public key inside the trail (keys/signing_key.pub) proves nothing against us — whoever controls the directory can rewrite log and key together. Take the key from the published file.

Files

FileBytesSHA-256 (first 16)
MANIFEST.txt1,832adc6ef719f8171f3
anchors/cp002047-digicert-20260917T184500Z.tsr6,006c467bd307a18932c
anchors/cp003958-digicert-20260917T190000Z.tsr6,00708a1bab25575fd1c
anchors/cp006425-digicert-20260917T191500Z.tsr6,007da3aacf90f1bdaa8
anchors/cp007052-digicert-20260917T191940Z.tsr6,00729ea95b207396249
checkpoints.jsonl21,51785964f2551589073
keys/signing_key.pub1134f742e43bd44dfa4
log.jsonl.gz763,4862dd3cca3e2d78021
origin35b1497cfe879b23c5

Unpacked, log.jsonl is 5,407,245 bytes, SHA-256 f9e2f985367f6fd6da9288205f9a443b1e017a0ca6951933ebff374e65096c82. Unpacking changes nothing about the proof.

4 RFC 3161 timestamp tokens are in anchors/; each one stamps a signed checkpoint root. The certificates to check them against: digicert-root-g4.pem, digicert-chain.pem — or your own system trust store, the result must be the same.

All runs