Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTROLLING A DATA NETWORK WITH RESPECT TO A USE OF A DISTRIBUTED DATABASE
Document Type and Number:
WIPO Patent Application WO/2020/020634
Kind Code:
A1
Abstract:
The invention relates to a control of a data network (6) with respect to a use of a distributed database (300). In this case, a capacity of computing resources of a plurality of computing units (3) of the data network (6) is acquired. The operation of the data network (6) with respect to the use of the distributed database (300) is controlled as a function of the capacity of the computing resources.

Inventors:
SACHSENHAUSER DOMINIK (DE)
Application Number:
PCT/EP2019/068409
Publication Date:
January 30, 2020
Filing Date:
July 09, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L12/24; G06Q10/06; H04L9/32; H04L12/26
Domestic Patent References:
WO2017021155A12017-02-09
WO2017137256A12017-08-17
WO2018069271A12018-04-19
WO2017050348A12017-03-30
WO2018068965A12018-04-19
Foreign References:
US20080244607A12008-10-02
US20160358135A12016-12-08
US20170212781A12017-07-27
US8531247B22013-09-10
US8892616B22014-11-18
US8300811B22012-10-30
US9147088B22015-09-29
US9584311B22017-02-28
EP2976707A12016-01-27
EP2605445A12013-06-19
EP2870565A12015-05-13
EP2891102A12015-07-08
EP2870565A12015-05-13
EP2891266A12015-07-08
EP2961091A12015-12-30
EP2961093A12015-12-30
EP3028140A12016-06-08
EP2930610A22015-10-14
EP2940620A12015-11-04
EP2899714A12015-07-29
EP2981926A12016-02-10
EP3125492A12017-02-01
EP17195125A2017-10-06
EP17211075A2017-12-29
EP18178316A2018-06-18
EP18156084A2018-02-09
EP18151345A2018-01-12
EP18167702A2018-04-17
EP18153594A2018-01-26
EP18162050A2018-03-15
EP18178498A2018-06-19
EP18152117A2018-01-17
EP18150133A2018-01-03
EP18169145A2018-04-25
EP17210647A2017-12-27
EP18150146A2018-01-03
EP18167486A2018-04-16
EP18168670A2018-04-23
EP18162049A2018-03-15
EP17203819A2017-11-27
EP18157168A2018-02-16
EP18169421A2018-04-26
EP17210253A2017-12-22
EP17205224A2017-12-04
EP18169269A2018-04-25
EP18169254A2018-04-25
EP17210288A2017-12-22
EP18153025A2018-01-23
EP17200614A2017-11-08
EP18156308A2018-02-12
EP17201758A2017-11-15
EP18156511A2018-02-13
EP18159485A2018-03-01
EP17203573A2017-11-24
EP17175275A2017-06-09
EP17186826A2017-08-18
EP2017082508W2017-12-13
EP17179823A2017-07-05
US8843761B22014-09-23
Other References:
"Mastering bitcoin : [unlocking digital cryptocurrencies]", 20 December 2014, O'REILLY MEDIA, Beijing Cambridge Farnham Köln Sebastopol Tokyo, ISBN: 978-1-4493-7404-4, article ANDREAS M. ANTONOPOULOS: "Mastering Bitcoin - Unlocking Digital Cryptocurrencies", XP055306939
ANDREAS M. ANTONOPOULOS: "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", December 2014, O'REILLY MEDIA
ROGER M. NEEDHAMMICHAEL 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: 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 PLATFORM
"The Ethereum Book Project/Mastering Ethereum", 5 October 2017
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
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Steuern eines Datennetzes (6) hinsichtlich eines Einsatzes einer verteilten Datenbank (300), umfassend:

Erfassen einer Kapazität von Rechenressourcen einer Vielzahl von Recheneinheiten (3) des Datennetzes (6), und

Steuern des Betriebs des Datennetzes (6) hinsichtlich des Einsatzes der verteilten Datenbank (300) abhängig von der Kapazität von Rechenressourcen.

2. Verfahren nach Anspruch 1,

dadurch gekennzeichnet,

dass das Steuern des Betriebs des Datennetzes (6) umfasst:

Zuweisen von Rechenaufgaben im Zusammenhang mit der Hin terlegung von Daten (320) in der verteilten Datenbank (300) an ein oder mehrere der Vielzahl von Recheneinheiten (3) .

3. Verfahren nach Anspruch 1 oder 2,

dadurch gekennzeichnet,

dass das Steuern des Betriebs des Datennetzes (6) umfasst:

Zuweisen von Rechenaufgaben im Zusammenhang mit der In betriebnahme der verteilten Datenbank (300) an ein oder meh rere der Vielzahl von Recheneinheiten (3) .

4. Verfahren nach einem der voranstehenden Ansprüche,

dadurch gekennzeichnet,

dass der Betrieb des Datennetzes (6) abhängig von einer vor gegebenen Korrelation zwischen (i) einer Sicherheit von Daten (320), die in der verteilten Datenbank (300) hinterlegt sind, und (ii) Rechenressourcen zur Hinterlegung der Daten (320) in der verteilten Datenbank (300) gesteuert wird.

5. Verfahren nach Anspruch 4,

dadurch gekennzeichnet,

dass die Sicherheit der Daten (320) durch Veränderung von Konfigurationsparametern von einem oder mehreren Sicherheits merkmalen der verteilten Datenbank (300) bei Hinterlegung der Daten (320) veränderbar ist.

6. Verfahren nach Anspruch 5,

dadurch gekennzeichnet,

dass die ein oder mehreren Sicherheitsmerkmale eine Verket tungsprüfsumme (311-313) von sequentiell hinterlegten Daten (320) umfassen.

7. Verfahren nach einem der Ansprüche 4 - 6,

dadurch gekennzeichnet,

dass der Betrieb des Datennetzes (6) abhängig von einem Ver gleich zwischen (i) der anhand der vorbestimmten Korrelation indizierten Sicherheit der Daten (320) bei der erfassten Ka pazität von Rechenressourcen und (ii) einer vorgegebenen Ziel-Sicherheit gesteuert wird.

8. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet,

dass das Verfahren weiter umfasst:

Erfassen einer Netztopologie der Recheneinheiten (3) des Datennetzes ( 6) ,

wobei das Steuern des Betriebs des Datennetzes (3) wei terhin abhängig von der Netztopologie des Datennetzes (6) ist .

9. Verfahren nach Anspruch 8,

dadurch gekennzeichnet,

