Integrität

Überprüfen Sie dieses Archiv selbst.

Jede Datei, die mit diesem Archiv ausgeliefert wird, hat einen veröffentlichten SHA-256-Hash. Diese Seite berechnet diese Hashes in Ihrem Browser neu — unter Verwendung der Web Crypto API, die Ihr Browser bereits mitbringt — und vergleicht sie mit dem Manifest. Kein Server-Endpunkt von kakao.io wird in dieser Kette als vertrauenswürdig angenommen. Wurde zwischen dem Quell-Repository und Ihrem Bildschirm etwas manipuliert, schlägt die Prüfung sichtbar fehl.

Zero-Trust-Haltung — der Verifizierer ist reines JavaScript, eingebettet in diese Seite. Sie können ihn mit „Seitenquelltext anzeigen“ lesen. Er ruft den Datensatz ab, berechnet den Hash lokal, ruft das Manifest ab und vergleicht. Das Ergebnis wird auf Ihrem Rechner berechnet.

cacao-origins.json prüfen

Alle Quelldateien prüfen

Einen bestimmten Herkunftsdatensatz prüfen

Datensatz-Hash über die Kommandozeile prüfen

Wenn Sie sich lieber gar nicht auf Browser-Code verlassen möchten — dieselbe Prüfung ist mit Standard-Unix-Werkzeugen trivial.

# Verify the dataset hash matches:
curl -s https://kakao.io/data/cacao-origins.json | shasum -a 256
# Compare against the hash in:
curl -s https://kakao.io/.well-known/source-manifest.json \
  | jq '.files["data/cacao-origins.json"]'

OpenTimestamps-Belege lokal prüfen

Jeder Herkunftsdatensatz ist zusätzlich mit OpenTimestamps gestempelt — einem kostenlosen, in Bitcoin verankerten Zeitstempel-Protokoll. Der Beleg faltet den SHA-256 des Datensatzes in einen veröffentlichten Bitcoin-Block-Header, sodass die Existenz des Datensatzes zum Zeitpunkt dieses Blocks kryptografisch nachweisbar ist — ohne uns oder einer Zeitstempel-Behörde vertrauen zu müssen.

# Install the OpenTimestamps client:
pip3 install opentimestamps-client

# Download an origin record and its proof:
curl -O https://kakao.io/data/ots/records/ve-chuao.json
curl -O https://kakao.io/data/ots/records/ve-chuao.json.ots

# Verify — folds the Bitcoin block hash into a verification chain:
ots verify ve-chuao.json.ots

Wie das funktioniert

SHA-256 wird in Ihrem Browser über window.crypto.subtle.digest berechnet — dasselbe Primitiv, das TLS und HTTPS verwenden und das in jedem modernen Browser ohne Polyfill verfügbar ist. Das Manifest ist eine kleine JSON-Datei, die den erwarteten Hash jeder ausgelieferten Datei auflistet. OpenTimestamps-Belege werden an öffentliche Kalenderserver übermittelt und in der Bitcoin-Blockchain aggregiert — es gibt kein Konto, keine Gebühr und keine zentrale Autorität, der vertraut werden müsste. Alle drei oben genannten Prüfungen sind reine clientseitige Berechnungen.