In Bearbeitung

Bitte warten ...

Einstellungen

Einstellungen

Gehe zu Anmeldung

1. WO2020120054 - ERSTELLEN EINER BLOCKCHAIN MIT BLÖCKEN UMFASSEND EINE ANPASSBARE ANZAHL AN TRANSAKTIONSBLÖCKEN UND MEHRERE ZWISCHENBLÖCKE

Anmerkung: Text basiert auf automatischer optischer Zeichenerkennung (OCR). Verwenden Sie bitte aus rechtlichen Gründen die PDF-Version.

[ DE ]

Beschreibung

Erstellen einer Blockchain mit Blöcken umfassend eine anpass bare Anzahl an Transaktionsblöcken und mehrere Zwischenblöcke

Die Erfindung betrifft ein computerimplementiertes Verfahren zum Erstellen einer Blockchain mit Blöcken umfassend eine an passbare Anzahl an Transaktionsblöcken und mehrere Zwischen blöcke sowie ein Speichermedium eines an einem verteilten Da tenbanksystem teilnehmenden Gerätes aufweisend eine solche Blockchain .

Im industriellen Umfeld besteht vermehrt ein Interesse, Da ten, welche das Gerät selbst oder ein Automatisierungssystem, in welchem sich das Gerät befindet, betreffen oder Daten ei nes Prozesses, welcher in einem Automatisierungssystem des Gerätes durchlaufen wird, gesichert auf dem Gerät zu hinter legen. Dabei sind insbesondere Qualitätsdaten aus einer Auto matisierungssteuerung oder vorgenommene Bedienaktionen oder eine Historie erfasster Zustandsdaten von Interesse. Für ein manipulationsgeschütztes Hinterlegen solcher Daten auf einem Gerät bietet sich eine Blockchain an und das Zurückgreifen auf ein Blockchain-Netzwerk .

Dabei nutzt man im industriellen Umfeld beispielsweise eine sog. öffentliche oder Public Blockchain oder eine Private Blockchain. Bei einer Public Blockchain ist das Konsensus-Verfahren öffentlich, d.h. eine unbekannte Nutzergruppe, bei spielsweise im öffentlichen Internet, kann eine Blockchain bestätigen oder validieren oder genauer gesagt einzelne Blö cke durch sogenanntes Mining validieren. Bei der privaten Blockchain findet das Konsensus-Verfahren innerhalb eines Konsortiums statt, dessen Mitglieder beispielsweise einander oder einer Verwaltungsinstanz bekannt sind oder ein bestimm tes Vertrauensniveau erfüllen.

Die Blockchain-Technologie realisiert eine verteilte, dezent rale Datenbank, in der von teilnehmenden Knoten generierte Transaktionen manipulationsgeschützt ablegbar sind. Dafür werden Transaktionen in einem Block hinterlegt und ein Block wird mittels eines PrüfSummenverfahrens mit einem nachfolgen den Block verkettet. Eine Erläuterung der Blockchain-Techno-logie ist beispielsweise der englischsprachigen Wikipedia https://en.wikipedia.org/wiki/Blockchain zu entnehmen. In ei nem Block ist neben einer oder mehreren Transaktionen bei spielsweise ein Hashwert des Vorgängerblockes hinterlegt. Der Block wird von dem Knoten, der ihn generiert hat, an das Blockchain-Netzwerk gesendet. Der Schutz entsteht durch eine Mehrheit von vertrauenswürdigen Knoten in einem Blockchain-Netzwerk, welche ein Validieren von Blöcken durchführen. Im Netz der an einer Blockchain teilnehmenden Knoten wird in re gelmäßigen Abständen ein neuer Block gebildet und dabei der Hash-Wert eines bestehenden Blockes mithinterlegt. Falls kei ne Transaktion in einem Intervall vorliegt, so wird bei man chen Blockchains auf die Erstellung des Blocks verzichtet.

Somit speichert eine Blockchain die Transaktionen, die zum Bestätigen in die Blockchain gegeben wurden oder dem Block-chain-Netzwerk bereitgestellt wurden. Werden die Blöcke in dem jeweiligen Konsensus-Verfahren bestätigt, wächst die gül tige Blockchain mit jedem bestätigten Block hinsichtlich ih rer Länge und damit der Größe. Der Speicherplatzbedarf einer fortgeführten oder bestätigten Blockchain wächst somit immer weiter an.

Da eine Prüfsumme, insbesondere ein Hashwert, des Vorgänger blockes in einen jeweiligen neuen Block eingefügt wird, bil det sich eine Kette. Die Prüfsumme des Vorgängerblockes bil det zusammen mit der Transaktion des aktuellen Blocks wiede rum den Datensatz für die Prüfsumme des nachfolgenden Blocks. Man sagt auch ein Block referenziert den vorhergehenden

Block. Die Transaktionen sind somit vor Manipulationen ge schützt, da eine Kette bis zu einem initialen Block, auch Ge nesis-Block genannt, durch die Verkettung der Blöcke nach vollzogen werden kann. Da die Transaktionen über das Block-chain-Netz verfügbar sind, kann nachvollzogen werden, ab wel- chem Block in der Kette beispielsweise ein Inhalt einer Transaktion nicht mehr mit vorherigen Versionen überein stimmt. Transaktionen sind also manipulationsgeschützt in je der verifizierten Blockchain hinterlegt. Ein Abändern einer Transaktion in einem Block, der bereits zu einem früheren Zeitpunkt im Netzwerk gebildet wurde, würde nachvollzogen werden können, wenn eine PrüfSummenbildung über die bestehen den Blöcke nachgerechnet oder geprüft wird. Aufgrund der ste tig anwachsenden Anzahl an Blöcken innerhalb einer Blockchain besteht beim Einsatz der Blockchain-Technologie in Geräten mit beschränkten Ressourcen das Risiko, dass auf Dauer nicht genügend Speicherplatz vorhanden ist. Beispielsweise sind die Speicherplatz-Ressourcen bei Automatisierungsgeräten, HMI-Geräten oder Edge-Geräten oder IoT-Geräten im Gegensatz zu Cloud-basierten Systemen eingeschränkt.

Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, eine Verwendung einer Blockchain derart vorzuse hen, dass der Speicherplatzbedarf für eine Blockchain auf ei nem Knoten reduziert werden kann.

Diese Aufgabe wird durch den Gegenstand der unabhängigen An sprüche gelöst. Vorteilhafte Ausgestaltungen sind in den ab hängigen Ansprüchen angegeben.

Die Erfindung betrifft ein computerimplementiertes Verfahren zum Erstellen einer Blockchain mit Blöcken umfassend eine an passbare Anzahl an Transaktionsblöcken und mehrere Zwischen blöcke,

- wobei die Blockchain Bestandteil eines verteilten Daten banksystems ist;

- wobei Blöcke innerhalb der Blockchain generiert werden und ein jeweiliger Block einen jeweiligen vorhergehenden Block referenziert,

- wobei ein erster Zwischenblock vorgesehen ist;

- wobei mindestens ein zweiter Zwischenblock generiert wird; - wobei der zweite Zwischenblock einen ihm vorhergehenden Block sowie mindestens den ersten Zwischenblock referen- ziert .

