Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND CONTROL SYSTEM FOR CONTROLLING AND/OR MONITORING DEVICES
Document Type and Number:
WIPO Patent Application WO/2019/201461
Kind Code:
A1
Abstract:
The aim of the invention is to manage in a simple manner complex control command chains in a blockchain for a specific task for the purpose of controlling devices. In particular, the invention allows a specified validity to be assigned to a specific task of a blockchain-based device controller, wherein the validity is defined, for example, by the life cycle (e.g. the service life) of a device.

Inventors:
JETZFELLNER THOMAS (DE)
Application Number:
PCT/EP2018/078900
Publication Date:
October 24, 2019
Filing Date:
October 22, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L12/28
Foreign References:
DE102011018878B32012-09-27
DE102016205289A12017-10-05
DE102012214324A12013-03-07
DE102011081796A12013-02-28
Other References:
ANDREAS M. ANTONOPOULOS: "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", December 2014, O'REILLY MEDIA
ROGER M. NEEDHAM, MICHAEL D. SCHROEDER: "Using encryption for authentication in large networks of computers", ACM: COMMUNICATIONS OF THE ACM, vol. 21, no. 12, - December 1978 (1978-12-01), XP058231706, DOI: doi:10.1145/359657.359659
ROSS ANDERSON: "Security Engineering. A Guide to Building Dependable Distributed Systems", 2001, WILEY
HENNING DIEDRICH: "Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations", 2016, CREATESPACE INDEPENDENT PUBLISHING
"The Ethereum Book Project/Mastering Ethereum", - 5 October 2017 (2017-10-05), Retrieved from the Internet
LEEMON BAIRD: "The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance", SWIRLDS TECH REPORT SWIRLDS-TR-2016-01, 31 May 2016 (2016-05-31)
LEEMON BAIRD, OVERVIEW OF SWIRLDS HASHGRAPH, 31 May 2016 (2016-05-31)
BLOCKCHAIN ORACLES, 14 March 2018 (2018-03-14), Retrieved from the Internet
JOSEPH POON; THADDEUS DRYJA, THE BITCOIN LIGHTNING NETWORK: SCALABLE OFF-CHAIN INSTANT PAYMENTS, 14 January 2016 (2016-01-14)
Download PDF:
Claims:
Patentansprüche

1. Steuersystem zum Steuern und/oder Überwachen von Geräten, umfassend :

ein verteiltes Datenbanksystem (BC) aufweisend,

eine Vielzahl von Knoten (BCN, BCN_D) , wobei die Knoten (300, BCN, BCN_D) und die Geräte (300, D, BCN_D) über ein erstes Kommunikationsnetzwerk (NW1) miteinander verbunden sind;

ein erstes Bestimmungsmodul (110), wobei

das erste Bestimmungsmodul Ausführungsanforderungen Steuerbefehlen zuordnet,

eine Ausführbarkeit der Steuerbefehle durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird;

ein erstes Speichermodul (130) zum Speichern der jewei ligen Steuerbefehle mit den zugeordneten Ausführungsan forderungen in Steuertransaktionen, wobei

die Steuertransaktionen in Datenblöcken (B) des verteilten Datenbanksystems (BC) gespeichert werden oder die Steuertransaktionen durch das verteilte Datenbanksystem gespeichert werden;

die Steuertransaktionen mittels der Datenblöcke (B) an die Geräte (300, D, BCN_D) übertragen werden oder die Steuertransaktionen mittels des verteilten Datenbanksystems an die Geräte (300, D, BCN_D) übertragen werden.

2. Steuersystem nach Anspruch 1, wobei die vorausgesetzten Steuerbefehle bereits ausgeführte Steuerbefehle sind, für die eine Bestätigung über deren Ausführung in Bestätigungstrans- aktionen der Datenblöcke des verteilten Datenbanksystems ge speichert sind oder für die eine Bestätigung über deren Aus führung in Bestätigungstransaktionen des verteilten Daten banksystems gespeichert sind.

3. Steuersystem nach Anspruch 1 oder 2, wobei durch die Aus führungsanforderungen eine Abarbeitung der vorausgesetzten Steuerbefehle vorgegeben ist, bevor weitere Steuerbefehle ab gearbeitet werden.

4. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei durch die Ausführungsanforderungen eine Reihenfolge einer Abarbeitung der Steuerbefehle vorgegeben ist.

5. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei durch die Ausführungsanforderungen Abhängigkeiten gegen über anderen Steuerbefehlen bei einer Abarbeitung der Steuer befehle vorgegeben sind.

6. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei durch die Ausführungsanforderungen Prioritäten für eine Abarbeitung der Steuerbefehle vorgegeben sind.

7. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei durch die Ausführungsanforderungen ein Zeitlimit vorgege ben ist, bis zu dem Steuerbefehle abzuarbeiten sind.

8. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei das Steuersystem einen Optimierer umfasst, der eine Aus führung der Steuerbefehle durch die Geräte anhand eines vor gegebenen Kriteriums optimiert.

9. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei das verteilte Datenbanksystem eine Blockkette ist und Datenblöcke Blöcke der Blockkette sind, oder

das verteilte Datenbanksystem eine Peer-2-Peer Daten banksystem ist.

10. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei Datenblöcke über eine kryptographische Hashfunktion (H) miteinander verkettet sind.

11. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei das Steuersystem ein erstes Überprüfungsmodul und/oder ein erstes Ausführungsmodul und/oder ein zweites Speichermo dul umfasst.

12. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei

das Steuersystem oder das Bestimmungsmodul (110) ein Aktivitätsmodul umfasst,

das Aktivitätsmodul dazu eingerichtet ist, die Ak tivität der Vorrichtung und/oder des Bestimmungsmo duls anzuzeigen oder zu dokumentieren.

13. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei

das Virtualisierungsmodul die Ausführbarkeit für vorge gebene Geräte oder Knoten ermittelt und/oder für vorge gebene Steuerbefehle ermittelt.

14. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei der Optimierer die Steuerbefehle mittels der virtuellen Abbilder optimiert.

15. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei mittels der virtuellen Abbilder eine Analyse der Auswir kung der Ausführung der Steuerbefehle auf die Geräte und das verteilte Datenbanksystems mit den Knoten ermittelt wird.

16. Steuersystem nach einem der vorhergehenden Ansprüche, wo bei

die virtuellen Abbilder digitale Zwillinge der Geräte oder der Knoten sind und/oder ein zweidimensionales oder dreidimensionales virtuelles Abbild sind, und/oder die virtuellen Abbilder mechanische oder elektrische Ei genschaften der Geräte und/oder der Knoten simulieren, und/oder

mittels der virtuellen Abbilder eine Zuverlässigkeits analyse für eine erfolgreiche Ausführung der Steuerbe fehle durchgeführt wird.

17. Bestimmungsmodul (110) für ein verteiltes Datenbanksystem oder für ein Steuersystem mit einem verteilten Datenbanksys tem zum Steuern und/oder Überwachen von Geräten aufweisend: eine erste Schnittstelle (410) zum Empfangen oder Abru fen von Steuerbefehlen;

eine erste Evaluierungseinheit (420), wobei

die erste Evaluierungseinheit (420) Ausführungsan forderungen den Steuerbefehlen zuordnet, eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

18. Bestimmungsmodul (110) nach Anspruch 17, wobei

das Bestimmungsmodul (110) einen Optimierer um fasst, der Optimierer die Ausführung der Steuerbefehle durch die Geräte anhand eines vorgegebenen Kriteri ums optimiert.

19. Bestimmungsmodul (110) nach Anspruch 17 oder 18, wobei das Bestimmungsmodul (110) ein erstes Zerlegemodul umfasst,

das erste Zerlegemodul dazu eingerichtet ist, eine Befehlsfolge in die entsprechenden Steuerbefehle zu zerlegen;

die entsprechenden Steuerbefehle beispielsweise dem Steuersystem oder dem ersten Bestimmungsmodul be reitgestellt werden.

20. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

19, wobei

die Vorrichtung oder das Bestimmungsmodul (110) ein Aktivitätsmodul umfasst,

das Aktivitätsmodul dazu eingerichtet ist, die Ak tivität der Vorrichtung und/oder des Bestimmungsmo duls anzuzeigen oder zu dokumentieren.

21. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

20, wobei das Bestimmungsmodul einen Konfigurationsspeicher umfasst, der gerätespezifische Daten über die Geräte und/oder gerätespezifische Daten über die Knoten und/oder die geräte spezifischen Anforderungen umfasst.

22. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

21, wobei das Bestimmungsmodul eine administrative Schnitt stelle umfasst.

23. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

22, wobei das Bestimmungsmodul eine Erfassungseinheit zum Er fassen von gerätespezifischen Daten über die Geräte oder von gerätespezifischen Daten über Knoten umfasst.

24. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

23, wobei das Bestimmungsmodul ein Knoten eines verteilten

Datenbanksystems ist oder ein Smart-Contract eines verteilten

Datenbanksystems oder als Gerät ausgebildet ist.

25. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

24, wobei das Bestimmungsmodul ein erstes Zuordnungsmodul

(120) zum Zuordnen der jeweiligen Ausführungsanforderungen zu den Steuerbefehlen umfasst.

26. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

25, wobei

die erste Evaluierungseinheit die Ausführungsanfor derungen für die Ausführung anhand der gerätespezi fische Anforderungen und/oder vorausgesetzten Steu erbefehle und gerätespezifischen Daten und/oder be reits ausgeführten Steuerbefehle bestimmt, insbesondere die Ausführungsanforderungen abhängig von einem Ergebnis eines Vergleiches der gerätespe zifischen Anforderungen und/oder vorausgesetzten Steuerbefehle mit gerätespezifischen Daten und/oder bereits ausgeführten Steuerbefehlen bestimmt wer den .

27. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

26, wobei

die erste Evaluierungseinheit die Ausführungsanfor derungen für die Ausführung anhand einer Ausführ barkeit der Steuerbefehle durch einen Knoten der verteilten Daten oder ein Gerät bestimmt, insbesondere die Ausführungsanforderungen abhängig von einem Ergebnis einer Prüfung einer Ausführbar keit Steuerbefehle durch einen Knoten des verteil ten Datenbanksystem oder der Geräte bestimmt wer den .

28. Bestimmungsmodul (110) nach einem der Ansprüche 17 bis

27, wobei das Bestimmungsmodul ein erstes Speichermodul (130) zum Speichern der jeweiligen Steuerbefehle in Steu ertransaktionen umfasst,

insbesondere die Steuertransaktionen in Datenblö cken (B) des verteilten Datenbanksystems (BC) ge speichert werden oder insbesondere die Steuertrans aktionen in dem verteilten Datenbanksystems (BC) gespeichert werden, - insbesondere die Steuer transaktionen mittels der Datenblöcke (B) an die Geräte (300, D, BCN_D) oder die Knoten übertragen werden oder insbesondere die Steuertransaktionen mittels des verteilten Datenbanksystems an die Ge räte (300, D, BCN_D) oder die Knoten übertragen werden, - insbesondere die Steuerbefehle zusammen mit den zugeordneten Ausführungsanforderungen in den Steuertransaktionen gespeichert werden, wenn die Steuerbefehle durch ein Gerät oder einen Knoten des verteilten Datenbanksystems ausführbar sind.

29. Vorrichtung für ein verteiltes Datenbanksystem oder für ein Steuersystem mit einem verteilten Datenbanksystem zum

Steuern und/oder Überwachen von Geräten aufweisend:

ein erstes Bestimmungsmodul (110), wobei

das verteilte Datenbanksystem (BC) eine Vielzahl von Knoten (BCN, BCN_D) umfasst, dabei sind die Knoten (300, BCN, BCN_D) und die Geräte (300, D, BCN_D) über ein erstes Kommunikationsnetzwerk (NW1) miteinander verbunden,

das erste Bestimmungsmodul Ausführungsanforderungen Steuerbefehlen zuordnet,

eine Ausführbarkeit der Steuerbefehle durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst, das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

30. Verfahren zum rechnergestützten Zuordnen von Ausführungs anforderungen für Steuerbefehle mit folgenden Verfahrens schritten :

Empfangen (910) oder Abrufen von Steuerbefehlen;

Zuordnen von Ausführungsanforderungen zu den Steuerbe fehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das verteilte Datenbanksystem beispielsweise eine Blockkette ist,

Berechnen von virtuellen Abbildern für die entsprechen den Knoten oder die entsprechenden Geräte, wobei

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

31. Verfahren zum rechnergestützten Steuern von Geräten mit folgenden Verfahrensschritten:

Zuordnen von Ausführungsanforderungen zu den Steuerbe fehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

Berechnen von virtuellen Abbildern für die entsprechen den Knoten oder die entsprechenden Geräte, wobei mittels der virtuellen Abbildern die Ausführbarkeit der Steuerbefehle ermittelt wird;

Speichern (530) der jeweiligen Steuerbefehle mit den entsprechenden Ausführungsanforderungen in Steuertrans- aktionen, wobei die Steuertransaktionen in Datenblöcken eines verteilten Datenbanksystems gespeichert werden oder die Steuertransaktionen durch ein verteiltes Daten banksystem gespeichert werden. 32. Computerprogrammprodukt mit Programmbefehlen zur Durch führung des Verfahrens nach Anspruch 30 und/oder Anspruch 31.

33. Bereitstellungsvorrichtung für das Computerprogrammpro dukt nach Anspruch 32, wobei die Bereitstellungsvorrichtung das Computerprogrammprodukt speichert und/oder bereitstellt .

Description:
Beschreibung

Verfahren und Steuersystem zum Steuern und/oder Überwachen von Geräten

Die Erfindung bezieht sich auf ein Verfahren und Steuersystem zum Steuern und/oder Überwachen von Geräten.

Geräte, wie Feldgeräte und Fertigungsgeräte, werden immer stärker vernetzt und können beispielsweise von unterschiedli chen Betreibern bereitgestellt/betrieben werden. Diesen Gerä ten werden oft Befehlsfolgen übermittelt, die durch die Gerä te ausgeführt werden können. Nachteilig ist dabei, dass eine Abarbeitung der Befehlsfolgen in einem heterogenen Netz aus Geräten von unterschiedlichen Betreibern schwer zu steuern ist .

Eine Aufgabe der vorliegenden Erfindung ist es, eine Alterna tive zu bekannten Lösungen aus dem Stand der Technik zu fin den .

Die Aufgabe wird durch die in den unabhängigen Ansprüchen an gegebenen Merkmale gelöst. In den abhängigen Ansprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt.

Die Technologie von Blockketten (engl. Blockchains) bzw.

"Distributed Ledgers" ist aktuell eine intensiv diskutierte Technologie, die insbesondere als verteiltes Datenbanksystem realisiert sein kann. Neben Anwendungen für dezentrale Be zahlsysteme (z. B. Bitcoin) werden in der Finanzindustrie neue Anwendungsmöglichkeiten entwickelt. Insbesondere können Transaktionen zwischen Firmen dadurch ohne Vermittler bzw. Clearing-Stelle manipulationsgeschützt realisiert werden.

Dies ermöglicht neue Geschäftsmodelle ohne einen vertrauens würdigen Vermittler, es reduziert die Transaktionskosten, und es können flexibel neue digitale Dienste angeboten werden, ohne eine dafür speziell eingerichtete Infrastruktur und Ver trauensbeziehungen einrichten zu müssen. Ein durch eine Blockchain geschützter Transaktionsdatensatz (oder kurz Transaktion) umfasst z. B. Programmcode, der auch als soge nannter „Smart Contract" bezeichnet werden kann.

Steuersystem zum Steuern und/oder Überwachen von Geräten, um fassend :

ein verteiltes Datenbanksystem (BC) aufweisend,

eine Vielzahl von Knoten (BCN, BCN_D) , wobei die Knoten (300, BCN, BCN_D) und die Geräte (300, D, BCN_D) über ein erstes Kommunikationsnetzwerk (NW1) miteinander verbunden sind;

ein erstes Bestimmungsmodul (110), wobei

das erste Bestimmungsmodul Ausführungsanforderungen Steuerbefehlen zuordnet,

eine Ausführbarkeit der Steuerbefehle durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird;

ein erstes Speichermodul (130) zum Speichern der jewei ligen Steuerbefehle mit den zugeordneten Ausführungsan forderungen in Steuertransaktionen, wobei

die Steuertransaktionen in Datenblöcken (B) des verteilten Datenbanksystems (BC) gespeichert wer den;

die Steuertransaktionen mittels der Datenblöcke (B) an die Geräte (300, D, BCN_D) übertragen werden. Sofern es in der nachfolgenden Beschreibung nicht anders an gegeben ist, beziehen sich die Begriffe "durchführen", "be rechnen", "rechnergestützt", "rechnen", "feststellen", "gene rieren", "konfigurieren", "rekonstruieren" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verar beitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Da ten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impul se. Insbesondere sollte der Ausdruck "Computer" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbeitungseigenschaften abzudecken. Compu ter können somit beispielsweise Personal Computer, Server, speicherprogrammierbare Steuerungen (SPS) , Handheld-Computer- Systeme, Pocket-PC-Geräte, Mobilfunkgeräte und andere Kommu nikationsgeräte, die rechnergestützt Daten verarbeiten kön nen, Prozessoren und andere elektronische Geräte zur Daten verarbeitung sein.

Unter „rechnergestützt" kann im Zusammenhang mit der Erfin dung beispielsweise eine Implementierung des Verfahrens ver standen werden, bei dem insbesondere ein Prozessor mindestens einen Verfahrensschritt des Verfahrens ausführt.

Unter einem Prozessor kann im Zusammenhang mit der Erfindung beispielsweise eine Maschine oder eine elektronische Schal tung verstanden werden. Bei einem Prozessor kann es sich ins besondere um einen Hauptprozessor (engl. Central Processing Unit, CPU) , einen Mikroprozessor oder einen Mikrokontroller, beispielsweise eine anwendungsspezifische integrierte Schal tung oder einen digitalen Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Pro grammbefehlen, etc. handeln. Bei einem Prozessor kann es sich beispielsweise auch um einen IC (integrierter Schaltkreis, engl. Integrated Circuit), insbesondere einen FPGA (engl. Field Programmable Gate Array) oder einen ASIC (anwendungs spezifische integrierte Schaltung, engl. Application-Specific Integrated Circuit) , oder einen DSP (Digitaler Signalprozes- sor, engl. Digital Signal Processor) oder einen Grafikprozes sor GPU (Graphic Processing Unit) handeln. Auch kann unter einem Prozessor ein virtualisierter Prozessor, eine virtuelle Maschine oder eine Soft-CPU verstanden werden. Es kann sich beispielsweise auch um einen programmierbaren Prozessor han deln, der mit Konfigurationsschritten zur Ausführung des ge nannten erfindungsgemäßen Verfahrens ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die erfindungsgemäßen Merkmale des Verfahrens, der Komponente, der Module, oder anderer Aspekte und/oder Teilaspekte der Erfindung realisiert.

Unter einer „Speichereinheit" oder „Speichermodul" und der gleichen kann im Zusammenhang mit der Erfindung beispielswei se ein flüchtiger Speicher in Form von Arbeitsspeicher (engl. Random-Access Memory, RAM) oder ein dauerhafter Speicher wie eine Festplatte oder ein Datenträger verstanden werden.

Unter einem „Modul" kann im Zusammenhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbefehlen verstanden werden. Bei spielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszuführen, damit der Prozessor Funk tionen ausführt, um das erfindungsgemäße Verfahren oder einen Schritt des erfindungsgemäßen Verfahrens zu implementieren oder realisieren.

Ein Modul kann beispielsweise auch ein Knoten des verteilten Datenbanksystems sein, der beispielsweise die spezifischen Funktionen/Merkmale eines entsprechenden Moduls realisiert. Die jeweiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die entsprechenden Module beispielsweise weitere Elemente umfas sen. Diese Elemente sind beispielsweise eine oder mehrere Schnittstellen (z. B. Datenbankschnittstellen, Kommunikati onsschnittstellen - z. B. Netzwerkschnittstelle, WLAN- Schnittstelle) und/oder eine Evaluierungseinheit (z. B. ein Prozessor) und/oder eine Speichereinheit. Mittels der Schnittstellen können beispielsweise Daten ausgetauscht (z.

B. empfangen, übermittelt, gesendet oder bereitgestellt wer den) . Mittels der Evaluierungseinheit können Daten beispiels weise rechnergestützt und/oder automatisiert verglichen, überprüft, verarbeitet, zugeordnet oder berechnet werden. Mittels der Speichereinheit können Daten beispielsweise rech nergestützt und/oder automatisiert gespeichert, abgerufen oder bereitgestellt werden.

Unter „umfassen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung bei spielsweise ein (rechnergestütztes) Speichern einer entspre chenden Information bzw. eines entsprechenden Datums in einer Datenstruktur/Datensatz (die z. B. wiederum in einer Spei chereinheit gespeichert ist) verstanden werden.

Unter „zuordnen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung bei spielsweise eine rechnergestützte Zuordnung von Daten

und/oder Informationen verstanden werden. Beispielsweise wird einem ersten Datum hierzu mittels einer Speicheradresse oder eines eindeutigen Identifizierers (engl, unique identifier (UID) ) ein zweites Datum zugeordnet, in dem z. B. das erste Datum zusammen mit der Speicheradresse oder des eindeutigen Identifizierers des zweites Datums zusammen in einem Daten satz gespeichert wird.

Unter „bereitstellen" , insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfin dung beispielsweise ein rechnergestütztes Bereitstellen ver standen werden. Das Bereitstellen erfolgt beispielsweise über eine Schnittstelle (z. B. eine Datenbankschnittstelle, eine Netzwerkschnittstelle, eine Schnittstelle zu einer Speicher einheit) . Über diese Schnittstelle können beispielsweise beim Bereitstellen entsprechende Daten und/oder Informationen übermittelt und/oder gesendet und/oder abgerufen und/oder empfangen werden. Unter „Bereitstellen" kann im Zusammenhang mit der Erfindung beispielsweise auch ein Laden oder ein Speichern, beispiels weise einer Transaktion mit entsprechenden Daten verstanden werden. Dies kann beispielsweise auf oder von einem Speicher modul erfolgen. Unter „Bereitstellen" kann beispielsweise auch ein Übertragen (oder ein Senden oder ein Übermitteln) von entsprechenden Daten von einem Knoten zu einem anderen Knoten der Blockkette oder des verteilten Datenbanksystems (bzw. deren Infrastruktur) verstanden werden.

Unter einer „Prüfsumme", beispielsweise eine Datenblockprüf- summe, eine Datenprüfsumme, eine Knotenprüfsumme, eine Trans aktionsprüfsumme, eine Verkettungsprüfsumme oder dergleichen, kann im Zusammenhang mit der Erfindung beispielsweise eine kryptographische Prüfsumme oder kryptographischer Hash bzw. Hashwert verstanden werden, die insbesondere mittels einer kryptographischen Hashfunktion über einen Datensatz und/oder Daten und/oder eine oder mehrere der Transaktionen und/oder einem Teilbereich eines Datenblocks (z. B. der Block-Header eines Blocks einer Blockkette oder Datenblock-Header eines Datenblocks des verteilten Datenbanksystems oder nur einem Teil der Transaktionen eines Datenblocks) gebildet oder be rechnet werden. Bei einer Prüfsumme kann es sich insbesondere um eine Prüfsumme/n oder Hashwert/e eines Hash-Baumes (z. B. Merkle Baum, Patricia-Baum) handeln. Weiterhin kann darunter insbesondere auch eine digitale Signatur oder ein kryptogra phischer Nachrichtenauthentisierungscode verstanden werden. Mittels der Prüfsummen kann beispielsweise auf unterschiedli chen Ebenen des Datenbanksystems ein kryptographischer

Schutz/Manipulationsschutz für die Transaktionen und die da rin gespeicherten Daten realisiert werden. Ist beispielsweise eine hohe Sicherheit gefordert, werden beispielsweise die Prüfsummen auf Transaktionsebene erzeugt und überprüft. Ist eine weniger hohe Sicherheit gefordert, werden beispielsweise die Prüfsummen auf Blockebene (z. B. über den ganzen Daten block oder nur über einen Teil des Datenblocks und/oder einen Teil der Transkationen) erzeugt und überprüft. Unter einer „Datenblockprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die bei spielsweise über einen Teil oder alle Transaktionen eines Da tenblocks berechnet wird. Ein Knoten kann dann beispielsweise die Integrität/Authentizität des entsprechenden Teils eines Datenblocks mittels der Datenblockprüfsumme prü- fen/feststellen . Zusätzlich oder alternativ kann die Daten blockprüfsumme insbesondere auch über Transaktionen eines vorhergehenden Datenblocks/Vorgänger-Datenblocks des Daten blocks gebildet worden sein. Die Datenblockprüfsumme kann da bei insbesondere auch mittels eines Hash-Baumes, beispiels weise einem Merkle Baum [1] oder einem Patricia-Baum, reali siert werden, wobei die Datenblockprüfsumme insbesondere die Wurzel-Prüfsumme des Merkle-Baumes bzw. eines Patricia-Baumes bzw. eines binären Hashbaumes ist. Insbesondere werden Trans aktionen mittels weiterer Prüfsummen aus dem Merkle-Baum bzw. Patricia-Baum abgesichert (z. B. unter Verwendung der Trans aktionsprüfsummen) , wobei insbesondere die weiteren Prüfsum men Blätter im Merkle-Baum bzw. Patricia-Baum sind. Die Da tenblockprüfsumme kann damit beispielsweise die Transaktionen absichern, indem die Wurzel-Prüfsumme aus den weiteren Prüf summen gebildet wird. Die Datenblockprüfsumme kann insbeson dere für Transaktionen eines bestimmten Datenblocks der Da tenblöcke berechnet werden. Insbesondere kann eine solche Da tenblockprüfsumme in einen nachfolgenden Datenblock des be stimmten Datenblocks eingehen, um diesen nachfolgenden Daten block beispielsweise mit seinen vorhergehenden Datenblöcken zu verketten und insbesondere damit eine Integrität des ver teilten Datenbanksystems prüfbar zu machen. Hierdurch kann die Datenblockprüfsumme beispielsweise die Funktion der Ver kettungsprüfsumme übernehmen oder in die Verkettungsprüfsumme eingehen. Der Header eines Datenblocks (z. B. eines neuen Da tenblocks oder des Datenblocks für den die Datenblockprüfsum me gebildet wurde) kann beispielsweise die Datenblockprüfsum me umfassen.

Unter „Transaktionsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbesondere über eine Transaktion eines Datenblocks gebildet wird. Zu sätzlich kann beispielsweise eine Berechnung einer Daten blockprüfsumme für einen entsprechenden Datenblock beschleu nigt werden, da hierfür beispielsweise bereits berechnete Transaktionsprüfsummen gleich als Blätter z. B. eines Merkle- Baumes verwendet werden können.

