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

Sie haben einen Entscheid mit decision_id, content_hash, cli:ch, ECLI, decision_date.
Sie bilden das Blatt: decision_id\ncli:ch\nECLI\ncontent_hash\ndecision_date
Sie hashen das Blatt: SHA-256(0x00 || leaf_bytes)
Sie holen den Inklusions-Beweispfad für diesen Entscheid an einem bestimmten Datum.
Sie rekonstruieren die Wurzel: jeder Schritt ist ein SHA-256(0x01 || left || right).
Sie vergleichen die rekonstruierte Wurzel mit docs/integrity/<datum>.root im Git-Repository.
Optional: Sie verifizieren das OpenTimestamps-.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