Die Blockchain ist Bestandteil eines verteilten Datenbanksys tems. Verteiltes Datenbanksystem bedeutet dabei, dass die In formationen der Datenbank, insbesondere die Kette in Form ei ner Blockchain, an mehreren Orten oder bei mehreren Teilneh mern verfügbar oder speicherbar sind. Das Prinzip einer Blockchain in einem verteilten Datenbank-System beruht da rauf, dass die Information aus der Blockchain dezentral vor liegt. Teilnehmer des verteilten Datenbank-Systems können an der Erstellung neuer Blockchains mitwirken oder Blockchains überprüfen oder verifizieren. Ferner kann ein Teilnehmer auch lediglich auf eine oder mehrere Blockchains zugreifen oder einen oder mehrere einzelne Blöcke einer Blockchain verwen den .

Als Blöcke sind gemäß der vorliegenden Anmeldung Transakti onsblöcke sowie Zwischenblöcke vorgesehen. Ein Transaktions block, der einen vorhergehenden Transaktionsblock referen-ziert, ist aus dem Stand der Technik bekannt. Insbesondere erfolgt durch das Erstellen eines Transaktionsblockes mit ei nem Übergeben einer Transaktion in das verteilte Datenbank system und dem Verketten mit bestehenden Transaktionsblöcken der Aufbau einer Blockchain. Auf diese Weise wird eine beste hende Blockchain-Kette quasi fortgesetzt oder erweitert.

Durch das Wählen eines referenzierten Blockes in einer Block chain-Kette wird festgelegt, an welcher Stelle oder basierend auf welcher letzten Transaktion oder welchem letzten Block die Kette fortgesetzt wird. Insbesondere ist die Wahl des Blockes, der beim Erstellen einer Blockchain referenziert wird, beliebig möglich. Vorteilhafterweise wird der aktuells te durch das verteilte Datenbanksystem bestätigte Block für das Referenzieren gewählt. Auf diese Weise werden in ihrer Gültigkeit bestätigte oder validierte Ketten effizient erwei tert .

Es wird nun vorgeschlagen, mindestens einen Zwischenblock zu generieren. Ein Zwischenblock weist neben der regulären Refe-renzierung des Vorgängerblocks eine zweite Referenzierung auf, und zwar eine auf einen Vorgänger-Zwischenblock . Unter dem Begriff Referenzierung ist beispielsweise die Verkettung mit einem anderen Block oder das Einbinden eines anderen Blocks mittels PrüfSummenbildung über den eingebundenen oder verketteten Block zu verstehen. Durch diese doppelte Referen zierung ist es möglich, die so erzeugte und durch das dezent rale Blockchain-Netzwerk bestätigte Blockchain auf flexible Weise zu validieren: einerseits kann ein vollständiges Nach vollziehen der erzeugten Blöcke, insbesondere aller erzeugten Blöcke, durchgeführt werden. Ebenso kann die Kette auf Basis der Zwischenblöcke und deren Referenzen auf vorherige Zwi schenblöcke nachvollzogen werden. Blöcke, die zwischen zwei Zwischenblöcken liegen, insbesondere Transaktionsblöcke, kön nen bei der Validierung ausgelassen werden, wenn die Unver sehrtheit der Kette über die Zwischenblöcke nachvollzogen wird .

Es wird beispielsweise in einer Kette aus Transaktionsblöcken ein zweiter Zwischenblock generiert. Der zweite Zwischenblock wird derart erstellt, dass er quasi regulär einen vorherge henden Block referenziert . D.h. der zweite Zwischenblock wird als Block innerhalb der Blockchain generiert, in dem er eine bestehende Blockchain-Kette erweitert oder fortsetzt.

Zusätzlich referenziert der zweite Zwischenblock mindestens den ersten Zwischenblock. Der zweite Zwischenblock umfasst somit mindestens zwei Referenzen. Dabei handelt es sich bei spielsweise um die Prüfsummen zweier unterschiedlicher Status der Blockchain. Einerseits wird durch das Verketten des vor hergehenden Blockes die Blockchain in üblicher Weise fortge setzt. Der vorhergehende Block ist insbesondere ein regulärer Transaktionsblock.

Über den direkten vorhergehenden Block umfasst der zweite Zwischenblock eine Prüfsumme der Blockchain-Kette bis zu dem zweiten Zwischenblock selbst. Zudem umfasst der zweite Zwi schenblock auch eine Prüfsumme der Blockchain zum Status ei nes generierten ersten Zwischenblocks. Beispielsweise ist dies der Zustand der Blockchain nach Erstellung oder nach Va lidierung des ersten Zwischenblocks.

Somit wird mittels des zweiten Zwischenblocks, der den ersten Zwischenblock referenziert, ein Verweis hin zu einem früheren Zustand der Blockchain geschaffen.

Auf vorteilhafte Weise kann die Blockchain basierend auf dem zweiten Zwischenblock fortgesetzt werden. Eine Unversehrtheit von in der Blockchain hinterlegten Transaktionen ist mittels des zweiten Zwischenblockes und des ersten Zwischenblockes möglich, selbst wenn zwischen dem ersten Zwischenblock und dem zweiten Zwischenblock generierte Transaktionsblöcke selbst nicht mehr verfügbar sind.

Auf vorteilhafte Weise wird bei dem vorgeschlagenen Verfahren eine aktuelle Transaktion, die dem Blockchain-Netzwerk zur Verfügung gestellt wird und die eingekettet werden soll, mit der Verfügbarkeit des Transaktionsblocks im Blockchain-Netz-werk für alle Knoten verfügbar. Das Verfahren zum Erstellen einer Blockchain mit anpassbarer Anzahl an Transaktionsblö cken betrifft somit insbesondere nicht die Verfügbarkeit der aktuellen Transaktionsblöcke.

Ein Zwischenblock kann analog zu bekannten Erzeugungsverfah ren eines Transaktionsblockes, beispielsweise dem Mining, durch das Blockchain-Netzwerk bestätigt werden. Beispielswei se wird ein Zwischenblock mittels eines auf Proof-of-Work o-der Proof-of-Stake oder Proof-of-authority basierenden Mecha nismus erzeugt.

Insbesondere müssen die Rückbezüge von Zwischenblöcken auf vorherige Zwischenblöcke beim Erzeugen weiterer Blöcke nach einem Zwischenblock nicht in besonderer Weise beachtet wer den. Insbesondere erfolgt auch das Validieren und Einketten eines Zwischenblocks in regulärer Weise.

Weitere Knoten, beispielsweise Knoten in einer Cloud, in der das Blockchain-Netzwerk verteilt ist, können somit die Block-chain mit einem oder mehreren Zwischenblöcken regulär behan deln und beachten beispielsweise nur die Referenz auf den vorhergehenden Transaktionsblock des jeweiligen Zwischen blocks .

Die Unversehrtheit einer Blockchain ist aufgrund der Referen-zierung des ersten Zwischenblocks im zweiten Zwischenblock ohne zwischen dem ersten und dem zweiten Zwischenblock gene rierte Blöcke möglich.

Gemäß einer Ausgestaltung ist der erste Zwischenblock ein Ge nesisblock. Der erste Zwischenblock nimmt in dieser Ausge staltung eine Sonderrolle ein und ist selbst der Genesis block. Der zweite Zwischenblock referenziert dann zusätzlich zum Vorgängerblock den Genesisblock. In einer Variante, in der der erste Zwischenblock der Genesisblock ist, kann somit ein Validieren der Blöcke ab dem zweiten Zwischenblock basie rend auf der Referenzierung des Genesisblocks erfolgen.