Unter einer „Verkettungsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbeson dere einen jeweiligen Datenblock des verteilten Datenbanksys tems den vorhergehenden Datenblock des verteilten Datenbank systems angibt bzw. referenziert (in der Fachliteratur insbe sondere häufig als „previous block hash" bezeichnet) [1] . Hierfür wird insbesondere für den entsprechenden vorhergehen den Datenblock eine entsprechende Verkettungsprüfsumme gebil det. Als Verkettungsprüfsumme kann beispielsweise eine Trans aktionsprüfsumme oder die Datenblockprüfsumme eines Daten blocks (also ein vorhandener Datenblock des verteilten Daten banksystems) verwendet werden, um einen neuen Datenblock mit einem (vorhandenen) Datenblock des verteilten Datenbanksys tems zu verketten. Es ist beispielsweise aber auch möglich, dass eine Prüfsumme über einen Header des vorhergehenden Da tenblocks oder über den gesamten vorhergehenden Datenblock gebildet wird und als Verkettungsprüfsumme verwendet wird. Dies kann beispielsweise auch für mehrere oder alle vorherge henden Datenblöcke berechnet werden. Es ist beispielsweise auch realisierbar, dass über den Header eines Datenblocks und der Datenblockprüfsumme die Verkettungsprüfsumme gebildet wird. Ein jeweiliger Datenblock des verteilten Datenbanksys tems umfasst jedoch vorzugsweise jeweils eine Verkettungs prüfsumme, die für einen vorhergehenden Datenblock, insbeson dere noch bevorzugter den direkt vorhergehenden Datenblock, des jeweiligen Datenblockes berechnet wurde bzw. sich auf diesen beziehen. Es ist beispielsweise auch möglich, dass ei ne entsprechende Verkettungsprüfsumme auch nur über einen Teil des entsprechenden Datenblocks (z. B. vorhergehenden Da tenblock) gebildet wird. Hierdurch kann beispielsweise ein Datenblock realisiert werden, der einen integritätsgeschütz- ten Teil und einen ungeschützten Teil umfasst. Damit ließe sich beispielsweise ein Datenblock realisieren, dessen integ- ritätsgeschützter Teil unveränderlich ist und dessen unge schützter Teil auch noch später verändert werden kann. Unter integritätsgeschützt ist dabei insbesondere zu verstehen, dass eine Veränderung von integritätsgeschützten Daten mit tels einer Prüfsumme feststellbar ist.

Die Daten, die beispielsweise in einer Transaktion eines Da tenblocks gespeichert werden, können insbesondere auf unter schiedliche Weise bereitgestellt werden. Anstelle der Daten, z. B. Nutzerdaten wie Messdaten oder Da

ten/Eigentumsverhältnisse zu Assets, kann beispielsweise eine Transaktion eines Datenblocks nur die Prüfsumme für diese Da ten umfassen. Die entsprechende Prüfsumme kann dabei auf un terschiedliche Weise realisiert werden. Dies kann z. B. eine entsprechende Datenblockprüfsumme eines Datenblocks (mit den entsprechenden Daten) einer anderen Datenbank oder des ver teilten Datenbanksystems sein, eine Transaktionsprüfsumme ei nes Datenblocks mit den entsprechenden Daten (des verteilten Datenbanksystems oder einer anderen Datenbank) oder eine Da tenprüfsumme, die über die Daten gebildet wurde.

Zusätzlich kann die entsprechende Transkation noch einen Ver weis oder eine Angabe zu einem Speicherort (z. B. eine Adres se eines Fileservers und Angaben, wo die entsprechenden Daten auf dem Fileserver zu finden sind; oder eine Adresse einer anderen verteilten Datenbank, welche die Daten umfasst) um fassen. Die entsprechenden Daten könnten dann beispielsweise auch in einer weiteren Transaktion eines weiteren Datenblocks des verteilten Datenbanksystems bereitgestellt werden (z. B. wenn die entsprechenden Daten und die zugehörigen Prüfsummen in unterschiedlichen Datenblöcken umfasst sind) . Es ist bei spielsweise aber auch denkbar, dass diese Daten über einen anderen Kommunikationskanal (z. B. über eine andere Datenbank und/oder einen kryptographisch gesicherten Kommunikationska nal) bereitgestellt werden. Auch kann beispielsweise zusätzlich zu der Prüfsumme ein Zu- satzdatensatz (z. B. ein Verweis oder eine Angabe zu einem Speicherort) in der entsprechenden Transaktionen abgelegt sein, der insbesondere einen Speicherort angibt, wo die Daten abgerufen werden können. Das ist insbesondere dahingehend vorteilhaft, um eine Datengröße der Blockkette oder des ver teilten Datenbanksystems möglichst gering zu halten.

Unter „sicherheitsgeschützt" kann im Zusammenhang mit der Er findung beispielsweise ein Schutz verstanden werden, der ins besondere durch ein kryptographisches Verfahren realisiert wird. Beispielsweise kann dies durch eine Nutzung des ver teilten Datenbanksystems für das Bereitstellen oder Übertra gen oder Senden von entsprechenden Daten/Transaktionen reali siert werden. Dies wird vorzugsweise durch eine Kombination der verschiedenen ( kryptographischen) Prüfsummen erreicht, indem diese insbesondere synergetisch Z usammenwirken, um bei spielsweise die Sicherheit bzw. die kryptographische Sicher heit für die Daten der Transaktionen zu verbessern. Mit ande ren Worten kann insbesondere unter „sicherheitsgeschützt" im Zusammenhang mit der Erfindung auch „kryptographisch ge schützt" und/oder „manipulationsgeschützt" verstanden werden, wobei „manipulationsgeschützt" auch als „integritätsge schützt" bezeichnet werden kann.

Unter „Verketten der/von Datenblöcken eines verteilten Daten banksystems" kann im Zusammenhang mit der Erfindung bei spielsweise verstanden werden, dass Datenblöcke jeweils eine Information (z. B. Verkettungsprüfsumme) umfassen, die auf einen anderen Datenblock oder mehrere andere Datenblöcke des verteilten Datenbanksystems verweisen bzw. diese referenzie- ren [1] [4] [5] .

Unter „Einfügen in das verteilte Datenbanksystem" und der gleichen kann im Zusammenhang mit der Erfindung beispielswei se verstanden werden, dass insbesondere eine Transaktion bzw. die Transaktionen oder ein Datenblock mit seinen Transaktio nen an einen oder mehrere Knoten eines verteilten Datenbank- Systems übermittelt wird. Werden diese Transaktionen bei spielsweise erfolgreich validiert (z. B. durch den/die Kno ten) , werden diese Transaktionen insbesondere als neuer Da tenblock mit mindestens einem vorhandenen Datenblock des ver teilten Datenbanksystems verkettet [1] [4] [5] . Hierzu werden die entsprechenden Transaktionen beispielsweise in einem neu en Datenblock gespeichert. Insbesondere kann dieses Validie ren und/oder Verketten durch einen vertrauenswürdigen Knoten (z. B. einen Mining Node, einen Blockketten-Orakel oder eine Blockketten-Plattform) erfolgen. Insbesondere kann dabei un ter einer Blockketten-Plattform eine Blockkette als Dienst (engl. Blockkette als Service) verstanden werden, wie dies insbesondere durch Microsoft oder IBM vorgeschlagen wird. Insbesondere können ein vertrauenswürdiger Knoten und/oder ein Knoten jeweils eine Knoten-Prüfsumme (z. B. eine digitale Signatur) in einem Datenblock hinterlegen (z. B. in denen von ihnen validierten und erzeugten Datenblock, der dann verket tet wird) , um insbesondere eine Identifizierbarkeit des Ers- tellers des Datenblockes zu ermöglichen und/oder eine

Identifizierbarkeit des Knotens zu ermöglichen. Dabei gibt diese Knoten-Prüfsumme an, welcher Knoten beispielsweise den entsprechenden Datenblock mit mindestens einem anderen Daten block des verteilten Datenbanksystems verkettet hat.

Unter „Transaktion" bzw. „Transaktionen" können im Zusammen hang mit der Erfindung beispielsweise ein Smart-Contract [4] [5], eine Datenstruktur oder ein Transaktionsdatensatz ver standen werden, der insbesondere jeweils eine der Transaktio nen oder mehrere Transkationen umfasst. Unter „Transaktion" bzw. „Transaktionen" können im Zusammenhang mit der Erfindung beispielsweise auch die Daten einer Transaktion eines Daten blocks einer Bockkette (engl. Blockchain) verstanden werden. Eine Transaktion kann insbesondere einen Programmcode umfas sen, der beispielsweise einen Smart Contract realisiert. Bei spielsweise können im Zusammenhang mit der Erfindung unter Transaktion auch eine Steuertransaktionen und/oder Bestäti gungstransaktion verstanden werden. Eine Bestätigungstransak- tion kann beispielsweise nach der erfolgreichen Ausführung von Steuertransaktionen durch ein Gerät in dem verteilten Da tenbanksystem gespeichert werden (z. B. speichert das Gerät die Bestätigungstransaktion in dem verteilten Datenbanksys tem) . Eine Bestätigungstransaktion kann beispielsweise eine Bestätigung für eine Ausführung der Steuerbefehle der Steuer transaktion durch eines der Geräte umfassen, wenn ein ent sprechendes Gerät der Geräte die Steuerbefehle der Steuer transaktion erfolgreich ausgeführt hat. Hierzu kann die Be stätigungstransaktion beispielsweise eine von dem entspre chenden Gerät erzeugte Prüfsumme (z. B. eine Transaktions prüfsumme) über die ausgeführten Steuerbefehle umfassen und/oder eine Bestätigung der Ausführung umfassen, die z. B. von der Prüfsumme ebenfalls geschützt ist. Eine Bestätigungs transaktion kann beispielsweise auch in dem verteilten Daten banksystem gespeichert werden, wenn das Gerät die Steuerbe fehle teilweise ausführt und/oder die Ausführung der Steuer befehle unterbrochen wird. Dies kann z. B. der Fall sein, wenn während der Ausführung der Steuerbefehle ein Defekt an dem Gerät aufgetreten ist, der die Ausführung der Steuerbe fehle nicht mehr erlaubt (z. B. trat ein Defekt an einem Aktor oder Werkzeug auf) . Beispielsweise kann ein anderes Ge rät, das beispielsweise die Ausführungsanforderungen für die verbleibenden unausgeführten Steuerbefehle erfüllt, dann an hand der Bestätigungstransaktion diese unausgeführten Steuer befehle der entsprechenden Steuertransaktion ausführen. Ent sprechend kann die Bestätigungstransaktion beispielsweise den Grad der Ausführung bzw. eine Angabe über den ausgeführten Teil der Steuerbefehle umfassen. Alternativ oder zusätzlich kann eine Bestätigungstransaktion die Steuerbefehle angeben, die für eine erfolgreiche Ausführung der Steuerbefehle einer entsprechenden Steuertransaktion noch ausgeführt werden müs sen. Entsprechend kann beispielsweise eine Bestätigungstrans- aktion einen Datensatz umfassen, der angibt welche der Steu erbefehle noch auszuführen sind bzw. der angibt welche der Steuerbefehle für die erfolgreiche Ausführung der Steuerbe fehle einer entsprechenden Steuertransaktion fehlen. Hier durch wird beispielsweise ermöglicht, dass eine Weiterverar beitung der Steuerbefehle erfolgen kann, selbst wenn die Aus- führung der Steuerbefehle bei einem Gerät unterbrochen wurde. Entsprechend kann beispielsweise in den Ausführungsanforde rungen gefordert sein, dass mehr als ein Gerät (z. B. zwei oder drei Geräte oder mehr Geräte) die Ausführungsanforderun gen erfüllt, damit eine Ausführung der Steuerbefehle auch ga rantiert ist, selbst wenn z. B. ein Gerät während der Ausfüh rung der Steuerbefehle einer entsprechenden Steuertransaktion ausfällt .

Alternativ kann eine Transaktion beispielsweise eine Daten struktur sein, die Daten speichert (z. B. die Steuerbefehle) . Eine Transaktion kann beispielsweise auch als Nachricht (also eine Kommunikationsnachricht, welche Daten speichert) be zeichnet werden bzw. eine Nachricht sein, die z. B. entspre chende Daten (z. B. Steuerbefehle) speichert. Mit der Erfin dung können somit entsprechende Transaktionen oder Nachrich ten ausgetauscht werden. Transaktionen können dabei z. B. die Steuerbefehle und/oder Vertragsdaten und/oder andere Daten wie Videodaten, Nutzerdaten, Messdaten etc. umfassen.

Unter „Steuerbefehle" oder „Steuertransaktionen" können im Zusammenhang mit der Erfindung beispielsweise ein Smart- Contract [4] [5] oder ausführbarer Programmcode verstanden werden, der insbesondere durch das verteilte Datenbanksystem ausgeführt wird, wobei beispielsweise das verteilte Daten banksystem bzw. dessen Knoten und Infrastruktur die entspre chenden Steuerbefehle abarbeitet bzw. umsetzt. Insbesondere können mit den Steuerbefehlen die Geräte/Knoten gesteuert werden. Insbesondere können oder sollen mit den Steuerbefeh len bzw. den Steuerbefehlen der/einer Steuertransaktion die Geräte und/oder die Knoten gesteuert/angesteuert werden. Ins besondere ergeben mehrere Steuerbefehle oder Steuertransakti onen aus einem oder mehreren Datenblöcken eine Befehlsfolge, die insbesondere eine Fertigungsanlage mit den zugehörigen Fertigungsmaschinen steuern, die Geräte eines Automatisie rungsnetzes steuern oder die Geräte eines Energieversorgungs netzes steuern oder Geräte im Internet der Dinge steuern. Insbesondere sind in den Steuerbefehlen oder Steuertransakti- onen (also auch in den Befehlsfolgen) die Fertigungsanweisun gen oder Fertigungsschritte für ein Produkt kodiert. Bei den Geräten (z. B. dem entsprechenden Gerät) handelt es sich bei spielsweise um Geräte eines technischen Systems und/oder in dustriellen Anlage und/oder eines Automatisierungsnetzes und/oder einer Fertigungsanlage und/oder Geräte im Internet der Dinge, die insbesondere auch ein Knoten des verteilten Datenbanksystems sind. Dabei können die Geräte beispielsweise Feldgeräte sein, die insbesondere auch ein Knoten des ver teilten Datenbanksystems sind. Die Geräte können beispiels weise auch Bankautomaten sein, wobei die Steuerbefehle eine Geldauszahlung veranlassen. Beispielsweise können die Steuer befehle aus einer Befehlsfolge abgeleitet werden bzw. aus diesen bestimmt werden. Beispielsweise kann eine Steuertrans aktion einen oder mehrere Steuerbefehle umfassen. Beispiels weise kodieren die Steuerbefehle mechanische Bewegung

und/oder andere physikalische Größen (z. B. Druck oder Tempe ratur), die von einem entsprechenden Gerät/Knoten (z. B.

durch einen entsprechenden Aktor) in die entsprechende mecha nische Bewegung und/oder die entsprechende andere physikali sche Größen umgesetzt werden. Mit den Steuerbefehlen werden dann beispielsweise Aktoren der Geräte und/oder Knoten ge steuert. Entsprechend umfasst ein entsprechendes Gerät/Knoten beispielsweise einen Aktor. Ist ein Gerät/Knoten beispiels weise ein Roboter so würde ein Aktor auch als Effektor be zeichnet werden. Bei einem Gerät kann es sich beispielsweise auch um ein mechatronisches Gerät oder System handeln, wobei ein mechatronisches Gerät/System beispielsweise ein Aktor und/oder ein lineartechnisches Gerät ist. Ein lineartechni sches Gerät ist beispielsweise ein Gerät zur Ausführung

translativer Bewegungen. Bei einem entsprechenden Gerät kann es sich beispielsweise auch um ein Antriebssystem handeln. Mittels der Steuerbefehle und der Geräte und/oder Knoten kann beispielsweise auch ein Regelkreis geregelt und/oder gesteu ert werden, indem beispielsweise die Bestätigungstransaktio- nen für ausgeführte Steuerbefehle durch das Steuersystem aus gewertet werden und entsprechende Steuerbefehle als Reaktion auf die Bestätigungstransaktionen erzeugt werden. Für diese neuen Steuerbefehle werden dann beispielsweise wieder ent sprechende Ausführungsanforderungen bestimmt und diese werden dann beispielsweise wieder in Steuertransaktionen gespei chert, damit diese beispielsweise - wie in der Erfindung be schrieben - von den entsprechenden Geräten ausgeführt werden können. Bei den Steuerbefehlen kann es sich beispielsweise auch um Steuerbefehle zum Steuern von kryptographischen Gerä ten und/oder Verfahren handeln (z. B. eine

Nutzerauthentisierung oder Nutzerauthentifizierung) .

Unter Steuerbefehlen können beispielsweise auch Befehlsfolgen oder auch Transaktionen aus einer Datenbank bzw. eines Daten banksystems verstanden werden, die durch Geräte oder Knoten des verteilten Datenbanksystems ausgeführt werden sollen. Bei dem Datenbanksystem kann es sich beispielsweise um das ver teilte Datenbanksystem handeln, wenn es z. B. Transaktionen gibt, denen noch keine Ausführungsanforderungen zugewiesen bzw. zugeordnet wurden. Alternativ oder zusätzlich kann das Datenbanksystem eine andere Datenbank sein, z. B. eine kon ventionelle hierarchische Datenbank, von der die entsprechen den Transaktionen abgerufen werden können. Unter Steuerbefeh le können beispielsweise auch Befehlsfolgen oder auch Trans aktionen verstanden werden, die durch ein Eingabesystem be reitgestellt werden und die von dem verteilten Datenbanksys tem ausgeführt werden sollen. Unter Steuerbefehlen können beispielsweise Befehlsfolgen oder Steuerbefehle verstanden werden mit denen mechanische und/oder elektrische und/oder elektromechanische und/oder elektronische Geräte gesteuert werden .

Unter „gerätespezifischen Anforderungen" können im Zusammen hang mit der Erfindung beispielsweise ein bestimmtes Gerät, das z. B. durch einen eindeutigen Identifizierer festgelegt ist, Geräte die vorgegebene Steuerungsaktionen durchführen können (z. B. ein Fertigungsroboter, der Metallteile ver schweißen kann; ein Lackierroboter, der vorgegebene Farben auf ein Fertigungsteil auftragen kann; Geräte, die in einem Umspannwerk elektrische Verbindungen automatisiert herstel- len) oder Geräte sein, die Fertigungsschritte bzw. Steuerbe fehle mit einer vorgegebenen Präzision und/oder Geschwindig keit ausführen (z. B. Drehbänke, Fräsen und Schneidemaschi nen) . Alternativ oder zusätzlich können „gerätespezifischen Anforderungen" auch bestimmte Geräteklassen voraussetzen, die für eine Ausführung oder Abarbeitung der Steuerbefehle vorge geben werden. Insbesondere wird dabei unter einer Geräteklas se ein oder mehrere Geräte (z. B. Schleifgeräte oder Sägege räte) verstanden, die beispielsweise in der Lage sind be stimmte vorgegebene Aktionen auszuführen (z. B. ein bestimm tes Material schleifen oder sägen) . Insbesondere sind die ge rätespezifischen Anforderungen, die Anforderungen die zum Ausführen der Steuerbefehle an die entsprechenden Geräte und/oder Knoten gestellt werden. Die gerätespezifische Daten oder Geräteeigenschaften entsprechen dann beispielsweise den tatsächlichen und/oder aktuellen gerätespezifische Daten oder Geräteeigenschaften eines Gerätes. Beispielsweise wird über prüft, ob ein Gerät bzw. ein Fertigungsmaschine in der Lage ist die Steuerbefehle mit der vorgegebenen Präzision, die z. B. in den gerätespezifischen Anforderungen vorgegeben sind, auszuführen. Insbesondere können gerätespezifischen Anforde rungen auch als maschinelle und/oder mechatronische und/oder fertigungsspezifische Anforderungen bezeichnet werden. Insbe sondere können gerätespezifische Daten oder Geräteeigenschaf ten auch als maschinelle und/oder mechatronische und/oder fertigungsspezifische Daten oder Geräteeigenschaften bezeich net werden. Insbesondere können gerätespezifische Daten oder Geräteeigenschaften auch als Geräteinformationen bezeichnet werden. Insbesondere geben die gerätespezifischen Anforderun gen die Anforderungen vor, die durch die gerätespezifischen Daten eines Gerätes erfüllt sein sollen. Mit anderen Worten geben die gerätespezifischen Anforderungen einen „Soll"-Wert vor, der mit dem „Ist"-Wert von den Geräten abgeglichen wird. Die gerätespezifischen Daten stellen dabei insbesondere die aktuellen Geräteeigenschaften dar. Diese Geräteeigenschaf ten/gerätespezifischen Daten umfassen beispielsweise die UID eines Gerätes bzw. eines Systems, verfügbare Werkzeuge oder unterstützte Fertigungsverfahren (fräsen, schleifen oder 3D- drucken) , Fertigungspräzision, Fertigungskosten, Standort der Geräte, Netzwerkadresse zum Ansprechen/Ansteuern des Gerätes, berechtigte Nutzer usw.

Die gerätespezifischen Anforderungen können beispielsweise auch Sicherheitsanforderungen oder ortsbezogene Anforderungen (z. B. eine Länderangabe, eine GPS-Angabe oder Postleitzahl (PLZ) ) sein, die ein Gerät für die Ausführung der Steuerbe fehle erfüllen soll. Beispielsweise kann gefordert sein, dass das Gerät vorgegebene Sicherheitseinrichtungen aufweisen soll oder für die Ausführung der Steuerbefehle am Gerät noch eine bestimmte/vorgegebene Authentisierung und/oder Authentifizie- rung notwendig ist. Dies kann beispielsweise der Fall sein, wenn jemand an einem Gerät (z. B. einem Geldautomaten) sich Bargeld auszahlen lassen möchte. Die Steuerbefehle sind dann beispielsweise die Anforderung des Kunden eine Geldauszahlung vorzunehmen. Hat beispielsweise ein entsprechender Kunde kon figuriert, dass er z. B. nur in vorgegebenen Ländern, z. B. Italien, Frankreich und Österreich, eine Bargeldauszahlung erlaubt, so wird dies in den gerätespezifischen Anforderungen (und insbesondere ggf. implizit in den Ausführungsanforderun gen ebenfalls) gespeichert. Ein Geldautomat in Andorra würde dann ggf. keine Auszahlung erlauben bzw. diese unterbinden. Alternativ kann dies z. B. auch durch einen anderen Knoten des verteilten Datenbanksystems unterbunden werden oder durch einen Smart-Contract des verteilten Datenbanksystems unter bunden werden. Auch kann beispielsweise durch die Sicher- heitsanforderungen eine spezifische Authentifizierung des Kunden gefordert sein. Beispielsweise, dass ein Pin für ein Auszahlung eingegeben wird (was z. B. in den USA nicht zwangsläufig der Fall ist) und/oder eine bestimmte Pin-Länge gefordert ist (z. B. 8 Zeichen) und/oder, dass andere zusätz liche Authentisierungsverfahren gefordert sind (z. B. 2 Fak- tor-Authentisierung, Mobile-Tan, Google Authenticator)

Alternativ kann das Bestimmungsmodul die Steuerbefehle auch weiter analysieren und, wenn beispielsweise das Bestimmungs modul bereits feststellt, dass die gerätespezifischen Anfor- derungen nicht erfüllt sind oder nicht erfüllbar sind, eine Steuertransaktion erstellen, die das entsprechende Gerät oder das System darauf hinweist und ggf. eine Ausführung der Steu erbefehle unterbindet. Alternativ kann beispielsweise auch keine Steuertransaktion erzeugt werden und es gibt irgendwann einen Timeout für die Ausführung der Steuerbefehle, z. B. nach einem vorgegebenen Zeitraum, der vorzugsweise

konfigurierbar ist.

Unter „systemspezifischen Daten " oder „gerätespezifische Da ten" können im Zusammenhang mit der Erfindung beispielsweise auch Systemeigenschaften oder Geräteeigenschaften eines Gerä tes oder eines technischen Systems verstanden werden. Die ge rätespezifischen Daten oder systemspezifischen Daten sind beispielsweise aktuelle Geräteeigenschaften oder Systemeigen schaften. Die gerätespezifischen Daten oder systemspezifi schen Daten (bzw. die entsprechenden Eigenschaften) können beispielsweise für ein technisches System, die Geräte eines technischen Systems oder ein Gerät folgende Daten umfassen: die UID des Gerätes bzw. des Systems, verfügbare Werkzeuge oder unterstützte Fertigungsverfahren (fräsen, schleifen oder 3D-drucken) des Gerätes bzw. des Systems, Fertigungspräzision des Gerätes bzw. des Systems, Fertigungskosten des Gerätes bzw. des Systems, Standort des Gerätes bzw. des Systems, Netzwerkadresse zum Ansprechen/Ansteuern des Gerätes bzw. des Systems, berechtigte Nutzer für das Gerät oder das System, Namen des Gerätes bzw. des Systems, usw.

Je nach gewählter Implementierung können beispielsweise die systemspezifischen Daten übergreifend für ein oder mehreren Geräte eines technischen Systems realisiert sein, indem z. B. über eine UID/ (Netzwerk- ) Adresse des technischen Systems auch die entsprechenden Geräte des technischen Systems adressiert, identifiziert oder mit diesen kommuniziert werden können. Al ternativ oder zusätzlich können beispielsweise die gerätespe zifischen Daten für das eine Gerät oder die mehreren Geräte des technischen Systems in den systemspezifischen Daten um fasst sein. Unter einem „technischen System" können im Zusammenhang mit der Erfindung beispielsweise ein Gerät oder mehrere Geräte verstanden werden, die kommunikativ miteinander und/oder mit einem verteilten Datenbanksystem (z. B. das erste verteilte Datenbanksystem) verbunden sind.

Unter „vorausgesetzte Steuerbefehle" können im Zusammenhang mit der Erfindung beispielsweise Steuerbefehle verstanden werden, die insbesondere durch andere Knoten (des verteilten Datenbanksystems) und/oder durch eines oder mehrere der Gerä te bereits ausgeführt sein müssen, bevor die entsprechenden Steuerbefehle ausgeführt werden können. Insbesondere sind für diese vorausgeführten Steuerbefehle entsprechende Bestäti gungstransaktionen in dem verteilten Datenbanksystem gespei chert (z. B. in Datenblöcken des verteilten Datenbanksys tems), wenn z. B. die vorausgeführten Steuerbefehle durch Ge räte oder Knoten erfolgreich ausgeführt wurden. Insbesondere werden bei diesen vorausgeführten oder vorausgesetzten Steu erbefehlen auch die diesen vorausgeführten Steuerbefehlen zu geordneten gerätespezifischen Anforderungen mit überprüft bzw. mit berücksichtigt. Mittels der Ausführungsanforderungen wird insbesondere sichergestellt, dass beispielsweise eine Reihenfolge der Fertigungsschritte beim Erstellen eines Pro duktes eingehalten wird. Es wird damit beispielsweise er reicht, dass die Fertigungsreihenfolge in sinnvoller Weise eingehalten wird. Es wird z. B. verhindert, dass ein Ferti gungsschritt durch einen anderen zerstört wird, nur weil die Fertigungsreihenfolge nicht eingehalten wurde. Auf ähnliche Weise kann insbesondere auch eine Steuerung von einem Ener gieversorgungsnetz gesteuert werden, indem z. B. Transforma toren oder Spannungskoppler in der richtigen Reihenfolge ein geschaltet oder mit dem Energieversorgungsnetz verbunden wer den. Werden beispielsweise für das Ausführen von Steuerbefeh len bzw. Steuertransaktionen keine vorausgesetzten Steuerbe fehle benötigt, können die vorausgesetzten Steuerbefehle leer sein. Beispielsweise können diese mit einer Null belegt sein, einem Leerstring belegt sein oder einem Wert der angibt, dass keine vorausgesetzten Steuerbefehle notwendig sind. Alterna tiv kann beispielsweise einem Teil der Steuerbefehle keine Ausführungsanforderung zugeordnet sein, wobei insbesondere zumindest einem der Steuerbefehle zumindest eine Ausführungs anforderung zugeordnet ist. Beispielsweise handelt es sich bei den vorausgesetzten Steuerbefehlen um Steuerbefehle, die z. B. von einem Gerät und/oder Knoten in eine vorgegebene me chanische Bewegung und/oder andere physikalische Größen (z.

B. Druck oder Temperatur) umgesetzt wurden oder vor der Abar beitung der Steuerbefehle umgesetzt sein sollen (z. B. für ein Vorbereiten eines Werkstückes) . Mit den vorausgesetzten Steuerbefehlen (sofern diese erfolgreich ausgeführt) wurden dann beispielsweise die Aktoren der Geräte und/oder der Kno ten derart angesteuert, dass ein Werkstück in den Zustand bzw. Fertigungszustand versetzt wurde, dass z. B. eine Wei terverarbeitung möglich ist oder nach der Abarbeitung der vo rausgesetzten Steuerbefehle ermöglicht wird. Entsprechend können dann z. B. die entsprechenden Geräten/Knoten mit den Steuerbefehlen der Steuertransaktion derart angesteuert wer den, dass die Weiterverarbeitung erfolgt (wenn z. B. die vo rausgesetzten Steuerbefehle ausgeführt wurden und für diese insbesondere Bestätigungstransaktionen vorliegen) . Mittels der vorausgesetzten Steuerbefehle und der Geräte und/oder Knoten kann beispielsweise auch ein Regelkreis geregelt und/oder gesteuert werden, indem beispielsweise die Bestäti gungstransaktionen für ausgeführte/vorausgesetzte Steuerbe fehle durch das Steuersystem ausgewertet werden und entspre chende Steuerbefehle als Reaktion auf die Bestätigungstrans- aktionen erzeugt werden. Bei den vorausgesetzten Steuerbefeh len kann es sich beispielsweise auch um Steuerbefehle han deln, mit denen ein kryptographisches Gerät und/oder Verfah ren angesteuert wurde (z. B. eine Nutzerauthentisierung oder Nutzerauthentifizierung) .Alternativ oder zusätzlich kann durch die vorausgesetzten Steuerbefehle beispielsweise eine Erfassung von bestimmten Messgrößen (z. B. durch einen Sen sor) vorgegeben sein. Beispielsweise wird damit vorgegeben, dass entsprechende Transaktionen mit entsprechenden Messwer ten vorgegebene Messwertbereiche oder Schwellwerte einhalten sollen. Die Messwerte können beispielsweise einen Wert einer gemessenen Größe (z. B. 30 °C) und/oder Datum/Uhrzeit der Er fassung und/oder Ort der Erfassung und/oder Sensortyp

und/oder weitere Informationen über den Sensor (z. B. Messge nauigkeit) .

Insbesondere ist unter „Speichern von Transaktionen in Daten blöcken" und dergleichen ein direktes Speichern oder indirek tes Speichern zu verstehen. Unter einem direkten Speichern kann dabei beispielsweise verstanden werden, dass der ent sprechende Datenblock (des verteilten Datenbanksystems) oder die entsprechende Transaktion des verteilten Datenbanksys tems) die jeweiligen Daten umfasst. Unter einem indirekten Speichern kann dabei beispielsweise verstanden werden, dass der entsprechende Datenblock oder die entsprechende Transak tion eine Prüfsumme und optional einen Zusatzdatensatz (z. B. einen Verweis oder eine Angabe zu einem Speicherort) für ent sprechende Daten umfasst und die entsprechenden Daten somit nicht direkt in dem Datenblock (oder der Transaktion) gespei chert sind (also stattdessen nur eine Prüfsumme für diese Da ten) . Insbesondere können beim Speichern von Transaktionen in Datenblöcken diese Prüfsummen beispielsweise validiert wer den, so wie dies beispielsweise unter „Einfügen in das ver teilte Datenbanksystem" erläutert ist.

