Bestimmung 06 · kryptografische Provenienz
Integrität & Provenienz
Bei jedem Publish des Korpus berechnen wir eine Merkle-Wurzel über alle Entscheide. Die Wurzel wird im öffentlichen Repository committet und via OpenTimestamps auf der Bitcoin-Blockchain verankert. Damit ist jeder einzelne Entscheid kryptografisch nachprüfbar — auch dann, wenn opencaselaw.ch dereinst nicht mehr existieren sollte.
§01 Aktuelle Wurzel
§02 Das Blatt
Was die Wurzel verspricht
Für jeden einzelnen Entscheid wird ein Blattwert nach folgendem Schema gebildet und SHA-256-gehasht:
decision_id
cli:ch
ECLI
content_hash (SHA-256 over regeste || full_text)
decision_date
Die Blätter werden in alphabetischer Reihenfolge nach decision_id in einen RFC-6962-Merkle-Baum eingelesen (gleiche Konvention wie Certificate Transparency). Die Wurzel ist 32 Bytes (64 Hex-Zeichen) und commitet sich zu jedem Entscheid mit dieser decision_id, diesem content_hash, diesen Identifikatoren, an diesem Datum.
Mit der Wurzel und einem Inklusions-Beweispfad (log₂ N Geschwister-Hashes, ~20 für rund 991k Entscheide) lässt sich kryptografisch beweisen, dass ein bestimmter Entscheid Teil des Korpus war — ohne opencaselaw.ch zu vertrauen.
§03 Prüfen
Verifikationspfad
decision_id, content_hash, cli:ch, ECLI, decision_date.decision_id\ncli:ch\nECLI\ncontent_hash\ndecision_dateSHA-256(0x00 || leaf_bytes)SHA-256(0x01 || left || right).docs/integrity/<datum>.root im Git-Repository..ots-Proof gegen die Bitcoin-Blockchain — damit gilt die Wurzel als zu einem bestimmten Zeitpunkt existiert.§04 Status
Roadmap
- Live: wöchentliche Merkle-Wurzel + Manifest als
docs/integrity/<YYYY-MM-DD>.{root,json}. - Live: OpenTimestamps-Anker via
ots stamp; nach ~1 Bitcoin-Block (1–6 Std.) zu vollem Bitcoin-Anker aufwertbar (ots upgrade). - Live:
GET /api/integrity/<decision_id>liefert den RFC-6962 Inklusions-Beweispfad gegen die aktuellste Wurzel. - Optional: Cross-Anchoring zu weiteren Zeitstempel-Diensten (Sigsum, RFC 3161 TSA).
Teil der Open Law Standards (Bestimmung 06 · Provenienz).
§05 Code
Referenz-Implementierung
- integrity.py — Merkle-Bibliothek (RFC 6962), public-domain.
- build_integrity_root.py — wöchentlich aus der FTS5-Datenbank gebaut.