Transaktionen, die in Blöcken zwischen dem Genesisblock und dem zweiten Zwischenblock gespeichert sind, werden für ein Nachvollziehen der Unversehrtheit der Blöcke ab dem zweiten Zwischenblock nicht benötigt.

Gemäß einer Ausgestaltung ist ein Genesisblock vorgesehen und ferner wird der erste Zwischenblock generiert, wobei der ers te Zwischenblock einen ihm vorhergehenden Block sowie mindes tens den Genesisblock referenziert. Auf vorteilhafte Weise kann der erste Zwischenblock je nach Beschaffenheit der Kette oder nach Häufigkeit der generierten Blöcke, insbesondere der generierten Transaktionsblöcke, unabhängig vom Genesisblock als Referenz und Datensatz für die Prüfsummen- oder Hashwert-bildung des zweiten Zwischenblocks dienen.

Gemäß einer Ausgestaltung wird zwischen dem ersten Zwischen block und dem zweiten Zwischenblock mindestens ein Transakti onsblock generiert. Der zweite Zwischenblock wird vorteilhaf terweise gemäß einer Vorschrift generiert, die auf die Gege benheiten einer Blockchain-Anwendung oder die Beschaffenhei ten einer Blockchain Rücksicht nimmt und die dementsprechend Zwischenblöcke nach einer gewissen Anzahl an Transaktionsblö cken erzielen möchte. Die Vorschrift kann dabei verschiedens te Mechanismen vorsehen, um dieses Ziel zu erreichen. Je mehr Transaktionsblöcke zwischen den Zwischenblöcken vorgesehen sind, desto mehr Blöcke können bei einer Überprüfung der Blockchain auf Basis der Zwischenblöcke und deren Referenzie-rung auf vorhergehende Zwischenblöcke außer Acht gelassen werden .

Gemäß einer Ausgestaltung wird für ein Verkürzen der Block chain zumindest die Anzahl an Transaktions-Blöcken zwischen dem zweiten Zwischenblock und dem ersten Zwischenblock redu ziert. Insbesondere werden alle zwischen dem zweiten Zwi schenblock und dem ersten Zwischenblock generierten Transak tions-Blöcke entfernt.

Ein oder mehrere Transaktionsblöcke, die sich zwischen dem ersten Zwischenblock und dem zweiten Zwischenblock befinden, werden entfernt, so dass die Größe und damit die benötigte Speicherkapazität der Blockchain auf einem Knoten verringert wird .

Es kann sich bei dem Knoten, der das Verkürzen vornimmt, um einen beliebigen der an dem Blockchain-Netzwerk teilnehmendem Knoten handeln. Vorteilhafterweise sollte auf mindestens ei nem der teilnehmenden Knoten die gesamte Blockchain inklusive aller Transaktionsblöcke gespeichert werden, um auf die in der verkürzten Blockchain nicht mehr vorhandenen Transakti onsblöcke bei Bedarf zurückgreifen zu können.

Die verkürzte Blockchain ist nach wie vor auf Unversehrtheit oder Authentizität hin überprüfbar, indem die Referenzierung des zweiten Zwischenblockes auf den ersten Zwischenblock ge nutzt wird. Auf diese Weise kann die Unversehrtheit der Blö cke von einem Genesisblock bis hin zu dem zweiten Zwischen block überprüft werden, da die Kette durch die Referenzierung auf den ersten Zwischenblock auch durch fehlende Transakti onsblöcke zwischen dem ersten Zwischenblock und dem zweiten Zwischenblock nicht unterbrochen wird. Auf vorteilhafte Weise kann sowohl die Echtheit der in der verkürzten Blockchain noch verfügbaren Transaktionen vor dem ersten Zwischenblock, als auch die der Transaktionen nach dem zweiten Zwischenblock nachvollzogen werden, insbesondere indem eine Prüfsummenbil-dung über alle Blöcke einschließlich der Zwischenblöcke durchgeführt wird. Da der zweite Zwischenblock auch die Prüf summen des ersten Zwischenblocks aufweist, ist auch über die Lücke der entfernten Transaktionsblöcke hinweg ein durchge hendes Nachvollziehen der Blockchain mittels Prüfsummen mög lich. Somit sind die Transaktionen der nicht entfernten

Transaktionsblöcke weiterhin manipulationsgeschützt auch in der verkürzten Blockchain hinterlegt.

Dass dem zweiten Zwischenblock sowie allen weiteren Böcken vertraut werden kann, ist dadurch sichergestellt, dass auch die Zwischenblöcke wie in einem regulären Blockchain-Netzwerk durch den Konsensus Mechanismus der Blockchain bestätigt wer den .

Das Verkürzen der Blockchain ist insbesondere für Knoten sinnvoll, welche auf Geräten mit eingeschränkter Speicherka pazität vorgesehen sind. Beispielsweise handelt es sich dabei im industriellen Umfeld um sogenannte Edge-Geräte, welche als Schnittstelle zu einer Cloud dienen und zugleich lokal in ei ner Industrieanlage für die Anlage relevante Daten bereithal ten oder verarbeiten können.

Insbesondere werden alle Transaktionsblöcke zwischen zwei Zwischenblöcken entfernt. Transaktionen zwischen zwei Zwi- schenblöcken sind lückenlos überprüfbar, wenn alle vorliegen und entsprechend alle Prüfsummen nachgerechnet werden können, wie es in einer herkömmlichen Blockchain der Fall ist. Ein Verkürzen der Blockchain kann daher vorteilhaft in Hinblick auf benötigten Speicherplatz optimiert werden, indem die ver kürzte Blockchain keinen Transaktionsblock zwischen dem zwei ten Zwischenblock und dem ersten Zwischenblock enthält. In besonderen Fällen, in denen beispielsweise aufgrund der Po-licy, nach der das Generieren eines Zwischenblocks erfolgt, oder aufgrund eines Ausbleibens von generierten Transaktions blöcken, zwischen zwei Zwischenblöcken kein Transaktionsblock generiert wurde, kann das Verkürzen analog erfolgen. Ein Zwi schenblock enthält in diesem Fall beispielsweise die Prüfsum me über den vorhergehenden Zwischenblock zweifach, einmal aufgrund der Referenzierung des direkten Vorgängerblocks und einmal aufgrund der Referenzierung der vorhergehenden Zwi schenblocks. Das Verkürzen der Blockchain erzielt in diesem Spezialfall keine Speicherplatzreduzierung.

Gemäß einer Ausgestaltung wird durch ein an einem verteilten Datenbanksystem teilnehmendes Gerät, insbesondere ein Gerät in einer Cloud oder ein Edge-Gerät oder IoT-Gerät, eine ver kürzte Blockchain gespeichert. Auf diese Weise kann ein Gerät mit eingeschränkter Speicherkapazität flexibel eine verkürzte Blockchain speichern, welche weniger Speicherplatz in An spruch nimmt. Beispielsweise speichert ein Gerät zunächst die ungekürzte Blockchain und verkürzt diese dann durch Löschen von Transaktionsblöcken zwischen beliebigen Zwischenblöcken.