Unter einem „Programmcode" (z. B. ein Smart-Contract ) kann im Zusammenhang mit der Erfindung beispielsweise ein Programmbe fehl oder mehrere Programmbefehle verstanden werden, die ins besondere in einer oder mehreren Transaktionen gespeichert sind. Der Programmcode ist insbesondere ausführbar und wird beispielsweise durch das verteilte Datenbanksystem ausge führt. Dies kann beispielsweise mittels einer Ausführungsum gebung (z. B. eine virtuellen Maschine) realisiert werden, wobei die Ausführungsumgebung bzw. der Programmcode vorzugs weise Turing-vollständig sind. Der Programmcode wird vorzugs weise durch die Infrastruktur des verteilten Datenbanksystems ausgeführt [4] [5] . Dabei wird beispielsweise eine virtuelle Maschine durch die Infrastruktur des verteilten Datenbanksys tems realisiert. Unter einem „separaten und/oder direkten Kommunikationskanal" kann im Zusammenhang mit der Erfindung beispielsweise eine Datenübertragung (z. B. ein Senden, ein Empfangen, ein Über tragen, ein Bereitstellen oder ein Übermitteln) mittels eines Kommunikationskanals verstanden werden, wie dieser beispiels weise durch das Lightning-Netzwerk zunächst nur für die Über tragung von Kryptowährung realisiert ist [9]. Beispielsweise können über diesen Kanal Transaktionen/Nachrichten schneller verschickt werden und eine Bestätigung über diesen Datenaus tausch im verteilten Datenbanksystem gespeichert werden. Da mit können beispielsweise wichtige und/oder zeitkritische Steuerbefehle bzw. Steuertransaktionen mit höherer Geschwin digkeit an ein entsprechendes Gerät übertragen werden und da bei z. B. die langsamere Datenübertragung des verteilten Da tenbanksystems (z. B. bei der Replikation der Datenblö cke/Transaktionen) vermieden werden. Beispielsweise können für die Erfindung und die genannten Aspekte, Ausführungsbei spiele, Ausführungsformen der Erfindung und ihre Varianten für eine Datenübertragung zwischen einem Gerät (und/oder Kno ten) ein separater und/oder direkter Kommunikationskanal auf gebaut werden. Beispielsweise werden bei einem direkten Kom munikationskanal die Transaktionen/Nachrichten direkt zwi schen einem Sender (z. B. das (erste) Speichermodul und/oder das (erste) Bestimmungsmodul) und einem Empfänger (z. B. das Gerät, das die Steuerbefehle ausführen soll) ausgetauscht oh ne, dass weitere Knoten und/oder Geräte des verteilten Daten banksystems in diesem Datenaustausch involviert sind. Hinge gen können bei einem separaten Kommunikationskanal Knoten und/oder Geräte des verteilten Datenbanksystems in den Daten austausch involviert sein. Wurde der separate und/oder direk te Kommunikationskanal erfolgreich zwischen dem Sender und dem Empfänger aufgebaut (es wurde also hierdurch insbesondere eine Kommunikationsverbindung etabliert) , so können Daten beispielsweise in Form von Transaktionen oder Nachrichten zwischen dem Sender und dem Empfänger ausgetauscht werden. Beispielsweise können die notwendigen Daten für ein Ermitteln der Ausführbarkeit und/oder die Steuertransaktionen zwischen dem Sender und/dem Empfänger ausgetauscht werden. Wird bei spielsweise der Kommunikationskanal geschlossen/beendet (also es wird insbesondere eine Kommunikationsverbindung beendet) so wird beispielsweis ein Ergebnis der Datenübertragung z. B. in Form von Transaktionen (z. B. als eine Übertragungsbestä tigungstransaktion) in dem verteilten Datenbanksystem gespei chert (z. B. in Datenblöcken des verteilten Datenbanksys tems) . Das Ergebnis der Datenübertragung kann beispielsweise eine Bestätigung des der Übertragung oder des Empfangs der entsprechenden Transaktionen/Nachrichten sein und/oder ein Analyseergebnis und/oder die letzte übertragene Transakti on/Nachricht, die über den separaten und/oder direkten Kommu nikationskanal übertragen wurde bevor der Kommunikationskanal geschlossen wurde. Das Speichern der Transaktion mit dem Er gebnis kann beispielsweise durch den Sender und/oder Empfän ger erfolgen. Bei dem Analyseergebnis kann es sich beispiels weise um die Bestätigung der Ausführbarkeit der Steuerbefehle durch ein Gerät handeln, wobei beispielsweise ein entspre chendes Gerät bestätigt hat, dass es die Steuerbefehle aus führen kann. Dies kann beispielsweise wiederum in einer

Transaktion (z. B. in einer Ausführbarkeitsbestätigungstrans- aktion) gespeichert werden und z. B. in den Ausführungsanfor derungen (z. B. in den gerätespezifischen Anforderungen) ge speichert werden. Alternativ oder zusätzlich wird die Aus- führbarkeitsbestätigungstransaktion in dem verteilten Daten banksystem gespeichert. Die Ausführbarkeitsbestätigungstrans- aktion umfasst dabei beispielsweise einen eindeutigen

Identifizierer für das Gerät, das in der Lage ist die Steuer befehle auszuführen bzw. die entsprechenden Ausführungsanfor derungen erfüllt. Alternativ oder zusätzlich umfasst die Aus- führbarkeitsbestätigungstransaktion beispielsweise Daten über die Ausführung z. B. wie gut bzw. zu welchem Grad die Ausfüh rungsanforderungen erfüllt werden (z. B. wie schnell die Steuerbefehle abgearbeitet sind, wann diese sicher abgearbei tet sind, wie genau oder präzise die Steuerbefehle ausgeführt werden - beispielsweise beim Ausführen von Fertigungssteuer befehlen) . Alternativ oder zusätzlich umfasst die Ausführbar- keitsbestätigungstransaktion beispielsweise gerätespezifische Daten des entsprechenden Gerätes, die für die Ausführung der Steuerbefehle relevant sind, wobei z. B. die gerätespezifi sche Daten von dem entsprechenden Gerät zum Zeitpunkt der Be stätigung der Ausführbarkeit durch das Gerät ermittelt wur den. Dabei erfolgt z. B. die Bestätigung der Ausführbarkeit und die Ermittlung der gerätespezifischen Daten (in etwa) zum gleichen Zeitpunkt - beispielsweise innerhalt eines Zeitfens ters von wenigen Sekunden oder Minuten. Beispielsweise können die Daten der Ausführbarkeitsbestätigungstransaktion auch zwischen dem Sender und dem Empfänger ausgetauscht worden sein, bevor die Ausführbarkeitsbestätigungstransaktion z. B. in dem verteilten Datenbanksystem gespeichert wird. Die Aus- führbarkeitsbestätigungstransaktion kann beispielsweise noch kryptographisch geschützt sein (z. B. kann diese verschlüs selt sein oder durch eine Transaktionsprüfsumme geschützt sein) . Auch können beispielsweise die Steuertransaktionen auf analoge Weise an das entsprechende Gerät übertragen werden, das die Steuerbefehle ausfühlen soll bzw. kann. Hierzu kann beispielsweise ein weiterer separater und/oder direkter Kom munikationskanal zwischen den Sender und dem Empfänger aufge baut werden. Alternativ der oben genannte Kommunikationskanal beispielsweise weiterverwendet werden. Über den entsprechen den Kommunikationskanal werden dann beispielsweise die ent sprechenden Steuertransaktionen an das entsprechende Gerät übertragen. Wird beispielsweise der Kommunikationskanal wie der geschlossen/beendet, wenn die Übertragung (erfolgreich) abgeschlossen wurde, wird das Ergebnis der Übertragung z. B. als eine Übertragungsbestätigungstransaktion in dem verteil ten Datenbanksystem gespeichert. Auch kann beispielsweise die zuletzt über den Kommunikationskanal ausgetauschte Nachricht in der Übertragungsbestätigungstransaktion gespeichert werden (z. B. falls der Kommunikationskanal unterbrochen wird) und die Übertragungsbestätigungstransaktion z. B. dann im ver teilten Datenbanksystem gespeichert werden. Diese zuletzt ausgetauschte Nachricht kann beispielsweise verwendet werden, um bei einem erneuten Aufbau des Kommunikationskanals den Da tenaustausch bzw. die Datenübertragung fortzusetzen. Die Übertragungsbestätigungstransaktion kann beispielsweise auch kryptographisch geschützt sein. Die Übertragungsbestätigungs transaktion kann beispielsweise die Steuerbefehle und/oder die Steuertransaktion und/oder die letzte ausgetauschte Nach richt zwischen dem Sender und dem Empfänger umfassen. Eine Fortsetzung des Datenaustausches bzw. der Datenübertragung kann beispielsweise auch für andere Datenübertragungen ge nutzt werden und ist nicht speziell auf die Datenübertragung bzw. den Datenaustausch von Steuertransaktionen beschränkt.

Der separate und/oder direkte Kommunikationskanal ist dahin gehend vorteilhaft um eine Übertragungsgeschwindigkeit und/oder Übertragungslatenzzeit zu verbessern. Es ist bei spielsweise auch ein Hybridverfahren möglich, indem bei spielsweise ein entsprechender Kommunikationskanal für zeit kritische Steuerbefehle (z. B. mit hoher Priorität) genutzt wird. Beispielsweise kann anhand der Ausführungsanforderungen (z. B. es sind zeitkritische Steuerbefehle oder Steuerbefehle für eine Echtzeitanwendung) bestimmt werden, ob es sich um entsprechende Steuerbefehle handelt, die über einen entspre chenden separaten Kommunikationskanal übertragen werden sol len. Alternativ oder zusätzlich kann das (erste) Bestimmungs modul beispielsweise beim bestimmen der Ausführungsanforde rungen entsprechende Übertragungsanforderungen für eine Da tenübertragung der Steuertransaktionen bestimmen. Die Über tragungsanforderungen können beispielsweise in den Ausfüh rungsanforderungen gespeichert werden. Anhand der Übertra gungsanforderungen kann dann beispielsweise das Speichermodul ermitteln, ob die Steuertransaktionen über eine Übertragung an das entsprechende Gerät in dem verteilten Datenbanksystem gespeichert werden oder ob der separate und/oder direkte Kom munikationskanal für eine Datenübertragung an das entspre chende Gerät genutzt wird. Die Datenübertragung kann dann beispielsweise durch das (erste) Speichermodul erfolgen, das hierzu z. B. ein entsprechendes Kommunikationsmodul (z. B. eine Netzwerkschnittstelle) umfasst.

Unter einem „Smart Contract" kann im Zusammenhang mit der Er findung beispielsweise ein ausführbarer Programmcode verstan- den werden [4] [5] (siehe insbesondere Definition „Programm code") . Der Smart Contract ist vorzugsweise in einer Transak tion eines verteilten Datenbanksystems (z. B. eine Blockket te) gespeichert, beispielsweise in einem Datenblock des ver teilten Datenbanksystems. Beispielsweise kann der Smart Contract auf die gleiche Weise ausgeführt werden, wie dies bei der Definition von „Programmcode", insbesondere im Zusam menhang mit der Erfindung, erläutert ist.

Unter „Smart-Contract-Prozess" kann im Zusammenhang mit der Erfindung insbesondere ein Ausführen eines Programmcodes (z. B. der Steuerbefehle oder eines Smart-Contracts ) in einem Prozess durch das verteilte Datenbanksystem bzw. deren Infra struktur verstanden werden.

Unter „Proof-of-Work-Nachweis" kann im Zusammenhang mit der Erfindung beispielsweise ein Lösen einer rechenintensiven Aufgabe verstanden werden, die insbesondere abhängig vom Da- tenblock-Inhalt/Inhalt einer bestimmten Transaktion zu lösen ist [1] [4] [5] . Eine solche rechenintensive Aufgabe wird bei spielsweise auch als kryptographisches Puzzle bezeichnet.

Unter einem „verteilten Datenbanksystem", das beispielsweise auch als verteilte Datenbank bezeichnet werden kann, kann im Zusammenhang mit der Erfindung beispielsweise eine dezentral verteilte Datenbank, eine Blockkette (engl. Blockchain) , ein distributed Ledger, ein verteiltes Speichersystem, ein dis- tributed ledger technology (DLT) based System (DLTS) , ein revisionssicheres Datenbanksystem, eine Cloud, ein Cloud- Service, eine Blockkette in einer Cloud oder eine Peer-to- Peer Datenbank verstanden werden. Auch können beispielsweise unterschiedliche Implementierungen einer Blockkette oder ei nes DLTS verwendet werden, wie z. B. eine Blockkette oder ein DLTS, die mittels eines Directed Acylic Graph (DAG) , eines kryptographischen Puzzles, einem Hashgraph oder eine Kombina tion aus den genannten Implementierungsvarianten [6] [7] . Auch können beispielsweise unterschiedliche Konsensusverfahren (engl, consensus algorithms) implementiert werden. Dies kann beispielsweise ein Konsensusverfahren mittels eines kryptog- raphischen Puzzles, Gossip about Gossip, Virtual Voting oder eine Kombination der genannten Verfahren sein (z. B. Gossip about Gossip kombiniert mit Virtual Voting) [6] [7] . Wird bei spielsweise eine Blockkette verwendet, so kann diese insbe sondere mittels einer Bitcoin-basierten Realisierung oder ei ner Ethereum-basierten Realisierung umgesetzt werden

[1] [4] [5] . Unter einem „verteilten Datenbanksystem" kann bei spielsweise auch ein verteiltes Datenbanksystem verstanden werden, von dem zumindest ein Teil seiner Knoten und/oder Ge räte und/oder Infrastruktur durch eine Cloud realisiert sind. Beispielsweise sind die entsprechenden Komponenten als Kno ten/Geräte in der Cloud (z. B. als virtueller Knoten in einer virtuellen Maschine) realisiert. Dies kann beispielsweise mittels VM-Ware, Amazon Web Services oder Microsoft Azure er folgen. Aufgrund der hohen Flexibilität der erläuterten Im plementierungsvarianten, können insbesondere auch Teilaspekte der genannten Implementierungsvarianten miteinander kombi niert werden, indem z. B. ein Hashgraph als Blockkette ver wendet wird, wobei die Blockkette selbst z. B. auch blocklos sein kann.

Wird beispielsweise ein Directed Acylic Graph (DAG) verwendet (z. B. IOTA oder Tangle) , sind insbesondere Transaktionen oder Blöcke oder Knoten des Graphen miteinander über gerich tete Kanten verbunden. Dies bedeutet insbesondere, dass (al le) Kanten (immer) die gleiche Richtung haben, ähnlich wie dies z. B. bei Zeit ist. Mit anderen Worten ist es insbeson dere nicht möglich rückwärts (also entgegen der gemeinsamen gleichen Richtung) die Transaktionen oder die Blöcke oder die Knoten des Graphen anzulaufen bzw. anzuspringen. Azyklisch bedeutet dabei insbesondere, dass es keine Schleifen bei ei nem Durchlaufen des Graphen gibt.

Bei dem verteilten Datenbanksystem kann es sich beispielswei se um ein öffentliches verteiltes Datenbanksystem (z. B. eine öffentliche Blockkette) oder ein geschlossenes (oder priva- tes) verteiltes Datenbanksystem (z. B. eine private Blockket te) handeln.

Handelt es sich beispielsweise um ein öffentliches verteiltes Datenbanksystem, bedeutet dies, dass neue Knoten und/oder Ge räte ohne Berechtigungsnachweise oder ohne Authentifizierung oder ohne Anmeldeinformationen oder ohne Credentials dem ver teilten Datenbanksystem beitreten können bzw. von diesem ak zeptiert werden. Insbesondere können in einem solchen Fall die Betreiber der Knoten und/oder Geräte anonym bleiben.

Handelt es sich bei dem verteilten Datenbanksystem beispiels weise um ein geschlossenes verteiltes Datenbanksystem, benö tigen neue Knoten und/oder Geräte beispielsweise einen gülti gen Berechtigungsnachweis und/oder gültige Authentifizie- rungsinformationen und/oder gültige Credentials und/oder gül tige Anmeldeinformationen, um dem verteilten Datenbanksystem beitreten können bzw. von diesem akzeptiert zu werden.

Bei einem verteilten Datenbanksystem kann es sich beispiels weise auch um ein verteiltes Kommunikationssystem zum Daten austausch oder ein Peer 2 Peer Kommunikationssystem oder eine Peer 2 Peer Applikation handeln. Dies kann beispielsweise ein Netzwerk oder ein Peer-2-Peer Netzwerk sein.

Bei einem/dem verteilten Datenbanksystem kann es sich bei spielsweise auch um ein dezentrales verteiltes Datenbanksys tem und/oder ein dezentrales verteiltes Kommunikationssystem handeln .

Unter „Datenblock", der insbesondere je nach Kontext und Rea lisierung auch als „Glied" oder „Block" bezeichnet sein kann, kann im Zusammenhang mit der Erfindung beispielsweise ein Da tenblock eines verteilten Datenbanksystems (z. B. eine Block kette oder eine Peer to Peer Datenbank) verstanden werden, die insbesondere als Datenstruktur realisiert ist und vor zugsweise jeweils eine der Transaktionen oder mehrere der Transaktionen umfasst. Bei einer Implementierung kann bei- spielsweise die Datenbank (oder das Datenbanksystem) ein DLT basiertes System (DLTS) oder eine Blockkette sein und ein Da tenblock ein Block der Blockkette oder des DLTS. Ein Daten block kann beispielsweise Angaben zur Größe (Datengröße in Byte) des Datenblocks, einen Datenblock-Header (engl. Block header) , einen Transaktionszähler und eine oder mehrere

Transaktionen umfassen [1]. Der Datenblock-Header kann bei spielsweise eine Version, eine Verkettungsprüfsumme, eine Da tenblockprüfsumme, einen Zeitstempel, einen Proof-of-Work Nachweis und eine Nonce (Einmalwert, Zufallswert oder Zähler, der für den Proof-of-Work Nachweis verwendet wird) umfassen [1] [4] [5] . Bei einem Datenblock kann es sich beispielsweise auch nur um einen bestimmten Speicherbereich oder Adressbe- reich der Gesamtdaten handeln, die in dem verteilten Daten banksystem gespeichert sind. Damit lassen sich beispielsweise blocklose (engl, blockless) verteilte Datenbanksysteme, wie z. B. die IoT Chain (ITC), IOTA, und Byteball, realisieren. Hierbei werden insbesondere die Funktionalitäten der Blöcke einer Blockkette und der Transaktionen miteinander derart kombiniert, dass z. B. die Transaktionen selbst die Sequenz oder Kette von Transaktionen (des verteilten Datenbanksys tems) absichern (also insbesondere sicherheitsgeschützt ge speichert werden) . Hierzu können beispielsweise mit einer Verkettungsprüfsumme die Transaktionen selbst miteinander verkettet werden, indem vorzugsweise eine separate Prüfsumme oder die Transaktionsprüfsumme einer oder mehrerer Transakti onen als Verkettungsprüfsumme dient, die beim Speichern einer neuen Transaktion in dem verteilten Datenbanksystem in der entsprechenden neuen Transaktion mit gespeichert wird. In ei ner solchen Ausführungsform kann ein Datenblock beispielswei se auch eine oder mehrere Transaktionen umfassen, wobei im einfachsten Fall beispielsweise ein Datenblock einer Transak tion entspricht.

Unter „Nonce" kann im Zusammenhang mit der Erfindung bei spielsweise eine kryptographische Nonce verstanden werden (Abkürzung für: „used only once"[2] oder „number used

once"[3]). Insbesondere bezeichnet eine Nonce einzelne Zah- len- oder eine Buchstabenkombination, die vorzugsweise ein einziges Mal in dem jeweiligen Kontext (z. B. Transaktion, Datenübertragung) verwendet wird.

Unter „vorhergehende Datenblöcke eines (bestimmten) Datenblo ckes des verteilten Datenbanksystems" kann im Zusammenhang mit der Erfindung beispielsweise der Datenblock des verteil ten Datenbanksystems verstanden werden, der insbesondere ei nem (bestimmten) Datenblock direkt vorhergeht. Alternativ können unter „vorhergehender Datenblöcke eines (bestimmten) Datenblockes des verteilten Datenbanksystems" insbesondere auch alle Datenblöcke des verteilten Datenbanksystems ver standen werden, die dem bestimmten Datenblock vorhergehen. Hierdurch kann beispielsweise die Verkettungsprüfsumme oder die Transaktionsprüfsumme insbesondere nur über das dem be stimmten Datenblock direkt vorhergehenden Datenblock (bzw. deren Transaktionen) oder über alle dem ersten Datenblock vorhergehenden Datenblöcke (bzw. deren Transaktionen) gebil det werden.

Unter einem „Blockketten-Knoten" , „Knoten", „Knoten eines verteilten Datenbanksystems" und dergleichen, können im Zu sammenhang mit der Erfindung beispielsweise Geräte (z. B. Feldgeräte) , Rechner, Smart-Phones , Clients oder Teilnehmer verstanden werden, die Operationen (mit) dem verteilten Da tenbanksystem (z. B. eine Blockkette) durchführen [1] [4] [5] . Solche Knoten können beispielsweise Transaktionen eines ver teilten Datenbanksystems bzw. deren Datenblöcke ausführen oder neue Datenblöcke mit neuen Transaktionen in das verteil te Datenbanksystem mittels neuer Datenblöcke einfügen bzw. verketten. Insbesondere kann dieses Validieren und/oder Ver ketten durch einen vertrauenswürdigen Knoten (z. B. einem Mi ning Node) oder ausschließlich durch vertrauenswürdige Knoten erfolgen. Bei einem vertrauenswürdigen Knoten handelt es sich beispielsweise um einen Knoten, der über zusätzliche Sicher heitsmaßnahmen verfügt (z. B. Firewalls, Zugangsbeschränkun gen zum Knoten oder ähnliches) , um eine Manipulation des Kno tens zu verhindern. Alternativ oder zusätzlich kann bei- spielsweise ein vertrauenswürdiger Knoten beim Verketten ei nes neuen Datenblocks mit dem verteilten Datenbanksystem, ei ne Knotenprüfsumme (z. B. eine digitale Signatur oder ein Zertifikat) in dem neuen Datenblock speichern. Damit kann insbesondere ein Nachweis bereitgestellt werden, der angibt, dass der entsprechende Datenblock von einem bestimmten Knoten eingefügt wurde bzw. seine Herkunft angibt. Bei den Geräten (z. B. dem entsprechenden Gerät) handelt es sich beispiels weise um Geräte eines technischen Systems und/oder industri ellen Anlage und/oder eines Automatisierungsnetzes und/oder einer Fertigungsanlage, die insbesondere auch ein Knoten des verteilten Datenbanksystems sind. Dabei können die Geräte beispielsweise Feldgeräte sein oder Geräte im Internet der Dinge sein, die insbesondere auch ein Knoten des verteilten Datenbanksystems sind. Knoten können beispielsweise auch zu mindest einen Prozessor umfassen, um z. B. ihre computerim plementierte Funktionalität auszuführen.

Unter einem „Blockketten-Orakel" und dergleichen können im Zusammenhang mit der Erfindung beispielsweise Knoten, Geräte oder Rechner verstanden werden, die über ein Sicherheitsmodul verfügen, das beispielsweise mittels Software- Schutzmechanismen (z. B. kryptographische Verfahren), mecha nische Schutzeinrichtungen (z. B. ein abschließbares Gehäuse) oder elektrische Schutzeinrichtungen verfügt (z. B. Tamper- Schutz oder ein Schutzsystem, das die Daten des Sicherheits moduls bei einer unzulässigen Nutzung/Behandlung des Block ketten-Orakel löscht umfasst) . Das Sicherheitsmodul kann da bei beispielsweise kryptographische Schlüssel umfassen, die für die Berechnung der Prüfsummen (z. B. Transaktionsprüfsum men oder Knotenprüfsummen) notwendig sind.

Unter einem „Rechner" kann im Zusammenhang mit der Erfindung beispielsweise ein Computer ( System) , ein Client, ein Smart- Phone, ein Gerät oder ein Server, die jeweils außerhalb der Blockkette angeordnet sind bzw. kein Teilnehmer des verteil ten Datenbanksystems (z. B. der Blockkette) sind (also keine Operationen mit dem verteilten Datenbanksystem durchführen oder diese nur abfragen, ohne jedoch Transaktionen durchzu führen, Datenblöcke einfügen oder Proof-of-Work-Nachweise be rechnen) , verstanden werden. Alternativ kann insbesondere auch unter einem Rechner ein Knoten des verteilten Datenbank systems verstanden werden. Mit anderen Worten kann insbeson dere unter einem Gerät ein Knoten des verteilten Datenbank systems verstanden werden oder auch ein Gerät außerhalb der Blockkette bzw. des verteilten Datenbanksystems verstanden werden. Ein Gerät außerhalb des verteilten Datenbanksystems kann beispielsweise auf die Daten (z. B. Transaktionen oder Steuertransaktionen) des verteilten Datenbanksystems zugreift und/oder von Knoten (z. B. mittels Smart-Contracts und/oder Blockketten-Orakel ) angesteuert werden. Wird beispielsweise eine Ansteuerung bzw. Steuerung eines Gerätes (z. B. ein als Knoten ausgebildetes Gerät oder ein Gerät außerhalb des ver teilten Datenbanksystems) durch einen Knoten realisiert, kann dies z. B. mittels eines Smart-Contracts erfolgen, der insbe sondere in einer Transaktion des verteilten Datenbanksystems gespeichert ist. Ein Gerät oder Knoten kann beispielsweise einen Aktor umfassen. Bei einem Gerät oder Knoten kann es sich beispielsweise auch um ein mechatronisches Gerät oder System handeln, wobei ein mechatronisches Gerät/System bei spielsweise ein Aktor und/oder ein lineartechnisches Gerät ist. Ein lineartechnisches Gerät ist beispielsweise ein Gerät zur Ausführung translativer Bewegungen. Bei einem entspre chenden Gerät kann es sich beispielsweise auch um ein An triebssystem handeln. Bei einem Gerät oder Knoten kann es sich beispielsweise kryptographisches Gerät/Knoten handeln (z. B. zum Durchführen einer Nutzerauthentisierung oder Nut- zerauthentifizierung) .

Mit der Erfindung ist es insbesondere möglich eine dezentrale Infrastruktur zur Ausführung von Steuerbefehlen zu realisie ren. Insbesondere lässt sich dadurch eine Steuerung der Gerä te im Internet der Dinge dezentral durchführen, selbst wenn sich einzelne Betreiber von Geräten und/oder Gerätegruppen der Geräte nicht vertrauen. Insbesondere können dabei die Ge räte als Knoten des verteilten Datenbanksystems ausgebildet sein und es kann beispielsweise zum Ausführen oder Abarbeiten der Steuerbefehle dynamisch durch das verteilte Datenbanksys tem bzw. ein entsprechender Knoten oder ein entsprechendes Gerät gefunden werden, das die geforderten Ausführungsanfor derungen zum Ausführen der Steuerbefehle erfüllt. Ein un rechtmäßiges Bevorzugen eines Knotens (z. B. durch Be

trug/Bestechung) kann deutlich erschwert werden, wenn bei spielsweise eine blockkettenbasierte Implementierung des ver teilten Datenbanksystems genutzt wird, da ein Vertrauens schutz bzw. ein Manipulationsschutz analog zu Bitcoin bei den Steuertransaktionen bzw. Bestätigungstransaktionen realisiert wird. Insbesondere kann auf eine zentrale Instanz, die eine Authentisierung der Knoten vornimmt, verzichtet werden. Wird beispielsweise eine Realisierung des Datenbanksystems mittels einer Blockkette, die insbesondere eine kryptographische Wäh rung wie Bitcoin implementiert, so kann beispielsweise auf einfache und effiziente Weise eine Abrechnung für eine Abar beitung der Steuerbefehle einem Auftraggeber, der die Steuer befehle eingestellt hat bzw. der eine Befehlsfolge (aus denen z. B. die Steuerbefehle hergeleitet sind) bereitgestellt hat, abgerechnet werden.

Zusätzlich kann beispielsweise die Sicherheit beim Betreiben des verteilten Datenbanksystems (z. B. einer Blockkette) er höht werden, da insbesondere für die Ausführung der Steuerbe fehle eine zusätzliche Prüfung eingeführt wurde. Mit anderen Worten werden insbesondere ungeprüfte Transaktionen bzw.

Steuerbefehle in geprüfte Transaktionen konvertiert, wobei die Prüfung beispielsweise anhand von Knoten- oder Geräteei genschaften von Geräten oder Knoten (z. B. den gerätespezifi schen Daten) erfolgt, welche die Steuerbefehle ausführen sol len .

Es ist beispielsweise auch denkbar, dass mittels des Verfah rens die Auszahlung von Bargeld an Geldautomaten verbessert bzw. sicherer gemacht wird, wenn der Geldautomat beispiels weise ein Knoten des verteilten Datenbanksystems ist oder über einen Knoten des verteilten Datenbanksystems oder eine andere Schnittstelle auf die entsprechenden Steuertransaktio nen des verteilten Datenbanksystems zugreift oder diese ab ruft .

Insbesondere die Bestimmung der Abhängigkeiten der Steuerbe fehle bzw. Befehlsfolge bei deren Ausführung durch die Geräte oder Knoten kann in einem komplexen Steuersystem mit sehr vielen Knoten oder Geräten (z. B. 200 - 1000 Geräte/Knoten) schwierig sein. Mittels des Virtualisierungsmoduls kann ins besondere die Bestimmung der Ausführbarkeit und die Abhängig keiten von Steuerbefehlen voneinander verbessert werden, da z. B. die Abarbeitung der Steuerbefehle und/oder die Berück sichtigung der Ausführungsanforderungen und/oder die Abhän gigkeiten zwischen Steuerbefehlen mittels der virtuellen Ab bilder simuliert bzw. überprüft werden kann. Hierdurch kann beispielsweise insbesondere auch eine Optimierung der Steuer befehle verbessert werden und auch eine Genauigkeit einer Aussage darüber, ob die Steuerbefehle ausführbar sind, ver bessert werden.