dass das Steuern des Betriebs des Datennetzes (6) das Anpas sen der Netztopologie umfasst.

10. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet,

dass das Steuern des Betriebs des Datennetzes (6) das Hinzu fügen oder Entfernen von Recheneinheiten (3) aus dem Daten netz (6) umfasst.

11. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet,

dass das Steuern des Betriebs des Datennetzes (6) umfasst: Ausgeben von Benutzeranweisungen über eine Benutzerschnitt stelle, welche die physikalische Anpassung des Datennetzes (6) betreffen.

12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet,

dass in der verteilte Datenbank (300) Daten (320) hin terlegt werden, welche Betriebsparameter des Datennetzes (6) indizieren .

13. Verfahren nach Anspruch 12,

dadurch gekennzeichnet,

dass die in der verteilten Datenbank (300) hinterlegten Daten (320) Versionierungsinformation von Software der Re cheneinheiten (3) indizieren.

14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet,

dass als Recheneinheiten (3) für die Datenbank (300) multi funktionale Plattformen mit mehreren Kernen eingesetzt wer den .

15. Vorrichtung zum Steuern eines Datennetzes (6) hinsicht lich eines Einsatzes einer verteilten Datenbank (300), wobei die Vorrichtung (4) Rechenmittel (1) und einen An schluss (7) zum Anschließen an das Datennetz (6) umfasst, wobei die Vorrichtung (4) ausgestaltet ist,

um eine Kapazität von Rechenressourcen einer Vielzahl von Re cheneinheiten (3) des Datennetzes (6) zu erfassen, und um den Betrieb des Datennetzes (6) hinsichtlich des Einsatzes der verteilten Datenbank (300) abhängig von der Kapazität von Rechenressourcen zu steuern.

16. Vorrichtung nach Anspruch 15,

dadurch gekennzeichnet,

dass die Vorrichtung (4) zur Durchführung des Verfahrens nach einem der Ansprüche 1-14 ausgestaltet ist.

17. Computerprogrammprodukt, welches ein Programm umfasst und direkt in einen Speicher (2) einer programmierbaren Vorrich tung (4), welche mit einem Datennetz (6) verbindbar ist, lad bar ist, mit Programm-Mitteln, um alle Schritte des Verfah rens nach einem der Ansprüche 1-14 auszuführen, wenn das Pro gramm in der Vorrichtung (4) ausgeführt wird.

18. Elektronisch lesbarer Datenträger mit darauf gespeicher ten elektronisch lesbaren Steuerinformationen, welche derart ausgestaltet sind, dass sie bei Verwendung des Datenträgers in einer Vorrichtung (4), welche mit einem Datennetz (6) ver bindbar ist, das Verfahren nach einem der Ansprüche 1-14 durchführen .

Description:
Beschreibung

Steuern eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank

Die vorliegende Erfindung betrifft die Steuerung eines Daten netzes, um durch diese Steuerung eine verteilte Datenbank in nerhalb des Datennetzes zu realisieren oder eine innerhalb des Datennetzes bereits bestehende verteilte Datenbank zu er weitern .

Aus dem Stand der Technik sind das Dokument US 8,531,247 B2, das Dokument US 8,892,616 B2, das Dokument US 8,300,811 B2, das Dokument US 9,147,088 B2, das Dokument US 9584311 B2, das Dokument EP 2976707 Bl, das Dokument EP 2 605 445 Bl, das Do kument EP 2 870 565 Al, das Dokument EP 2 891 102 Al, das Do kument WO 2017137256 Al, das Dokument EP 2870565 Bl, EP

2891266 Bl, das Dokument EP 2961091 Al, das Dokument EP

2961093 Al, das Dokument EP 3028140 Bl, das Dokument EP

2930610 Bl, das Dokument EP 2940620 Bl, das Dokument EP

2899714 Al, das Dokument EP 2981926 A0, das Dokument EP

3125492 Bl, das Dokument EP17195125, das Dokument EP17211075, das Dokument EP18178316, das Dokument EP18156084, das Doku ment EP18151345, das Dokument EP18167702, das Dokument

EP18153594, das Dokument EP18162050, das Dokument EP18178498, das Dokument EP18152117, das Dokument EP18150133, das Doku ment EP18169145, das Dokument EP17210647, das Dokument

EP18150146, das Dokument EP18167486, das Dokument EP18168670, das Dokument EP18162049, das Dokument EP17203819, das Doku ment EP18157168, das Dokument EP18169421, das Dokument

EP17210253, das Dokument EP17205224, das Dokument EP18169269, das Dokument EP18169254, das Dokument EP17210288, das Doku ment EP18153025, das Dokument EP17200614, das Dokument

EP18156308, das Dokument EP17201758, das Dokument EP18156511, das Dokument EP18159485, das Dokument EP17203573, das Doku ment EP 17175275, das Dokument EP17186826, das Dokument WO 2018069271 Al, das Dokument PCT/EP2017/082508, das Dokument EP17179823, das Dokument WO 2017050348 Al, das Dokument WO 2018068965 Al und das Dokument US 8 843 761 B2 bekannt.

Durch heutige Sicherheitstechniken wie VPN (Virtual Private Network) oder durch den Einsatz einer PKI (Public Key Infra- structure) in DMZs (demilitarisierten Zonen) wird im Wesent lichen nur die Sicherheit oder Integrität bei der Übertragung von Daten garantiert. Wenn ein (externer) Angreifer einmal diese Sicherheitstechniken überwunden hat und Daten innerhalb eines Datennetzes manipuliert, ist es heutzutage nahezu un möglich, diese Manipulation zu erkennen.

Daher stellt sich die vorliegende Erfindung die Aufgabe, die Integrität (d.h. die Wahrhaftigkeit und Richtigkeit der In formationen) eines Datennetzes möglichst umfassend zu garan tieren .

Erfindungsgemäß wird diese Aufgabe durch ein Verfahren zum Steuern eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank nach Anspruch 1, durch eine Vorrichtung nach Anspruch 15, durch ein Computerprogrammprodukt nach An spruch 17 und durch einen elektronisch lesbaren Datenträger nach Anspruch 18 gelöst. Die abhängigen Ansprüche definieren bevorzugte und vorteilhafte Ausführungsformen der vorliegen den Erfindung.

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.

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", „steuern", „zu weisen" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überfüh ren, wobei die Daten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impulse. Insbesondere sollte der Ausdruck "Compu ter" oder „Vorrichtung" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbei tungseigenschaften abzudecken. Computer können somit bei spielsweise Personal Computer, Server, speicherprogrammierba re Steuerungen (SPS) , Handheld-Computer-Systeme, Pocket-PC- Geräte, Mobilfunkgeräte und andere Kommunikationsgeräte, die rechnergestützt Daten verarbeiten können, Prozessoren und an dere elektronische Geräte zur Datenverarbeitung 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 Signal