Gemäß einer Ausgestaltung werden für ein Erweitern der Block chain Transaktionsblöcke zwischen dem ersten Zwischenblock und dem zweiten Zwischenblock aus einer gespeicherten unver kürzten Blockchain abgefragt und eingefügt. Somit kann auf vorteilhafte Weise eine verkürzte Blockchain wieder auf eine unverkürzte erweitert werden. Diese Erweiterung kann für Transaktionsblöcke zwischen ausgewählten Zwischenblöcken oder für alle entfernten Transaktionsblöcke, d.h. für Transakti- onsblöcke zwischen allen Zwischenblöcken, zwischen denen zu vor verkürzt wurde, durchgeführt werden.

Gemäß einer Ausgestaltung umfasst ein Referenzieren eines zu referenzierenden Blocks, dass eine Prüfsumme des zu referen-zierenden Blocks oder eines Teils des zu referenzierenden Blocks im referenzierenden Block hinterlegt wurde oder ge speichert wird. Bei der Prüfsumme handelt es sich insbesonde re um einen Hash-Wert oder um einen kryptographischen Hash-Wert .

Gemäß einer Ausgestaltung beinhalten Zwischenblöcke jeweils keine Transaktion. Ein Zwischenblock wird analog zu dem be kannten Erzeugungsverfahren eines Transaktionsblockes, bei spielsweise dem Mining, durch das Blockchain-Netzwerk bestä tigt. Lediglich der Inhalt des erzeugten Zwischenbocks bein haltet in dieser Ausgestaltung keine Nutzdaten. Im Falle ei ner verkürzten Blockchain verbleiben dann besonders wenige Transaktionsdaten in der verkürzten Blockchain. Als Zwischen block ist gemäß einer weiteren Variante ein Block zu bezeich nen, der selbst eine Transaktion beinhaltet. Damit kann ein Zwischenblock eine doppelte Funktion einnehmen und einerseits ein Transaktionsblock innerhalb einer Blockchain sein und zu gleich durch eine zusätzliche Referenz auf einen früheren Zwischenblock die Funktionalität eines Zwischenblocks einneh men. Auch die Transaktion eines Zwischenblocks ist manipula tionsgeschützt, da auf einen Zwischenblock folgende Transak tionsblöcke auch den Zwischenblock selbst referenzieren und somit eine dort hinterlegte Transaktion einketten. Transakti onen, die in Zwischenblöcken gespeichert werden, werden bei einem Verkürzen der Blockchain jedoch nicht entfernt.

Ein Entfernen von Transaktionsblöcken zwischen allen vorlie genden Zwischenblöcken, beispielsweise zwischen dem Genesis block und dem ersten Zwischenblock und zwischen dem ersten Zwischenblock und dem zweiten Zwischenblock und zwischen dem zweiten Zwischenblock und einem weiteren Zwischenblock usw. bewirkt, dass in einer verkürzten Blockchain nur dem letzten generierten Zwischenblock nachfolgende Transaktionen vorlie gen. Dies ist besonders vorteilhaft in Anwendungen, in denen die Historie von Transaktionsdaten, die vor dem zuletzt gene rierten Zwischenblock eingekettet wurden, nicht mehr von In teresse ist. In einem solchen Szenario kann besonders viel Speicherplatz freigegeben werden bzw. benötigt die Blockchain besonders wenig Speicherplatz und dennoch sind alle Transak tionsdaten der jüngeren Vergangenheit verfügbar. Der Zeit raum, für den eine Transaktionshistorie verfügbar ist, kann vorteilhaft über die Vorschrift zur Generierung der Zwischen blöcke oder in einer Alternative über die Vorgabe der zu lö schenden Transaktionsblöcke gesteuert werden.

Gemäß einer Ausgestaltung werden weitere Zwischenblöcke gene riert, wobei ein jeweiliger weiterer Zwischenblock einen je weils vorhergehenden Block sowie einen jeweils vorhergehenden Zwischenblock referenziert . Das Verfahren kann auf beliebig viele Zwischenblöcke erweitert werden, wobei aufeinanderfol gende Zwischenblöcke jeweils analog zum ersten und zweiten Zwischenblock ausgestaltet sind. Ein dritter Zwischenblock kann somit auf den zweiten folgen, ein vierter Zwischenblock auf den dritten usw.

Gemäß einer Weiterbildung erfolgt das Generieren des zweiten oder eines jeweiligen weiteren Zwischenblocks regelbasiert, beispielsweise zu einem vorgebbaren Zeitpunkt oder in einem vorgebbaren zeitlichen Abstand zu einem vorhergehenden Block oder einem vorgebbaren zeitlichen Abstand zu einem vorherge henden Zwischenblock oder nach einer vorgebbaren Anzahl an generierten Transaktionsblöcken oder mittels einer kontextba sierten auslösenden Bedingung oder erfolgt manuell. Auf vor teilhafte Weise ist es möglich, die Häufigkeit oder die Re gelmäßigkeit generierter Zwischenblöcke über eine Regel zum Generieren der Zwischenblöcke festzulegen. Je nach Anwen dungsfall können so Zwischenblöcke derart erzeugt werden, dass flexibel Transaktionsblöcke aus bestimmten Zeitbereichen entfernt werden können.

Beispielsweise können so besonders feingranular die generier ten Blöcke aus einer wählbaren Zeitspanne entfernt werden, beispielsweise wenn die Historie der Transaktionen für diesen Zeitabschnitt von geringem Interesse ist. Beispielsweise kön nen die Zwischenblöcke in größeren Abständen erstellt werden, für Anwendungsfälle, für welche erfahrungsgemäß nur die aktu ellsten der Transaktionsdaten im Nachhinein auf einem Gerät innerhalb der Automatisierungsanlage von Interesse sind.

Durch Entfernen von Transaktionsblöcken aus einem solchen Be reich kann durch eine Aktion zum Löschen zwischen zwei Zwi schenblöcken auf einmal eine große Speicherplatzmenge gespart werden .

In anderen Anwendungsfällen kann in kleineren Abständen ein Zwischenblock erzeugt werden, beispielsweise wenn erfahrungs gemäß nur bestimmte Teile der erzeugten Transaktionsblöcke für eine historische Analyse von Interesse sind und andere Teile aus der Historie gelöscht werden können.

Auf vorteilhafte Weise wird ein Zwischenblock erst erzeugt, wenn eine gewisse Anzahl an Transaktionsblöcken erzeugt wur de. Dies bewirkt, dass ein Zwischenblock erst erzeugt wird, wenn ein Entfernen der Transaktionsblöcke bis zum vorherge henden Zwischenblock eine gewisse Speicherplatzersparnis als Grenzwert übersteigt. Somit wird beispielsweise vermieden, dass ein Entfernen von Transaktionsblöcken zwischen zwei Zwi schenblöcken nur wenig Auswirkung auf die Größe oder Länge der gesamten Blockchain hat.

Auf vorteilhafte Weise erfolgt bei einer kontextbasierten Be dingung ein Generieren eines Zwischenblocks in Abhängigkeit von einem Kontext, beispielsweise einem Kontext eines Automa tisierungsprojekts. Beispielsweise steuert ein Auftragssystem das Erstellen eines Zwischenblocks. Auf vorteilhafte Weise können so beispielsweise Zwischenblöcke zu Beginn und nach Abschluss einer Charge erstellt werden. Somit kann ein Ent fernen von Transaktionsblöcken zwischen Zwischenblöcken oder ebenso das Beibehalten dieser Blöcke in der Blockchain für eine bestimmte Charge oder einen bestimmten Auftrag ausge wählt werden.

