Blockchain: Verkettete Blöcke und Merkle-Bäume
Kurz: Eine Blockchain ist eine Liste von Datenblöcken, die kryptografisch verkettet sind, sodass nachträgliche Änderungen auffallen; sie wird von vielen Beteiligten gemeinsam geführt.
Genauer: Die Idee: Ein gemeinsames Register, das niemand allein kontrolliert und das trotzdem nicht unbemerkt verändert werden kann. Bekanntestes Beispiel ist Bitcoin, die Technik lässt sich aber auch außerhalb von Kryptowährungen nutzen. Sie ist aber nicht für jedes Problem sinnvoll.
Im Detail
Aufbau
Jeder Block enthält mehrere Transaktionen, einen Zeitstempel und den Hash des vorherigen Blocks:
Block 1: [Daten] hash=A1…
Block 2: [Daten] vorher=A1… hash=B7…
Block 3: [Daten] vorher=B7… hash=C2…
Wird ein alter Block verändert, ändert sich sein Hash, und alle folgenden Verknüpfungen stimmen nicht mehr. Wer fälschen will, müsste alle späteren Blöcke neu berechnen.
Merkle-Baum
Innerhalb eines Blocks werden die Transaktionen paarweise gehasht, die Hashes wieder paarweise, bis ein einziger Wurzel-Hash (Merkle Root) bleibt. Er steht im Block. So kann man mit nur log n Hashes beweisen, dass eine Transaktion im Block enthalten ist (Merkle-Beweis), ohne den ganzen Block zu laden.
Konsens: Wer darf den nächsten Block anhängen?
Viele Rechner (Knoten) halten eine Kopie. Damit sie sich einig werden, braucht es einen Konsensmechanismus: Proof of Work (Bitcoin: Rechenaufwand, hoher Energieverbrauch), Proof of Stake (Ethereum: Einsatz von Kapital, deutlich weniger Energie) oder andere. Bei Konflikten gilt meist die längste (bzw. schwerste) Kette. Mit wachsender Anzahl nachfolgender Blöcke wird eine Transaktion immer endgültiger.
Nutzen und Grenzen
Vorteile: Manipulationsresistenz, Nachvollziehbarkeit, kein zentraler Betreiber. Nachteile: Langsam, teuer, schwer zu ändern, öffentliche Ketten machen Daten sichtbar (Datenschutz: Löschrechte der DSGVO vertragen sich schlecht mit unveränderlichen Daten). Häufig genügt eine normale Datenbank mit Signaturen und Audit-Log. Blockchain lohnt sich, wenn mehrere sich nicht vertrauende Parteien ein gemeinsames Register brauchen.
Siehe auch: Kryptowährungen, Bitcoin, Hashing, Krypto-Mining