prozessor, engl. Digital Signal Processor) oder einen Grafik prozessor 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 Pro zessor handeln, der mit Konfigurationsschritten zur Ausfüh rung des genannten 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 an derer 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" oder einer „Recheneinheit" kann im Zusam menhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbe fehlen verstanden werden. Beispielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszu führen, damit der Prozessor Funktionen ausführt, um das er findungsgemäße Verfahren oder einen Schritt des erfindungsge mäßen Verfahrens zu implementieren oder realisieren. Ein Mo dul kann beispielsweise auch ein Knoten des verteilten Daten banksystems sein, der beispielsweise die spezifischen Funkti onen/Merkmale eines entsprechenden Moduls realisiert. Die je weiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die ent sprechenden Module beispielsweise weitere Elemente umfassen. Diese Elemente sind beispielsweise eine oder mehrere Schnitt- stellen (z. B. Datenbankschnittstellen, Kommunikations schnittstellen - 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 o- der 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 „Smart-Contract-Prozess" kann im Zusammenhang mit der Erfindung insbesondere ein Ausführen eines Programmcodes (z. B. der Steuerbefehle) in einem Prozess durch das verteilte Datenbanksystem 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 (sätze) realisiert werden. Ist bei spielsweise eine hohe Sicherheit gefordert, werden beispiels weise die Prüfsummen auf Transaktionsebene erzeugt und über prüft. Ist eine weniger hohe Sicherheit gefordert, werden beispielsweise die Prüfsummen auf Blockebene (z. B. über den ganzen Datenblock 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 Transkation 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" oder einer „Sicherheit von Da ten" kann im Zusammenhang mit der Erfindung beispielsweise ein Schutz verstanden werden, der insbesondere durch ein kryptographisches Verfahren realisiert wird. Beispielsweise kann dies durch eine Nutzung des verteilten Datenbanksystems für das Bereitstellen oder Übertragen oder Senden von ent sprechenden Daten/Transaktionen realisiert werden. Dies wird vorzugsweise durch eine Kombination der verschiedenen (kryp- tographischen) Prüfsummen erreicht, indem diese insbesondere synergetisch Z usammenwirken, um beispielsweise die Sicherheit bzw. die kryptographische Sicherheit für die Daten der Trans aktionen zu verbessern. Mit anderen Worten kann insbesondere unter „sicherheitsgeschützt" im Zusammenhang mit der Erfin dung auch „kryptographisch geschützt" und/oder „manipulati onsgeschützt" verstanden werden, wobei „manipulationsge schützt" auch als „integritätsgeschü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" oder „Hin terlegen von Daten in der verteilten Datenbank" und derglei chen kann im Zusammenhang mit der Erfindung beispielsweise 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 Er- stellers des Datenblockes zu ermöglichen und/oder eine Iden tifizierbarkeit des Knotens zu ermöglichen. Dabei gibt diese Knoten-Prüfsumme an, welcher Knoten beispielsweise den ent sprechenden 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. Alternativ kann eine Transaktion beispielsweise eine Datenstruktur sein, die Daten speichert (z. B. die Steuerbefehle und/oder Vertragsdaten und/oder andere Daten wie Videodaten, Nutzerdaten, Messdaten etc . ) .

Insbesondere ist unter „Speichern von Transaktionen in Daten blöcken", „Speichern von Transaktionen" und dergleichen ein direktes Speichern oder indirektes Speichern zu verstehen. Unter einem direkten Speichern kann dabei beispielsweise ver standen werden, dass der entsprechende Datenblock (des ver teilten Datenbanksystems) oder die entsprechende Transaktion des verteilten Datenbanksystems) die jeweiligen Daten um fasst. Unter einem indirekten Speichern kann dabei beispiels weise verstanden werden, dass der entsprechende Datenblock oder die entsprechende Transaktion eine Prüfsumme und optio nal einen Zusatzdatensatz (z. B. einen Verweis oder eine An gabe zu einem Speicherort) für entsprechende Daten umfasst und die entsprechenden Daten somit nicht direkt in dem Daten block (oder der Transaktion) gespeichert sind (also stattdes- sen nur eine Prüfsumme für diese Daten) . Insbesondere können beim Speichern von Transaktionen in Datenblöcken diese Prüf summen beispielsweise validiert werden, so wie dies bei spielsweise unter „Einfügen in das verteilte 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. einer 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 „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 „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 krypto graphischen 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 o- der Blöcke oder Knoten des Graphen miteinander über gerichte te Kanten miteinander verbunden. Dies bedeutet insbesondere, dass (alle) Kanten (immer) die gleiche Richtung haben, ähn lich wie dies z. B. bei Zeit ist. Mit anderen Worten ist es insbesondere nicht möglich rückwärts (also entgegen der ge meinsamen gleichen Richtung) die Transaktionen oder die Blö- cke oder die Knoten des Graphen anzulaufen bzw. anzuspringen. Azyklisch bedeutet dabei insbesondere, dass es keine Schlei fen bei einem 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 handeln. Dies kann beispielsweise ein Netzwerk oder ein Peer-2-Peer Netzwerk sein.

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 on- ce"[3]). Insbesondere bezeichnet eine Nonce einzelne Zahlen oder eine Buchstabenkombination, die vorzugsweise ein einzi ges 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, Mobiltelefone) , Rechner, Smart-Phones , Clients oder Teilnehmer verstanden werden, die Operationen (mit) dem verteilten Datenbanksystem (z. B. eine Blockkette) durchfüh ren [1] [4] [5] . Solche Knoten können beispielsweise Transakti onen eines verteilten Datenbanksystems bzw. deren Datenblöcke ausführen oder neue Datenblöcke mit neuen Transaktionen in das verteilte Datenbanksystem mittels neuer Datenblöcke ein- fügen bzw. verketten. Insbesondere kann dieses Validieren und/oder Verketten durch einen vertrauenswürdigen Knoten (z. B. einem Mining Node) oder ausschließlich durch vertrauens würdige Knoten erfolgen. Bei einem vertrauenswürdigen Knoten handelt es sich beispielsweise um einen Knoten, der über zu sätzliche Sicherheitsmaßnahmen verfügt (z. B. Firewalls, Zu gangsbeschränkungen zum Knoten oder ähnliches) , um eine Mani- pulation des Knotens zu verhindern. Alternativ oder zusätz lich kann beispielsweise ein vertrauenswürdiger Knoten beim Verketten eines neuen Datenblocks mit dem verteilten Daten banksystem, eine Knotenprüfsumme (z. B. eine digitale Signa tur oder ein Zertifikat) in dem neuen Datenblock speichern. Damit kann insbesondere ein Nachweis bereitgestellt werden, der angibt, dass der entsprechende Datenblock von einem be stimmten Knoten eingefügt wurde bzw. seine Herkunft angibt. Bei den Geräten (z. B. dem entsprechenden Gerät) handelt es sich beispielsweise um Geräte eines technischen Systems und/oder industriellen Anlage und/oder eines Automatisie rungsnetzes 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 bei spielsweise auch zumindest einen Prozessor umfassen, um z. B. ihre computerimplementierte 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 z. B. über ein Sicher heitsmodul 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", einer „Vorrichtung" oder einem „Gerät" 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 verteilten Datenbanksystems (z. B. der Blockkette) sind (also keine Operationen mit dem ver teilten Datenbanksystem durchführen oder diese nur abfragen, ohne jedoch Transaktionen durchzuführen, Datenblöcke einfügen oder Proof-of-Work-Nachweise berechnen), verstanden werden. Alternativ kann insbesondere auch unter einem Rechner ein Knoten des verteilten Datenbanksystems verstanden werden. Mit anderen Worten kann insbesondere unter einem Gerät ein Knoten des verteilten Datenbanksystems verstanden werden oder auch ein Gerät außerhalb der Blockkette bzw. des verteilten Daten banksystems verstanden werden. Ein Gerät außerhalb des ver teilten 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 wer den. Wird beispielsweise eine Ansteuerung bzw. Steuerung ei nes Gerätes (z. B. ein als Knoten ausgebildetes Gerät oder ein Gerät außerhalb des verteilten Datenbanksystems) durch einen Knoten realisiert, kann dies z. B. mittels eines Smart- Contracts erfolgen, der insbesondere in einer Transaktion des verteilten Datenbanksystems gespeichert ist.