Ferner kann beispielsweise ein Zwischenblock erstellt werden, wenn eine neuer Parametereinstellung in einem automatisierten Prozess verwendet wird, beispielsweise nach einem Werkzeug wechsel in einer Werkzeugmaschine oder nach einem Anpassen von Reglern in einer Produktionsmaschine als Reaktion auf Um welteinflüsse.

Gemäß einer Ausgestaltung referenziert zumindest einer der weiteren Zwischenblöcke mindestens zwei der vorhergehenden Zwischenblöcke, indem in einem Zwischenblock mehrere vorher gehende Zwischenblöcke referenziert werden, beispielsweise indem der Hash-Wert mehrerer vorhergehender Zwischenblöcke den Stand der Blockchain zum jeweiligen Zeitpunkt enthält. Somit wird ein Kürzen der Blockchain ausgehend von dem dop pelt referenzierenden Zwischenknoten auf mehrere Längen mög lich. D.h. es kann beispielsweise der Abschnitt der Kette zwischen dem doppelt referenzierenden Zwischenknoten und dem älteren referenzierten Zwischenknoten oder zwischen dem dop pelt referenzierenden Zwischenknoten und dem jüngeren refe-renzierten Zwischenknoten aus der Blockchain gelöscht werden.

In einer Weiterbildung kann ein Zwischenblock beispielweise alle vorhergehenden Zwischenblöcke referenzieren . Es erhöht sich zwar einerseits die Komplexität aufgrund der Inflation von Referenzen in dem Zwischenblock, jedoch kann auf diese Weise in einem Vorgang eine sehr große Anzahl an Blöcken, d.h. an Transaktionsblöcken und vorherigen Zwischenblöcken, aus der Blockchain entfernt werden und diese somit effizient verkürzt werden.

Gemäß einer Ausgestaltung referenziert ein jeweiliger Zwi schenblock den jeweils vorhergehenden Zwischenblock und aus gewählte Zwischenblöcke referenzieren zusätzlich weitere vor hergehende Zwischenblöcke. Auf diese Weise kann ein Kompro miss geschaffen werden, so dass einerseits die Menge an Refe- renzen nicht inflationär mit neu generierten Zwischenblöcken steigt und dennoch ausgewählte Zwischenblöcke zwei oder mehr vorhergehende Zwischenblöcke referenzieren .

Gemäß einer Ausgestaltung wird als ausgewählter Zwischenblock ein Zwischenblock zu einem vorgebbaren Zeitpunkt oder in ei nem vorgebbaren zeitlichen Abstand zu einem vorhergehenden oder zuvor ausgewählten Zwischenblock oder nach einer vorgeb baren Anzahl an generierten Transaktionsblöcken oder Zwi schenblöcken oder mittels einer kontextbasierten auslösenden Bedingung oder manuell generiert. Die Mechanismen, die das Generieren eines ausgewählten Zwischenblocks mit doppelter oder mehrfacher Referenzierung auslösen, können analog zur Erstellung eines Zwischenblocks gewählt werden.

Die Erfindung betrifft ferner ein Speichermedium eines an ei nem verteilten Datenbanksystem teilnehmenden Gerätes, insbe sondere eines Gerätes in einer Cloud oder eines Edge-Gerätes oder IoT-Gerätes, aufweisend eine Blockchain mit Blöcken um fassend eine anpassbare Anzahl an Transaktionsblöcken und mehrere Zwischenblöcke,

- wobei die Blockchain Bestandteil des verteilten Daten bank-Systems ist;

- wobei ein jeweiliger Block einen jeweiligen vorhergehen den Block referenziert ;

- aufweisend einen ersten Zwischenblock und mindestens ei nen zweiten Zwischenblock;

- wobei der zweite Zwischenblock einen ihm vorhergehenden Block sowie mindestens den ersten Zwischenblock referen- ziert .

Gemäß einer Ausgestaltung ist das Speichermedium auf einem Edge-Gerät oder einem IoT-Gerät ausgeführt und hat eine gemäß dem oben beschriebenen Verfahren verkürzte Blockchain gespei chert .

Auf vorteilhafte Weise wird im Blockchain-Netzwerk eine

Blockchain mit den beschriebenen Zwischenblöcken generiert, verteilt, bestätigt, dezentral verwaltet oder gespeichert.

Ein Knoten des Blockchain-Netzwerkes kann somit auf beliebige Weise entscheiden, ob er eine vollständige Blockchain inklu sive der generierten Transaktionsblöcke und Zwischenblöcke speichert, oder ob er die Blockchain gemäß dem beschriebenen Verfahren verkürzt und die verkürzte Blockchain speichert. Insbesondere Knoten des Netzwerkes, welche eine eingeschränk te Speicherkapazität zur Verfügung haben, wie beispielsweise Edge-Geräte oder IoT-Geräte innerhalb von Automatisierungsan lagen, können auf vorteilhafte Weise die verkürzte Blockchain speichern .

Gemäß einer Ausgestaltung ist das Speichermedium auf einem Edge-Gerät oder IoT-Gerät ausgeführt und hat eine gemäß dem oben beschriebenen Verfahren erweiterte Blockchain gespei chert. Vorteilhafterweise ist im Blockchain-Netzwerk mindes tens ein Knoten vorgesehen, welcher verlässlich die gesamte Blockchain speichert. In einer Automatisierungsanlage, welche an eine Cloud angeschlossen ist, kann dies ein Blockchain-Knoten des Anlagenbetreibers sein oder ein Blockchain-Knoten des Cloud-Dienstes , für welchen ein Anlagenbetreiber Regeln festlegt, und welcher die gesamte Blockchain inklusive aller Transaktionsblöcke speichert. Von diesem kann dann beispiels weise ein Gerät der Automatisierungsanlage, welches nur eine verkürzte Blockchain gespeichert hat, die in der verkürzten Blockchain nicht enthaltenen Transaktionsblöcke erfragen und diese wieder in die Blockchain einbinden. Insbesondere kann bei diesem Vorgang überprüft werden, ob alle angefragten und bereitgestellten Transaktionsblöcke unversehrt und unmanipu-liert vorliegen, indem die Prüfsummen der Blöcke nachvollzo gen werden. Auf diese Weise erhält das Gerät mit gespeicher ter verkürzter Blockchain nach dem Einbinden der Blöcke aus der vollständigen Blockchain wieder die erweiterte Block chain. Dabei können alle entfernten Blöcke angefragt werden oder nur Teile, so dass die Blockchain erweitert, allerdings immer noch gegenüber der vollständigen Blockchain reduziert auf dem Edge-Gerät oder IoT-Gerät vorliegt.

Die Erfindung betrifft ferner ein Edge-Gerät aufweisend ein Speichermedium gemäß einem der oben beschriebenen Ausgestal tungen des Speichermediums.

Die Erfindung betrifft ferner ein Computer-Programmprodukt mit einem Computer-Programm, das Mittel zur Durchführung des Verfahrens nach einem der oben beschriebenen Ausgestaltungen aufweist, wenn das Computer-Programm auf einer programmge steuerten Einrichtung zur Ausführung gebracht wird.

