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.
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.