Das Bestimmungsmodul kann hierfür beispielsweise zunächst die relevanten Geräte und/oder Knoten für die Ausführung der Steuerbefehle ermitteln und in dem bzw. mittels des

Virtualisierungsmoduls als virtuelle Abbilder der entspre chenden Knoten oder der entsprechenden Geräte instanziieren . Danach werden instanziierte virtuelle Abbilder der entspre chenden Knoten und/oder der entsprechenden Geräte die Steuer befehle zur Ausführung übermittelt.

Die virtuellen Abbilder arbeiten die Steuerbefehle ab und das Virtualisierungsmodul erfasst dabei Ausführungsparameter. Diese sind z. B. Ausführungszeit, Energieverbrauch und Mate rialverbrauch.

Anhand dieser Ausführungsparameter kann das Bestimmungsmodul nun z. B. feststellen, ob die Ausführungsanforderungen er füllt sind oder nicht. Alternativ oder zusätzlich können auf diese Weise die entsprechenden Ausführungsanforderungen auch bestimmt werden. Alternativ oder zusätzlich können anhand dieser Ausführungsparameter auch die Steuerbefehle und/oder Ausführungsanforderungen optimiert werden.

Das Bestimmungsmodul kann dabei insbesondere unterschiedlich komplex implementiert werden. Beispielsweise können die Aus führungsanforderungen durch eine zentrale Policy vorgegeben werden oder die Ausführungsanforderungen werden durch das Be stimmungsmodul bestimmt und danach den Steuerbefehlen zuge ordnet. Sind die Ausführungsanforderungen vorgegeben, kann das Bestimmungsmodul derart ausgebildet sein, dass den jewei ligen Steuerbefehlen die entsprechenden Ausführungsanforde rungen zugeordnet werden, die für deren Ausführung durch die Geräte notwendig sind.

Beispielsweise können die Transaktionen je nach Implementie rung entweder direkt in den Datenblöcken des verteilten Da tenbanksystems gespeichert werden oder direkt dem verteilten Datenbanksystem gespeichert werden.

Bei einer ersten Ausführungsform des Steuersystems sind die die vorausgesetzten Steuerbefehle bereits ausgeführte Steuer befehle, für die eine Bestätigung über deren Ausführung in Bestätigungstransaktionen der Datenblöcke des verteilten Da tenbanksystems gespeichert ist. Alternativ sind die die vo rausgesetzten Steuerbefehle bereits ausgeführte Steuerbefeh le, für die eine Bestätigung über deren Ausführung in Bestä tigungstransaktionen des verteilten Datenbanksystems gespei chert ist.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere eine Reihenfolge bei der Ausführung bzw. Abarbeitung der Steuerbefehle durch das entsprechende Gerät mittels der vo rausgesetzten Steuerbefehle vorzugeben. Insbesondere können die vorausgesetzten Steuerbefehle, Steuerbefehle der gleichen Befehlsfolge sein, die insbesondere zeitlich vor den durch das entsprechende Gerät (aktuell) auszuführenden Steuerbefeh- len ausgeführt sein müssen. Die vorausgesetzten Steuerbefehle waren dabei insbesondere ebenfalls in Steuertransaktionen speichert, die wiederum in Datenblöcken (also einen Daten block oder mehreren Datenblöcken) des verteilten Datenbank systems gespeichert sind.

Bei weiteren Ausführungsformen des Steuersystems ist durch die Ausführungsanforderungen eine Abarbeitung der vorausge setzten Steuerbefehle vorgegeben, bevor weitere Steuerbefehle abgearbeitet werden.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere bei der Ausführung bzw. Abarbeitung der Steuerbefehle durch das entsprechende Gerät sicherzustellen, dass beispielsweise eine Fertigung von einem Produkt schrittweise erfolgt. Dies ist insbesondere vorteilhaft, wenn sichergesellt werden soll, dass vorgegebene oder ausgewählte Steuerbefehle bzw. Ferti gungsschritte von einem vorgegebenen oder ausgewählten Gerät ausgeführt werden.

Bei weiteren Ausführungsformen des Steuersystems ist durch die Ausführungsanforderungen eine Reihenfolge einer Abarbei tung der Steuerbefehle eines Datenblocks oder verschiedener Datenblöcke vorgegeben. Alternativ ist durch die Ausführungs anforderungen eine Reihenfolge einer Abarbeitung der Steuer befehle vorgegeben.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere eine Reihenfolge bei der Ausführung bzw. Abarbeitung der Steuerbefehle durch das entsprechende Gerät mittels der vo rausgesetzten Steuerbefehle vorzugeben. Insbesondere können die vorausgesetzten Steuerbefehle, Steuerbefehle der gleichen Befehlsfolge sein, die insbesondere vor den durch das ent sprechende Gerät (aktuell) auszuführenden Steuerbefehlen aus geführt sein müssen. Die vorausgesetzten Steuerbefehle werden dabei insbesondere ebenfalls in Steuertransaktionen gespei chert, die wiederum in Datenblöcken (also einen Datenblock oder mehreren Datenblöcken) des verteilten Datenbanksystems gespeichert sind.

Bei weiteren Ausführungsformen des Steuersystems sind durch die Ausführungsanforderungen Abhängigkeiten gegenüber anderen Steuerbefehlen eines Datenblocks oder verschiedener Datenblö cke einer Abarbeitung der Steuerbefehle vorgegeben. Alterna tiv sind durch die Ausführungsanforderungen Abhängigkeiten gegenüber anderen Steuerbefehlen einer Abarbeitung der Steu erbefehle vorgegeben.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere eine Reihenfolge bei der Ausführung bzw. Abarbeitung der Steuerbefehle durch das entsprechende Gerät mittels der vo rausgesetzten Steuerbefehle vorzugeben. Insbesondere können die vorausgesetzten Steuerbefehle, Steuerbefehle der gleichen Befehlsfolge sein, die insbesondere vor den durch das ent sprechende Gerät (aktuell) für auszuführende Steuerbefehle ausgeführt sein müssen. Die vorausgesetzten Steuerbefehle wa ren dabei insbesondere ebenfalls in Steuertransaktionen ge speichert, die wiederum in Datenblöcken (also einen Daten block oder mehreren Datenblöcken) des verteilten Datenbank systems gespeichert sind.

Bei weiteren Ausführungsformen des Steuersystems sind durch die Ausführungsanforderungen Prioritäten für eine Abarbeitung der Steuerbefehle vorgegeben.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere bei der Ausführung bzw. Abarbeitung der Steuerbefehle durch das entsprechende Gerät vorgegebene Steuerbefehle zu bevorzu gen bzw. zu priorisieren . Bevorzugt bedeutet dabei insbeson dere, dass die entsprechenden Steuerbefehle schneller oder vor anderen nicht-bevorzugten Steuerbefehlen abgearbeitet werden (z. B. durch die Geräte oder das verteilte Datenbank system) . Diese zu bevorzugenden Steuerbefehle oder kurz be vorzugten Steuerbefehle können beispielsweise wichti- ge/kritische Steuerbefehle sein, die unmittelbar ausgeführt werden müssen, um beispielsweise Geräteschäden, Infrastruk turschäden oder Personenschäden zu vermeiden. Stellt bei spielsweise ein Überwachungsgerät, das insbesondere ebenfalls ein Knoten des verteilten Datenbanksystems ist, fest, dass das entsprechende Gerät, z. B. ein Fertigungsgerät, überhitzt oder eine Person gefährlich nahe an dem Gerät ist, so kann dieses Überwachungsgerät beispielsweise eine entsprechende Steuertransaktion mit Steuerbefehlen und Ausführungsanforde rungen (z. B. umfassen die Ausführungsanforderungen die Prio rität) zum Abschalten des Gerätes in Datenblöcken des ver teilten Datenbanksystems einstellen. Das verteilte Datenbank system bzw. dessen Infrastruktur wertet diese Steuertransak tion aus und übermittelt vorzugsweise an das abzuschaltende Gerät die Steuertransaktion.

Bei weiteren Ausführungsformen des Steuersystems sind die Steuerbefehle durch ein entsprechendes Gerät ausführbar, wenn Bestätigungstransaktionen für die vorausgesetzten Steuerbe fehle der jeweiligen Ausführungsanforderungen der jeweiligen Steuertransaktion in dem verteilten Datenbanksystems verfüg bar sind.

Bei weiteren Ausführungsformen des Steuersystems ist durch die Ausführungsanforderungen ein Zeitlimit vorgegeben, bis zu dem Steuerbefehle abzuarbeiten sind.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere vorgegebenen oder ausgewählten Steuerbefehlen ein Zeitlimit mittels der Ausführungsanforderungen vorzugeben, bis zu dem die Steuerbefehle durch das entsprechende Gerät abzuarbeiten sind. Wird dieses Zeitlimit beispielsweise überschritten, so kann insbesondere durch das Überprüfungsmodul ein Steuersig nal bereitgestellt werden, um auf das Überschreiten des Zeit limits zu reagieren. Mittels des Steuersignals kann dann bei spielsweise ein Fertigungsmitarbeiter, ein Servicetechniker oder ein Alarmsignal automatisiert informiert bzw. ange- steuert werden. Es kann beispielsweise auch der Fertigungs prozess neu gestartet werden.

Bei weiteren Ausführungsformen des Steuersystems umfasst das Steuersystem einen Optimierer, der eine Ausführung der Steu erbefehle durch die Geräte anhand eines vorgegebenen Kriteri ums optimiert.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere einen Fertigungsprozess nach den vorgegeben Kriterien zu op timieren. Die vorgegebenen Kriterien können beispielsweise die Fertigungszeit, die verursachten Kosten oder die aufzu wendende Energie sein. Beispielsweise kann der Optimierer ei ne Befehlsfolge in Steuerbefehle zerlegen, die wiederum in den Steuertransaktionen gespeichert sind. Dabei zerlegt der Optimierer die Befehlsfolge in die Steuerbefehle anhand des vorgegebenen Kriteriums. Ist beispielsweise das Kriterium die Fertigungszeit bei der Produktion eines Produktes zu optimie ren (z. B. Fertigungszeit für das Produkt möglichst gering zu halten) , wird die Befehlsfolge derart zerlegt, dass die Ein zelkomponenten parallel von mehreren Geräten hergestellt wer den - also die entsprechenden Steuerbefehle in Steuertransak tionen von diesen abgearbeitet werden. Ist beispielsweise das Kriterium, die Fertigungskosten bei der Produktion eines Pro duktes zu optimieren, wird die Befehlsfolge derart zerlegt, dass die Einzelkomponenten seriell von einem Gerät (z. B. dem entsprechenden Gerät) oder möglichst wenigen Geräten herge stellt werden - also die entsprechenden Steuerbefehle in Steuertransaktionen von den entsprechenden abgearbeitet wer den. Um dies zu steuern, werden beispielsweise durch den Op timierer die entsprechenden Informationen an das Bestimmungs modul übergeben, sodass das Bestimmungsmodul diese Informati onen in den Ausführungsanforderungen hinterlegt. Der Optimie rer kann dabei beispielsweise ein separates Modul sein oder ein integraler Teil des Bestimmungsmoduls sein. Alternativ kann der Optimierer beispielsweise die Optimierung anhand der Ausführungsanforderungen vornehmen oder die Ausführungsanfor- derungen sogar selbst erstellen und dem Bestimmungsmodul be- reitstellen .

Bei weiteren Ausführungsformen des Steuersystems ist das ver teilte Datenbanksystem eine Blockkette und die Datenblöcke sind Blöcke der Blockkette, oder das verteilte Datenbanksys tem ist eine Peer-2-Peer Datenbanksystem.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere eine dezentrale Steuersysteminfrastruktur zu realisieren. Zu dem kann insbesondere ein solches Steuersystem realisiert werden, selbst wenn sich die Betreiber der Geräte nicht ver trauen .

Bei weiteren Ausführungsformen des Steuersystems sind die Da tenblöcke über eine kryptographische Hashfunktion (H) mitei nander verkettet.

Bei weiteren Ausführungsformen des Steuersystems umfasst das Steuersystem oder das Bestimmungsmodul ein Aktivitätsmodul, wobei das Aktivitätsmodul dazu eingerichtet ist, die Aktivi tät des Steuersystems und/oder des Bestimmungsmoduls anzuzei gen und/oder zu dokumentieren.

Das Steuersystem ist dahingehend vorteilhaft, um insbesondere die Aktivität beispielsweise durch eine Statuslampe, ein Heartbeat Signal oder ein Steuersignal im Betrieb durch einen Administrator überprüfbar zu machen. Alternativ kann das Ak- tivitätsmodul beispielsweise Informationen in eine Datei schreiben, um beispielsweise Systemzustände oder Neustarts von Knoten oder Modulen oder des Bestimmungsmoduls zu doku mentieren .

Bei weiteren Ausführungsformen des Steuersystems bestimmt das Bestimmungsmodul die Ausführungsanforderungen und/oder be stimmt, welcher der Steuerbefehle in Steuertransaktionen ge speichert wird, wobei das Bestimmen, welche Steuerbefehle in Steuertransaktionen gespeichert werden, anhand der Ausfüh rungsanforderungen erfolgt.

Dies ist insbesondere vorteilhaft, um zunächst festzustellen, welche der Steuerbefehle durch die Geräte ausführbar sind und z. B. nur für diese Steuertransaktionen mit Ausführungsanfor derungen zu erstellen.

Bei weiteren Ausführungsformen des Steuersystems ermittelt das Virtualisierungsmodul die Ausführbarkeit für vorgegebene Geräte oder Knoten und/oder für vorgegebene Steuerbefehle.

Bei weiteren Ausführungsformen des Steuersystems optimiert der Optimierer die Steuerbefehle mittels der virtuellen Ab bilder .

Bei weiteren Ausführungsformen des Steuersystems wird mittels der virtuellen Abbilder eine Analyse der Auswirkung der Aus führung der Steuerbefehle auf die Geräte und das verteilte Datenbanksystems mit den Knoten ermittelt.

Bei weiteren Ausführungsformen des Steuersystems sind die virtuellen Abbilder digitale Zwillinge der Geräte oder Knoten und/oder ein zweidimensionales oder dreidimensionales virtu elles Abbild, und/oder die virtuellen Abbilder simulieren me chanische oder elektrische Eigenschaften der Geräte und/oder der Knoten, und/oder mittels der virtuellen Abbilder wird ei ne Zuverlässigkeitsanalyse für eine erfolgreiche Ausführung der Steuerbefehle durchgeführt.

Bei weiteren Ausführungsformen des Steuersystems bestimmt das Bestimmungsmodul die Ausführungsanforderungen und/oder be stimmt welcher der Steuerbefehle in Steuertransaktionen ge speichert wird, wobei das Bestimmen welche Steuerbefehle in Steuertransaktionen gespeichert werden anhand der Ausfüh rungsanforderungen erfolgt. Das Speichern erfolgt vorzugswei se, wenn die Ausführbarkeit anhand der Ausführungsanforderun gen bestätigt bzw. erfolgreich ermittelt werden konnte. Dies ist dahingehend vorteilhaft, um insbesondere durch die Geräte überprüfen zu lassen und/oder den Geräten eine Über prüfung zu ermöglichen, ob und wann die vorausgesetzten Steu erbefehle der jeweiligen Ausführungsanforderungen abgearbei tet sind bzw. die Ausführungsanforderungen erfüllt sind.

Bei weiteren Ausführungsformen des Steuersystems sind die Steuerbefehle durch ein entsprechendes Gerät ausführbar, wenn Bestätigungstransaktionen für die vorausgesetzten Steuerbe fehle der jeweiligen Ausführungsanforderungen der jeweiligen Steuertransaktion in dem verteilten Datenbanksystems verfüg bar sind. Mit anderen Worten sind beispielsweise für die vo rausgesetzten Steuerbefehle der entsprechenden Ausführungsan forderungen Bestätigungstransaktionen verfügbar, indem bei spielsweise das verteilte Datenbanksystem diese Bestätigungs transaktionen bereitstellt (sodass diese z. B. von einem/dem Gerät abgerufen werden können) . Beispielsweise sind diese Be stätigungstransaktionen in dem verteilten Datenbanksystem ge speichert .

Gemäß einem weiteren Aspekt betrifft die Erfindung ein Be stimmungsmodul (110) für ein verteiltes Datenbanksystem oder für ein Steuersystem mit einem verteilten Datenbanksystem zum Steuern und/oder Überwachen von Geräten aufweisend:

eine erste Schnittstelle (410) zum Empfangen oder Abru fen von Steuerbefehlen;

eine erste Evaluierungseinheit (420), wobei

die erste Evaluierungseinheit (420) Ausführungsan forderungen den Steuerbefehlen zuordnet, eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst, das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Die Ausführbarkeit kann dabei anhand der Ausführungsanforde rungen ermittelt werden, die z. B. für eine Ausführung der Steuerbefehle durch entsprechende Geräte/Knoten erfüllt sein müssen. Hierzu sind beispielsweise zunächst die entsprechen den Ausführungsanforderungen für die Steuerbefehle bestimmt worden .

Das Bestimmungsmodul ist dahingehend vorteilhaft, um insbe sondere die Ausführung von Steuerbefehlen von Geräten oder Knoten (z. B. Fertigungsroboter, Steuersysteme für ein Ener gieverteilungsnetzwerk, Bankterminals, Geldautomaten, Geld transfers zwischen Banken) zu verbessern, die über ein Netz werk miteinander verbunden sind.

Zusätzlich kann beispielsweise die Sicherheit beim Betreiben einer verteilten Infrastruktur (z. B. ein verteiltes Daten banksystem mit Geräten und/oder Knoten bzw. mit Geräten, die auf das verteile Datenbanksystem zugreifen) erhöht werden, die ganz oder teilweise mittels eines verteilten Datenbank systems (z. B. einer Blockkette) implementiert ist. Insbeson dere ist der Begriff „Steuerbefehle" breit zu verstehen.

Hierbei kann es sich beispielsweise zusätzlich zu der oben genannten Definition auch um Transaktionen handeln, die durch ein Gerät (z. B. einen Knoten einer Blockkette oder ein Gerät außerhalb der Blockkette, z. B. Gerät D) ausgeführt werden sollen. Mit anderen Worten werden durch die Vorrichtung ins besondere ungeprüfte Transaktionen in geprüfte Transaktionen konvertiert, wobei die Prüfung beispielsweise anhand der ge rätespezifischen Anforderungen und gerätespezifischen Daten erfolgt, welche die Steuerbefehle ausführen sollen. Mittels der Erfindung können beispielsweise geforderte gerä tespezifische Anforderungen für die Ausführung der Steuerbe fehle am Gerät sichergestellt werden. Dabei können die gerä tespezifischen Anforderungen beispielsweise auch Sicherheits anforderungen und/oder ortsbezogene Anforderungen (z. B. eine Länderangabe, eine GPS-Angabe oder PLZ) sein, die ein Gerät für die Ausführung der Steuerbefehle erfüllen soll. Oder es kann beispielsweise noch eine bestimmte/vorgegebene

Authentisierung und/oder Authentifizierung durch die geräte spezifischen Anforderungen für die Ausführung gefordert wer den .

Dies kann beispielsweise der Fall sein, wenn jemand an einem Gerät (z. B. einem Geldautomaten) sich Bargeld auszahlen las sen möchte. Die Steuerbefehle sind dann beispielsweise die Anforderung des Kunden eine Geldauszahlung vorzunehmen. Hat beispielsweise ein entsprechender Kunde konfiguriert (z. B. bei seiner Heimatbank oder beim Onlinebanking), dass er z. B. nur in vorgegebenen Ländern, z. B. Italien, Frankreich und Österreich, eine Bargeldauszahlung erlaubt, so wird dies in den gerätespezifischen Anforderungen (und somit insbesondere implizit ebenfalls in den Ausführungsanforderungen) gespei chert. Ein Geldautomat in Andorra würde dann ggf. keine Aus zahlung erlauben bzw. diese unterbinden. Auch kann beispiels weise durch die Sicherheitsanforderungen eine vorgegebene Au thentifizierung und/oder Authentifizierungsmethode des Kunden gefordert sein. Hierzu kann beispielsweise ein Pin für ein Auszahlung eingegeben werden bzw. gefordert sein (was z. B. in den USA nicht zwangsläufig der Fall ist) und/oder eine be stimmte Pin-Länge gefordert sein (z. B. 8 Zeichen) und/oder andere zusätzliche Authentisierungsverfahren gefordert sein (z. B. 2 Faktor-Authentisierung, Mobile-Tan, Google

Authenticator) .

Alternativ kann das Bestimmungsmodul, z. B. die Evaluierungs einheit, die Steuerbefehle auch weiter analysieren und, wenn beispielsweise das Bestimmungsmodul bzw. die (erste) Evaluie rungseinheit bereits feststellt, dass die gerätespezifischen Anforderungen nicht erfüllt sind oder nicht erfüllbar sind (z. B. die Steuerbefehle wurden aus einem nicht freigegebenen Land geschickt oder sind für ein Gerät oder Knoten in einem nicht freigegebenen Land bestimmt) , eine Steuertransaktion erstellen, die das entsprechende Gerät oder das System darauf hinweist und vorzugsweise eine Ausführung der Steuerbefehle unterbindet bzw. verbietet. Alternativ kann beispielsweise auch keine Steuertransaktion erzeugt werden und es gibt ir gendwann einen Timeout für die Ausführung der Steuerbefehle, z. B. nach einem vorgegebenen Zeitraum. Alternativ oder zu sätzlich kann beispielsweise ein Steuersignal bereitgestellt werden, das bei einer Nicht-Ausführbarkeit von Steuerbefehlen z. B. einen Techniker informiert oder ein Warnsignal steuert.

Es wäre beispielsweise auch denkbar, dass Online-Banking auf diese Weise abgesichert wird, indem Sicherheitsanforderungen und/oder ortsbezogene Anforderungen des Rechners (also das Gerät, das Steuerbefehle verschickt) überprüft wird und ob die Auszahlung durch ein anderes Gerät erlaubt ist.

Zusätzlich kann das Bestimmungsmodul beispielsweise noch ein erstes Zuordnungsmodul und/oder ein erstes Speichermodul und/oder weitere Module umfassen, so wie dies in den Ausfüh rungsbeispielen erläutert wurde. Die Knoten oder Geräte kön nen dann beispielsweise ein Überprüfungsmodul und/oder ein Ausführungsmodul umfassen, so wie dies in den Ausführungsbei spielen bzw. Ausführungsformen erläutert wurde. Auch lassen sich insbesondere andere Merkmale der anderen Aspekte und Ausführungsbeispiele der Erfindung auf diesen Aspekt der Er findung übertragen.

Die gerätespezifischen Anforderungen für Knoten oder Geräte können beispielsweise auch nutzerbezogen sein oder nutzerspe zifische Anforderungen umfassen. Beispielsweise kann ein ers ter Nutzer in den ihm zugeordneten gerätespezifischen Anfor derungen eine niedrige Präzision bei der Fertigung eines Werkstückes fordern. Beispielsweise kann dann ein zweiter Nutzer in den ihm zugeordneten gerätespezifischen Anforderun- gen eine höhere Präzision bei der Fertigung eines Werkstückes fordern. Auf diese Weise können z. B. auch Sicherheitsanfor derungen nutzerbezogen gespeichert werden. Es ist beispiels weise auch denkbar, dass bestimmten Typen oder Arten von Steuerbefehlen - nutzerbezogen oder nicht - gerätespezifische Anforderungen zugeordnet sind, die durch das Bestimmungsmodul berücksichtigt werden. Beispielsweise kann gefordert sein, dass ein Steuerbefehl zum Aufspielen einer Firmware nur durch ein Gerät erfolgt, das vorgegebene Sicherheitsanforderungen erfüllt, um z. B. sicherzustellen, dass nicht ohne weiteres Know-How der Firmware für jeden in einer Fertigungsanlage zu gängig ist. Durch diese vorgegebenen Sicherheitsanforderungen kann beispielsweise gefordert sein, dass nur bestimmtes Per sonal einen Zugriff auf ein entsprechendes Gerät hat oder das Gerät durch ein Passwort und/oder anderen kryptographischen Mechanismen geschützt ist (z. B. Zugriff ist nur durch Ein stecken einer Chipkarte und Eingeben einer Pin möglich) .

Insbesondere die Bestimmung der Abhängigkeiten der Steuerbe fehle bzw. Befehlsfolge bei deren Ausführung durch die Geräte oder Knoten kann in einem komplexen Steuersystem mit sehr vielen Knoten oder Geräten (z. B. 200 - 1000 Geräte/Knoten) schwierig sein. Mittels des Virtualisierungsmoduls kann ins besondere die Bestimmung der Ausführbarkeit und die Abhängig keiten von Steuerbefehlen voneinander verbessert werden, da z. B. die Abarbeitung der Steuerbefehle und/oder die Berück sichtigung der Ausführungsanforderungen und/oder die Abhän gigkeiten zwischen Steuerbefehlen mittels der virtuellen Ab bilder simuliert bzw. überprüft werden kann. Hierdurch kann beispielsweise insbesondere auch eine Optimierung der Steuer befehle verbessert werden und auch eine Genauigkeit einer Aussage darüber, ob die Steuerbefehle ausführbar sind, ver bessert werden.

Das Bestimmungsmodul kann hierfür beispielsweise zunächst die relevanten Geräte und/oder Knoten für die Ausführung der Steuerbefehle ermitteln und in dem bzw. mittels des

Virtualisierungsmoduls als virtuelle Abbilder der entspre- chenden Knoten oder der entsprechenden Geräte instanziieren . Danach werden instanziierte virtuelle Abbilder der entspre chenden Knoten und/oder der entsprechenden Geräte die Steuer befehle zur Ausführung übermittelt.

Die virtuellen Abbilder arbeiten die Steuerbefehle ab und das Virtualisierungsmodul erfasst dabei Ausführungsparameter. Diese sind z. B. Ausführungszeit, Energieverbrauch und Mate rialverbrauch.

Anhand dieser Ausführungsparameter kann das Bestimmungsmodul nun z. B. feststellen, ob die Ausführungsanforderungen er füllt sind oder nicht. Alternativ oder zusätzlich können auf diese Weise die entsprechenden Ausführungsanforderungen auch bestimmt werden. Alternativ oder zusätzlich können anhand dieser Ausführungsparameter auch die Steuerbefehle und/oder Ausführungsanforderungen optimiert werden.

Das Bestimmungsmodul kann dabei insbesondere unterschiedlich komplex implementiert werden. Beispielsweise können die Aus führungsanforderungen durch eine zentrale Policy vorgegeben werden oder die Ausführungsanforderungen werden durch das Be stimmungsmodul bestimmt und danach den Steuerbefehlen zuge ordnet. Sind die Ausführungsanforderungen vorgegeben, kann das Bestimmungsmodul derart ausgebildet sein, dass den jewei ligen Steuerbefehlen die entsprechenden Ausführungsanforde rungen zugeordnet werden, die für deren Ausführung durch die Geräte notwendig sind.

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul einen Optimierer, wobei der Optimierer die Ausführung der Steuerbefehle durch die Geräte anhand ei nes vorgegebenen Kriteriums optimiert.

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul ein erstes Zerlegemodul, wobei das erste Zerlegemodul dazu eingerichtet ist, eine Befehlsfolge in die entsprechenden Steuerbefehle zu zerlegen. Die entsprechenden Steuerbefehle werden beispielsweise dem Steuersystem oder dem ersten Bestimmungsmodul bereitgestellt. Vorzugsweise werden die entsprechenden Steuerbefehle über das Bestimmungsmodul dem Steuersystem bereitgestellt, sodass z. B. das Steuersys tem die entsprechenden Steuertransaktionen mit Steuerbefehlen über das verteilte Datenbanksystem an die Knoten oder Geräte übermittelt .

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul ein Aktivitätsmodul, wobei das Aktivi tätsmodul dazu eingerichtet ist, die Aktivität der Vorrich tung und/oder des Bestimmungsmoduls anzuzeigen oder zu doku mentieren .

Das Bestimmungsmodul ist dahingehend vorteilhaft, um insbe sondere die Aktivität beispielsweise durch eine Statuslampe, ein Heartbeat Signal oder ein Steuersignal im Betrieb durch einen Administrator überprüfbar zu machen. Alternativ kann das Aktivitätsmodul beispielsweise Informationen in eine Da tei schreiben, um beispielsweise Systemzustände oder Neu starts von Knoten oder Modulen oder des Bestimmungsmoduls zu dokumentieren .

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul einen Konfigurationsspeicher, der gerä tespezifische Daten über die Geräte und/oder gerätespezifi sche Daten über die Knoten und/oder die gerätespezifische An forderungen umfasst.

