← Nieuwste papers
💻 computer science

MultiChain Blockchain Data Provenance for Deterministic Stream Processing with Kafka Streams: A Weather Data Case Study

Dit artikel stelt een door MultiChain ondersteunde herkomstarchitectuur voor Kafka Streams voor die deterministische, controleerbare en reproduceerbare real-time verwerking van weergegevens waarborgt door cryptografische Merkle-wortels van venstergestuurde gegevens aan de blockchain te koppelen, terwijl de payloads off-chain blijven.

Oorspronkelijke auteurs: Niaz Mohammad Ramaki, Florian Schintke

Gepubliceerd 2026-01-27
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Niaz Mohammad Ramaki, Florian Schintke

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je naar een live nieuwsbericht kijkt met het weerbericht in Berlijn. Elke paar minuten kondigt de nieuwspresentator (het computersysteem) de gemiddelde temperatuur van het afgelopen uur aan.

Het Probleem: De "Tovertruc" van Live TV
Normaal gesproken is het verwerken van live gegevens een beetje als een tovertruc van een illusionist. De computer neemt duizenden temperatuurmetingen op, husselt ze door elkaar en geeft een gemiddelde weer. Maar omdat de computer zo snel is en het internet soms hapert, kan de volgorde waarin de gegevens binnenkomen veranderen.

Als je de computer zou vragen om exact dezelfde berekening twee keer uit te voeren, zou hij twee licht verschillende antwoorden kunnen geven.

  • Run 1: De computer ziet drie temperatuurmetingen en zegt: "Het gemiddelde is 21,0°C."
  • Run 2: Vanwege een kleine netwerkvertraging arriveert een vierde meting een fractie van een seconde later. De computer plaatst deze in een andere "bak" (tijdvenster) en zegt: "Het gemiddelde is 21,75°C."

Dit maakt het onmogelijk voor een auditor om te zeggen: "Ik weet zeker dat de computer dit correct heeft berekend," omdat het resultaat elke keer verandert als je de tape opnieuw afspeelt. Het is alsoal proberen een wiskundige som te verifiëren waarbij de getallen steeds opnieuw worden gerangschikt.

De Oplossing: Het "Verzegelde Envelop"-systeem
De auteurs van dit artikel hebben een systeem gebouwd om dit op te lossen met behulp van twee hoofdinstrumenten: Kafka Streams (de computer die de berekeningen uitvoert) en MultiChain (een speciale, onveranderlijke digitale grootboek, zoals een blockchain).

Zo werkt hun systeem, stap voor stap, met behulp van een eenvoudige analogie:

1. De "Vaste Tijdvakken" (Deterministisch Windowing)

In plaats van de computer te laten beslissen wanneer hij stopt met tellen en begint met een nieuw gemiddelde op basis van wanneer hij de gegevens toevallig ontvangt, gebruikt het systeem vaste tijdvakken.

  • Analogie: Stel je een lopende band in een fabriek voor die precies elke 2 uur stopt, ongeacht wat er gebeurt.
  • Hoe het werkt: Of de gegevens nu om 13:59 uur of om 14:01 uur binnenkomen, het systeem dwingt ze in het vak "13:00 tot 15:00 uur". Dit zorgt ervoor dat elke keer dat je de berekening uitvoert, exact dezelfde set gegevens in exact hetzelfde vak terechtkomt.

2. Het "Gestandaardiseerde Recept" (Canonical JSON)

Zelfs als de gegevens in hetzelfde vak zitten, kunnen computers zaken soms anders opschrijven (bijv. "10:00:00" versus "10:00").

  • Analogie: Stel je een chef-kok voor die erop staat dat elk ingrediënt in exact hetzelfde handschrift en in dezelfde volgorde wordt opgeschreven voordat het in de pan gaat.
  • Hoe het werkt: Het systeem neemt elk temperatuurrecord en herschrijft dit naar een strikt, standaard formaat. Dit garandeert dat de gegevens er elke keer identiek uitzien tijdens de verwerking.

3. De "Digitale Lakzegel" (Merkle Trees)

Nu de gegevens in een vast vak zitten en in een standaardformaat zijn geschreven, moet het systeem bewijzen dat de gegevens niet zijn gemanipuleerd.

  • Analogie: Stel je voor dat je een stapel bonnetjes hebt. In plaats van de hele stapel in een kluis te vergrendelen, maak je een hash (je verandert ze in een unieke digitale vingerafdruk) en rangschikt ze in een piramide. Vervolgens neem je het bovenste getal van de piramide — de Merkle Root — en verzegelt je deze in een envelop met lak.
  • Hoe het werkt: Het systeem maakt een "Merkle Root" voor alle temperaturen in dat 2-uurlijkse vak. Deze root is een enkele, kleine code die de gehele groep gegevens vertegenwoordigt. Als zelfs maar één temperatuur verandert, verandert de code volledig.

4. Het "Onveranderlijke Logboek" (Blockchain Anchoring)

Dit is waar de magie gebeurt. Het systeem plaatst de zware, rommelige temperatuurgegevens niet op de blockchain (dat zou te traag en te duur zijn).

  • Analogie: Je bewaart de zware bonnetjes in een lade (off-chain opslag), maar je schrijft het Zegelnummer (de Merkle Root) en het Paginanummer in een openbaar, onveranderlijk dagboek (de blockchain).
  • Hoe het werkt: Het systeem schrijft de Merkle Root en de "paginanummers" (Kafka offsets) naar de MultiChain blockchain. De blockchain fungeert als een permanente, onveranderlijke getuige.

5. De "Controle van de Auditor" (Verification)

Stel je nu voor dat een auditor wil controlen of het weerbericht correct was.

  1. Ze kijken in het Dagboek (Blockchain) om te zien wat het "Zegelnummer" voor die tijdsperiode had moeten zijn.
  2. Ze gaan naar de Laat (Off-chain opslag) en halen de werkelijke bonnetjes (de temperatuurgegevens) eruit.
  3. Ze voeren het "Gestandaardiseerde Recept" en de "Piramide-zegel" berekening opnieuw uit.
  4. Het Resultaat: Als het nieuwe Zegelnummer overeenkomt met het nummer in het Dagboek, is bewezen dat de gegevens 100% authentiek en volledig zijn. Als het niet overeenkomt, heeft iemand met de bonnetjes geknoeid.

De Resultaten
De auteurs hebben dit getest met echte weerstations in Berlijn. Ze ontdekten:

  • Reproduceerbaarheid: Ze konden de berekening op twee verschillende computers uitvoeren, en het produceerde elke keer exact hetzelfde resultaat.
  • Snelheid: Het controleren van de wiskunde (verificatie) ging erg snel, zelfs met veel gegevens.
  • Efficiëntie: De blockchain raakte niet verstopt omdat deze alleen de kleine "Zegelnummers" opsloeg, en niet de zware gegevens zelf.

Samenvattend
Dit artikel presenteert een manier om live datastromen "betrouwbaar" te maken. Door de gegevens vast te leggen in vaste tijdvakken, het formaat te standaardiseren en de resultaten te verzegelen in een digitale envelop die op een blockchain is vastgelegd, maken ze het voor iedereen mogelijk om onafhankelijk te verifiëren dat een live berekening (zoals een gemiddelde temperatuur) wiskundig correct is en niet is vervalst of gewijzigd.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →