MultiChain Blockchain Data Provenance for Deterministic Stream Processing with Kafka Streams: A Weather Data Case Study
Dieses Paper schlägt eine MultiChain-gestützte Provenienz-Architektur für Kafka Streams vor, die durch das Verankern kryptografischer Merkle-Roots von fensterbasierten Daten in der Blockchain bei gleichzeitiger Off-Chain-Speicherung der Nutzlasten eine deterministische, auditierbare und reproduzierbare Echtzeitverarbeitung von Wetterdaten gewährleistet.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie schauen eine Live-Nachrichtensendung über das Wetter in Berlin. Alle paar Minuten verkündet der Nachrichtensprecher (das Computersystem) die Durchschnittstemperatur der letzten Stunde.
Das Problem: Der „Zaubertrick“ des Live-Fernsehens
Normalerweise ist die Verarbeitung von Live-Daten ein wenig wie ein Zaubertrick eines Magiers. Der Computer nimmt tausende Temperaturmessungen auf, ordnet sie um und gibt dann einen Durchschnitt aus. Aber weil der Computer so schnell ist und das Internet manchmal ruckelt, kann sich die Reihenfolge, in der die Daten eintreffen, ändern.
Wenn Sie den Computer bitten würden, exakt dieselbe Berechnung zweimal durchzuführen, könnte er zwei leicht unterschiedliche Antworten liefern.
- Durchlauf 1: Der Computer sieht drei Temperaturmessungen und sagt: „Der Durchschnitt liegt bei 21,0 °C.“
- Durchlauf 2: Aufgrund einer winzigen Netzwerkverzögerung trifft eine vierte Messung einen Bruchteil einer Sekunde später ein. Der Computer sortiert sie in ein anderes „Behälter“ (Zeitfenster) ein und sagt: „Der Durchschnitt liegt bei 21,75 °C.“
Dies macht es für einen Auditor unmöglich zu sagen: „Ich weiß mit Sicherheit, dass der Computer dies korrekt berechnet hat“, weil sich das Ergebnis jedes Mal ändert, wenn man das Band abspielt. Es ist, als würde man versuchen, ein mathematisches Problem zu verifizieren, bei dem sich die Zahlen ständig neu anordnen.
Die Lösung: Das „Versiegelte-Umschlag-System“
Die Autoren dieser Arbeit haben ein System entwickelt, um dies mit zwei Hauptwerkzeugen zu lösen: Kafka Streams (der Computer, der die Berechnungen durchführt) und MultiChain (ein spezielles, unveränderliches digitales Register, ähnlich einer Blockchain).
So funktioniert ihr System Schritt für Schritt, unter Verwendung einer einfachen Analogie:
1. Die „Festen Zeitbehälter“ (Deterministisches Windowing)
Anstatt den Computer entscheiden zu lassen, wann er mit dem Zählen aufhört und mit einem neuen Durchschnitt beginnt – basierend darauf, wann er die Daten zufällig erhält – verwendet das System feste Zeitbehälter.
- Analogie: Stellen Sie sich ein Fließband in einer Fabrik vor, das alle exakt 2 Stunden stoppt, egal was passiert.
- Funktionsweise: Ob die Daten um 13:59 Uhr oder um 14:01 Uhr eintreffen, das System erzwingt die Einordnung in den Behälter „13:00 bis 15:00 Uhr“. Dies stellt sicher, dass bei jedem Durchlauf der Berechnung exakt derselbe Datensatz in denselben Behälter gelangt.
2. Das „Standardisierte Rezept“ (Kanonisches JSON)
Selbst wenn die Daten im selben Behälter sind, können Computer Dinge manchmal unterschiedlich schreiben (z. B. „10:00:00“ vs. „10:00“).
- Analogie: Stellen Sie sich einen Koch vor, der darauf besteht, dass jede Zutat vor dem Hinzufügen in den Topf in der exakt gleichen Handschrift und in der gleichen Reihenfolge aufgeschrieben werden muss.
- Funktionsweise: Das System nimmt jeden Temperaturdatensatz und schreibt ihn in ein striktes, standardisiertes Format um. Dies garantiert, dass die Daten bei jeder Verarbeitung identisch aussehen.
3. Das „Digitale Siegelwachs“ (Merkle-Bäume)
Nun, da die Daten in einem festen Behälter liegen und in einem standardisierten Format geschrieben wurden, muss das System sicherstellen, dass die Daten nicht manipuliert wurden.
- Analogie: Stellen Sie sich vor, Sie haben einen Stapel Quittungen. Anstatt den ganzen Stapel in einen Tresor zu sperren, „hashen“ Sie diese (wandeln sie in einen einzigartigen digitalen Fingerabdruck um) und ordnen sie in einer Pyramide an. Sie nehmen dann die oberste Zahl der Pyramide – die Merkle-Root – und versiegeln sie in einem Wachs-Umschlag.
- Funktionsweise: Das System erstellt eine „Merkle-Root“ für alle Temperaturen in diesem 2-Stunden-Behälter. Diese Root ist ein einziger, winziger Code, der den gesamten Datensatz repräsentiert. Wenn sich auch nur eine einzige Temperatur ändert, ändert sich der Code vollständig.
4. Das „Unveränderliche Logbuch“ (Blockchain-Verankerung)
Hier geschieht die Magie. Das System legt die schweren, unordentlichen Temperaturdaten nicht auf die Blockchain (das wäre zu langsam und zu teuer).
- Analogie: Sie bewahren die schweren Quittungen in einer Schublade auf (Off-Chain-Speicherung), aber Sie schreiben die Siegelnummer (die Merkle-Root) und die Seitenzahl in ein öffentliches, unveränderliches Tagebuch (die Blockchain).
- Funktionsweise: Das System schreibt die Merkle-Root und die „Seitenzahlen“ (Kafka-Offsets) in die MultiChain-Blockchain. Die Blockchain fungt als permanenter, unveränderlicher Zeuge.
5. Die „Prüfung durch den Auditor“ (Verifizierung)
Stellen Sie sich nun vor, ein Auditor möchte überprüfen, ob der Wetterbericht korrekt war.
- Er schaut in das Tagebuch (Blockchain), um zu sehen, welche „Siegelnummer“ für diesen Zeitslot vorgesehen war.
- Er geht zur Schublade (Off-Chain-Speicher) und holt die eigentlichen Quittungen (die Temperaturdaten) heraus.
- Er führt das „Standardisierte Rezept“ und die „Pyramiden-Siegel“-Berechnung erneut durch.
- Das Ergebnis: Wenn die neue Siegelnummer mit der im Tagebuch eingetragenen übereinstimmt, ist bewiesen, dass die Daten zu 100 % authentisch und vollständig sind. Wenn sie nicht übereinstimmen, hat jemand die Quittungen manipuliert.
Die Ergebnisse
Die Autoren testeten dies mit echten Wetterstationen in Berlin. Sie fanden heraus:
- Reproduzierbarkeit: Sie konnten die Berechnung auf zwei verschiedenen Computern durchführen, und sie lieferte jedes Mal exakt das gleiche Ergebnis.
- Geschwindigkeit: Die mathematische Prüfung (Verifizierung) war sehr schnell, selbst bei großen Datenmengen.
- Effizienz: Die Blockchain wurde nicht überlastet, da sie nur die winzigen „Siegelnummern“ speicherte und nicht die schweren Daten selbst.
Zusammenfassend
Diese Arbeit präsentiert einen Weg, Live-Datenströme „vertrauenswürdig“ zu machen. Indem sie die Daten in feste Zeitbehälter sperren, das Format standardisieren und die Ergebnisse in einem digitalen Umschlag auf einer Blockchain registrieren, ermöglichen sie es jedem, unabhängig zu verifizieren, dass eine Live-Berechnung (wie ein Wetterdurchschnitt) mathematisch korrekt ist und nicht gefälscht oder verändert wurde.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.