Das Bestimmungsmodul ist dahingehend vorteilhaft, um insbe sondere schnell auf die gerätespezifischen Daten zuzugreifen und/oder die gerätespezifischen Anforderungen für bestimmte Transaktionen oder Geräte vorab zu konfigurieren. Der Konfi gurationsspeicher kann beispielsweise durch Blöcke bzw. Da tenblöcke des verteilten Datenbanksystems realisiert werden. Die gerätespezifischen Anforderungen für Knoten oder Geräte können beispielsweise auch nutzerbezogen sein. Beispielsweise kann ein erster Nutzer in den ihm zugeordneten gerätespezifi- sehen Anforderungen eine niedrige Präzision bei der Fertigung eines Werkstückes fordern. Beispielsweise kann dann ein zwei ter Nutzer in den ihm zugeordneten gerätespezifischen Anfor derungen eine höhere Präzision bei der Fertigung eines Werk stückes fordern. Auf diese Weise können auch Sicherheitsan forderungen nutzerbezogen gespeichert werden. Es ist bei spielsweise auch denkbar, dass bestimmten Typen oder Arten von Steuerbefehlen - nutzerbezogen oder nicht - gerätespezi fische Anforderungen zugeordnet sind, die durch das Bestim mungsmodul berücksichtigt werden. Beispielsweise kann gefor dert sein, dass ein Steuerbefehl zum Aufspielen einer Firmwa re nur durch ein Gerät erfolgt, das vorgegebene Sicherheits anforderungen erfüllt, um z. B. sicherzustellen, dass nicht ohne weiteres Know-How der Firmware für jeden in einer Ferti gungsanlage zugänglich ist. Durch diese vorgegebenen Sicher- heitsanforderungen kann beispielsweise gefordert sein, dass nur bestimmtes Personal einen Zugriff auf ein entsprechendes Gerät hat oder das Gerät durch ein Passwort und/oder anderen kryptographischen Mechanismen geschützt ist (z. B. Zugriff ist nur durch Einstecken einer Chipkarte und Eingeben einer Pin möglich) .

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul eine administrative Schnittstelle.

Das Bestimmungsmodul ist dahingehend vorteilhaft, um insbe sondere eine Konfiguration des Bestimmungsmoduls zu ermögli chen. Über die administrative Schnittstelle können beispiels weise die gerätespezifischen Anforderungen konfiguriert wer den und vorzugsweise im verteilten Datenbanksystem gespei chert werden.

Bei weiteren Ausführungsformen des Bestimmungsmoduls sind die Steuerbefehle durch ein entsprechendes Gerät ausführbar, wenn Bestätigungstransaktionen für die vorausgesetzten Steuerbe fehle der jeweiligen Ausführungsanforderungen der jeweiligen Steuertransaktion in dem verteilten Datenbanksystems verfüg bar sind.

Dies ist dahingehend vorteilhaft, um insbesondere durch die Geräte überprüfen zu lassen und/oder den Geräten eine Über prüfung zu ermöglichen, ob und wann die vorausgesetzten Steu erbefehle der jeweiligen Ausführungsanforderungen abgearbei tet sind bzw. die Ausführungsanforderungen erfüllt sind.

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul eine Erfassungseinheit zum Erfassen von gerätespezifischen Daten über die Geräte oder von gerätespe zifischen Daten über Knoten.

Das Bestimmungsmodul ist dahingehend vorteilhaft, um insbe sondere eine Überprüfung und Erstellung der gerätespezifi schen Daten zu erleichtern und zu beschleunigen. Zwar könnte das Bestimmungsmodul diese Daten jeweils bei jeder einzelnen Bestimmung neu von den Geräten oder Knoten abfragen, jedoch ist es insbesondere zweckdienlicher, dass die Erfassungsein heit diese Daten beispielsweise zu vorgegebenen Zeitpunkten oder Intervallen abfragt und z. B. in einen Konfigurations speicher speichert oder die Knoten und Geräte erledigen dies selbständig, z. B. nach dem Einschalten, zu vorgegebenen Zeitpunkten oder Intervallen, indem diese Informationen der Erfassungseinheit übermittelt werden. Ist die Erfassungsein heit beispielsweise als Smart-Contract des verteilten Daten banksystems realisiert, kann dies beispielsweise auch beim Verbinden mit dem verteilten Datenbanksystem erfolgen.

Bei weiteren Ausführungsformen des Bestimmungsmoduls ist das Bestimmungsmodul ein Knoten eines verteilten Datenbanksystems oder ein Smart-Contract eines verteilten Datenbanksystems oder als Gerät ausgebildet.

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul ein erstes Zuordnungsmodul zum Zuordnen der jeweiligen Ausführungsanforderungen zu den Steuerbefeh len .

Bei weiteren Ausführungsformen des Bestimmungsmoduls umfasst das Bestimmungsmodul ein erstes Speichermodul zum Speichern der jeweiligen Steuerbefehle mit den zugeordneten Ausfüh rungsanforderungen in Steuertransaktionen, wobei insbesondere die Steuertransaktionen in Datenblöcken (B) des verteilten Datenbanksystems (BC) gespeichert werden und/oder insbesonde re die Steuertransaktionen mittels der Datenblöcke (B) an die Geräte (D, BCN_D) oder die Knoten übertragen werden. Dabei können insbesondere die Steuerbefehle zusammen mit den zu geordneten Ausführungsanforderungen in den Steuertransaktio nen gespeichert werden, wenn die Steuerbefehle durch ein Ge rät oder einen Knoten ausführbar sind. . Dabei können insbe sondere die Steuerbefehle zusammen mit den zugeordneten Aus führungsanforderungen in den Steuertransaktionen gespeichert werden, wenn die Steuerbefehle durch ein Gerät oder einen Knoten ausführbar sind.

Alternativ umfasst das Bestimmungsmodul ein erstes Speicher modul zum Speichern der jeweiligen Steuerbefehle mit den zu geordneten Ausführungsanforderungen in Steuertransaktionen, wobei insbesondere die Steuertransaktionen durch das verteil te Datenbanksystems (BC) gespeichert werden und/oder insbe sondere die Steuertransaktionen mittels des verteilten Daten banksystems an die Geräte (D, BCN_D) oder die Knoten übertra gen werden. Dabei können insbesondere die Steuerbefehle zu sammen mit den zugeordneten Ausführungsanforderungen in den Steuertransaktionen gespeichert werden, wenn die Steuerbefeh le durch ein Gerät oder einen Knoten ausführbar sind.

Bei weiteren Ausführungsformen des Bestimmungsmoduls be stimmt die erste Evaluierungseinheit die Ausführungsanforde rungen für die Ausführung anhand der gerätespezifische Anfor derungen und/oder vorausgesetzten Steuerbefehle und geräte spezifischen Daten und/oder bereits ausgeführten Steuerbefeh len, wobei insbesondere die Ausführungsanforderungen abhängig von einem Ergebnis eines Vergleiches der gerätespezifische Anforderungen und/oder vorausgesetzten Steuerbefehle mit ge rätespezifischen Daten und/oder bereits ausgeführten Steuer befehlen bestimmt werden.

Bei weiteren Ausführungsformen des Bestimmungsmoduls bestimmt die erste Evaluierungseinheit die Ausführungsanforderungen für die Ausführung anhand einer Ausführbarkeit der Steuerbe fehle durch einen Knoten der verteilten Daten oder ein Gerät, wobei insbesondere die Ausführungsanforderungen abhängig von einem Ergebnis einer Prüfung einer Ausführbarkeit Steuerbe fehle durch einen Knoten des verteilten Datenbanksystem oder der Geräte bestimmt werden.

Bei weiteren Ausführungsformen des Bestimmungsmoduls bestimmt die erste Evaluierungseinheit die Ausführungsanforderungen für die Ausführung der Steuerbefehle (also die Ausführungsan forderungen die für die Ausführung der Steuerbefehle notwen dig sind) anhand der gerätespezifischen Anforderungen

und/oder vorausgesetzten Steuerbefehle und gerätespezifischen Daten und/oder bereits ausgeführten Steuerbefehle und/oder der entsprechenden Steuerbefehle selbst und/oder anhand einer Befehlsfolge, wobei

insbesondere die Ausführungsanforderungen abhängig von einem Ergebnis eines Vergleiches der gerätespe zifische Anforderungen und/oder vorausgesetzte Steuerbefehle mit gerätespezifischen Daten und/oder bereits ausgeführten Steuerbefehlen bestimmt wer den,

insbesondere die Befehlsfolge Vorgaben für eine Ausführung der Steuerbefehle umfasst.

Bei weiteren Ausführungsformen des Bestimmungsmoduls bestimmt die erste Evaluierungseinheit eine Ausführbarkeit der Steuer befehle anhand der Ausführungsanforderungen, wobei

insbesondere für die Bestimmung der Ausführbarkeit die gerätespezifische Anforderungen und/oder vo rausgesetzte Steuerbefehle und/oder gerätespezifi- sehen Daten und/oder bereits ausgeführte Steuerbe fehle berücksichtigt werden,

insbesondere die Ausführungsanforderungen abhängig von einem Ergebnis eines Vergleiches der gerätespe zifische Anforderungen und/oder vorausgesetzte Steuerbefehle mit gerätespezifischen Daten und/oder bereits ausgeführten Steuerbefehlen bestimmt wer den .

Gemäß einem weiteren Aspekt betrifft die Erfindung eine Vor richtung für ein verteiltes Datenbanksystem oder für ein Steuersystem mit einem verteilten Datenbanksystem zum Steuern und/oder Überwachen von Geräten aufweisend:

ein erstes Bestimmungsmodul (110), wobei

das verteilte Datenbanksystem (BC) eine Vielzahl von Knoten (BCN, BCN_D) umfasst, dabei sind die Knoten (300, BCN, BCN_D) und die Geräte (300, D, BCN_D) über ein erstes Kommunikationsnetzwerk (NW1) miteinander verbunden,

das erste Bestimmungsmodul Ausführungsanforderungen Steuerbefehlen zuordnet,

eine Ausführbarkeit der Steuerbefehle durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Bei weiteren Ausführungsformen der Vorrichtung sind die Steu erbefehle durch ein entsprechendes Gerät ausführbar, wenn Be- stätigungstransaktionen für die vorausgesetzten Steuerbefehle der jeweiligen Ausführungsanforderungen der jeweiligen Steu ertransaktion in dem verteilten Datenbanksystems verfügbar sind .

Dies ist dahingehend vorteilhaft, um insbesondere durch die Geräte überprüfen zu lassen und/oder den Geräten eine Über prüfung zu ermöglichen, ob und wann die vorausgesetzten Steu erbefehle der jeweiligen Ausführungsanforderungen abgearbei tet sind bzw. die Ausführungsanforderungen erfüllt sind.

Gemäß einem weiteren Aspekt betrifft die Erfindung ein Ver fahren zum rechnergestützten Zuordnen von Ausführungsanforde rungen für Steuerbefehle mit folgenden Verfahrensschritten:

Empfangen (910) oder Abrufen von Steuerbefehlen;

Zuordnen von Ausführungsanforderungen zu den Steuerbe fehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das verteilte Datenbanksystem beispielsweise eine Blockkette ist,

Berechnen von virtuellen Abbildern für die entsprechen den Knoten oder die entsprechenden Geräte, wobei

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Gemäß einem weiteren Aspekt betrifft die Erfindung ein Ver fahren zum rechnergestützten Steuern von Geräten mit folgen den Verfahrensschritten:

Zuordnen von Ausführungsanforderungen zu den Steuerbe fehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

Berechnen von virtuellen Abbildern für die entsprechen den Knoten oder die entsprechenden Geräte, wobei

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird;

Speichern (530) der jeweiligen Steuerbefehle mit den entsprechenden Ausführungsanforderungen in Steuertrans aktionen, wobei die Steuertransaktionen in Datenblöcken eines verteilten Datenbanksystems gespeichert werden oder die Steuertransaktionen durch ein verteiltes Daten banksystem gespeichert werden.

Bei weiteren Ausführungsformen der Verfahren umfassen die entsprechenden Verfahren weitere Verfahrensschritte, um die funktionalen Merkmale oder weitere Merkmale des Steuersystems bzw. des Bestimmungsmoduls zu realisieren.

Gemäß einem weiteren Aspekt betrifft die Erfindung ein Gerät umfassend :

ein Kommunikationsmodul zum Empfangen von Datenblöcken eines verteilten Datenbanksystems, wobei

Steuertransaktionen mit Steuerbefehlen für das Ge rät in den Datenblöcken des verteilten Datenbank systems gespeichert sind,

die Steuertransaktionen Ausführungsanforderungen umfassen,

die Ausführungsanforderungen gerätespezifische An forderungen für das Gerät und/oder vorausgesetzte Steuerbefehle umfassen,

den jeweiligen Steuertransaktionen die entsprechen de Ausführungsanforderungen zugeordnet sind;

ein erstes Überprüfungsmodul zum Überprüfen der jeweili gen Ausführungsanforderungen der Steuerbefehle einer der Steuertransaktionen eines Steuerbefehls durch das Gerät, wobei die gerätespezifischen Anforderungen für das Gerät überprüft werden; und/oder

überprüft wird, ob Bestätigungstransaktionen für die vorausgesetzten Steuerbefehle in Datenblöcken des verteilten Datenbanksystems verfügbar sind;

ein Ausführungsmodul zum Ausführen der Steuerbefehle durch das entsprechende Gerät abhängig von einem Ergeb nis des Überprüfens;

ein zweites Speichermodul zum Speichern des Ergebnisses des Ausführens der Steuerbefehle in Bestätigungstransak- tionen der Datenblöcke des verteilten Datenbanksystems.

Bei einer weiteren Ausführungsform des Gerätes umfasst das Gerät zumindest ein weiteres Modul oder mehrere weitere Modu- le, um mögliche Ausführungsformen eines Gerätes zu realisie ren, die in den Ausführungsformen des Steuersystems offenbart sind .

Des Weiteren wird ein Computerprogrammprodukt mit Programmbe fehlen zur Durchführung der genannten erfindungsgemäßen Ver fahren beansprucht, wobei mittels des Computerprogrammpro dukts jeweils eines der erfindungsgemäßen Verfahren, alle er findungsgemäßen Verfahren oder eine Kombination der erfin dungsgemäßen Verfahren durchführbar ist.

Zusätzlich wird eine Variante des Computerprogrammproduktes mit Programmbefehlen zur Konfiguration eines Erstellungsge räts, beispielsweise ein 3D-Drucker, ein Computersystem oder ein zur Erstellung von Prozessoren und/oder Geräten geeignete Herstellungsmaschine, beansprucht, wobei das Erstellungsgerät mit den Programmbefehlen derart konfiguriert wird, dass das genannte erfindungsgemäße verteilte Datenbanksystem und/oder das Steuersystem und/oder das Gerät und/oder Bestimmungsmodul erstellt wird.

Darüber hinaus wird eine Bereitstellungsvorrichtung zum Spei chern und/oder Bereitstellen des Computerprogrammprodukts be ansprucht. Die Bereitstellungsvorrichtung ist beispielsweise ein Datenträger, der das Computerprogrammprodukt speichert und/oder bereitstellt . Alternativ und/oder zusätzlich ist die Bereitstellungsvorrichtung beispielsweise ein Netzwerkdienst, ein Computersystem, ein Serversystem, insbesondere ein ver teiltes Computersystem, ein cloudbasiertes Rechnersystem und/oder virtuelles Rechnersystem, welches das Computerpro grammprodukt vorzugsweise in Form eines Datenstroms speichert und/oder bereitstellt .

Diese Bereitstellung erfolgt beispielsweise als Download in Form eines Programmdatenblocks und/oder Befehlsdatenblocks, vorzugsweise als Datei, insbesondere als Downloaddatei, oder als Datenstrom, insbesondere als Downloaddatenstrom, des vollständigen Computerprogrammprodukts. Diese Bereitstellung kann beispielsweise aber auch als partieller Download erfol gen, der aus mehreren Teilen besteht und insbesondere über ein Peer-to-Peer Netzwerk heruntergeladen oder als Datenstrom bereitgestellt wird. Ein solches Computerprogrammprodukt wird beispielsweise unter Verwendung der Bereitstellungsvorrich tung in Form des Datenträgers in ein System eingelesen und führt die Programmbefehle aus, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird oder das Erstellungsgerät derart konfiguriert, dass es das erfindungsgemäße verteilte Datenbanksystem und/oder das Steu ersystem und/oder das Gerät und/oder das Bestimmungsmodul er stellt .

Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusam menhang mit der folgenden Beschreibung der Ausführungsbei spiele, die im Zusammenhang mit den Figuren näher erläutert werden. Dabei zeigen in schematischer Darstellung:

Fig. 1 ein erstes Ausführungsbeispiel der Erfindung;

Fig . 2 ein weiteres Ausführungsbeispiel der Erfindung; Fig. 3 ein weiteres Ausführungsbeispiel der Erfindung;

Fig. 4 ein weiteres Ausführungsbeispiel der Erfindung;

Fig. 5 ein weiteres Ausführungsbeispiel der Erfindung;

In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist.

Die nachfolgenden Ausführungsbeispiele weisen, sofern nicht anders angegeben oder bereits angegeben, zumindest einen Pro zessor und/oder eine Speichereinheit auf, um das Verfahren zu implementieren oder auszuführen.

Auch sind insbesondere einem (einschlägigen) Fachmann in Kenntnis des/der Verfahrensanspruchs/Verfahrensansprüche alle im Stand der Technik üblichen Möglichkeiten zur Realisierung von Produkten oder Möglichkeiten zur Implementierung selbst verständlich bekannt, sodass es insbesondere einer eigenstän digen Offenbarung in der Beschreibung nicht bedarf. Insbeson dere können diese gebräuchlichen und dem Fachmann bekannten Realisierungsvarianten ausschließlich per Hard

ware ( komponenten) oder ausschließlich per Soft

ware ( komponenten) realisiert werden. Alternativ und/oder zu sätzlich kann der Fachmann im Rahmen seines fachmännischen Könnens weitestgehend beliebige erfindungsgemäße Kombinatio nen aus Hardware ( komponenten) und Software ( komponenten) wäh len, um erfindungsgemäße Realisierungsvarianten umzusetzen.

Eine erfindungsgemäße Kombination aus Hardware ( komponenten) und Software ( komponenten) kann insbesondere dann eintreten, wenn ein Teil der erfindungsgemäßen Wirkungen vorzugsweise ausschließlich durch Spezialhardware (z. B. einem Prozessor in Form eines ASIC oder FPGA) und/oder ein anderer Teil durch die (prozessor- und/oder speichergestützte) Software bewirkt wird . Insbesondere ist es angesichts der hohen Anzahl an unter schiedlichen Realisierungsmöglichkeiten unmöglich und auch für das Verständnis der Erfindung nicht zielführend oder not wendig, all diese Realisierungsmöglichkeiten zu benennen. In sofern sollen insbesondere all die nachfolgenden Ausführungs beispiele lediglich beispielhaft einige Wege aufzeigen, wie insbesondere solche Realisierungen der erfindungsgemäßen Leh re aussehen könnten.

Folglich sind insbesondere die Merkmale der einzelnen Ausfüh rungsbeispiele nicht auf das jeweilige Ausführungsbeispiel beschränkt, sondern beziehen sich insbesondere auf die Erfin dung im Allgemeinen. Entsprechend können vorzugsweise Merkma le eines Ausführungsbeispiels auch als Merkmale für ein ande res Ausführungsbeispiel dienen, insbesondere ohne dass dies expliziert in dem jeweiligen Ausführungsbeispiel genannt sein muss .

Die Fig. 1 zeigt ein erstes Ausführungsbeispiel der Erfin dung. Fig. 1 zeigt dabei ein Steuersystem zum Steuern

und/oder Überwachen von Geräten, wobei das verteilte Daten banksystem beispielsweise mittels einer Blockkette BC reali siert wird.

Das Ausführungsbeispiel für ein Steuersystem zum Steuern und/oder Überwachen von Geräten kann in einer Variante fol gende Merkmale umfassen:

beispielsweise ein verteiltes Datenbanksystem (BC) auf weisend,

beispielsweise eine Vielzahl von Knoten (BCN,

BCN_D) , wobei die Knoten (BCN, BCN_D) und die Gerä te (D, BCN_D) über ein erstes Kommunikationsnetz werk (NW1) miteinander verbunden sind;

beispielsweise ein erstes Bestimmungsmodul (110), wobei beispielsweise das erste Bestimmungsmodul Ausfüh rungsanforderungen Steuerbefehlen zuordnet,

beispielsweise eine Ausführbarkeit der Steuerbefeh le durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderun gen ermittelt wird (es wird also insbesondere er mittelt, ob die entsprechenden Knoten oder Geräte in der Lage sind, die Steuerbefehle auszuführen in dem z. B. die entsprechenden Ausführungsanforderun gen für die Steuerbefehle überprüft werden - z. B. ob die Geräte die Ausführungsanforderungen erfül len) ,

beispielsweise die Ausführungsanforderungen geräte spezifischen Anforderungen und/oder vorausgesetzte Steuerbefehle umfassen,

beispielsweise das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

beispielsweise das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der ent sprechenden Geräte umfasst,

beispielsweise mittels der virtuellen Abbildern die Ausführbarkeit der Steuerbefehle ermittelt wird, beispielsweise ein erstes Speichermodul (130) zum Spei chern der jeweiligen Steuerbefehle mit den zugeordneten Ausführungsanforderungen in Steuertransaktionen, wobei beispielsweise die Steuertransaktionen in Datenblö cken (B) des verteilten Datenbanksystems (BC) ge speichert werden oder beispielsweise die Steuer transaktionen mittels des verteilten Datenbanksys tems (BC) gespeichert werden;

beispielsweise die Steuertransaktionen mittels der Datenblöcke (B) an die Geräte (D, BCN_D) übertragen werden oder beispielsweise die Steuertransaktionen mittels des verteilten Datenbanksystems (BC) an die Geräte (D, BCN_D) übertragen werden;

beispielsweise ein erstes Überprüfungsmodul zum Überprü fen der jeweiligen Ausführungsanforderungen zum Ausfüh ren der Steuerbefehle einer der Steuertransaktionen durch ein entsprechendes Gerät, wobei

beispielsweise die gerätespezifischen Anforderungen für das entsprechende Gerät überprüft werden;

und/oder beispielsweise überprüft wird, ob Bestätigungs transaktionen für die vorausgesetzten Steuerbefehle in Datenblöcken des verteilten Datenbanksystems verfügbar sind oder ob beispielsweise Bestätigungs transaktionen für die vorausgesetzten Steuerbefehle im verteilten Datenbanksystem verfügbar sind;

beispielsweise ein Ausführungsmodul zum Ausführen der Steuerbefehle durch das entsprechende Gerät abhängig von einem Ergebnis des Überprüfens;

beispielsweise ein zweites Speichermodul zum Speichern des Ergebnisses des Ausführens der Steuerbefehle in Be stätigungstransaktionen der Datenblöcke des verteilten Datenbanksystems .

Alternativ oder zusätzlich kann z. B. das zweite Speichermo dul zum Speichern des Ergebnisses des Ausführens der Steuer befehle in Bestätigungstransaktionen des verteilten Daten banksystems eingerichtet sein.

Im Einzelnen zeigt die Fig. 1 Blöcke B, beispielsweise einen ersten Block Bl, einen zweiten Block B2 und einen dritten Block B3, der Blockkette BC .

Die Blöcke B umfassen jeweils mehrere Transaktionen T. Die Transaktionen T können dabei Steuertransaktionen und/oder Be stätigungstransaktionen umfassen .

Der erste Block Bl umfasst beispielsweise eine erste Transak tion Tla, eine zweite Transaktion Tlb, eine dritte Transakti on Tic und eine vierte Transaktion Tld.

Der zweite Block B2 umfasst beispielsweise eine fünfte Trans aktion T2a, eine sechste Transaktion T2b, eine siebte Trans aktion T2c und eine achte Transaktion T2d.

Der dritte Block B3 umfasst beispielsweise eine neunte Trans aktion T3a, eine zehnte Transaktion T3b, eine elfte Transak tion T3c und eine zwölfte Transaktion T3d. Die Blöcke B umfassen jeweils zusätzlich noch eine der Ver kettungsprüfsummen CRC, die abhängig vom direkten Vorgänger- Block gebildet wird. Somit umfasst der erste Block Bl eine erste Verkettungsprüfsumme CRC1 von seinem Vorgänger-Block, der zweite Block B2 eine zweite Verkettungsprüfsumme CRC2 vom ersten Block Bl, und der dritte Block B3 eine dritte Verket tungsprüfsumme CRC3 vom zweiten Block B2.

Die jeweilige Verkettungsprüfsumme CRC1, CRC2, CRC3 wird vor zugsweise über den Block-Header des entsprechenden Vorgänger blockes gebildet. Die Verkettungsprüfsummen CRC können vor zugsweise unter Verwendung einer kryptographischen Hash- Funktion wie z.B. SHA-256, KECCAK-256 oder SHA-3 gebildet werden. Beispielsweise kann die Verkettungsprüfsumme zusätz lich über die Datenblockprüfsumme berechnet werden oder der Header umfasst die Datenblockprüfsumme (die Datenblockprüf- summe ist im Nachgang erläutert) .

Zusätzlich kann jeder der Blöcke eine Datenblockprüfsumme um fassen. Diese kann beispielsweise mittels eines Hash-Baumes realisiert werden.

Um den Hash-Baum zu bilden, wird für jede Transaktion eines Daten (blockes ) eine Transaktionsprüfsumme (z. B. ebenfalls ein Hash-Wert) berechnet. Alternativ oder zusätzlich kann ei ne Transaktionsprüfsumme, die vom Erzeuger der Transaktion vorzugsweise beim Erzeugen der Transaktion erstellt wurde, hierfür weiterverwendet werden.

Üblicherweise wird für einen Hash-Baum, z. B. ein Merkle Tree oder Patricia Tree, verwendet, dessen Wurzel-Hash- Wert/Wurzel-Prüfsumme vorzugsweise als entsprechende Daten blockprüfsumme in den jeweiligen Blöcken hinterlegt wird.

In einer Variante wird die Datenblockprüfsumme als Verket tungsprüfsumme verwendet. Ein Block kann weiterhin einen Zeitstempel, eine digitale Signatur, einen Proof-of-Work-Nachweis aufweisen, so wie es in den Ausführungsformen der Erfindung erläutert wurde.

Die Blockkette BC selbst wird durch eine Blockketten- Infrastruktur mit mehreren Blockketten-Knoten BCN, BCN_D rea lisiert. Bei den Knoten kann es sich beispielsweise um Rech ner, Blockkettenorakel, vertrauenswürdige Knoten oder um ei nes oder mehrere oder alle der Geräte handeln, die gesteuert bzw. überwacht werden sollen. Mit anderen Worten können ins besondere die Geräte entweder als Blockkettenknoten ausgebil det sein, die dann beispielsweise als Geräteknoten BCN_D be zeichnet werden. Geräte, die beispielsweise nicht als Block kettenknoten ausgebildet sind und beispielsweise nur lesend auf die Blockkette zugreifen, werden insbesondere als block kettenexterne Geräte D bezeichnet. Die Knoten sind über ein erstes Netzwerk NW1 (z. B. ein Kommunikationsnetzwerk wie das Internet oder ein Ethernet-Netzwerk) miteinander kommunikativ verbunden. Mittels der Blockketten-Infrastruktur werden bei spielsweise zumindest ein Teil der Datenblöcke B oder alle Datenblöcke B der Blockkette BC für einen Teil oder alle Kno ten der Blockkette repliziert.

Insbesondere können unter Geräten blockkettenexterne Geräte D verstanden werden oder Geräteknoten BCN_D verstanden werden.

Das Steuersystem, das mittels der Blockkette BC realisiert ist, umfasst zudem ein erstes Bestimmungsmodul 110, ein ers tes Speichermodul 130, ein erstes Überprüfungsmodul 140, ein erstes Ausführungsmodul 150 und ein zweites Speichermodul 160, die über das Steuersystem (z. B. einen Bus) oder über die Blockkette und deren Infrastruktur kommunikativ miteinan der verbunden sind (z. B. das erste Netzwerk NW1) . Das erste (Kommunikations- ) Netzwerk NW1 kann dabei ein Mobilfunknetz werk, ein Ethernet-Netzwerk, ein WAN, ein LAN oder das Inter net sein. Das erste Überprüfungsmodul 140, des erste Ausfüh rungsmodul 150 und/oder das zweite Speichermodul 160 können in Implementierungsvarianten optionale Module sein. Das erste Bestimmungsmodul 110 ist zum Zuordnen eingerichtet, wobei

das erste Bestimmungsmodul Ausführungsanforderungen Steuerbefehlen zuordnet,

eine Ausführbarkeit der Steuerbefehle durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen (z. B. sind hierzu zunächst die Ausfüh rungsanforderungen für die Steuerbefehle ermittelt worden) ,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Das Speichern kann dabei (auch in den vorhergehenden Ausfüh rungsbeispielen) erfolgen, wenn für Steuerbefehle Ausfüh rungsanforderungen zugeordnet wurden.

Insbesondere die Bestimmung der Abhängigkeiten der Steuerbe fehle bzw. Befehlsfolge, bei deren Ausführung durch die Gerä te oder Knoten, kann in einem komplexen Steuersystem mit sehr vielen Knoten oder Geräten (z. B. 200 - 1000 Geräte/Knoten) schwierig sein. Mittels des Virtualisierungsmoduls kann ins besondere die Bestimmung der Ausführbarkeit und die Abhängig keiten von Steuerbefehlen voneinander verbessert werden, da z. B. die Abarbeitung der Steuerbefehle und/oder die Berück sichtigung der Ausführungsanforderungen (z. B. die gerätespe zifischen Anforderungen) und/oder die Abhängigkeiten zwischen Steuerbefehlen mittels der virtuellen Abbilder simuliert bzw. überprüft werden kann. Hierdurch kann beispielsweise insbe sondere auch eine Optimierung der Steuerbefehle verbessert werden und auch eine Genauigkeit einer Aussage darüber, ob die Steuerbefehle ausführbar sind, verbessert werden.

Das Bestimmungsmodul kann hierfür beispielsweise zunächst die relevanten Geräte und/oder Knoten für die Ausführung der Steuerbefehle ermitteln und in dem bzw. mittels des