Die Erfindung wird nachfolgend von Beispielen mit Hilfe der Figuren näher erläutert. Es zeigen:

Figur 1 eine schematische Darstellung zweier Blockchains ge mäß einem ersten Ausführungsbeispiel;

Figur 2 eine schematische Darstellung zweier Blockchains ge mäß einem zweiten Ausführungsbeispiel der Erfindung;

Figur 3 eine schematische Darstellung zweier Blockchains ge mäß einem dritten Ausführungsbeispiel der Erfindung;

Figur 4 eine schematische Darstellung zweier Blockchains ge mäß einem vierten Ausführungsbeispiel der Erfindung;

Figur 5 eine schematische Darstellung von Blockchain-Netz-werkknoten innerhalb einer Cloud-Umgebung und Blockchain-Netzwerkknoten in einer Automatisierungsanlage.

Gemäß einem ersten Ausführungsbeispiel der Erfindung wird ei ne Blockchain derart generiert, dass neben regulären Transak tionsblöcken in regelmäßigen Abständen Zwischenblöcke gene riert werden. Dabei basiert die Blockchain auf einem Genesis block G. Transaktionsblöcke werden basierend auf dem Genesis block G erstellt und in die Blockchain eingekettet. In der Figur 1 ist ein solcher Transaktionsblock T beispielshalber gekennzeichnet. Der Einfachheit halber wurde nur ein Transak tionsblock zur Veranschaulichung mit einem Bezugszeichen ver- sehen. Nach einem vorgebbaren und flexibel wählbaren zeitli chen Abstand zum Genesisblock G wird ein erster Zwischenblock Al erstellt. Dieser beinhaltet selbst keine Transaktion, wird jedoch ähnlich einem Transaktionsblock erstellt, als

broadcast an das Blockchain-Netzwerk gesendet, durch einen in der Blockchain verwendeten Konsensus-Mechanismus bestätigt und in die Blockchain eingekettet. Dabei referenziert er wie üblich direkt den vorhergehenden Transaktionsblock sowie zu sätzlich den Genesisblock G.

Wird der erste Zwischenblock Al erfolgreich durch teilnehmen de Knoten am verteilten Datenbanksystem, welches die Block chain verwendet, bestätigt, insbesondere durch sog. Mining, so setzt der erste Zwischenblock Al die Blockchain wie ein regulärer Block fort.

In einem gewissen zeitlichen Abstand zum ersten Zwischenblock Al werden weitere Zwischenblöcke generiert. In dieser Folge wird auch der (n-l)-te Zwischenblock An-i generiert. Wiederum in zeitlichem Abstand dazu wird der n-te Zwischenblock AN ge neriert. Die so erzeugte Blockchain 10 wird gemäß dem ersten Ausführungsbeispiel der Erfindung innerhalb eines Blockchain-Netzwerks, zum Beispiel innerhalb eines privaten Blockchain-Netzwerkes, verteilt. Beispielsweise ist ein Blockchain-Netz-werk innerhalb einer Zusammenkunft aus Unternehmen vorgese hen, welche für die Produktion eines Produktes auf verschie denen Betriebsstufen Zusammenarbeiten. Die vollständige

Blockchain 10 ist dabei beispielsweise in je einem Knoten der beteiligten Firmen gespeichert.

Ebenfalls Bestandteil des Blockchain-Netzwerkes sind Knoten einzelner Firmen, welche sich innerhalb eines Automatisie rungsnetzwerkes befinden. Dieses ist mit dem Blockchain-Netzwerk NW verbunden. Beispielsweise ist einer der Knoten des Blockchain-Netzwerkes auf einem Iot-Gerät vorgesehen. Auf diesem IoT-Gerät ist der zur Verfügung stehende Speicherplatz limitiert. Beispielsweise nimmt das IoT-Gerät Steuerungsauf gaben innerhalb der Anlage war und ist zugleich mit einem Office- oder IT-Netzwerk verbunden. Das IoT-Gerät ist insbe sondere über das Internet ansprechbar. Das IoT-Gerät greift auf die Blockchain zu, um beispielsweise Transaktionen für ein aktuelles Automatisierungsprojekt oder für eine aktuelle Charge manipulationsgeschützt verfügbar zu haben. Diese

Transaktionsdaten können beispielsweise aus Parametersätzen oder Konfigurationsparametern bestehen.

Ebenso können die Transaktionsdaten Bestelldaten eines Auf trages umfassen. Beispielsweise interessiert für das IoT-Gerät ein Bereich der Blockchain, welcher Transaktionsdaten enthält, die nach dem (n-l)-ten Zwischenblock An-i erstellt wurden .

Auf vorteilhafte Weise kann das IoT-Gerät eine verkürzte Blockchain 11 speichern. Dafür werden Transaktionsblöcke, welche zeitlich vor dem (n-l)-ten Zwischenblock erstellt wur den, aus der Blockchain entfernt. Die Zwischenblöcke bleiben dabei in der Blockchain erhalten. Somit entsteht eine Kette aus dem Genesisblock G, dem ersten Zwischenblock Ai, ggf.

weiteren Zwischenblöcken, dem (n-l)-ten Zwischenblock An-i und daran anschließenden Transaktionsblöcken. Eine derart ver kürzte Blockchain 11 und die darin enthaltenen aktuellen Transaktionsblöcke können ausgehend vom Genesisblock G vali diert werden, indem die PrüfSummenbildung über die einzelnen Blöcke nachvollzogen werden kann. Aufgrund der Einbeziehung der Prüfsummen von einem jeweiligen vorhergehenden Zwischen block in einem Zwischenblock, ist die Kette an Blöcken, wie sie in der verkürzten Blockchain 11 enthalten ist, validier bar .

Der benötigte Speicherplatz für die verkürzte Blockchain 11 ist um die Größe aller entfernten Transaktionsblöcke redu ziert worden. Sowohl das Generieren des (n-l)-ten Zwischen blocks An-i als auch dessen Auswahl als Zwischenblock zum Lö schen vorhergehender Transaktionsblöcke kann angepasst an das Automatisierungsprojekt erfolgen. Hängt das Generieren der Zwischenblocks von einem wählbaren zeitlichen Abstand zu vor- herigen Zwischenblocks ab, so kann beim Kürzen der Blockchain entsprechend ein Zwischenblock ausgewählt werden, welcher vor dem interessierenden Abschnitt der Blockchain generiert wur de .

In Figur 2 ist ein zweites Ausführungsbeispiel der Erfindung dargestellt, bei welchem eine Blockchain 20 ähnlich zu der im Rahmen von Figur 1 beschriebenen Blockchain 10 erstellt wird. Im Unterschied zum ersten Ausführungsbeispiel wird für das Verkürzen der Blockchain 20 durch das Entfernen von Transak tionsblöcken vor dem Zwischenblock An ein Abschnitt der

Blockchain vom Entfernen der Zwischenblöcke ausgenommen.

