Was eine Hash-Chain tatsächlich ist
Eine Hash-Chain ist eine Folge von Datensätzen, bei der jeder Eintrag den Hash des vorherigen Eintrags enthält. Ändert man einen Wert in der Mitte der Kette, ändert sich der Hash — und jeder nachfolgende Hash passt nicht mehr. Die Kette bricht, sichtbar.
Blockchain hat dasselbe Prinzip unter einer dickeren Werbeschicht populär gemacht. Für interne Audit-Logs braucht man weder Proof-of-Work noch verteilte Konsens-Mechanismen. Was man braucht: unveränderliche Records und eine Möglichkeit, Manipulation zu erkennen.
Das Problem, das sie löst
Typische Audit-Logs sind Tabellen mit einem Zeitstempel und einem Logeintrag. Wer sie ändert, kann sie ändern. Wer sie löscht, kann sie löschen. Für Compliance-Szenarien, in denen ein Auditor drei Jahre später nachweisen will, dass nichts nachträglich geändert wurde, reicht das nicht.
Eine Hash-Chain löst das elegant:
CREATE TABLE audit_log (
id BIGSERIAL PRIMARY KEY,
ts TIMESTAMPTZ NOT NULL,
actor_id UUID NOT NULL,
action TEXT NOT NULL,
payload JSONB NOT NULL,
prev_hash CHAR(64) NOT NULL,
hash CHAR(64) NOT NULL
);
Der hash eines neuen Eintrags ist SHA256(prev_hash || ts || actor_id || action || payload). Der prev_hash des ersten Eintrags ist 64 Nullen. Danach ist jeder Eintrag an den vorherigen gekoppelt.
Warum Append-only auf DB-Ebene wichtig ist
Eine Hash-Chain in der Applikation zu berechnen ist wertlos, wenn irgendeine Rolle UPDATE- oder DELETE-Rechte auf der Audit-Tabelle hat. Der Schlüssel liegt in der Datenbank-Rolle:
Was Hash-Chains NICHT sind
Kein Schutz vor einem Angreifer mit Root-Zugriff auf die Datenbank. Wer alle Einträge und alle Hashes neu berechnen kann, erzeugt eine konsistente, aber manipulierte Kette. Dafür gibt es externe Verankerung: regelmäßig den aktuellen Top-Hash in einem unveränderlichen Medium ablegen (z. B. per DKIM-signierte E-Mail an einen externen Empfänger, oder einen Append-only-Bucket beim Hosting-Provider).
Für die meisten Compliance-Szenarien reicht aber der interne Nachweis — kombiniert mit Rollen-Trennung und einer Protokollierung, die auch DB-Admin-Zugriffe loggt.
Fazit
Hash-Chains sind kein Buzzword, sondern ein kleines, gut abgehangenes Kryptografie-Pattern. Wer einen Audit-Trail braucht, der vor Gericht oder vor einem FDA-Auditor Bestand hat, baut eine Hash-Chain ein, schützt die DB-Rollen sauber ab und verankert den Top-Hash extern. Das ist überschaubar, es ist kein Blockchain-Projekt — und es erfüllt den Zweck.