Virtualisierungsmoduls als virtuelle Abbilder der entspre chenden Knoten oder der entsprechenden Geräte instanziieren . Danach werden instanziierte virtuelle Abbilder der entspre chenden Knoten und/oder der entsprechenden Geräte die Steuer befehle zur Ausführung übermittelt.

Die virtuellen Abbilder arbeiten die Steuerbefehle ab und das Virtualisierungsmodul erfasst dabei Ausführungsparameter. Diese sind z. B. Ausführungszeit, Energieverbrauch und Mate rialverbrauch bzw. eine simulierte Größe von diesen Parame tern .

Anhand dieser Ausführungsparameter kann das Bestimmungsmodul nun z. B. feststellen, ob die Ausführungsanforderungen er füllt sind oder nicht. Alternativ oder zusätzlich können auf diese Weise die entsprechenden Ausführungsanforderungen auch bestimmt werden. Alternativ oder zusätzlich können anhand dieser Ausführungsparameter auch die Steuerbefehle und/oder Ausführungsanforderungen optimiert werden.

Damit kann das Virtualisierungsmodul beispielsweise die Aus führbarkeit für vorgegebene Steuerbefehle durch die entspre chenden vorgegebenen Geräte oder Knoten ermitteln.

In einer weiteren Variante kann der Optimierer die Steuerbe fehle mittels der virtuellen Abbilder und der erfassten Aus führungsparameter optimieren.

In einer weiteren Variante wird mittels der virtuellen Abbil der eine Analyse der Auswirkung der Ausführung der Steuerbe fehle auf die Geräte und das verteilte Datenbanksystems mit den Knoten ermittelt. Die virtuellen Abbilder können beispielsweise als digitale Zwillinge der Geräte oder der Knote und/oder als ein zweidi mensionales und/oder dreidimensionales virtuelles Abbild rea lisiert sein.

Alternativ oder zusätzlich können die virtuellen Abbilder me chanische oder elektrische Eigenschaften der Geräte und/oder der Knoten simulieren.

Alternativ oder zusätzlich kann mittels der virtuellen Abbil der eine Zuverlässigkeitsanalyse für eine erfolgreiche Aus führung der Steuerbefehle durchgeführt werden. Hierfür kann beispielsweise eine FMEA (englisch Failure Mode and Effects Analysis, dt. „Fehlermöglichkeits- und -einflussanalyse" oder kurz „Auswirkungsanalyse") sowie FMECA (engl. Failure Mode and Effects and Criticality Analysis) für eine Ausführung der Steuerbefehle durch die Geräte/Knoten durchgeführt werden.

Ergibt die Prüfung beispielsweise, dass die Steuerbefehle nur unzureichend ausgeführt werden können (z. B. die FMEA ergibt eine erfolgreiche Ausführung der Steuerbefehle mit eine Wahr scheinlichkeit von 40 %) und/oder bestimmte Vorgaben der Aus führungsanforderungen (z. B. es ist eine erfolgreiche Wahr scheinlichkeit für eine Ausführung der Steuerbefehle von min destens 90 % gefordert) werden nicht erfüllt, so wird für die entsprechenden Steuerbefehle keine Steuertransaktion er stellt, die eine Ausführung der Steuerbefehle erlaubt. Alter nativ oder zusätzlich kann bei einer Nicht-Erfüllung der Aus führungsanforderungen eine Steuertransaktion erstellt und ge speichert werden, die eine Ausführung der Steuerbefehle ex plizit unterbindet.

Die für diese Berechnungen notwendigen Ausführungsanforderun gen können beispielsweise aus einer Policy berechnet werden, indem eine Datenbank mit einer solchen Policy abgefragt wird oder die Ausführungsanforderungen werden, wie nachfolgenden erläutert, für die entsprechenden Steuerbefehle bestimmt. Da- mit wird insbesondere erreicht, dass keine komplexen Berech nungen oder Geräteabfragen erneut ausgeführt werden müssen, um die Ausführungsanforderungen zu bestimmen, oder es kann ein Zugriff auf eine langsame Datenbankverbindung verzichtet werden .

Darüber hinaus kann das Bestimmungsmodul in einer Variante der Erfindung zum Bestimmen von Ausführungsanforderungen für eine Ausführung von Steuerbefehlen durch die Geräte einge richtet sein, wobei in den Ausführungsanforderungen geräte spezifische Anforderungen und/oder vorausgesetzte Steuerbe fehle gespeichert sind bzw. diese umfasst. Bei einer konkre ten Implementierung können die Ausführungsanforderungen (oder einfach nur Anforderungen genannt) beispielsweise in Anforde rungsdatensätzen gespeichert werden, die wiederum dann in den Transaktionen (z. B. in Steuertransaktionen) gespeichert wer den. Das erste Bestimmungsmodul selbst kann beispielsweise als Softwarekomponente (z. B. als Smart-Contract ) oder als Hardwarekomponente oder als eine Kombination aus Hardware- und Softwarekomponenten realisiert werden.

Als Softwarekomponente kann das erste Bestimmungsmodul 110 beispielsweise als Smart-Contract realisiert sein, der durch die Blockkette bzw. deren Infrastruktur ausgeführt wird.

Hierzu ist der Smart-Contract beispielsweise in Transaktionen gespeichert, die wiederum in Datenblöcken oder Blöcken der Blockkette BC gespeichert werden.

Die Ausführungsanforderungen können durch das Bestimmungsmo dul beispielsweise individuell für entsprechende Steuerbefeh le berechnet werden und diesen dann z. B. durch ein Zuord nungsmodul zugeordnet werden. Alternativ können die Ausfüh rungsanforderungen z. B. durch eine Policy (z. B. konfigu rierte Ausführungsregeln) vorgegeben sein. Diese Ausführungs anforderungen werden dann durch das Bestimmungsmodul bzw. dem Zuordnungsmodul den entsprechenden Steuerbefehlen zugeordnet. Dabei bestimmt das Bestimmungsmodul welche der Ausführungsan forderungen für die entsprechenden Steuerbefehle relevant sind. Beispielsweise werden Steuerbefehlen zum Fräsen von Bohrlöchern Ausführungsanforderungen zugeordnet, dass diese mit einer vorgegebenen Genauigkeit/Präzision gefräst werden sollen und/oder beim Fräsen bestimmte Temperaturen nicht überschritten werden sollen. Diese Ausführungsanforderungen können dann durch die Geräte oder Überprüfungsmodule über prüft werden, ob ein entsprechendes Gerät die Ausführungsan forderungen erfüllt.

Als Hardwarekomponente kann das erste Bestimmungsmodul 110 beispielsweise durch ein Blockketten-Orakel und/oder einen Knoten/Gerät der Blockkette realisiert werden, die insbeson dere beispielsweise vertrauenswürdig sind und mittels eines digitalen Zertifikats oder digitaler Signaturen die Ausfüh rungsanforderungen signieren.

Optional kann das Steuersystem ein erstes Zerlegemodul umfas sen, das beispielsweise als integrales Modul des ersten Be stimmungsmoduls 110 ausgebildet ist oder als separates Modul (z. B. als Software- und/oder Hardwarekomponente) ausgebildet ist - analog zum ersten Bestimmungsmodul (z. B. als Smart- Contract der Blockkette) . Das erste Zerlegemodul ist dazu eingerichtet, eine Befehlsfolge in die entsprechenden Steuer befehle zu zerlegen und dem Steuersystem, insbesondere dem ersten Bestimmungsmodul bzw. dem ersten Speichermodul, be reitzustellen.

Die Befehlsfolge kann dabei Steuerbefehle für eine Vielzahl von Geräten, z. B. Fertigungsmaschinen, umfassen, damit diese einen Gegenstand oder ein Produkt, z. B. eine Gasturbine oder einen Elektromotor, erstellen. Alternativ oder zusätzlich um fasst die Befehlsfolge eine Spezifikation des Produkts, die durch die Geräte umgesetzt werden soll. Die Befehlsfolge muss nicht zwangsläufig auf die Fertigung eines Produktes gerich tet sein. Sie kann beispielsweise auch die Steuerung eines Energieversorgungsnetzes sein. Die Befehlsfolge selbst kann dabei beispielsweise ein Smart-Contract sein, der in der Blockkette gespeichert wurde. Dieser Smart-Contract kann dann beispielsweise von dem Steuersystem (bzw. dem ersten

Zerlegemodul und/oder dem ersten Bestimmungsmodul) mit der Blockkette bzw. deren Infrastruktur ausgewertet werden.

Auch kann die Befehlsfolge beispielsweise verschlüsselt sein, sodass das erste Bestimmungsmodul 110 oder das erste

Zerlegemodul die Befehlsfolge zunächst entschlüsseln muss, bevor die Befehlsfolge zerlegt werden kann.

Alternativ oder zusätzlich sind die Steuerbefehle der Be fehlsfolge verschlüsselt und entsprechende Anforderungen für deren Ausführung in der Befehlsfolge als Klartext hinterlegt.

Die Befehlsfolge selbst und/oder die Steuerbefehle können da bei beispielsweise dem Steuersystem durch einen Nutzer, durch eine Schnittstelle, durch eine andere Datenbank oder durch ein Eingabegerät bereitgestellt werden.

Alternativ oder zusätzlich werden die Steuerbefehle und/oder die Ausführungsanforderungen durch das erste Bestimmungsmodul 110 verschlüsselt, um beispielsweise einen Know-How-Schutz zu realisieren. Beispielsweise umfassen dann das entsprechende Gerät D zum Ausführen der Steuerbefehle und/oder das erste Überprüfungsmodul 140 und/oder das erste Ausführungsmodul 150, 150_D über entsprechende kryptographische Mittel. Bei spielsweise sind die kryptographischen Mittel ein entspre chender kryptographischen Schlüssel, um die Steuerbefehle und/oder die Ausführungsanforderungen zu entschlüsseln.

Das erste Zerlegemodul und das erste Bestimmungsmodul zerle gen zunächst die Befehlsfolge in Steuerbefehle oder bestimmen die Steuerbefehle anhand der Befehlsfolge, wobei die Steuer befehle auch eine Gruppe von Steuerbefehlen oder mehrere Steuerbefehle sein können. Das erste Bestimmungsmodul 110 kennt vorzugsweise die verfügbaren Geräte und/oder Knoten und bestimmt für die Steuerbefehle (die auch eine Gruppe von Steuerbefehlen sein können) Ausführungsanforderungen. Alter nativ können die Ausführungsanforderungen bereits in der Be- fehlsfolge kodiert/gespeichert sein und das erste Bestim mungsmodul 110 bestimmt anhand dieser Information die Ausfüh rungsanforderungen für die entsprechenden Steuerbefehle.

Zusätzlich kann das Steuersystem einen Optimierer umfassen, der anhand der Ausführungsanforderungen eine Ausführung der Steuerbefehle durch die Geräte anhand eines vorgegebenen Kri teriums optimiert. Alternativ bestimmt der Optimierer die Ausführungsanforderungen und stellt sie dem ersten Bestim mungsmodul 110 bereit.

Das Steuersystem ist dadurch beispielsweise in der Lage, ei nen Fertigungsprozess nach den vorgegebenen Kriterien zu op timieren. Die vorgegebenen Kriterien können beispielsweise die Fertigungszeit, die verursachten Kosten oder die aufzu wendende Energie sein. Der Optimierer kann beispielsweise ein integrales Modul des ersten Zerlegemoduls oder des ersten Be stimmungsmoduls sein. Alternativ kann der Optimierer als ei genständiges Modul des Steuersystems ausgebildet sein.

Ist der Optimierer beispielsweise ein integrales Modul des Zerlegemoduls oder des Bestimmungsmoduls kann er beim Zerle gen der Befehlsfolge in Steuerbefehle und beim Bestimmen der Ausführungsanforderungen die Optimierung vornehmen. Dabei be rücksichtigt das erste Zerlegemodul oder das erste Bestim mungsmodul 110 mittels des Optimierers, beispielsweise beim Zerlegen der Befehlsfolge in die Steuerbefehle, das vorgege bene Kriterium.

Ist beispielsweise das Kriterium, die Fertigungszeit bei der Produktion eines Produktes zu optimieren (z. B. Fertigungs zeit für das Produkt möglichst gering zu halten) , wird die Befehlsfolge derart zerlegt und/oder entsprechend optimierte Ausführungsanforderungen berechnet, dass die Einzelkomponen ten des Produktes parallel von mehreren Geräten hergestellt werden - also die entsprechenden Steuerbefehle in Steuer transaktionen von diesen abgearbeitet werden. Ist beispiels weise das Kriterium, die Fertigungskosten bei der Produktion eines Produktes zu optimieren, wird die Befehlsfolge derart zerlegt und/oder entsprechend optimierte Ausführungsanforde rungen berechnet, dass die Einzelkomponenten seriell von ei nem Gerät (z. B. dem entsprechenden Gerät) oder möglichst we nigen Geräten hergestellt werden - also die entsprechenden Steuerbefehle in Steuertransaktionen von den entsprechenden Geräten/Knoten abgearbeitet werden. Um dies zu steuern, wer den beispielsweise durch den Optimierer die entsprechenden Informationen an das Bestimmungsmodul übergeben, sodass das Bestimmungsmodul diese Informationen in den Ausführungsanfor derungen hinterlegt.

In einer Variante ist das Bestimmungsmodul ein Bestimmungsmo dul für ein verteiltes Datenbanksystem oder für ein Steuer system mit einem verteilten Datenbanksystem zum Steuern und/oder Überwachen von Geräten. In dieser Variante weist es einen Prozessor und optional eine Speichereinheit auf. Der Prozessor ist zum Bestimmen von Ausführungsanforderungen für eine Ausführung von Steuerbefehlen durch die Geräte einge richtet, wobei in den Ausführungsanforderungen gerätespezifi sche Anforderungen und/oder vorausgesetzte Steuerbefehle ge speichert sind und die Ausführungsanforderungen in Transakti onen des verteilten Datenbanksystems gespeichert sind. Zu sätzlich kann es beispielsweise die Ausführungsvarianten und die genannten Merkmale aus den Fig. 4 und 5 umfassen.

Umfasst das Bestimmungsmodul beispielsweise ein Zuordnungsmo dul, ist dieses beispielsweise zum Zuordnen der jeweiligen Ausführungsanforderungen zu den Steuerbefehlen eingerichtet. Das Zuordnungsmodul kann beispielsweise als Software- und/oder Hardwarekomponente ausgebildet sein - analog zum ersten Bestimmungsmodul 110 (z. B. als Smart-Contract der

Blockkette oder als vertrauenswürdige Knoten der Blockkette) . Das Zuordnungsmodul kann insbesondere durch die Blockkette bzw. einem Smart-Contract realisiert werden oder ist eine Softwarekomponente der Blockketten-Infrastruktur . Werden beispielsweise für das Ausführen von Steuerbefehlen bzw. Steuertransaktionen keine vorausgesetzten Steuerbefehle benötigt, können die vorausgesetzten Steuerbefehle insbeson dere leer sein. Beispielsweise können sie mit einer Null be legt sein, mit einem Leerstring belegt sein oder einem Wert, der angibt, dass keine vorausgesetzten Steuerbefehle notwen dig sind, belegt sein. Alternativ kann beispielsweise einem Teil der Steuerbefehle keine Ausführungsanforderung zugeord net sein, wobei insbesondere zumindest einem der Steuerbefeh le zumindest eine Ausführungsanforderung zugeordnet ist.

Das erste Speichermodul 130 ist zum Speichern der jeweiligen Steuerbefehle mit den zugeordneten Ausführungsanforderungen in Steuertransaktionen eingerichtet, wobei die Steuertransak tionen in Datenblöcken B des verteilten Datenbanksystems (BC) gespeichert werden. Die Steuertransaktionen werden dabei bei spielsweise mittels der Datenblöcke B an die Geräte D, BCN_D übertragen. Dies erfolgt beispielsweise dadurch, dass die entsprechenden Datenblöcke durch die Blockkette über das ers te Netzwerk NW1 an die entsprechenden Knoten übertragen wer den, z. B. wenn die Datenblöcke für die Blockkette und/oder Knoten und/oder spezifische Knoten repliziert werden. Handelt es sich beispielsweise um ein blockketten-externes Gerät, so kann dieses beispielsweise über eine Schnittstelle (z. B. ein Web-Interface) der Blockkette an ein solches Gerät übertragen werden oder ein solches Gerät ruft die entsprechenden Daten selbst von der Blockkette ab z. B. nach einem vorgegebenen Zeitintervall .

Vorzugsweise werden beim Bestimmen der Steuerbefehle durch das erste Bestimmungsmodul 110 diese gerätespezifisch be stimmt. Das bedeutet insbesondere, dass zunächst Gruppen von Steuerbefehlen gebildet werden, die vollständig von einem entsprechenden Gerät abgearbeitet werden können. Diese Grup pen von Steuerbefehlen können auch einfach nur Steuerbefehle genannt werden. Für diese Gruppen von Steuerbefehlen bzw. Steuerbefehle werden dann die Ausführungsvoraussetzungen be rechnet - so wie dies oben erläutert wurde. Beim Speichern werden dann eine entsprechende Gruppe von Steuerbefehlen bzw. die entsprechenden Steuerbefehle zusammen mit den zugehöri gen/entsprechenden Ausführungsvoraussetzungen in einer Steu ertransaktion gespeichert. Entsprechend umfassen vorzugsweise die Steuertransaktionen gerätespezifische Steuerbefehle.

Es kann sich bei dem Bestimmungsmodul beispielsweise auch um ein erfindungsgemäßes Bestimmungsmodul oder eine seiner Aus führungsformen bzw. ein Bestimmungsmodul, wie es in den Fig.

4 und/oder 5 erläutert wird.

Das Speichern kann auf unterschiedliche Weise realisiert wer den. Beispielsweise kann ein Steuerbefehl oder mehrere Steu erbefehle in einer spezifischen Steuertransaktion gespeichert werden, wobei diese spezifische Steuertransaktion die ent sprechenden Ausführungsanforderungen für den Steuerbefehl oder die mehreren Steuerbefehle umfasst. Dieser integrale An satz ist vorteilhaft, um auf die Daten möglichst einfach zu zugreifen .

Alternativ können die entsprechenden Ausführungsanforderungen in einer eigenen bzw. separaten Steuertransaktion gespeichert sein, wobei die eigene Transaktion eine Referenz oder einen Hinweis umfasst, auf welchen Steuerbefehl oder welche Steuer befehle sich diese entsprechende Ausführungsanforderungen be ziehen. Dies erfolgt beispielsweise mit einer Blocknummer (eines Blocks) mit den entsprechenden ( Steuer- ) Transaktionen (mit Steuerbefehlen) , eine Prüfsumme des Blocks oder der Transaktion, der/die die Steuerbefehle umfasst. Dies ist vor teilhaft, wenn die Ausführungsanforderungen erst während der Abarbeitung der Steuerbefehle durch die entsprechenden Geräte bestimmt werden. Ein Gerät (bzw. das erste Überprüfungsmodul 140 bzw. das erste Ausführungsmodul 150), z. B. das entspre chende Gerät, das die Steuerbefehle oder einen Teil der Steu erbefehle einer Steuertransaktion abarbeitet, beginnt eine Abarbeitung der entsprechenden Steuerbefehle erst, wenn die entsprechenden Ausführungsanforderungen in einer Steuertrans aktion in der Blockkette verfügbar sind. Andernfalls wartet das Gerät bzw. das erste Überprüfungsmodul 140 bzw. das erste Ausführungsmodul 150 bis diese Steuertransaktion mit den ent sprechenden Ausführungsanforderungen durch die Blockkette BC bereitgestellt werden.

Das erste Speichermodul 130 kann beispielsweise als Software- und/oder Hardwarekomponente ausgebildet sein - analog zum ersten Bestimmungsmodul 110 (z. B. als Smart-Contract der

Blockkette oder als vertrauenswürdige Knoten der Blockkette) . Das erste Speichermodul 130 kann insbesondere durch die

Blockkette bzw. einem Smart-Contract realisiert werden oder ist eine Softwarekomponente der Blockketten-Infrastruktur .

Das erste Überprüfungsmodul 140 ist zum Überprüfen der jewei ligen Ausführungsanforderungen beim Ausführen der Steuerbe fehle einer der Steuertransaktionen durch ein entsprechendes Gerät eingerichtet, wobei

die gerätespezifischen Anforderungen der jeweiligen Aus führungsanforderungen der jeweiligen Steuertransaktion für das entsprechende Gerät überprüft werden; und/oder überprüft wird, ob Bestätigungstransaktionen für die vo rausgesetzten Steuerbefehle der jeweiligen Ausführungs anforderungen der jeweiligen Steuertransaktion in Daten blöcken des verteilten Datenbanksystems verfügbar sind.

Dabei ist insbesondere mit „einem der Steuerbefehle" ein oder mehrere der Steuerbefehle gemeint (sprich es handelt sich z. B. um einen oder mehrere Steuerbefehle) . Alternativ ist unter „mit einem der Steuerbefehle", „mindestens einen der Steuer befehl" zu verstehen. Bei „einem der Steuerbefehle" handelt es sich vorzugsweise um die Steuerbefehle einer entsprechen den Steuertransaktion.

Das erste Überprüfungsmodul 140 kann beispielsweise als Soft ware- und/oder Hardwarekomponente ausgebildet sein - analog zum ersten Bestimmungsmodul 110 (z. B. als Smart-Contract der

Blockkette oder als vertrauenswürdige Knoten der Blockkette) . Das erste Überprüfungsmodul 140 kann insbesondere durch die Blockkette bzw. einen Smart-Contract realisiert werden oder ist eine Softwarekomponente der Blockketten-Infrastruktur oder ist eine Komponente eines Knotens oder eines Gerätes, das die Steuerbefehle ausführen kann.

Ist die Überprüfung der Steuerbefehle eines Datenblocks, die durch das entsprechende Gerät ausgeführt werden sollen, durch das erste Überprüfungsmodul 140 abgeschlossen, so wird ein Ergebnis der Prüfung in einem Datensatz bereitgestellt. Das erste Überprüfungsmodul 140 kann beispielsweise noch zusätz liche Überprüfungen durchführen. Beispielsweise können die Transaktionsprüfsumme oder die Datenblockprüfsumme überprüft werden. Handelt es sich bei einer entsprechenden Prüfsumme um eine digitale Signatur oder ein Zertifikat, so kann bei spielsweise überprüft werden, ob der Ausstellende bzw. Prüf summenerzeuger überhaupt berechtigt ist, dass seine Steuerbe fehle auf dem Gerät bzw. durch das Gerät abgearbeitet werden.

Es kann beispielsweise auch überprüft werden, ob das entspre chende Gerät über ein gefordertes digitales Zertifikat ver fügt, das beispielsweise aussagt, dass das entsprechende Ge rät vertrauenswürdig ist. Dies kann beispielsweise notwendig sein, wenn es sich um Steuerbefehle handelt, die Know-How um fassen, das nicht öffentlich zugänglich gemacht werden soll.

Es ist beispielsweise auch denkbar, dass die Steuerbefehle kryptographisch verschlüsselt sind und vorzugsweise nur das entsprechende Gerät D Mittel umfasst (z. B. einen entspre chenden Schlüssel) , diese kryptographische Verschlüsselung aufzuheben. Diese Mittel kann das entsprechende Gerät D selbst umfassen oder das Ausführungsmodul 150, 150_D umfasst diese Mittel.

Das Ausführungsmodul 150, 150_D ist zum Ausführen der Steuer befehle durch das entsprechende Gerät abhängig von dem Ergeb nis des Überprüfens eingerichtet. Ergibt die Überprüfung bzw. umfasst das Ergebnis eine Bestätigung für das Ausführen der Steuerbefehle, führt das entsprechende Gerät diese Steuerbe- fehle aus. Es kann beispielsweise in eine Komponente ein Loch bohren entsprechend der Spezifikationen der Steuerbefehle, die ursprünglich in der Befehlsfolge spezifiziert wurden. Ergibt die Überprüfung bzw. umfasst das Ergebnis keine Bestä tigung für das Ausführen der Steuerbefehle, so wird eine Abarbeitung/Ausführung der Steuerbefehle unterbunden.

Sagt das Ergebnis beispielsweise aus, dass die Steuerbefehle nicht durch das entsprechende Gerät ausgeführt werden sollen, kann beispielsweise ein Steuersignal bereitgestellt werden. Mit dem Steuersignal können beispielsweise ein Alarm, ein Servicetechniker oder die Steuerbefehle (vorzugsweise alle) , die anhand einer Befehlsfolge erzeugt wurden, für ungültig erklärt werden, sodass andere Steuerbefehle der Befehlsfolge nicht mehr durch andere Geräte ausgeführt werden. Hierfür kann beispielsweise eine entsprechende Steuertransaktion mit einem solchen Steuerbefehl für alle Geräte in einem Block der Blockkette BC gespeichert werden und an die Geräte mittels der Blockkette BC übermittelt werden. Eine solche Steuer transaktion umfasst vorzugsweise ebenfalls Ausführungsanfor derungen, die eine Priorität umfassen. Diese Priorität ist vorzugsweise höher als eine Priorität der übrigen Steuerbe fehle. Mit dieser erhöhten Priorität wird die entsprechende Steueranweisung bevorzugt von den Geräten abgearbeitet, um beispielsweise die restlichen Steuerbefehle der Befehlsfolge zu invalidieren (für ungültig erklären) bzw. deren Ausführung zu unterbinden.

Ist das erste Überprüfungsmodul 140 beispielsweise ein Modul der Blockkette BC, so umfasst das erste Überprüfungsmodul 140 beispielsweise eine Liste der Geräte mit ihren gerätespezifi schen Eigenschaften, anhand derer die gerätespezifischen An forderungen überprüft werden können. Alternativ kann das ers te Überprüfungsmodul 140 eine Liste der Geräte und ihre Netz werkadressen umfassen, und die entsprechenden gerätespezifi schen Eigenschaften bei den Geräten selbst abfragen. Dies ist vorteilhaft, um den aktuellen Betriebszustand der Geräte bei der Überprüfung zu berücksichtigen. Das erste Ausführungsmodul 150, 150_D kann beispielsweise als Software- und/oder Hardwarekomponente ausgebildet sein - ana log zum ersten Bestimmungsmodul 110 (z. B. als Smart-Contract der Blockkette oder als vertrauenswürdige Knoten der Block kette) . Das Ausführungsmodul kann insbesondere durch die Blockkette bzw. einen Smart-Contract realisiert werden oder ist eine Softwarekomponente der Blockketten-Infrastruktur oder ist eine Komponente eines Knotens (z. B. ein Blockket tenausführungsmodul 150) oder eines Gerätes (z. B. ein Gerä teausführungsmodul 150_D) , das die Steuerbefehle ausführen kann .

Ist das erste Ausführungsmodul beispielsweise ein Modul der Blockkette, so umfasst das erste Ausführungsmodul 150 bei spielsweise eine Liste der Geräte und deren Netzwerkadressen, um die Geräte für das Abarbeiten der Steuerbefehle anzu steuern .

Das zweite Speichermodul 160 ist zum Speichern des Ergebnis ses des Ausführens der Steuerbefehle in Bestätigungstransak- tionen der Datenblöcke des verteilten Datenbanksystems einge richtet .

War die Abarbeitung der Steuerbefehle durch das entsprechende Gerät erfolgreich, so wird diese Information in einer Bestä tigungstransaktion in der Blockkette gespeichert. Gibt es beispielsweise andere Steuerbefehle, die eine Abarbeitung der nun abgearbeiteten Steuerbefehle voraussetzen (vorausgesetzte Steuerbefehle) , können nun diese anderen Steuerbefehle durch ein anderes entsprechendes Gerät oder das gleiche entspre chende Gerät abgearbeitet werden, sofern auch die restlichen Ausführungsanforderungen erfüllt sind.

Das zweite Speichermodul 160 kann beispielsweise als Soft ware- und/oder Hardwarekomponente ausgebildet sein - analog zum ersten Bestimmungsmodul 110 (z. B. als Smart-Contract der

Blockkette oder als vertrauenswürdige Knoten der Blockkette) . Das zweite Speichermodul 160 kann insbesondere durch die Blockkette bzw. einem Smart-Contract realisiert werden oder ist eine Softwarekomponente der Blockketten-Infrastruktur oder ist eine Komponente eines Knoten, das die Steuerbefehle ausführen kann.

Das Steuersystem und/oder das verteilte Datenbanksystem bzw. seine Knoten (z. B. Blockketten-Knoten, Geräte (Geräteknoten und blockkettenexterne Geräte) ) können beispielsweise zusätz lich noch eine weitere oder mehrere weitere Komponente/n um fassen, wie beispielsweise einen Prozessor, eine Speicherein heit, weitere Kommunikationsschnittstellen (z. B. Ethernet, WLAN) ein Eingabegerät, insbesondere eine Computertastatur oder eine Computermaus, und ein Anzeigegerät (z. B. einen Mo nitor) . Der Prozessor kann beispielsweise mehrere weitere Prozessoren umfassen, die insbesondere zur Realisierung von weiteren Ausführungsbeispielen verwendet werden können. Die weitere/n Komponente/n können beispielsweise ebenfalls über die Blockkette bzw. deren Infrastruktur miteinander kommuni kativ verbunden sein.

Bei dem Prozessor kann es sich beispielsweise um einen ASIC handeln, der anwendungsspezifisch für die Funktionen eines jeweiligen Moduls oder aller Module des Ausführungsbeispiels (und/oder weiterer Ausführungsbeispiele) realisiert wurde, wobei die Programmkomponente bzw. die Programmbefehle insbe sondere als integrierte Schaltkreise realisiert sind. Bei dem Prozessor kann es sich beispielsweise auch um einen FPGA han deln, der insbesondere mittels der Programmbefehle derart konfiguriert wird, dass der FPGA die Funktionen eines jewei ligen Moduls oder aller Module des Ausführungsbeispiels (und/oder weiterer Ausführungsbeispiele) realisiert.