Transaktionsblöcke, welche zwischen dem (b-l)-ten Zwischen block Ab_i und dem b-ten Zwischenblock Ab liegen, werden gemäß dem zweiten Ausführungsbeispiel der Erfindung nicht entfernt. Somit wird eine verkürzte Blockchain 21 erstellt, welche äl tere Transaktionsblöcke, die vor dem Zwischenblock An gene riert wurden, bis auf diejenigen zwischen dem (b-l)-ten Zwi schenblock Ab_i und dem b-ten Zwischenblock Ab entfernt.

Somit wird die Blockchain 20 effektiv zu einer verkürzten Blockchain 21 reduziert und dabei der Speicherplatz einge spart, welcher durch die entfernten Transaktionsblöcke frei wird. Jedoch wird ein Zeitbereich gezielt ausgenommen, so dass Transaktionsblöcke aus diesem Zeitbereich auch in der verkürzten Blockchain 21 verfügbar sind. Beispielsweise wer den so in der verkürzten Blockchain 21 sogenannte Golden Bat ches, welche aus der Verfahrenstechnik bekannt sind und eine Messlatte für aktuelle Produktionschargen darstellen, als ab rufbare Transaktionsdaten in der Blockchange beibehalten um einen entsprechenden Vergleich der Batch-Daten auch in der verkürzten Blockchain durchführen zu können. Zusätzlich wer den beispielsweise die jüngsten Transaktionsdaten als Histo rie beibehalten, welche nach dem Zwischenblock An generiert wurden .

Gemäß einem dritten Ausführungsbeispiel der Erfindung wird eine Blockchange 30 derart erstellt, dass beispielsweise der n-te Zwischenblock An neben dem direkt vorhergehenden Trans aktionsblock und dem zuletzt generierten (n-l)-ten Zwischen block An-1 zusätzlich beispielsweise den ersten Zwischenblock Ai referenziert . In einer Variante referenziert der n-te Zwi schenblock An noch weitere Zwischenblöcke (nicht abgebildet) . Bei einem Verkürzen der Blockchain 30 auf eine verkürzte Blockchain 31 können so zwischen einem ausgewählten Zeitbe reich, beispielsweise zwischen dem ersten Zwischenblock Ai und dem n-ten Zwischenblock An, neben den Transaktionsblöcken aus diesem Zeitraum auch die generierten Zwischenblöcke in diesem Zeitraum, insbesondere der n-ite Zwischenblock An-i ent fernt werden.

Die vollständige Überprüfbarkeit der Blockchain-Kette ist in der verkürzten Blockchain 31 durch die Referenz des n-ten Zwischenblocks An auf den ersten Zwischenblock Ai dennoch si chergestellt. Vorteilhafterweise ist es vorgesehen, dass nicht alle Zwischenblöcke mehrere vorhergehende Zwischenblö cke referenzieren, um eine Inflation von Referenzen und damit verbundene Komplexität zu vermeiden. In größeren zeitlichen Abständen kann jedoch ein solcher Zwischenblock vorgesehen sein, welcher insbesondere einen zusätzlichen Zwischenblock als Prüfsumme enthält.

In Figur 4 ist eine weitere mögliche Alternative gezeigt, ei ne Blockchain 40 mit Zwischenblöcken zu erstellen. Dabei re-ferenzieren mehrere oder insbesondere alle der generierten Zwischenblöcke auch den Genesisblock G. Eine verkürzte Block chain 41 kann dann derart generiert werden, dass Transakti onsdaten vor einem (n-l)-ten Zwischenblock An-i entfernt wer den. Damit wird die Blockchain automatisch auf die kleinst-mögliche Länge verkürzt. Diese Ausgestaltung kann für Anwen dungsfälle interessant sein, in welchen Transaktionsdaten in einer Anfangsphase der Blockchain irrelevant sind, beispiels weise weil es sich um Testdaten oder Testkonfigurationsdaten-sätze handelt, auf welche im weiteren Verfahren nicht zurück gegriffen werden soll, beispielsweise weil sie zu schlechten oder nicht optimierten Anlagenbedingungen führen.

Die in den Ausführungsbeispielen 1 bis 4 beschriebenen Mög lichkeiten der Referenzierung von Zwischenblöcken und ent sprechenden Möglichkeiten zum Verkürzen der Blockchain können auch kombiniert eingesetzt werden. Beispielsweise können ver schiedene Mechanismen zum Generieren der Zwischenblöcke zu verschiedenen zeitlichen Abschnitten der Blockchain verwendet werden. Ebenfalls kann der Trigger-Mechanismus zum Erstellen eines Zwischenblocks innerhalb einer Blockchain variieren. Beispielsweise kann bei Beginn einer Blockchain, welche beim Anlaufen einer Automatisierungsanlage neu aufgebaut wird, ein fester zeitlicher Abstand vorgegeben sein, während hingegen im weiteren Verlauf Zwischenblöcke kontextbasiert getriggert werden .

Anhand von Figur 5 wird veranschaulicht, wie gekürzte Block-chains 11, 21, 31 in einem Anwendungsszenario einer Automati sierungsanlage zum Einsatz kommen. Figur 5 zeigt ein Block-chain-Netzwerk NW bestehend aus Blockchain-Nodes oder Block-chain-Knoten 151, 152, 101, 201, 301. Aus Darstellungsgründen wurden lediglich fünf an dem Blockchain-Netzwerk NW teilneh mende Knoten abgebildet. Insbesondere in einer Cloud 150, welche in der oberen Hälfte der Abbildung Figur 5 dargestellt ist, nehmen eine Vielzahl von Knoten teil. Die Knoten 151,

152 in der Cloud 150 sind über das Blockchain-Netzwerk NW mit Knoten innerhalb einer Automatisierungsanlage 101, 201, 301 verbunden .

Die Knoten der Automatisierungsanlagen sind in der unteren Hälfte der Figur 5 abgebildet. Es kann sich dabei beispiels weise um eine Industrieanlage handeln, in welcher die Knoten 101, 201, 301 räumlich nah beieinanderliegen und auf ver schiedenen Geräten 100, 200, 300 der Automatisierungsanlage ausgebildet sind. Ebenso können die Knoten in mehreren räum lich getrennten Anlagen vorgesehen sein, welche beispielswei se zu einem Unternehmen gehören. Ferner könnten die in Figur 5 dargestellten Knoten in Netzwerken unterschiedlicher Unter nehmen vorgesehen sein.

Veranschaulicht werden soll anhand der Figur 5, dass für Kno ten in der Cloud 150 in der Regel ausreichender Speicherplatz zur Verfügung steht. In Knoten auf Geräten 100, 200, 300 in nerhalb von Automatisierungsanlagen ist vorhandener Speicher hingegen oftmals ein limitierender Faktor.

Beispielsweise ist in einer ersten Automatisierungsanlage ein Edge-Gerät 100 vorgesehen, welches als Gateway zwischen einem Automatisierungsnetzwerk, welches die Steuerung von Automati sierungsgeräten regelt, und einem Kommunikationsnetzwerk in der Cloud 150 dient. Das Edge-Gerät 100 sammelt dabei Daten des Automatisierungssystems, welche für einen Service in der Cloud 150 genutzt werden können. Beispielsweise werden auf diese Weise Monitoringdaten gesammelt, welche einer Big Data-Analyse in der Cloud 150 zur Verfügung gestellt werden sol len. Beispielsweise bearbeitet das Edge-Gerät 100 die gesam melten Daten vor, bevor es diese in die Cloud sendet. Dabei werden beispielsweise die aufgezeichneten Daten anonymisiert oder es werden Daten aus bestimmten Zeitabschnitten gesammelt oder nach Zeitabschnitten sortiert zur Verfügung gestellt.