[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

Im Rahmen der vorliegenden Erfindung wird ein Verfahren zum Steuern eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank bereitgestellt. Dabei umfasst das Ver fahren folgende Schritte:

• Erfassen von Kapazitäten von Rechenressourcen von Re

cheneinheiten des Datennetzes. In diesem Schritt kann insbesondere die Auslastung der Recheneinheiten des Da tennetzes erfasst werden, um freie Kapazitäten für den Einsatz der verteilten Datenbank zu ermitteln. Zur

Durchführung dieses Schrittes können beispielsweise alle Recheneinheiten, welche bereits im Datennetz vorhanden sind, analysiert werden, um freie ungenutzte Kapazitäten dieser Recheneinheiten zu erfassen. Für jede Rechenein heit mit freien ungenutzten Kapazitäten kann dann über prüft werden, ob die jeweilige Recheneinheit genügend Leistung zur Verfügung stellen kann, um quasi zusätzlich oder nebenbei die verteilte Datenbank zu verwalten oder zu betreiben.

• Steuern des Betriebs des Datennetzes bezüglich des Ein satzes der verteilten Datenbank abhängig von der vorab erfassten Kapazität von Rechenressourcen. In diesem Schritt kann insbesondere abhängig von der Auslastung der Recheneinheiten des Datennetzes entschieden werden, ob die vorab erfassten freien Kapazitäten zum Aufbau ei ner verteilten Datenbank ausreichen, um insbesondere mit der aufgebauten verteilten Datenbank statistisch eine vorbestimmte Mindestsicherheit oder Ziel-Sicherheit dar zustellen .

Durch den Aufbau einer verteilten Datenbank (beispielsweise einer Blockchain basierten Datenbank) kann die Integrität des Datennetzes, insbesondere die Integrität der in dem Datennetz gespeicherten Daten oder Datenblöcke, sichergestellt werden. Dadurch kann vorteilhafterweise eine Manipulation von Daten des Datennetzes durch externe Angreifer, aber auch durch in terne Angreifer frühzeitig erkannt werden.

Mit der verteilten Datenbank können Daten, mit welchen die Integrität des Datennetzes sichergestellt wird (beispielswei se eine Blockchain) an verschiedenen räumlich getrennten Or ten (z.B. auch DMZ übergreifend) gespeichert werden. Die Re cheneinheiten, welche die verteilte Datenbank realisieren, gleichen diese Daten typischerweise gegeneinander ab, so dass gewährleistet ist, dass diese Daten an den verschiedenen räumlich getrennten Orten gleich sind. Bei einer Manipulation bestimmter Daten der verteilten Datenbank (z.B. bei der Mani pulation einer dieser Blockchains) würde erkannt werden, dass die anderen Daten der verteilten Datenbank (z.B. die anderen Blockchains) eine andere Information beinhalten, woraufhin die manipulierten Daten (z.B. die manipulierte Blockchain) mit den anderen Daten (z.B. den anderen Blockchain) abgegli- chen werden, wodurch die Manipulation rückgängig gemacht wird .

Gemäß einer erfindungsgemäßen Ausführungsform kann das Steu ern des Betriebs des Datennetzes ein Zuweisen von Rechenauf gaben im Zusammenhang mit der Hinterlegung von Daten in der verteilten Datenbank an diejenigen Recheneinheiten umfassen, für welche freie Kapazitäten erfasst wurden.

Diese Rechenaufgaben können beispielsweise Aufgaben zur Er zeugung der in der verteilten Datenbank abgespeicherten Daten (z.B. die Erzeugung einer Blockchain) umfassen.

Das Steuern des Betriebs des Datennetzes kann auch das Zuwei sen von Rechenaufgaben zur Inbetriebnahme der verteilten Da tenbank an diejenigen Recheneinheiten umfassen, für welche freie Kapazitäten erfasst wurden.

Dadurch ist es erfindungsgemäß möglich, dass für den Fall, dass ausreichend freie Kapazitäten bei den Recheneinheiten des Datennetzes vorhanden sind, automatisch die verteilte Da tenbank in Betrieb genommen wird. Damit wird vorteilhafter weise quasi automatisch bei einem bestehenden Datennetz für eine Datenintegrität gesorgt.

Gemäß einer erfindungsgemäßen Ausführungsform wird der Be trieb des Datennetzes in Abhängigkeit von einer vorgegebenen Korrelation zwischen einer Sicherheit von Daten, welche in der verteilten Datenbank abgespeichert sind, und Rechenres sourcen zum Hinterlegen der Daten in der verteilten Datenbank gesteuert .

Die Sicherheit oder Integrität der in der verteilten Daten bank gespeicherten Daten hängt oftmals insbesondere davon ab, wie diese Daten vor einer Manipulation geschützt sind bzw. werden. Ein solcher Schutz kann beispielsweise durch eine entsprechende Verschlüsselung oder durch eine möglichst zahl reiche Verteilung von Kopien der gespeicherten Daten inner- halb der Datenbank bzw. des Datennetzes realisiert werden. Abhängig von der Sicherheit der in der verteilten Datenbank gespeicherten Daten bzw. abhängig von der Art und Weise wie diese Sicherheit realisiert wird, können die benötigten Re chenressourcen zur Bereitstellung dieser Sicherheit bestimmt werden. Dabei besteht oftmals die Tendenz, dass umso mehr Re chenressourcen zur Hinterlegung der Daten in der verteilten Datenbank benötigt werden, je größer die Sicherheit der in der verteilten Datenbank hinterlegten Daten ist, wobei diese Beziehung (zwischen der Sicherheit der Daten und den benötig ten Rechenressourcen) der vorgegebenen Korrelation ent spricht .

Die Sicherheit der Daten kann dabei beispielsweise durch die Veränderung von Konfigurationsparametern von einem oder von mehreren Sicherheitsmerkmalen der verteilten Datenbank bei der Hinterlegung der Daten verändert werden. Diese Konfigura tionsparameter bestimmen insbesondere, wie die in der ver teilten Datenbank hinterlegten Daten gegenüber einer Manipu lation geschützt werden.

Beispielsweise kann das eine Sicherheitsmerkmal oder die meh reren Sicherheitsmerkmale eine Verkettungsprüfsumme von se quenziell hinterlegten Daten umfassen. Z.B. könnte die Länge und/oder der Algorithmus zum Bilden der Verkettungsprüfsumme als Sicherheitsmerkmal vorgesehen sein.

Wenn es sich bei der verteilten Datenbank um eine Blockchain basierte Datenbank handelt, enthält jeder Block der Block chain typischerweise einen kryptographisch sicheren Hashwert des jeweils vorhergehenden Blocks, was als die Verkettungs prüfsumme im Sinn der vorliegenden Erfindung anzusehen ist. Mit anderen Worten werden durch eine Verkettungsprüfsumme verschiedene Datenblöcke, welche in der verteilten Datenbank gespeichert sind, derart miteinander verknüpft, dass es (na hezu) unmöglich ist, nur einen dieser Datenblöcke zu verän dern, ohne dass dies anhand der Verkettungsprüfsumme bemerk bar ist. Der Betrieb des Datennetzes kann darüber hinaus abhängig von einem Vergleich zwischen der anhand der vorbestimmten Korre lation indizierten Sicherheit der Daten bei der erfassten Ka pazität von Rechenressourcen und einer vorgegebenen Ziel sicherheit oder Mindestsicherheit gesteuert werden.

Die Mindestsicherheit kann beispielsweise festlegen, wie viel Aufwand betrieben wird, um eine bestimmte Datenmenge (z.B. 1 MB) an (im Datennetz) gespeicherten Rohdaten derart abzuspei chern, dass eine unberechtigte Manipulation dieser Rohdaten zumindest erkannt wird. Die Mindestsicherheit definiert damit beispielsweise insbesondere die Art und Weise, in welcher diese Rohdaten vor einer unberechtigten Manipulation ge schützt werden (z.B. eine Verschlüsselung der Rohdaten oder ein Bilden einer Prüfsumme über die Rohdaten) . Wenn die Si cherheit beispielsweise mittels einer Blockchain realisiert wird, kann die Definition der Mindestsicherheit auch umfas sen, wie viele Kopien der Blockchain existieren und wie diese Kopien der Blockchain in der verteilten Datenbank zu vertei len sind.

Das erfindungsgemäße Verfahren kann weiter ein Erfassen einer Netztopologie (der Recheneinheiten) des Datennetzes umfassen, so dass die Steuerung des Betriebs des Datennetzes abhängig von dieser Netztopologie erfolgen kann.

Die Netztopologie kann eine Anordnung verschiedener Rechen einheiten zueinander im Datennetz beschreiben, d.h. also eine Kommunikationskopplung mit oder ohne zwischengeschalteten Routern, etc ..

Aufgrund der aktuellen Netztopologie des Datennetzes und der aktuellen Auslastung der Recheneinheiten, wobei vorhandene DMZs und örtliche Dislozierungen des Datennetzes berücksich tigt werden, kann erfindungsgemäß vorgeschlagen oder gesteu ert werden, an welchen Stellen Recheneinheiten des Datennet zes zum Betreiben der verteilten Datenbank einzusetzen sind. Dabei wird unter den örtlichen Dislozierungen verstanden, welche Standorte (etwa Werke, Betriebsstätten, Außenposten, etc.) Teil des Datennetzes sind, und welche Brandschutzzonen, Schaltkästen und Stromversorgungsabschnitte usw. in einem Standort bezüglich des Datennetzes existieren.

Dabei umfasst das Steuern des Betriebs des Datennetzes in manchen Beispielen insbesondere auch ein Anpassen der Netzto pologie .

Das Anpassen der Netztopologie kann ein Hinzufügen von Ver bindungen zwischen Recheneinheiten des Datennetzes, aber auch ein Entfernen von Verbindungen zwischen solchen Recheneinhei ten umfassen.

Darüber hinaus kann das Steuern des Betriebs des Datennetzes ein Hinzufügen und ein Entfernen von Recheneinheiten aus dem Datennetz umfassen.

Wenn die erfindungsgemäße Bewertung des Datennetzes insbeson dere hinsichtlich der freien Kapazität der Rechenressourcen der Recheneinheiten des Datennetzes ergibt, dass diese freie Kapazität nicht ausreicht, um beispielsweise mit der zu er zeugenden verteilten Datenbank die vorgegebene Mindestsicher- heit zu realisieren, kann das erfindungsgemäße Verfahren V or schlägen, wie viele Recheneinheiten dem Datennetz (beispiels weise als Blockchain-Manager) an bestimmten Stellen hinzuzu fügen sind, um insbesondere statistisch die vorgegebene Min- destsicherheit realisieren zu können.

Diesbezüglich kann die Steuerung des Betriebes des Datennet zes umfassen, dass Benutzeranweisungen über eine Benutzer schnittstelle ausgegeben werden, wobei diese Benutzeranwei sungen physikalische Anpassungen des Datennetzes betreffen.

Anhand dieser Benutzeranweisungen kann erfindungsgemäß mit Benutzern des Datennetzes kommuniziert werden, um dadurch insbesondere die zum Erreichen der Mindestsicherheit notwen- digen Anpassungen (z.B. Hinzufügen von Recheneinheiten und Verbindungen zwischen Recheneinheiten) vorzunehmen.

Der Benutzer kann bei der Anwendung des erfindungsgemäßen Verfahrens angeben, welche Mindestsicherheit (Level an Si cherheit) er mittels der verteilten Datenbank erzielen möch te. Nach der erfindungsgemäßen Bewertung des Datennetzes (z.B. Bestimmung der freien Kapazitäten der Recheneinheiten) kann dem Benutzer dann von dem erfindungsgemäßen Verfahren mitgeteilt werden, wie viele zusätzliche Recheneinheiten oder Recheneinheiten und/oder netzwerkseitige Investitionen (z.B. zusätzliche Datenverbindungen) an welchen Stellen des Daten netzes hinzuzufügen sind, damit mit der derart erweiterten verteilten Datenbank die angestrebte Mindestsicherheit er zielt werden kann. Das erfindungsgemäße Verfahren kann bei der Planung eines neuen Datennetzes, zur Erweiterung eines bestehenden Datennetzes um die verteilte Datenbank sowie zur Erweiterung eines bestehenden Datennetzes mit bereits vorhan dener verteilter Datenbank eingesetzt werden.

Falls das Datennetz bereits eine verteilte Datenbank auf weist, können erfindungsgemäß nachträgliche Analysen bei ei ner Erweiterung bzw. einem Umbau des Datennetzes zur Verfü gung gestellt werden, um die verteilte Datenbank (z.B. eine bestehende Blockchain) weiter auszubauen oder die zu erzie lende Mindestsicherheit zu pflegen bzw. zu erweitern. Dabei können zusätzlich beispielsweise durch eine sich ständig wie derholende Überprüfung des Datennetzes freiwerdende Rechen ressourcen (z.B. CPU-Leistungen) oder neu hinzu kommende Re chenressourcen automatisch erkannt und zur Erweiterung der verteilten Datenbank eingesetzt werden.

In der verteilten Datenbank werden insbesondere Daten hinter legt, welche Betriebsparameter des Datennetzes indizieren.

Indem in der verteilten Datenbank (z.B. in der Blockchain) Daten hinterlegt werden, welche von Betriebsparametern des Datennetzes abgeleitet sind, kann vorteilhafterweise mit der verteilten Datenbank erkannt werden, ob diese Betriebsparame ter unerlaubt geändert wurden.

Die in der verteilten Datenbank hinterlegten Daten, welche die Betriebsparameter des Datennetzes indizieren, umfassen dabei beispielsweise Versionierungsinformationen von Software oder Datenpaketen, welche in dem Datennetz gespeichert sind.

Dadurch führt jede Versionsänderung dieser Software oder die ser Datenpakete (wie z.B. Dateien) zu einer entsprechenden Änderung der verteilten Datenbank. Dadurch kann jede entspre chende Versionsänderung anhand der verteilten Datenbank (z.B. Blockchain) überprüft werden, so dass unautorisierte (Versi- ons-) Änderungen erkannt werden können.

Mit der verteilten Datenbank (z.B. Blockchain) kann erfin dungsgemäß auch eine unautorisierte Manipulation aller Up dates der im Datennetz vorhandenen Recheneinheiten (Firmware) wie auch sonstiger Software bzw. Daten, welche genutzt, ver wendet oder versendet werden, erfasst werden und somit die angestrebte Sicherheit auf ein hohes Niveau gehoben werden.

Erfindungsgemäß kann auch eine in der verteilten Datenbank abgespeicherte Information (z.B. Blockchain-Information) mit im Datennetz zu übertragenden Daten verknüpft werden, um so die Integrität dieser Daten bei der Verarbeitung oder Über tragung zu einem externen Speicher (z.B. Cloud) sicherzustel len .

Als allgemeine Regel wäre es aber möglich, Daten die einen anderen Informationsgehalt als die Betriebsparameter des Da tennetzes selbst tragen, in der verteilten Datenbank zu hin terlegen. Es wäre etwa möglich, Daten in der verteilten Da tenbank zu hinterlegen, die etwa Messwerte von Sensoren be treffen, die an das Datennetz angeschlossen sind. Als Recheneinheiten für die Datenbank können dabei multifunk tionale Plattformen mit mehreren Kernen eingesetzt werden, im Allgemeinen CPUs und/oder GPUs.

Mit diesen multifunktionalen Plattformen, welche mehrere Ker ne aufweisen, kann die Netzlast vorteilhafterweise im Ver gleich zu anderen Plattformen reduziert werden. Beispielswei se kann auf jedem ungenutzten Kern bzw. Core oder auf allen vorhandenen Kernen einer solchen multifunktionalen Plattform eine so genannte Blockchain-Recheneinheit (d.h. eine Rechen einheit zur Verwaltung einer Blockchain) realisiert werden. Vorteilhafterweise tritt durch den Datenverkehr zwischen den Kernen derselben multifunktionalen Plattform im Vergleich zu einem Datenverkehr zwischen im Netz verteilten Recheneinhei ten eine wesentlich geringere Netzlast auf.

Erfindungsgemäß ist es möglich, dass bestimmte Recheneinhei ten des Datennetzes, welche für die verteilte Datenbank ein gesetzt werden, nur einen Teil der Blockchain verwalten, wo bei dieser Teil zumindest den letzten Block der Blockchain umfasst .

Zur Reduzierung der Netzlast und des Aufwands zur Verwaltung der Blockchain kann eine Hierarchie in die Blockchain- Organisation eingezogen werden. Gemäß dieser Hierarchie exis tieren in einer ersten Hierarchieebene Blockchain-Verwalter, welche nur den zumindest notwendigen Wurmfortsatz bzw. den vorab beschriebenen Teil der Blockchain verwalten, welcher benötigt wird, um einen neuen Block für die Blockchain zu er zeugen. In einer über der ersten Hierarchieebene liegenden zweiten Hierarchieebene existieren Blockchain-Verwalter, wel che jeweils die gesamte Blockchain beinhalten. Durch die Blockchain-Verwalter der ersten Hierarchieebene kann die Netzlast und auch die Speicheranforderungen zum Abspeichern der Blockchain reduziert werden, ohne dadurch Abstriche hin sichtlich der Sicherheit des Datennetzes machen zu müssen. Erfindungsgemäß kann ein Vorgehen, um abhängig von einem be stimmten Block der Blockchain einen den bestimmten Block kennzeichnenden Hashwert zu bestimmen, welcher in einem wei teren Block der Blockchain, welcher dem bestimmten Block di rekt folgt, gespeichert ist, geändert werden.

Durch die Möglichkeit, das Vorgehen zur Bestimmung oder Er zeugung des Hashwerts für die Blockchain zu ändern, kann die durch die verteilte Datenbank erzielte Sicherheit des Daten netzes vorteilhafterweise weiter erhöht werden.

Bei dem erfindungsgemäßen Datennetz kann es sich um ein in dustrielles Datennetz handeln, welches beispielsweise für ei ne Automobilfirma, ein Gleissystem, ein Kraftwerk, ein Smart Grid oder ein Stromübertragungssystem eingesetzt werden kann. Mit einem erfindungsgemäßen Datennetz können Instandhaltungs daten, Cloud-Daten oder Gesundheitsdaten gespeichert werden.

Im Rahmen der vorliegenden Erfindung kann auch ein weiteres Verfahren zum Bewerten eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank (z.B. Blockchain) be reitgestellt werden. Dieses weitere Verfahren umfasst folgen de Schritte:

• Erfassen einer Kapazität von Rechenressourcen einer

Vielzahl von Recheneinheiten des Datennetzes. In diesem Schritt werden insbesondere freie Kapazitäten der Re chenressourcen für den Einsatz der verteilten Datenbank ermittelt .

• Bewerten des Datennetzes hinsichtlich des Einsatzes der verteilten Datenbank abhängig von der vorab erfassten Kapazität. In diesem Schritt erfolgt die Bewertung des Datennetzes insbesondere unter der Voraussetzung, dass die vorab ermittelten freien Kapazitäten für die ver teilte Datenbank eingesetzt werden. Das weitere erfindungsgemäße Verfahren muss nicht unbedingt die Steuerung des Betriebs des Datennetzes umfassen, sondern kann beispielsweise die ermittelte Bewertung des Datennetzes als Information ausgeben, so dass dann abhängig von dieser Information der Einsatz der verteilten Datenbank in dem Da tennetz geplant werden kann, um durch den Einsatz der ver teilten Datenbank die Integrität der in dem Datennetz gespei cherten Daten sicherzustellen.

Wenn erfindungsgemäß erkannt wird, dass die erfasste Kapazi tät von Rechenressourcen die technischen Voraussetzungen er füllt, um in dem Datennetz eine verteilte Datenbank (z.B. ei ne Blockchain) aufzubauen, können automatisch entsprechende Softwarepakete auf die Recheneinheiten der Recheneinheiten gespielt werden und die verteilte Datenbank dadurch in Be trieb genommen werden. Dies kann beispielsweise durch einen entsprechenden Knopfdruck oder durch einen entsprechenden Schieberegler oder Haken in einem Software-Menü durch einen entsprechenden Benutzer initiiert werden. Für den Fall, dass Hardware-Erweiterungen des Datennetzes erkannt werden, kann die verteilte Datenbank durch zusätzliche Blockchain- Verwalter (d.h. neue Recheneinheiten im Datennetz) automa tisch erweitert und somit die Sicherheit erhöht werden. Eine solche Erweiterung kann zum einen durch das Einbringen von Extra-Recheneinheiten für die Blockchain oder durch zusätzli che Anlagen im Datennetz, welche einen Teil der Blockchain- Aufgaben mit übernehmen können, geschehen.

Im Rahmen der vorliegenden Erfindung wird auch eine Vorrich tung zum Steuern eines Datennetzes hinsichtlich eines Einsat zes einer verteilten Datenbank bereitgestellt. Dabei umfasst die Vorrichtung Rechenmittel und einen Anschluss zum An schließen der Vorrichtung an das Datennetz. Die Vorrichtung ist ausgestaltet, um eine Kapazität von Rechenressourcen ei ner Vielzahl von Recheneinheiten des Datennetzes zu erfassen und um den Betrieb des Datennetzes hinsichtlich des Einsatzes der verteilten Datenbank abhängig von der vorab erfassten Ka pazität von Rechenressourcen zu steuern. Die Vorteile der erfindungsgemäßen Vorrichtung entsprechen im Wesentlichen den Vorteilen des erfindungsgemäßen Verfahrens, welche vorab im Detail ausgeführt worden sind, so dass hier auf eine Wiederholung verzichtet wird.

Des Weiteren beschreibt die vorliegende Erfindung ein Compu terprogrammprodukt, insbesondere eine Software, welche man in einen Speicher einer programmierbaren Steuereinrichtung bzw. einer Recheneinheit, welche mit einem Datennetz verbindbar ist, laden kann. Mit diesem Computerprogrammprodukt können alle oder verschiedene vorab beschriebene Ausführungsformen des erfindungsgemäßen Verfahrens ausgeführt werden, wenn das Computerprogrammprodukt in der Steuereinrichtung läuft. Dabei benötigt das Computerprogrammprodukt eventuell Programmmit tel, z.B. Bibliotheken und Hilfsfunktionen, um die entspre chenden Ausführungsformen des Verfahrens zu realisieren. Mit anderen Worten soll mit dem auf das Computerprogrammprodukt gerichteten Anspruch insbesondere eine Software unter Schutz gestellt werden, mit welcher eine der oben beschriebenen Aus führungsformen des erfindungsgemäßen Verfahrens ausgeführt werden kann bzw. welche diese Ausführungsform ausführt. Dabei kann es sich bei der Software um einen Quellcode (z.B. C++), der noch compiliert und gebunden oder der nur interpretiert werden muss, oder um einen ausführbaren Softwarecode handeln, der zur Ausführung nur noch in die entsprechende Rechenein heit bzw. Steuereinrichtung zu laden ist.

Schließlich offenbart die vorliegende Erfindung einen elekt ronisch lesbaren Datenträger, z.B. eine DVD, ein Magnetband, eine Festplatte oder einen USB-Stick, auf welchem elektro nisch lesbare Steuerinformationen, insbesondere Software (vgl. oben), gespeichert ist. Wenn diese Steuerinformationen (Software) von dem Datenträger gelesen und in eine Steuerein richtung bzw. Recheneinheit, welche mit einem Datennetz ver bindbar ist, gespeichert werden, können alle erfindungsgemä ßen Ausführungsformen des vorab beschriebenen Verfahrens durchgeführt werden. Erfindungsgemäß kann beispielsweise mit einer zentralen Soft ware Schritt für Schritt die durch eine Blockchain realisier te Sicherheit in ein bestehendes Datennetz integriert werden. Die Erfindung kann sowohl in der Planungsphase als auch bei einem bereits bestehenden Datennetz ohne Blockchain sowie bei einem bestehenden Datennetz mit Blockchain eingesetzt werden. Indem die Qualität der eingesetzten Blockchain verbessert wird, kann auch die Qualität oder Integrität des Datennetzes verbessert oder Schritt für Schritt an bestimmte Gegebenhei ten angepasst werden. Beispielsweise kann bei einer Vergröße rung des Datennetzes automatisch ein Hinweis erzeugt werden, dass zusätzliche Sicherheiten bezüglich der Blockchain einge baut werden sollten. Durch die Nutzung bestehender Rechenein heiten und/oder durch Vorschläge zur Platzierung neuer Re cheneinheiten oder zur Dislozierung bestehender Recheneinhei ten sowie zum Ausrollen der verteilten Datenbank kann erfin dungsgemäß eine verteilte Datenbank (z.B. eine Blockchain) kostenoptimiert realisiert werden.

Im Folgenden wird die vorliegende Erfindung anhand erfin dungsgemäßer Ausführungsformen mit Bezug zu den Figuren im Detail beschrieben.

In Fig. 1 ist schematisch eine erfindungsgemäße Blockchain dargestellt .

In Fig. 2 ist eine erfindungsgemäße Vorrichtung dargestellt, welche an ein Datennetz angeschlossen ist.

In Fig. 3 ist das in Fig. 2 dargestellte Datennetz mit einer verteilten Datenbank dargestellt.

In Fig. 1 ist schematisch eine erfindungsgemäße Blockchain 300 dargestellt. Die Blockchain 300 umfasst mehrere Datenblö cke 301-303, welche in Form einer Kette oder Folge von Daten löcken 301-303 verknüpft sind. Jeder Datenblock 301-303 weist eine Verkettungsprüfsumme 311-313 auf, welche beispielsweise einen Hashwert darstellt. Die Prüfsumme 311-313 wird abhängig von dem jeweils vorhergehenden Datenblock innerhalb der

Blockchain oder innerhalb der Folge von Datenblöcken 301-303 bestimmt. Beispielsweise wird die Prüfsumme 312 des Daten blocks 302 abhängig von dem Datenblock 301 gebildet, was durch den entsprechenden Pfeil in der Fig. 1 dargestellt wird. Die Prüfsumme 311 bzw. 312 des Datenblocks 301 bzw. 302 kann beispielsweise ein Hashwert sein, welcher anhand der in dem jeweils vorhergehenden Datenblock 302 bzw. 303 gespei cherten Daten berechnet wird. Dadurch kann eine (unautori sierte) Modifikation des Datenblocks 302 bzw. 303 erfasst werden, indem der Datenblock 302 bzw. 303 mit der Prüfsumme 311 bzw. 312 verglichen wird.

In jedem Datenblock 301-303 können Transaktionen 320 gespei chert sein. Jede Transaktion 320 kann entsprechende Daten be inhalten oder auf entsprechende Daten verweisen, indem ein entsprechender Verweis oder eine entsprechende Zusatzinforma tion oder eine entsprechende Prüfsumme usw. abgespeichert wird .

Die in den Datenblöcken 301-303 gespeicherten Daten (z.B. Transaktionen 320) können beispielsweise Versionsinformatio nen von in einem Datennetz gespeicherter Software oder Daten paketen umfassen. Dadurch schützt die Blockchain 300 vor ei ner unautorisierten Modifikation der Versionsinformationen innerhalb des durch die Blockchain 300 geschützten Datennet zes .

In Fig. 2 ist ein Datennetz 6 dargestellt, an welches eine erfindungsgemäße Vorrichtung 4 angeschlossen ist.

Das Datennetz umfasst mehrere Recheneinheiten 3, welche je weils zumindest eine CPU 1 meist auch eine Speichereinheit bzw. einen Speicher 2 umfassen. Die Recheneinheiten 3 sind miteinander über Datenleitungen 7 verbunden. Die erfindungs gemäße Vorrichtung 4 ist ebenfalls eine Recheneinheit, welche eine CPU 1 und eine Speichereinheit bzw. einen Speicher 2 um- fasst. Die erfindungsgemäße Vorrichtung 4 ist über eine Da tenleitung 7 mit dem Datennetz 6 verbunden oder Bestandteil des Datennetzes 6.

Ein erfindungsgemäßes Verfahren zum Steuern des Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank (z.B. einer Blockchain 300) läuft auf der erfindungsgemäßen Vor richtung 4. Das erfindungsgemäße Verfahren erfasst eine Kapa zität von Rechenressourcen der Recheneinheiten 3 des Daten netzes 6. Abhängig von dieser Kapazität von Rechenressourcen steuert die Vorrichtung 4 den Betrieb des Datennetzes 6 hin sichtlich des Einsatzes der verteilten Datenbank 300.

Im dargestellten Fall erkennt die erfindungsgemäße Vorrich tung 4, dass drei Recheneinheiten 3 des Datennetzes 6 ausrei chend freie Kapazitäten aufweisen, um mit diesen drei Rechen einheiten 3 eine verteilte Datenbank 300 zu erzeugen.

In Fig. 3 sind diese drei Recheneinheiten 3 durch eine ge strichelte Linie 5 zusammengefasst, wobei mit dem Bezugszei chen 5 die für die verteilte Datenbank (insbesondere zur Rea lisierung einer Blockchain 300) eingesetzten Recheneinheiten 3 kenntlich gemacht werden. Erfindungsgemäß baut die Vorrich tung 4 mit Hilfe dieser drei Recheneinheiten 3 die verteilte Datenbank 300 auf, in welcher dann erfindungsgemäß Versi onsinformationen der in dem Datennetz 6 gespeicherten Soft ware und Datenpakete in Form einer Blockchain abgespeichert werden. Dadurch sorgt die erfindungsgemäß aufgebaute verteil te Datenbank bzw. Blockchain 300 für eine Datenintegrität des Datennetzes 6.