Je nach gewählter Implementierungsvariante kann das verteilte Datenbanksystem das erste Überprüfungsmodul und/oder das ers te Ausführungsmodul und/oder das zweite Speichermodul umfas- sen In dieser Implementierungsvariante sind die Geräte einfach gehalten - z. B. ohne derartig korrespondierende Module. Dies ist vorteilhaft, um die Geräte möglichst einfach zu gestalten und an das verteilte Datenbanksystem anzubinden. Dadurch kön nen insbesondere kostengünstige Geräte eingesetzt werden.

In einer weiteren Implementierungsvariante umfassen die Gerä te ein erstes Geräte-Überprüfungsmodul und/oder ein erstes Geräte-Ausführungsmodul und/oder ein zweites Geräte- Speichermodul . Je nach gewählter Implementierung können das erste Überprüfungsmodul und/oder das erste Ausführungsmodul und/oder ein zweite Speichermodul bei der Realsierung ihrer Funktionalitäten/Aufgaben auf die korrespondierenden Module der Geräte zugreifen.

Mit anderen Worten kennt das Steuersystem bzw. das verteilte Datenbanksystem die entsprechenden Gerätemodule (z. B. mit tels in einer Tabelle gespeicherten Daten) . Das erste Über prüfungsmodul 140 und/oder das erste Ausführungsmodul 150 und/oder das zweite Speichermodul 160 verfügen über Informa tionen, wie die Gerätemodule 150_D angesprochen bzw. ange steuert werden können (z. B. über eine modulinterne Tabelle, die sich vorzugsweise automatisch aktualisiert beispielsweise über Broadcast-Nachrichten im ersten Kommunikationsnetzwerk NW1 oder über das verteilte Datenbanksystem BC) . Das erste Überprüfungsmodul und/oder das erste Ausführungsmodul

und/oder das zweite Speichermodul implementieren dabei vor zugsweise nur den Teil, der die notwendigen Informationen bzw. Aufgaben an das entsprechende Gerät bzw. die entspre chenden Geräte verteilt bzw. übermittelt (z. B. die Steuer transaktionen oder die Bestätigungstransaktionen oder das Er gebnis des Überprüfens durch das Überprüfungsmodul) . Die restliche Funktionalität wird durch die Gerätemodule reali siert .

Dies ist dahingehend vorteilhaft, um rechenintensivere Über prüfungsaufgaben durch das erste Überprüfungsmodul oder Aus- führungsaufgaben durch das erste Ausführungsmodul ganz oder teilweise auf die entsprechenden Geräte auszulagern.

Auch kann das Steuersystem noch ein optionales Registrie rungsmodul umfassen.

Das Registrierungsmodul kann beispielsweise als Software- und/oder Hardwarekomponente ausgebildet sein - analog zum ersten Bestimmungsmodul 110 (z. B. als Smart-Contract der

Blockkette oder als vertrauenswürdige Knoten der Blockkette) . Das Registrierungsmodul kann insbesondere durch die Blockket te bzw. einen Smart-Contract realisiert werden oder ist eine Softwarekomponente der Blockketten-Infrastruktur . Alternativ kann das Registrierungsmodul als spezifischer vertrauenswür diger Knoten realisiert sein, dessen Netzwerkadresse bei spielsweise öffentlich bekannt ist. Handelt es sich bei spielsweise um ein geschlossenes verteiltes Datenbanksystem, bei dem nur berechtigte Knoten und/oder Geräte an das Steuer system bzw. an das verteilte Datenbanksystem angebunden wer den, so ist insbesondere ausschließlich die Netzwerkadresse des Registrierungsmoduls öffentlich bekannt.

Das Registrierungsmodul ist dazu eingerichtet neue Knoten und/oder Geräte dem Steuersystem hinzuzufügen. Sobald ein neues Gerät und/oder Knoten dem Steuersystem bzw. dem ver teilten Datenbanksystem beitreten möchte, wird durch das neue Gerät oder durch den neuen Knoten eine Anfrage an das Regist rierungsmodul gesendet. Dies kann direkt erfolgen, indem bei spielsweise Knoten- und/oder Geräteinformationen direkt an das Registrierungsmodul übermittelt werden. Erfolgt dies in direkt wird die Anfrage zwischen den Knoten und Modulen des verteilten Datenbanksystems weitergeleitet bis die Anfrage das Registrierungsmodul erreicht.

Die Knoten- und/oder Geräteinformationen können dabei folgen des umfassen:

- Geräteadresse/Knotenadresse

- Betreiber des Gerätes/Knotens - Funktionsumfang des Gerätes/Knotens

- kryptographische Schlüssel (z. B. zum Überprüfen von Prüf summen/digitalen Signaturen, die durch das Gerät/den Knoten erzeugt wurden)

- weitere Eigenschaften, die bei der Überprüfung der Ausfüh rungsanforderungen benötigt werden

Die Knoten- und/oder Geräteinformationen können dann bei spielsweise im Steuersystem (z. B. in entsprechenden Tabel len) gespeichert werden, damit das Überprüfen und/oder das Ausführen der Steuerbefehle bzw. Steuertransaktionen durch die entsprechenden Module realisiert werden kann.

Handelt es sich bei dem Datenbanksystem beispielsweise um ein geschlossenes verteiltes Datenbanksystem, überprüft das Re gistrierungsmodul auch, ob das Gerät/der Knoten zugangsbe rechtigt ist - also ob insbesondere das Gerät/der Knoten als Teil des Steuersystems bzw. des verteilten Datenbanksystems akzeptiert ist. Hierfür stellt das Gerät/der Knoten bei spielsweise Authentifizierungsinformationen (kryptographische Schlüssel, Passwörter, usw.) bereit, die durch das Registrie rungsmodul überprüft werden.

Handelt es sich bei dem Datenbanksystem beispielsweise um ein offenes verteiltes Datenbanksystem, so werden beispielsweise die Knoten- und/oder Geräteinformationen erfasst.

Je nach Implementierungsvariante sind das Überprüfungsmodul 140 und/oder das Ausführungsmodul 150 und/oder das zweite Speichermodul 160 optionale Module.

Die Fig. 2 zeigt ein zweites Ausführungsbeispiel der Erfin dung, das eine Steuerung von Geräten implementiert, die als Knoten der Blockkette BC realisiert sind.

Diese Variante kann beispielsweise auch durch das Ausfüh rungsbeispiel von Fig. 1 realisiert werden bzw. ist mit die ser kompatibel. Entsprechend kann das Steuersystem aus Fig. 2 ebenfalls eines oder mehrere Module des Steuersystems aus Fig. 1 aufweisen.

Durch das Steuersystem, das als Blockkette BC realisiert ist, werden mehrere Transaktionen T bereitgestellt, die auch Steu ertransaktionen umfassen können.

Beispielsweise handelt es sich bei der fünften Transaktion T2a um eine erste Steuertransaktion, die erste Steuerbefehle und diesen Steuerbefehlen zugeordneten erste Ausführungsan forderungen umfasst. Bei der sechsten Transaktion T2b handelt es sich beispielsweise um eine zweite Steuertransaktion, die zweite Steuerbefehle und diesen Steuerbefehlen zugeordneten zweite Ausführungsanforderungen umfasst. Die zweiten Ausfüh rungsanforderungen fordern als vorausgesetzte Steuerbefehle, dass die zweiten Steuerbefehle durch ein bestimmtes Gerät, beispielsweise einen zweiten Geräteknoten BCN_D_2 ausgeführt werden, und dass die ersten Steuerbefehle durch einen be stimmten Geräteknoten, beispielsweise einen ersten Gerätekno ten BCN_D_1, ausgeführt sein müssen, bevor der zweite Geräte knoten BCN_D_2 mit der Abarbeitung der zweiten Steuerbefehle beginnen kann.

Mit anderen Worten ist durch die zweiten Ausführungsanforde rungen für die zweiten Steuerbefehle festgelegt, dass mit de ren Ausführung begonnen wird, wenn die ersten Steuerbefehle ausgeführt wurden und eine Bestätigung für deren Ausführung in (Bestätigungs- ) Transaktionen, die in Blöcken der Blockket te gespeichert sind, durch die Blockkette bereitgestellt wer den .

In einem ersten Schritt S1 werden die ersten Steuerbefehle der ersten Steuertransaktion durch die Blockkette an den ers ten Geräteknoten BCN_D_1 übermittelt und durch den ersten Ge räteknoten BCN_D_1 ausgeführt. Nach erfolgreicher Abarbeitung der ersten Steuerbefehle durch den ersten Geräteknoten

BCN_D_1 wird hierfür in einem zweiten Schritt S2 eine Bestä tigung über diese Abarbeitung in eine Bestätigungstransaktion geschrieben und in einem Datenblock der Blockkette gespei chert. Dies ist in diesem Ausführungsbeispiel die neunte Transaktion T3a.

Nachdem die Ausführungsanforderungen für die zweiten Steuer befehle erfüllt sind, wird in einem dritten Schritt S3 durch die Blockkette die zweite Steuertransaktion dem zweiten Gerä teknoten BCN_D_2 übermittelt. Dies kann beispielsweise durch die Blockkette selbst - so wie dies z. B. in Fig. 1 darge stellt ist - realisiert werden, oder durch ein separates Mo dul oder Gerät durchgeführt werden.

Der zweite Geräteknoten BCN_D_2 arbeitet die zweiten Steuer befehle ab. Ist das Abarbeiten erfolgreich, speichert der zweite Geräteknoten BCN_D_2 eine zweite Bestätigungstransak- tion in einem Block der Blockkette in einem Schritt S4.

Unter einem Geräteknoten ist hierbei insbesondere ein Knoten der Blockkette zu verstehen, der zugleich ein Gerät ist oder Geräteeigenschaften aufweist, um Steuerbefehle abzuarbeiten.

Mit der Erfindung können auf einfache Weise komplexe Steuer befehlsketten (auch Befehlsfolgen genannt) in einem (Automa- tisierungs- ) Netzwerk, bei welchem Knoten und/oder Gerätekno ten und/oder blockkettenexternen Geräte miteinander vernetzt sind, abgearbeitet werden, selbst wenn sich unterschiedliche Betreiber der einzelnen Knoten und Geräte nicht vertrauen.

Ein nicht in einer Figur dargestelltes weiteres Ausführungs beispiel der Erfindung betrifft ein Gerät, so wie es in der Fig. 1 oder der Fig. 2 mit den zugehörigen Ausführungsbei spielen erläutert wurde.

Das Gerät umfasst ein erstes Kommunikationsmodul, ein optio nales erstes Überprüfungsmodul, ein optionales erstes Ausfüh rungsmodul und ein zweites Speichermodul, die über einen Bus miteinander kommunikativ in Verbindung stehen. Ein Bus kann hierbei auch ein einfacher Programmfluss oder ein Datenaus tausch zwischen den entsprechenden Komponenten sein.

Das Gerät kann beispielsweise zusätzlich noch eine weitere oder mehrere weitere Komponente/n umfassen, wie beispielswei se einen Prozessor, eine Speichereinheit, weitere Kommunika tionsschnittstellen (z. B. Ethernet, WLAN) , ein Eingabegerät, insbesondere eine Computertastatur oder eine Computermaus, und ein Anzeigegerät (z. B. einen Monitor) . Der Prozessor kann beispielsweise mehrere weitere Prozessoren umfassen, die insbesondere zur Realisierung von weiteren Ausführungsbei spielen verwendet werden können. Die weitere/n Komponente/n können beispielsweise ebenfalls über den Bus miteinander kom munikativ verbunden sein.

Bei dem Prozessor kann es sich beispielsweise um einen ASIC handeln, der anwendungsspezifisch für die Funktionen eines jeweiligen Moduls oder aller Module des Ausführungsbeispiels (und/oder weiterer Ausführungsbeispiele) realisiert wurde, wobei die Programmkomponente bzw. die Programmbefehle insbe sondere als integrierte Schaltkreise realisiert sind. Bei dem Prozessor kann es sich beispielsweise auch um einen FPGA han deln, der insbesondere mittels der Programmbefehle derart konfiguriert wird, dass der FPGA die Funktionen eines jewei ligen Moduls oder aller Module des Ausführungsbeispiels

(und/oder weiterer Ausführungsbeispiele) realisiert.

Das erste Kommunikationsmodul, beispielsweise eine Ethernet- Schnittstelle, ist zum Empfangen von Datenblöcken eines ver teilten Datenbanksystems (beispielsweise einer Blockkette) eingerichtet, wobei

Steuertransaktionen mit Steuerbefehlen für das Gerät in den Datenblöcken des verteilten Datenbanksystems gespei chert sind,

die Steuertransaktionen Ausführungsanforderungen umfas- sen die Ausführungsanforderungen gerätespezifische Anforde rungen für das Gerät und/oder vorausgesetzte Steuerbe fehle umfassen,

den jeweiligen Steuertransaktionen die entsprechende Ausführungsanforderungen zugeordnet sind.

Das erste Überprüfungsmodul ist zum Überprüfen der jeweiligen Ausführungsanforderungen für ein Ausführen der Steuerbefehle einer der Steuertransaktionen durch das Gerät eingerichtet, wobei

die gerätespezifischen Anforderungen der jeweiligen Aus führungsanforderungen der jeweiligen Steuertransaktion für das Gerät überprüft werden; und/oder

überprüft wird, ob Bestätigungstransaktionen für die vo rausgesetzten Steuerbefehle der jeweiligen Ausführungs anforderungen der jeweiligen Steuertransaktion in Daten blöcken des verteilten Datenbanksystems verfügbar sind.

Das erste Ausführungsmodul ist zum Ausführen der Steuerbefeh le durch das entsprechende Gerät abhängig von einem Ergebnis des Überprüfens eingerichtet.

Das zweite Speichermodul ist zum Speichern des Ergebnisses des Ausführens der Steuerbefehle in Bestätigungstransaktionen der Datenblöcke des verteilten Datenbanksystems eingerichtet.

Die Module können beispielsweise als Hardwarekomponente oder als Softwarekomponente oder eine Kombination aus Hardware- und Softwarekomponenten realisiert werden. Beispielsweise können Softwarekomponenten wie Programmbibliotheken genutzt werden, um mit Programmgebefehlen der Programmbibliotheken den Prozessor derart zu konfigurieren, dass dieser die Funk tionalitäten eines entsprechenden Moduls realisiert.

Das Gerät selbst kann ein Knoten einer Blockkette bzw. eines verteilten Datenbanksystems sein. Weist das Gerät beispielsweise das erste Überprüfungsmodul und/oder das erste Ausführungsmodul auf, ist dies dahingehend vorteilhaft, um rechenintensivere Überprüfungsaufgaben durch das Steuersystem (Fig. 1 - 2) oder dem verteilten Datenbank system ganz oder teilweise auf das Gerät oder mehrere mit dem Gerät gleichartige Geräte auszulagern.

Die Fig. 3 zeigt ein drittes Ausführungsbeispiel der Erfin dung mittels eines Ablaufdiagramms des erfindungsgemäßen Ver fahrens .

Das Verfahren ist vorzugsweise rechnergestützt realisiert.

Das Ausführungsbeispiel für ein Verfahren zum rechnergestütz ten Steuern von Geräten kann in einer Variante folgende Ver fahrensschritte umfassen:

Zuordnen von Ausführungsanforderungen zu den Steuerbe fehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

Berechnen von virtuellen Abbildern für die entsprechen den Knoten oder die entsprechenden Geräte, wobei

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird;

Speichern der jeweiligen Steuerbefehle mit den entspre chenden Ausführungsanforderungen in Steuertransaktionen, wobei die Steuertransaktionen in Datenblöcken eines ver teilten Datenbanksystems gespeichert werden.

Übermitteln der Steuertransaktionen mittels der Daten blöcke an die Geräte;

Überprüfen der jeweiligen Ausführungsanforderungen zum Ausführen der Steuerbefehle einer der Steuertransaktio nen durch ein entsprechendes Gerät, wobei die gerätespezifischen Anforderungen für das ent sprechende Gerät überprüft werden; und/oder

überprüft wird, ob Bestätigungstransaktionen für die vorausgesetzten Steuerbefehle in Datenblöcken des verteilten Datenbanksystems verfügbar sind;

Ausführen der Steuerbefehle durch das entsprechende Ge rät abhängig von einem Ergebnis des Überprüfens;

Speichern des Ergebnisses des Ausführens der Steuerbe fehle in Bestätigungstransaktionen der Datenblöcke des verteilten Datenbanksystems.

Im Einzelnen wird in diesem Ausführungsbeispiel ein Verfahren zum rechnergestützten Steuern von Geräten realisiert.

Das Verfahren umfasst einen ersten Verfahrensschritt 310 zum Zuordnen von Ausführungsanforderungen zu den Steuerbefehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen .

Das Verfahren umfasst einen zweiten Verfahrensschritt 320 zum Berechnen von virtuellen Abbildern (z. B. mittels Siemens Mindsphere) für die entsprechenden Knoten oder die entspre chenden Geräte, wobei mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Der erste und/oder der zweite Verfahrensschritt kann zudem zusätzlich ein Bestimmen von Ausführungsanforderungen für ei ne Ausführung der Steuerbefehle durch die Geräte umfassen, wobei in den Ausführungsanforderungen entsprechende geräte spezifische Anforderungen und/oder vorausgesetzte Steuerbe fehle gespeichert werden. Der entsprechende Verfahrensschritt kann zudem noch weitere Merkmale umfassen, die beispielsweise im Zusammenhang mit dem Bestimmungsmodul aus den vorhergehen den Ausführungsbeispielen offenbart wurden.

Das Verfahren umfasst einen dritten Verfahrensschritt zum Speichern 330 der jeweiligen Steuerbefehle mit den entspre chenden Ausführungsanforderungen in Steuertransaktionen, wo bei die Steuertransaktionen in Datenblöcken eines verteilten Datenbanksystems gespeichert werden.

Die Verfahrensschritte vier bis acht (340 - 380) können je nach Implementierungsvariante optionale Verfahrensschritte sein .

Das Verfahren umfasst einen vierten Verfahrensschritt zum Übermitteln 340 der Steuertransaktionen mittels der Datenblö cke an die Geräte. Das Übermitteln erfolgt beispielsweise über das erste Kommunikationsnetzwerk mittels des verteilten Datenbanksystems, so wie dies in den vorherigen Ausführungs beispielen erläutert wurde.

Das Verfahren umfasst einen fünften Verfahrensschritt zum Überprüfen 350 der jeweiligen Ausführungsanforderungen zum Ausführen von einem der Steuerbefehle oder eines Steuerbe fehls oder den Steuerbefehlen einer Steuertransaktion durch ein entsprechendes Gerät, wobei die gerätespezifischen Anfor derungen der Steuerbefehle für das entsprechende Gerät über prüft werden und/oder überprüft wird, ob Bestätigungstransak- tionen für die vorausgesetzten Steuerbefehle der Steuerbefeh le in Datenblöcken des verteilten Datenbanksystems verfügbar sind .

Das Überprüfen ergibt ein Ergebnis, das angibt, ob das ent sprechende Gerät die Steuerbefehle ausführen kann Y oder nicht N.

Entsprechend umfasst das Verfahren einen sechsten Verfahrens schritt zum Ausführen 360 der Steuerbefehle durch das ent sprechende Gerät abhängig von einem Ergebnis des Überprüfens, wobei die Steuerbefehle der Steuertransaktion ausgeführt wer den, wenn dies durch das ( Prüf- ) Ergebnis erlaubt bzw. bestä tigt Y wurde.

Das Verfahren umfasst einen siebten Verfahrensschritt zum Speichern 370 des Ergebnisses des Ausführens der Steuerbefeh le in Bestätigungstransaktionen der Datenblöcke des verteil ten Datenbanksystems.

Stellt sich beim Überprüfen heraus bzw. gibt das Ergebnis an, dass die Steuerbefehle durch das entsprechende Gerät nicht ausgeführt werden dürfen N, wird ein achter Verfahrensschritt 380 ausgeführt. Dieser kann beispielsweise die Ausführung der Steuerbefehle der Befehlsfolge abbrechen, indem beispielswei se ein Abbruch-Steuerbefehl für die Steuerbefehle der Be fehlsfolge in einer Transaktion gespeichert wird, die wiede rum in Blöcken der Blockkette gespeichert wird. Alternativ oder zusätzlich können diese oder weitere Steuerbefehle, die aus der Befehlsfolge resultiert sind, ganz oder teilweise ab gebrochen werden oder für ungültig erklärt werden. Alternativ oder zusätzlich wird eine Ausführen/Abarbeiten der entspre chenden Steuerbefehle unterbunden.

Alternativ oder zusätzlich kann im achten Verfahrensschritt die Überprüfung neu gestartet werden und das Verfahren springt zu Verfahrensschritt fünf zurück. Auf diese Weise kann beispielsweise ein Warten realisiert werden, bis bei spielsweise die Ausführungsanforderungen erfüllt sind. Hierzu kann beispielsweise eine konfigurierbare Zeitverzögerung be rücksichtigt werden, die insbesondere angibt wie lange es dauert bis zum fünften Verfahrensschritt zurückgesprungen wird .

Alternativ oder zusätzlich kann das Ergebnis auch im achten Verfahrensschritt in einer Bestätigungstransaktion in der Blockkette gespeichert werden (also in einem Block der Block kette) . Die einzelnen Verfahrensschritte können - so wie dies in den vorhergehenden Ausführungsbeispielen erläutert wurde - durch unterschiedliche Komponenten des Steuersystems realisiert werden. Dies sind beispielsweise das verteilte Datenbanksys tem selbst und/oder die Geräte und/oder Knoten des verteilten Datenbanksystems .

Mittels der Erfindung (aus diesem Ausführungsbeispiel oder den vorhergehenden) lässt sich auf einfache Weise eine Be fehlsfolge in Steuerbefehle bzw. Steuertransaktionen zerle gen, die dann durch entsprechend geeignete Geräte abgearbei tet werden. Dies wird sichergestellt durch die hohe Datenin tegrität, die beispielsweise durch eine Blockkette erreicht wird (z. B. um einen Manipulationsschutz der abzuarbeitenden Steuerbefehle in den Steuertransaktionen zu erreichen) . Da durch, dass das Ergebnis der Abarbeitung der Steuerbefehle bzw. Steuertransaktionen in Bestätigungstransaktionen gespei chert wird, können die Geräte mit der Erfindung auch über wacht werden. Dabei können die Bestätigungstransaktionen auch Einzelheiten der Abarbeitung der Steuertransaktio

nen/Steuerbefehle umfassen. Dies sind z. B. Fertigungszeit oder Fertigungsprobleme, die bei dem Abarbeiten (z. B. der Fertigung eines Produktes) aufgetreten sind. Insofern kann eine Bestätigungstransaktion auch eine Information umfassen, dass die Abarbeitung der Steuerbefehle nicht erfolgreich war. Handelt es sich bei diesen nicht erfolgreich ausgeführten Steuerbefehlen um vorausgesetzte Steuerbefehle für ande re/weitere Steuerbefehle, so würde insbesondere das Ergebnis des Überprüfens der Ausführungsanforderungen für diese ande ren/weiteren Steuerbefehle ergeben, dass diese ande

ren/weiteren Steuerbefehle durch ein/das entsprechendes Gerät nicht ausgeführt werden dürfen.

Sind jedoch die Ausführungsanforderungen für die ande

ren/weiteren Steuerbefehle erfüllt, so werden diese durch ein entsprechendes Gerät ausgeführt. Die Fig. 4 zeigt ein viertes Ausführungsbeispiel der Erfin dung als Bestimmungsmodul 110.

Das Bestimmungsmodul 110 ist für ein verteiltes Datenbanksys tem oder für ein Steuersystem mit einem verteilten Datenbank system zum Steuern und/oder Überwachen von Geräten oder für Geräte geeignet, die Steuerbefehle (z. B. im Form von Trans aktionen) ausführen.

Das Bestimmungsmodul 110 umfasst eine erste Schnittstelle 410, eine erste Evaluierungseinheit 420 und optional einen Konfigurationsspeicher 430, die über einen Bus 401 vorzugs weise miteinander kommunikativ in Verbindung stehen. Ein Bus kann hierbei z. B. auch ein einfacher Programmfluss oder ein Datenaustausch zwischen den entsprechenden Komponenten sein.

Das Bestimmungsmodul kann beispielsweise zusätzlich noch eine weitere oder mehrere weitere Komponente/n umfassen, wie bei spielsweise einen Prozessor, eine Speichereinheit, weitere Kommunikationsschnittstellen (z. B. Ethernet, WLAN) , ein Ein gabegerät, insbesondere eine Computertastatur oder eine Com putermaus, und ein Anzeigegerät (z. B. einen Monitor) . Der Prozessor kann beispielsweise mehrere weitere Prozessoren um fassen, die insbesondere zur Realisierung von weiteren Aus führungsbeispielen verwendet werden können. Die weitere/n Komponente/n können beispielsweise ebenfalls über den Bus miteinander kommunikativ verbunden sein.

Bei dem Prozessor kann es sich beispielsweise um einen ASIC handeln, der anwendungsspezifisch für die Funktionen eines jeweiligen Moduls (oder einer Einheit) oder aller Module des Ausführungsbeispiels (und/oder weiterer Ausführungsbeispiele) realisiert wurde, wobei die Programmkomponente bzw. die Pro grammbefehle insbesondere als integrierte Schaltkreise reali siert sind. Bei dem Prozessor kann es sich beispielsweise auch um einen FPGA handeln, der insbesondere mittels der Pro grammbefehle derart konfiguriert wird, dass der FPGA die Funktionen eines jeweiligen Moduls oder aller Module des Aus- führungsbeispiels (und/oder weiterer Ausführungsbeispiele) realisiert .

Die erste Schnittstelle 410 ist zum Empfangen oder Abrufen von Steuerbefehlen eingerichtet. Die Steuerbefehle können da bei z. B. von einem Nutzer mittels einer GUI an die erste Schnittstelle 410 übermittelt werden. Die Steuerbefehle kön nen aber auch durch einen Server oder eine andere Datenbank bereitgestellt werden. Dies kann beispielsweise wieder ein verteiltes Datenbanksystem sein oder eine hierarchische Da tenbank sein. Sollte das Bestimmungsmodul beispielsweise in einem erfindungsgemäßen Steuersystem eingesetzt werden, so können die Steuerbefehle oder eine Befehlsfolge dem Steuer system auf die gleiche Weise übermittelt werden, so wie dies in diesem Ausführungsbeispiel beschrieben wird.

Die Steuerbefehle können beispielsweise auch von einem

Zerlegemodul, so wie es in den vorhergehenden Ausführungsbei spielen erläutert wurde, bereitgestellt werden. Das

Zerlegemodul empfängt oder ruft hierzu die Steuerbefehle oder Befehlsfolgen ab.

Die Steuerbefehle oder Befehlsfolgen können dabei z. B. von einem Nutzer mittels einer GUI und beispielsweise über eine zweite Schnittstelle oder die erste Schnittstelle 410, an das erste Zerlegemodul übermittelt werden. Die Steuerbefehle oder die Befehlsfolgen können aber auch durch einen Server oder eine andere Datenbank dem Zerlegemodul bereitgestellt werden. Dies kann beispielsweise wieder ein verteiltes Datenbanksys tem sein oder eine hierarchische Datenbank sein.

Die erste Evaluierungseinheit 420 ist zum Zuordnen eingerich tet, wobei

die erste Evaluierungseinheit (420) Ausführungsan forderungen den Steuerbefehlen zuordnet, eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der entsprechenden Gerä te umfasst,

mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Der Konfigurationsspeicher umfasst die gerätespezifischen Da ten über die Geräte und/oder gerätespezifische Daten über die Knoten und/oder die gerätespezifischen Anforderungen.

Das Bestimmungsmodul ist dahingehend vorteilhaft, um insbe sondere die Ausführung von Steuerbefehlen von Geräten oder Knoten (z. B. Fertigungsroboter, Steuersysteme für ein Ener gieverteilungsnetzwerk, Bankterminals, Geldautomaten, Trans fers zwischen Banken) zu verbessern, die über ein Netzwerk miteinander verbunden sind.

Das Bestimmungsmodul kann auch beispielsweise die Steuerbe fehle spezifischen Geräten zuordnen, die diese ausführen sol len. Dies wird vorzugsweise in den Ausführungsanforderungen gespeichert .

Zusätzlich kann beispielsweise die Sicherheit beim Betreiben einer verteilten Infrastruktur (z. B. ein verteiltes Daten banksystem mit Geräten und/oder Knoten oder Knoten/Geräte, die auf das verteilte Datenbanksystem zugreifen) erhöht wer den, die ganz oder teilweise mittels eines verteilten Daten banksystems (z. B. einer Blockkette) implementiert ist.

Insbesondere ist der Begriff Steuerbefehle breit zu verste hen. Hierbei kann es sich beispielsweise zusätzlich zu der oben genannten Definition auch um Transaktionen handeln, die durch ein Gerät (z. B. einen Knoten einer Blockkette oder ein Gerät außerhalb der Blockkette, z. B. Gerät D) ausgeführt werden sollen. Mit anderen Worten werden durch die Vorrich tung insbesondere ungeprüfte Transaktionen in geprüfte Trans aktionen konvertiert, wobei die Prüfung beispielsweise anhand der gerätespezifischen Anforderungen und gerätespezifischen Daten erfolgt, welche die Steuerbefehle ausführen sollen.