In einer anderen Automatisierungsanlage ist beispielsweise ein ... Edge-Gerät 200 vorgesehen, welches zusätzlich für einen verschlüsselten Austausch mit dem Cloud-Service zuständig ist .

In einer weiteren Automatisierungsanlage ist beispielsweise ein IoT-Gerät 300 vorgesehen, welches beispielsweise einen Verpackungsprozess steuert und zugleich eine Kommunikations verbindung zu einem Logistikanbieter über eine Internet-Verbindung aufweist.

Dem Edge-Gerät 100, dem Edge-Gerät 200 und dem IoT-Gerät 300 ist dabei gemeinsam, dass der vorhandene Speicherplatz limi tiert ist. Die Geräte haben somit ein Interesse daran, Spei cherplatz einzusparen. Auf den Geräten ist zusätzlich gemäß dem fünften Ausführungsbeispiel der Erfindung eine Block- chain-Anwendung implementiert. Dabei sollen jeweils Daten, welche Bedienaktionen oder Qualitätskenner betreffen, über eine Blockchain abgesichert werden. Diese Daten sollen nach weislich unmanipuliert in der Blockchain vorliegen.

Zugleich werden die beschriebenen Geräte, das Edge-Gerät 100, das Edge-Gerät 200 und das IoT-Gerät 300, in der Produktion und Verarbeitung eines Produktes automatisierungsnah verwen det. D.h. dass in der Regel eine eher jüngere Historie an er fassten Daten lokal relevant ist. Daten aus diesem Kurzzeit archiv sollten somit vorteilhafterweise auf dem jeweiligen Gerät verfügbar sein. Zugleich soll die Blockchain auf dem jeweiligen Gerät aber auch möglichst wenig Speicherplatz be anspruchen. Diese Herausforderung wird dadurch gelöst, dass der jeweilige Knoten 101, 201, 301 auf dem jeweiligen Gerät 100, 200, 300 jeweils eine verkürzte Blockchain 11, 21, 31 speichert. Als verkürzte Blockchain 11, 21, 31 kommen die oben beschriebenen Blockchains in Frage.

Es gibt mehrere Möglichkeiten, wie ein jeweiliger Knoten 101, 201, 301 zu einer verkürzten Blockchain gelangt. Beispiels weise kann solange ausreichend Speicher vorhanden ist, die Blockchain regulär und ohne diese zu verkürzen, beibehalten werden. Sobald ein gewisser Anteil an Speicherplatz durch die Blockchain belegt wird, wird ein Mechanismus ausgelöst zum Verkürzen der Blockchain. Bei diesem Verfahren hat ein jewei liger Knoten auf dem jeweiligen Automatisierungsgerät solange die größtmögliche Anzahl an Transaktionsblöcken und damit auch an vorgenommenen Transaktionen, wie beispielsweise auf gezeichneten Qualitätsdaten verfügbar, bis der vorhandene Speicherplatz nicht mehr ausreicht. Ab diesem Zeitpunkt kann beispielsweise regelmäßig ein Teil der Blockchain gelöscht werden oder beispielsweise einmalig ein größerer Abschnitt der Blockchain gelöscht werden, bis der Schwellenwert für die Speicherplatzbelegung wiederum überschritten wird.

In einer anderen Variante fragt ein Knoten 101 aus einer Au tomatisierungsanlage einen Stand einer Blockchain regelmäßig aus dem Netzwerk ab, beispielsweise indem er mit einem Knoten 152 in der Cloud kommuniziert und entfernt dabei zugleich die irrelevanten Transaktionsblöcke. Auf diese Weise wird quasi von vornherein eine verkürzte Blockchain auf dem Edge-Gerät 100 gespeichert.

Auf vorteilhafte Weise wird verhindert, dass eine Blockchain auf einem Knoten, welcher ein Verkürzen der Blockchain vor nimmt, stetig anwächst und so ein Überlaufen des Speichers verursacht .

Insbesondere bei Zwischenblöcken, welche selbst keine Trans aktionen beinhalten, sondern nur die Referenz auf dem letzten Block sowie den Vorgängerzwischenblock, ist der Footprint ei nes Zwischenblocks konstant klein. Das Anwachsen von aneinan der geketteten Zwischenblöcken stellt auch für Geräte mit eingeschränkten Ressourcen kein Risiko mehr dar.

Das Löschen von Blöcken erfolgt vorteilhafterweise lokal auf einem Blockchain-Knoten . Insbesondere können somit beliebig viele im Blockchain-Netzwerk NW befindlichen Geräte mit ihren spezifischen Einschränkungen im Hinblick auf vorhandene Res sourcen flexibel unterschiedliche Zeitbereiche aus der lokal gespeicherten Blockchain entfernen. Man kann bei der verkürz ten Blockchain auch von einer stripped-Blockchain und dem Knoten mit der verkürzten Blockchain von einem stripped-node sprechen .

Die vorgeschlagene Erfindung ermöglicht ein gezieltes Löschen und zugleich ein bewusstes Beibehalten von relevanten Nutzda ten, die in einer Blockchain gespeichert werden in einem ge wählten Zeitraum, welcher durch Zwischenblöcke bestimmt wer den kann.

Eine verkürzte Blockchain oder ein stripped Node ist in der Lage, bereits gelöschte Blöcke von einer vollständigen Block chain oder einem Full Nodes wieder anzufordern und in die entsprechenden Bereiche zwischen den für das Löschen ausge- wählten Zwischenblöcken einzuketten. Dies ist besonders vor teilhaft, wenn Daten aus dem entfernten Bereich der Block-chain für eine spätere Analyse relevant werden, beispielswei se weil ein Kunde eines Produkts, das einer Charge entstammt, Information zur Supply Chain erhalten möchte. Ferner können die Daten aus dem entfernten Bereich auch für eine Konfigura tion einer Steuerungsanlage als Referenzdaten benötigt wer den .

Zugleich ist auch auf den verkürzten Blockchains sicherge stellt, dass aktuelle Transaktionen lokal verfügbar sind. Ab gesehen davon, dass die Zwischenblöcke für das Entfernen fle xible wählbar sind und somit aktuellere Zwischenblöcke nicht ausgewählt werden müssen, ist der Zeitbereich, der nach dem zuletzt generierten Zwischenblock generiert wurde, vom Lö schen der Daten ausgenommen.

Aktuelle Transaktionen sind somit mit Verfügbarkeit ihres Blocks im Blockchain-Netzwerk sofort überall verfügbar, d.h. eine Abfrage der aktuellsten Produktionsdaten ist über die Cloud ebenso möglich wie die der historischen Daten.

Historische Informationen innerhalb eines Blockchain-Netzwerkes müssen somit nur in Blockchain Nodes vorhanden sein, in denen sie auch relevant sind, beispielsweise auf Langzeitarchiv-Servern oder in einer Cloud. Zugleich erfolgt ein Starten beispielsweise eines IoT-Gerätes, welches eine reduzierte oder gestrippte Blockchain Node betreibt, deutlich schneller, weil gelöschte Blockchain-Bereiche nicht geladen werden müssen.