Mittels der Erfindung können beispielsweise geforderte gerä tespezifische Anforderungen für die Ausführung der Steuerbe fehle am Gerät sichergestellt bzw. überprüft werden. Dabei können die gerätespezifischen Anforderungen beispielsweise auch Sicherheitsanforderungen und/oder ortsbezogene Anforde rungen (z. B. eine Länderangabe, eine GPS-Angabe oder PLZ) sein, die ein Gerät für die Ausführung der Steuerbefehle er füllen soll. Oder es kann beispielsweise noch eine bestimm te/vorgegebene Authentisierung und/oder Authentifizierung durch die gerätespezifischen Anforderungen für die Ausführung gefordert werden.

Die gerätespezifischen Anforderungen für Knoten oder Geräte können beispielsweise auch nutzerbezogen sein oder nutzerspe zifische Anforderungen umfassen. Beispielsweise kann ein ers ter Nutzer in den ihm zugeordneten gerätespezifischen Anfor derungen eine niedrige Präzision bei der Fertigung eines Werkstückes fordern. Beispielsweise kann dann ein zweiter Nutzer in den ihm zugeordneten gerätespezifischen Anforderun gen eine höhere Präzision bei der Fertigung eines Werkstückes fordern. Auf diese Weise können auch Sicherheitsanforderungen nutzerbezogen gespeichert werden. Es ist beispielsweise auch denkbar, dass bestimmten Typen oder Arten von Steuerbefehlen - nutzerbezogen oder nicht - gerätespezifische Anforderungen zugeordnet sind, die durch das Bestimmungsmodul berücksich tigt werden. Beispielsweise kann gefordert sein, dass ein Steuerbefehl zum Aufspielen einer Firmware nur durch ein Ge rät erfolgt, das vorgegebene Sicherheitsanforderungen er füllt, um z. B. sicherzustellen, dass nicht ohne weiteres Know-How der Firmware für jeden in einer Fertigungsanlage zu gängig ist. Durch diese vorgegebenen Sicherheitsanforderungen kann beispielsweise gefordert sein, dass nur bestimmtes Per sonal einen Zugriff auf ein entsprechendes Gerät hat oder das Gerät durch ein Passwort und/oder anderen kryptographischen Mechanismen geschützt ist (z. B. Zugriff ist nur durch Ein stecken einer Chipkarte und Eingeben einer Pin möglich) .

Dies kann beispielsweise der Fall sein, wenn jemand an einem Gerät (z. B. einem Geldautomaten) sich Bargeld auszahlen las sen möchte. Die Steuerbefehle sind dann beispielsweise die Anforderung des Kunden eine Geldauszahlung vorzunehmen. Hat beispielsweise ein entsprechender Kunde konfiguriert (z. B. bei seiner Heimatbank oder beim Onlinebanking) , dass er vor zugsweise nur in vorgegebenen Ländern, z. B. Italien, Frank reich und Österreich, eine Bargeldauszahlung erlaubt, so wird dies in den gerätespezifischen Anforderungen gespeichert, die vorzugsweise einem bestimmten Nutzer zugeordnet sind. Ein Geldautomat in Andorra würde dann ggf. keine Auszahlung er lauben bzw. diese unterbinden. Auch kann beispielsweise durch die Sicherheitsanforderungen eine vorgegebene Authentifizie- rung des Kunden gefordert sein. Beispielsweise, dass ein Pin für eine Auszahlung eingegeben wird (was z. B. in den USA nicht zwangsläufig der Fall ist) und/oder eine bestimmte Pin- Länge gefordert ist (z. B. 8 Zeichen) und/oder, dass andere zusätzliche Authentisierungsverfahren gefordert sind (z. B. 2 Faktor-Authentisierung, Mobile-Tan, Google Authenticator) .

Auf ähnliche Weise kann beispielsweise ein Aufladen einer Geldkarte realisiert sein, wobei z. B. die gerätespezifischen Anforderungen für die Geldkarte und das Gerät zum Aufladen Sicherheitsanforderungen vorgeben. Beispielsweise müssen die Geldkarte oder das Gerät zum Aufladen vorgegebene kryptogra- phische Verfahren und/oder Authentifizierungsverfahren nutzen bzw. über die verfügen, um den Aufladevorgang durch zu füh ren .

Alternativ oder zusätzlich kann die (erste) Evaluierungsein heit die Steuerbefehle auch weiter analysieren oder umfang reicher analysieren. Wenn beispielsweise die Evaluierungsein heit bereits feststellt, dass die gerätespezifischen Anforde- rungen nicht erfüllt sind oder nicht erfüllbar sind (z. B. die die Steuerbefehle wurden aus einem nicht freigegebenen Land geschickt oder sind für die Ausführung in einem nicht freigegebenen Land gedacht), kann z. B. die (erste) Evaluie rungseinheit eine Steuertransaktion erstellen, die das ent sprechende Gerät, Knoten oder das System auf die Nicht- Ausführbarkeit hinweist und vorzugsweise eine Ausführung der Steuerbefehle unterbindet bzw. verbietet. Alternativ kann beispielsweise auch keine Steuertransaktion erzeugt werden und es gibt irgendwann einen Timeout für die Ausführung der Steuerbefehle, z. B. nach einem vorgegebenen Zeitraum.

Um dies festzustellen, vergleicht die (erste) Evaluierungs einheit die gerätespezifischen Daten für das Gerät, das die Steuerbefehle ausführen soll, mit den gerätespezifischen An forderungen z. B. für die Steuerbefehle. Abhängig vom Ergeb nis dieses Vergleichens wird dann entweder eine Steuertrans aktion erzeugt, die eine Ausführung der Steuerbefehle auf dem entsprechenden Gerät erlaubt, oder es wird keine Steuertrans aktion erstellt oder es wird eine Steuertransaktion erstellt, die eine Ausführung der Steuerbefehle verbietet bzw. unter bindet .

Stellt die (erste) Evaluierungseinheit fest, dass die Steuer befehle ausführbar sind (der Vergleich also positiv ist) , er zeugt die (erste) Evaluierungseinheit entsprechende Ausfüh rungsanforderungen und übermittelt die Steuerbefehle und die Ausführungsanforderungen beispielsweise an das erste Zuord nungsmodul zum Zuordnen der jeweiligen Ausführungsanforderun gen zu den Steuerbefehlen. Das erste Zuordnungsmodul kann z. B. eine integrale Komponente des Bestimmungsmoduls sein oder eine integrale Komponente der Evaluierungseinheit.

Danach werden die Steuerbefehle ggf. zusammen mit den zugehö rigen Ausführungsanforderungen beispielsweise an ein erstes Speichermodul des Bestimmungsmoduls übermittelt. Diese Über mittlung kann beispielsweise durch das Zuordnungsmodul, die (erste) Evaluierungseinheit oder das Bestimmungsmodul selbst erfolgen .

Das erste Speichermodul ist zum Speichern der jeweiligen Steuerbefehle in Steuertransaktionen eingerichtet, wobei die Steuerbefehle beispielsweise zusammen mit den zugeordneten Ausführungsanforderungen in den Steuertransaktionen gespei chert werden, wenn die Steuerbefehle durch eines der Geräte (z. B. einen Geldautomat) ausführbar sind.

Mit anderen Worten wird abhängig vom Ergebnis des Verglei- chens festlegt, ob eine Steuertransaktion gespeichert wird und/oder mit welchem Inhalt eine Steuertransaktion gespei chert wird.

Zum Speichern können die Steuertransaktionen dann in Daten blöcken (B) des verteilten Datenbanksystems (BC) gespeichert werden, wobei insbesondere die Steuertransaktionen mittels der Datenblöcke (B) an die Geräte (D, BCN_D) oder die Knoten übertragen werden - sofern eine Steuertransaktion erstellt wurde .

Zusätzlich kann das Bestimmungsmodul 110 beispielsweise noch ein erstes Zuordnungsmodul und/oder ein erstes Speichermodul und/oder weitere Module umfassen, so wie dies in den Ausfüh rungsbeispielen erläutert wurde. Die Knoten oder Geräte kön nen dann beispielsweise ein Überprüfungsmodul und/oder ein Ausführungsmodul umfassen, so wie dies in den Ausführungsbei spielen erläutert wurde.

Es wäre beispielsweise auch denkbar, dass Online-Banking auf die oben genannte Weise abgesichert wird, indem Sicherheits anforderungen und/oder ortsbezogene Anforderungen des Rech ners (also das Gerät, das Steuerbefehle verschickt) überprüft werden und, um festzustellen, ob die Auszahlung oder Überwei sung durch ein anderes Gerät erlaubt ist. Hierzu kann bei spielsweise dieser Rechner ein Knoten des verteilten Daten- banksystems sein oder ein Gerät - so wie dies bereits erläu tert wurde.

Insbesondere die Bestimmung der Abhängigkeiten der Steuerbe fehle bzw. Befehlsfolge bei deren Ausführung durch die Geräte oder Knoten kann in einem komplexen Steuersystem mit sehr vielen Knoten oder Geräten (z. B. 200 - 1000 Geräte/Knoten) schwierig sein. Mittels des Virtualisierungsmoduls kann ins besondere die Bestimmung der Ausführbarkeit und die Abhängig keiten von Steuerbefehlen voneinander verbessert werden, da z. B. die Abarbeitung der Steuerbefehle und/oder die Berück sichtigung der Ausführungsanforderungen (z. B. die gerätespe zifischen Anforderungen) und/oder die Abhängigkeiten zwischen Steuerbefehlen mittels der virtuellen Abbilder simuliert bzw. überprüft werden kann. Hierdurch kann beispielsweise insbe sondere auch eine Optimierung der Steuerbefehle verbessert werden und auch eine Genauigkeit einer Aussage darüber, ob die Steuerbefehle ausführbar sind, verbessert werden.

Das Bestimmungsmodul kann hierfür beispielsweise zunächst die relevanten Geräte und/oder Knoten für die Ausführung der Steuerbefehle ermitteln und in dem bzw. mittels des

Virtualisierungsmoduls als virtuelle Abbilder der entspre chenden Knoten oder der entsprechenden Geräte instanziieren . Danach werden den instanziierten virtuellen Abbildern (also die Abbilder für die entsprechenden Knoten und/oder die ent sprechenden Geräte) die Steuerbefehle zur (virtuellen) Aus führung übermittelt.

Die virtuellen Abbilder arbeiten die Steuerbefehle ab und das Virtualisierungsmodul erfasst dabei Ausführungsparameter. Diese sind z. B. Ausführungszeit, Energieverbrauch und Mate rialverbrauch bzw. eine simulierte Größe von diesen Parame tern .

Anhand dieser Ausführungsparameter kann das Bestimmungsmodul nun z. B. feststellen, ob die Ausführungsanforderungen er füllt sind oder nicht. Alternativ oder zusätzlich können auf diese Weise die entsprechenden Ausführungsanforderungen auch bestimmt werden. Alternativ oder zusätzlich können anhand dieser Ausführungsparameter auch die Steuerbefehle und/oder Ausführungsanforderungen optimiert werden.

Damit kann das Virtualisierungsmodul beispielsweise die Aus führbarkeit für vorgegebene Steuerbefehle durch die entspre chenden vorgegebenen Geräte oder Knoten ermitteln.

In einer weiteren Variante kann der Optimierer die Steuerbe fehle mittels der virtuellen Abbilder und der erfassten Aus führungsparameter optimieren.

In einer weiteren Variante wird mittels der virtuellen Abbil der eine Analyse der Auswirkung der Ausführung der Steuerbe fehle auf die Geräte und das verteilte Datenbanksystem mit den Knoten ermittelt.

Die virtuellen Abbilder können beispielsweise als digitale Zwillinge der Geräte oder Knoten und/oder als ein zweidimen sionales und/oder dreidimensionales virtuelles Abbild reali siert sein.

Alternativ oder zusätzlich können die virtuellen Abbilder me chanische oder elektrische Eigenschaften der Geräte und/oder der Knoten simulieren.

Alternativ oder zusätzlich kann mittels der virtuellen Abbil der eine Zuverlässigkeitsanalyse für eine erfolgreiche Aus führung der Steuerbefehle durchgeführt werden. Hierfür kann beispielsweise eine FMEA (englisch Failure Mode and Effects Analysis, dt. „Fehlermöglichkeits- und -einflussanalyse" oder kurz „Auswirkungsanalyse") sowie FMECA (engl. Failure Mode and Effects and Criticality Analysis) für eine Ausführung der Steuerbefehle durch die Geräte/Knoten durchgeführt werden.

Ergibt die Prüfung beispielsweise, dass die Steuerbefehle nur unzureichend ausgeführt werden können (z. B. die FMEA ergibt eine erfolgreiche Ausführung der Steuerbefehle mit eine Wahr scheinlichkeit von 40 %) und/oder bestimmte Vorgaben der Aus führungsanforderungen (z. B. es ist eine erfolgreiche Wahr scheinlichkeit für eine Ausführung der Steuerbefehle von min destens 90 % gefordert) werden nicht erfüllt, so wird für die entsprechenden Steuerbefehle keine Steuertransaktion er stellt, die eine Ausführung der Steuerbefehle erlaubt. Alter nativ oder zusätzlich kann bei einer Nicht-Erfüllung der Aus führungsanforderungen eine Steuertransaktion erstellt und ge speichert werden, die eine Ausführung der Steuerbefehle ex plizit unterbindet.

Die Fig. 5 zeigt ein neuntes Ausführungsbeispiel der Erfin dung als Ablaufdiagramm eines erfindungsgemäßen Verfahrens.

Das Verfahren ist vorzugsweise rechnergestützt realisiert.

Im Einzelnen wird in diesem Ausführungsbeispiel ein Verfahren zum rechnergestützten Bestimmen oder Zuordnen von Ausfüh rungsanforderungen für Steuerbefehle realisiert. Das Verfah ren kann beispielsweise auch verwendet werden, um die Aus führbarkeit von Steuerbefehlen zu ermitteln, so wie dies bei spielsweise in Fig. 4 erläutert ist.

Das Verfahren umfasst einen ersten Verfahrensschritt 510 zum Empfangen oder Abrufen von Steuerbefehlen.

Das Verfahren umfasst einen zweiten Verfahrensschritt 520 zum Zuordnen von Ausführungsanforderungen zu den Steuerbefehlen, wobei

eine Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderungen ermittelt wird, die Ausführungsanforderungen gerätespezifische An forderungen und/oder vorausgesetzte Steuerbefehle umfassen,

das verteilte Datenbanksystem beispielsweise eine Blockkette ist. Das Verfahren umfasst einen dritten Verfahrensschritt 530 zum Berechnen von virtuellen Abbildern für die entsprechenden Knoten oder die entsprechenden Geräte, wobei mittels der vir tuellen Abbilder die Ausführbarkeit der Steuerbefehle ermit telt wird.

Beim Zuordnen oder beim Berechnen kann beispielsweise ein Prüfen einer Ausführbarkeit der Steuerbefehle durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand gerätespezifischer Anforderungen und/oder vorausgesetzte Steuerbefehle mittels der virtuellen Abbilder erfolgen. Bei dieser Prüfung werden zusätzlich beispielsweise die geräte spezifischen Daten und/oder die bereits ausgeführten Steuer befehle bzw. Steuertransaktionen mit geprüft. Beispielsweise wird geprüft, ob ein Gerät die gerätespezifischen Anforderun gen erfüllt, indem für das entsprechende Gerät die gerätespe zifischen Daten überprüft werden.

Das Verfahren kann dabei beispielsweise einen Verfahrens schritt zum Bestimmen von Ausführungsanforderungen abhängig vom Ergebnis des Prüfens der Ausführbarkeit für eine Ausfüh rung von Steuerbefehlen durch Knoten eines verteilten Daten banksystems oder durch Geräte umfassen.

Mit anderen Worten können z. B. die Ausführungsanforderungen anhand von gerätespezifischen Anforderungen und/oder voraus gesetzte Steuerbefehle bestimmt werden.

Diese Verfahrensschritte (Zuordnen und/oder Bestimmen der Ausführungsanforderungen) können beispielsweise durch die (erste) Evaluierungseinheit des Bestimmungsmoduls aus Fig.4 implementiert werden.

In den Ausführungsanforderungen sind dabei bzw. werden die gerätespezifische Anforderungen und/oder die vorausgesetzten Steuerbefehle gespeichert. Das verteilte Datenbanksystem ist dabei beispielsweise eine Blockkette. Die Knoten oder die Geräte sind dabei z. B. mittels des ver teilten Datenbanksystems verbunden.

Zum Bestimmen der Ausführungsanforderungen werden z. B. die gerätespezifischen Anforderungen oder vorausgesetzten Steuer befehle analysiert und mit den bereits ausgeführten Steuerbe fehlen und gerätespezifischen Anforderungen für verfügbare Geräte verglichen. Beispielsweise kann in diesem Schritt auch eine spezifische Zuweisung bzw. Zuordnung eines spezifischen Knotens oder eines spezifischen Gerätes erfolgen, das die Steuerbefehle ausführen soll. Damit werden insbesondere die Zuverlässigkeit und die Sicherheit der Ausführung verbessert bzw. sichergestellt, dass die Ausführung z. B. das gewünschte Resultat erzeugt. Dies ist z. B., dass ein Produkt mit der erforderlichen Präzision gefertigt wurde.

Insbesondere die Bestimmung der Abhängigkeiten der Steuerbe fehle bzw. Befehlsfolge bei deren Ausführung durch die Geräte oder Knoten kann in einem komplexen Steuersystem mit sehr vielen Knoten oder Geräten (z. B. 200 - 1000 Geräte/Knoten) schwierig sein. Mittels des Virtualisierungsmoduls kann ins besondere die Bestimmung der Ausführbarkeit und die Abhängig keiten von Steuerbefehlen voneinander verbessert werden, da z. B. die Abarbeitung der Steuerbefehle und/oder die Berück sichtigung der Ausführungsanforderungen (z. B. die gerätespe zifischen Anforderungen) und/oder die Abhängigkeiten zwischen Steuerbefehlen mittels der virtuellen Abbilder simuliert bzw. überprüft werden kann. Hierdurch kann beispielsweise insbe sondere auch eine Optimierung der Steuerbefehle verbessert werden und auch eine Genauigkeit einer Aussage darüber, ob die Steuerbefehle ausführbar sind, verbessert werden.

Das Bestimmungsmodul kann hierfür beispielsweise zunächst die relevanten Geräte und/oder Knoten für die Ausführung der Steuerbefehle ermitteln und in dem bzw. mittels des

Virtualisierungsmoduls als virtuelle Abbilder der entspre chenden Knoten oder der entsprechenden Geräte instanziieren . Danach werden instanziierten virtuelle Abbilder (für die ent sprechenden Knoten und/oder der entsprechenden Geräte) die Steuerbefehle zur (virtuellen) Ausführung übermittelt.

Die virtuellen Abbilder arbeiten die Steuerbefehle ab und das Virtualisierungsmodul erfasst dabei Ausführungsparameter. Diese sind z. B. Ausführungszeit, Energieverbrauch und Mate rialverbrauch bzw. eine simulierte Größe von diesen Parame tern .

Anhand dieser Ausführungsparameter kann das Bestimmungsmodul nun z. B. feststellen, ob die Ausführungsanforderungen er füllt sind oder nicht. Alternativ oder zusätzlich können auf diese Weise die entsprechenden Ausführungsanforderungen auch bestimmt werden. Alternativ oder zusätzlich können anhand dieser Ausführungsparameter auch die Steuerbefehle und/oder Ausführungsanforderungen optimiert werden.

Damit kann das Virtualisierungsmodul beispielsweise die Aus führbarkeit für vorgegebene Steuerbefehle durch die entspre chenden vorgegebenen Geräte oder Knoten ermitteln.

In einer weiteren Variante kann der Optimierer die Steuerbe fehle mittels der virtuellen Abbilder und der erfassten Aus führungsparameter optimieren.

In einer weiteren Variante wird mittels der virtuellen Abbil der eine Analyse der Auswirkung der Ausführung der Steuerbe fehle auf die Geräte und das verteilte Datenbanksystems mit den Knoten ermittelt.

Die virtuellen Abbilder können beispielsweise als digitale Zwillinge der Geräte oder der Knoten und/oder als ein zweidi mensionales und/oder dreidimensionales virtuelles Abbild rea lisiert sein. Alternativ oder zusätzlich können die virtuellen Abbilder me chanische oder elektrische Eigenschaften der Geräte und/oder der Knoten simulieren.

Alternativ oder zusätzlich kann mittels der virtuellen Abbil der eine Zuverlässigkeitsanalyse für eine erfolgreiche Aus führung der Steuerbefehle durchgeführt werden. Hierfür kann beispielsweise eine FMEA (englisch Failure Mode and Effects Analysis, dt. „Fehlermöglichkeits- und -einflussanalyse" oder kurz „Auswirkungsanalyse") sowie FMECA (engl. Failure Mode and Effects and Criticality Analysis) für eine Ausführung der Steuerbefehle durch die Geräte/Knoten durchgeführt werden.

Ergibt die Prüfung beispielsweise, dass die Steuerbefehle nur unzureichend ausgeführt werden können (z. B. die FMEA ergibt eine erfolgreiche Ausführung der Steuerbefehle mit eine Wahr scheinlichkeit von 40 %) und/oder bestimmte Vorgaben der Aus führungsanforderungen (z. B. es ist eine erfolgreiche Wahr scheinlichkeit für eine Ausführung der Steuerbefehle von min destens 90 % gefordert) werden nicht erfüllt, so wird für die entsprechenden Steuerbefehle keine Steuertransaktion er stellt, die eine Ausführung der Steuerbefehle erlaubt. Alter nativ oder zusätzlich kann bei einer Nicht-Erfüllung der Aus führungsanforderungen eine Steuertransaktion erstellt und ge speichert werden, die eine Ausführung der Steuerbefehle ex plizit unterbindet.

Nachfolgend werden einige weitere Ausführungsbeispiele erläu tert. Diese Ausführungsbeispiele sind ebenfalls mit den Vari anten der bisher erläuterten Ausführungsbeispiele kompatibel.

Ein weiteres Ausführungsbeispiel (nicht in einer Figur darge stellt) betrifft ein Steuersystem zum Steuern und/oder Über wachen von Geräten, umfassend:

beispielsweise ein verteiltes Datenbanksystem aufwei- send beispielsweise eine Vielzahl von Knoten, wobei die Knoten und die Geräte über ein erstes Kommunikati onsnetzwerk miteinander verbunden sind; beispielsweise ein erstes Bestimmungsmodul, wobei

beispielsweise das erste Bestimmungsmodul Ausfüh rungsanforderungen Steuerbefehlen zuordnet, beispielsweise eine Ausführbarkeit der Steuerbefeh le durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderun gen ermittelt wird,

beispielsweise die Ausführungsanforderungen geräte spezifische Anforderungen und/oder vorausgesetzte Steuerbefehle umfassen,

beispielsweise das erste Bestimmungsmodul ein Virtualisierungsmodul umfasst,

beispielsweise das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der ent sprechenden Geräte umfasst,

beispielsweise mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird; beispielsweise ein erstes Speichermodul zum Speichern der jeweiligen Steuerbefehle mit den zugeordneten Aus führungsanforderungen in Steuertransaktionen, wobei

beispielsweise die Steuertransaktionen in Datenblö cken des verteilten Datenbanksystems gespeichert werden oder beispielsweise die Steuertransaktionen durch das verteilte Datenbanksystem gespeichert werden;

beispielsweise die Steuertransaktionen mittels der Datenblöcke an die Geräte übertragen werden oder beispielsweise die Steuertransaktionen mittels des verteilten Datenbanksystems an die Geräte übertra gen werden.

Ein weiteres Ausführungsbeispiel (nicht in einer Figur darge stellt) betrifft ein Bestimmungsmodul für ein verteiltes Da tenbanksystem oder für ein Steuersystem mit einem verteilten Datenbanksystem zum Steuern und/oder Überwachen von Geräten aufweisend :

beispielsweise eine erste Schnittstelle zum Empfangen oder Abrufen von Steuerbefehlen;

beispielsweise eine erste Evaluierungseinheit, wobei beispielsweise die erste Evaluierungseinheit Aus führungsanforderungen den Steuerbefehlen zuordnet, beispielsweise eine Ausführbarkeit der Steuerbefeh le durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderun gen ermittelt wird,

beispielsweise die Ausführungsanforderungen gerä tespezifische Anforderungen und/oder vorausgesetzte Steuerbefehle umfassen,

beispielsweise das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

beispielsweise das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der ent sprechenden Geräte umfasst,

beispielsweise mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Ein weiteres Ausführungsbeispiel (nicht in einer Figur darge stellt) betrifft eine Vorrichtung für ein verteiltes Daten banksystem oder für ein Steuersystem mit einem verteilten Da tenbanksystem zum Steuern und/oder Überwachen von Geräten aufweisend :

beispielsweise ein erstes Bestimmungsmodul, wobei

beispielsweise das verteilte Datenbanksystem eine Vielzahl von Knoten umfasst, dabei sind die Knoten und die Geräte über ein erstes Kommunikationsnetz werk miteinander verbunden,

beispielsweise das erste Bestimmungsmodul Ausfüh rungsanforderungen Steuerbefehlen zuordnet, beispielsweise eine Ausführbarkeit der Steuerbefeh le durch Knoten des verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderun gen ermittelt wird, beispielsweise die Ausführungsanforderungen geräte spezifische Anforderungen und/oder vorausgesetzte Steuerbefehle umfassen,

beispielsweise das erste Bestimmungsmodul ein

Virtualisierungsmodul umfasst,

beispielsweise das Virtualisierungsmodul virtuelle Abbilder der entsprechenden Knoten oder der ent sprechenden Geräte umfasst,

beispielsweise mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Ein weiteres Ausführungsbeispiel (nicht in einer Figur darge stellt) betrifft ein Verfahren zum rechnergestützten Zuordnen von Ausführungsanforderungen für Steuerbefehle mit folgenden Verfahrensschritten :

beispielsweise einen Verfahrensschritt zum Empfangen oder Abrufen von Steuerbefehlen;

beispielsweise einen Verfahrensschritt zum Zuordnen von Ausführungsanforderungen zu den Steuerbefehlen, wobei beispielsweise eine Ausführbarkeit der Steuerbefeh le durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderun gen ermittelt wird,

beispielsweise die Ausführungsanforderungen geräte spezifische Anforderungen und/oder vorausgesetzte Steuerbefehle umfassen,

beispielsweise das verteilte Datenbanksystem bei spielsweise eine Blockkette ist,

beispielsweise einen Verfahrensschritt zum Berechnen von virtuellen Abbildern für die entsprechenden Knoten oder die entsprechenden Geräte, wobei

beispielsweise mittels der virtuellen Abbilder die Ausführbarkeit der Steuerbefehle ermittelt wird.

Ein weiteres Ausführungsbeispiel (nicht in einer Figur darge stellt) betrifft ein Verfahren zum rechnergestützten Steuern von Geräten mit folgenden Verfahrensschritten: beispielsweise einen Verfahrensschritt zum Zuordnen von Ausführungsanforderungen zu den Steuerbefehlen, wobei beispielsweise eine Ausführbarkeit der Steuerbefeh le durch Knoten eines verteilten Datenbanksystems oder durch Geräte anhand der Ausführungsanforderun gen ermittelt wird,

beispielsweise die Ausführungsanforderungen geräte spezifische Anforderungen und/oder vorausgesetzte Steuerbefehle umfassen,

beispielsweise einen Verfahrensschritt zum Berechnen von virtuellen Abbildern für die entsprechenden Knoten oder die entsprechenden Geräte, wobei

beispielsweise mittels der virtuellen Abbildern die Ausführbarkeit der Steuerbefehle ermittelt wird; beispielsweise einen Verfahrensschritt zum Speichern (530) der jeweiligen Steuerbefehle mit den entsprechen den Ausführungsanforderungen in Steuertransaktionen, wo bei beispielsweise die Steuertransaktionen in Datenblö cken eines verteilten Datenbanksystems gespeichert wer den oder beispielsweise die Steuertransaktionen durch ein verteiltes Datenbanksystem gespeichert werden.

Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt, und an dere Variationen können vom Fachmann hieraus abgeleitet wer den, ohne den Schutzumfang der Erfindung zu verlassen.

[1]

Andreas M. Antonopoulos "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", O'Reilly Media, December 2014

[2]

Roger M. Needham, Michael D. Schroeder "Using encryption for authentication in large networks of Computers" ACM: Communi cations of the ACM. Band 21, Nr. 12 Dezember 1978,

[3] Ross Anderson "Security Engineering. A Guide to Building De- pendable Distributed Systems" Wiley, 2001

[4]

Henning Diedrich „Ethereum: Blockchains, Digital Assets,

Smart Contracts, Decentralized Autonomous Organizations", CreateSpace Independent Publishing Platform, 2016

[5]

"The Ethereum Book Proj ect/Mastering Ethereum"

https://github.com/ethereumbook/ethereumbook, Stand 5.10.2017

[6]

Leemon Baird

"The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byz- antine Fault Tolerance",

Swirlds Tech Report SWIRLDS-TR-2016-01, 31.5.2016

[7]

Leemon Baird

"OverView of Swirlds Hashgraph",

31.5.2016

[8]

Blockchain Oracles

https : //blockchainhub . net/blockchain-oracles/

Stand 14.03.2018

[9]

Joseph Poon, Thaddeus Dryja: The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments . 14. Januar 2016, abgeru fen am 30. Juni 2018 (PDF; 3 MB, englisch) .