In Bearbeitung

Bitte warten ...

Einstellungen

Einstellungen

Gehe zu Anmeldung

1. WO2020126236 - VERFAHREN ZUM BETREIBEN EINES VERTEILTEN DATENBANKSYSTEMS, VERTEILTES DATENBANKSYSTEM UND INDUSTRIEAUTOMATISIERUNGSSYSTEM

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

[ DE ]

Beschreibung

Verfahren zum Betreiben eines verteilten Datenbanksystems, verteiltes Datenbanksystem und Industrieautomatisierungssys tem

Die vorliegende Erfindung betrifft ein Verfahren zum Betrei ben eines verteilten Datenbanksystems, wie zum Beispiel einer Blockkette (Blockchain) mit Hilfe vernetzter Knoten-Einrichtungen. Ein solches Datenbanksystem eignet sich insbe sondere zum Einsatz in einem Industrieautomatisierungsnetz werk. Um Dateneinträge oder Transaktionen innerhalb einer Blockkette durchführen und dokumentieren zu können, werden solche Einträge kryptographisch abgesichert. Es ist zum Bei spiel gängig, Transaktionen oder Einträge nach einem vorgege benen Standard digital zu signieren.

Bei der bekannten Blockkette Bitcoin, die eine Kryptowährung verwaltet, können Teilnehmer oder Nutzer über geldwerte Ein träge in der Bitcoin-Blockkette mit Hilfe ihrer privaten kryptografischen Schlüssel verfügen. Das kryptographische Verfahren zur Absicherung der jeweiligen Datenbankeinträge für Personen bzw. Teilnehmern, basiert auf Elliptische-Kurven-Kryptographie (Elliptic Curve Cryptography : ECC) mit einer bestimmten Schlüssellänge, nämlich 256 Bits. Die

Schlüssellänge der eingesetzten ECDSA-Signaturen (Elliptic Curve Digital Signature Algorithm: ECDSA) wurde so gewählt, dass ein manipulierender Angriff unwahrscheinlich bis unmög lich ist. Da zukünftige Rechnerleistungen, die für Angriffe auf solche verteilten Datenbanksysteme genutzt werden können, nicht absehbar sind, ist fraglich, ob die Bitcoin-Blockkette langfristig mit einem geeigneten Sicherheitsniveau ausgestat tet ist.

Für die Bitcoin-Blockkette ist vorgesehen, dass die letzten Bitcoins im Jahr 2130 entstehen sollen. Es ist mit großer Wahrscheinlichkeit anzunehmen, dass zu diesem Zeitpunkt el liptische Kurven mit einem 256-Bit-Modul keine angemessene Sicherheit mehr bieten werden. Die Zweifel an der langfristi gen Sicherheit dieser Kurven werden verstärkt durch die aktu ellen Fortschritte der Quantencomputer. Ein denkbarer Quan tencomputer mit einer ausreichenden Zahl von Quanten-Bits könnte alle üblichen, auf elliptischen Kurven beruhende Kryp-toverfahren in Polynomzeit brechen.

Es ist insofern wünschenswert, die Sicherheit und Robustheit von verteilten Datenbanksystemen gegenüber kryptoanalytischen Angriffen möglichst hoch und flexibel zu halten.

Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, einen verbesserten Betrieb von verteilten Datenbanksystemen, insbesondere von Blockketten, zu ermögli chen .

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.

Demgemäß wird ein Verfahren zum Betreiben eines verteilten Datenbanksystems mit verteilten Knoten-Einrichtungen zum Be reitstellen von miteinander verknüpften Datenblöcken bereit gestellt. Die Datenblöcke können insbesondere in der Art ei ner Blockkette bereitgestellt werden. Die Datenblöcke doku mentieren Transaktionen zwischen Teilnehmern, wobei Transak tionen zwischen Teilnehmern mit Hilfe von entsprechenden Transaktionsdaten und einem kryptografischen Signaturverfah ren abgesichert werden. Bei dem Verfahren wird für jede

Transaktion das kryptografischen Signaturverfahrens zum Absi chern der jeweiligen Transaktion festgelegt, wobei eine das festgelegte kryptografische Signaturverfahren identifizieren de Signaturinformation Teil der Transaktionsdaten oder Teil einer Durchführungsanfrage für die Transaktion ist.

Es erfolgt insbesondere für jede Transaktion ein Berechnen von Signaturdaten nach dem festgelegten kryptografischen Sig naturverfahren über zumindest einen Teil der Transaktionsda- ten oder deren Hashwert, und die Signaturdaten werden zu den Transaktionsdaten hinzugefügt.

Die kryptografische Signatur schafft eine kryptographische Bindung oder Kopplung zwischen dem Teilnehmer und einer ange fragten Transaktion oder dem jeweiligen Dateneintrag und ge nügt dabei bestimmten Sicherheitsanforderungen. Ein Beispiel für ein Sicherheitsniveau ist beispielsweise eine Schlüssel länge .

Durch die Festlegung des im Rahmen - vorzugsweise - jeder Transaktionsdurchführung oder -Bestätigung anzuwendenden kryptografische Signaturverfahrens wird der Betrieb des Da tenbanksystems flexibler und sicherer. Es wird ermöglicht, das Sicherheitsniveau des Signaturverfahren über die Lebens dauer des Datenbanksystems zu ändern und an den Fortschritt der Kryptoanalyse anzupassen.

Als Sicherheitsniveau kann bei Sicherheitsverfahren, die auf einer geheimen Information, wie zum Beispiel einem kryptogra-phischen privaten Schlüssel, basieren, die mittlere Anzahl der elementaren Operationen gelten, die der effizienteste be kannte Algorithmus benötigt, um die geheime Information zu ermitteln. Bei einem Sicherheitsniveau von 80 Bit, muss ein Angreifer 280 elementare Operationen durchführen, um den pri vaten Schlüssel zu finden. Man kann dann sagen, dass Sicher heitsniveau ist 80 Bit. Es sind auch andere Maße für das je weilige Sicherheitsniveau, wie eine Schlüssellänge oder ein Parameter elliptischer Kurven, denkbar.

Die Festlegung des Sicherheitsniveaus durch Verwendung eines bestimmten kryptografischen Signaturverfahrens erfolgt zum Beispiel für alle zukünftige Transaktionen solange kein neues kryptografische Signaturverfahren, insbesondere mit erhöhter Sicherheit festgelegt wird. Vorzugsweise kann ohne Angabe der Signaturinformation, beispielsweise in der Art eines Verwei ses, Pointers, Programmcodes für das anzuwendende Signatur- verfahren und/oder eines Parameters für das Signaturverfahren keine Transaktion durchgeführt werden.

In Ausführungsformen weist die Signaturinformation einen Pro grammcode zur Durchführung des festgelegten kryptografischen Signaturverfahrens auf. Das kryptografische Signaturverfahren kann als ausführbarer Code implementiert werden und in dem Datenbanksystem gespeichert vorliegen. Eine mögliche Imple mentierung des Verfahrens sieht einen oder mehrere Smart-Contracts vor, der ein entsprechendes kryptografisches oder verschiedene kryptografische Signaturverfahren veranlasst. Insofern sehen Varianten des Verfahrens vor, dass ein vorgeb-bares kryptografisches Signaturverfahren in der Art eines Smart-Contracts für das bzw. in dem verteilten Datenbanksys tem bereitgestellt wird.

Denkbar ist auch, dass die Signaturinformation einen Zeiger auf einen Programmcode zur Durchführung des festgelegten kryptografischen Signaturverfahrens aufweist.

Bei einer Ausführungsform des Verfahrens erfolgt ein digita les Signieren der Signaturinformation mit Hilfe des festge legten kryptografischen Signaturverfahrens. Alternativ kann zunächst ein Hashwert für die Signaturinformation erzeigt werden, und anschließend ein digitales Signieren des Hashwer-tes mit Hilfe des festgelegten kryptografischen Signaturver fahrens erfolgen. Es wird anschließend die signierte und/oder gehashten Signaturinformation an die Transaktionsdaten ange fügt .

Die jeweilige Signatur ist vorzugsweise Teil einer Transakti on oder Transaktionsanfrage bzw. der Transaktionsdaten.

Es kann beispielsweise in einer Änderungstransaktion für alle Folgetransaktionen ein neues kryptografisches Signaturverfah ren zum Absichern der jeweiligen Transaktion festgelegt wird. Die erfolgt insbesondere nur dann, falls ein vorgegebener An teil von Teilnehmern einer Änderungstransaktion unter Anwen- düng des aktuell festgelegten kryptografisches Signaturver fahren zustimmt.

In Ausführungsformen müssen alle Teilnehmer des Datenbanksys tems zustimmen. Es ist auch möglich, eine vorgegebene notwen dige Mehrheit, z.B. zwei Drittel oder 50%, zur Änderung des Signaturverfahrens zu bestimmen.

In Ausführungsformen kann sich eine Gruppe von Teilnehmern für Transaktionen unter Teilnehmern der Gruppe auf ein be stimmtes digitales Signaturverfahren einigen und für zukünf tige Folgetransaktionen festlegen.

In Ausführungsformen wird die anzuwendende kryptografische Signaturverfahren für einen bestimmten Zeitraum festgelegt. Denkbar ist ferner das Signaturverfahren für eine maximale Anzahl von Transaktionen festzulegen, wobei es nach Ablauf des Zeitraums oder der Transaktionszahl neu bestimmt werden muss .

In Ausführungsformen muss ein neues festgelegtes Signaturver fahren ein höheres kryptografisches Sicherheitsniveau haben als das aktuell festgelegte Signaturverfahren.

In Ausführungsformen verknüpft das jeweilige kryptografische Signaturverfahren ein kryptographisches Schlüsselpaar mitei nander, wobei jedem Teilnehmer ein geltendes Schlüsselpaar zugeordnet ist. Alternativ oder zusätzlich kann das Signatur verfahren mit Elliptische-Kurven-Kryptographie (ECC) imple mentiert werden.

Bei ECC werden diskrete Logarithmusprobleme betrachtet und die Kurvenparameter festgelegt. Das Sicherheitsniveau einer ECC wird dabei im Wesentlichen durch die Schlüssellänge be stimmt. Auf ein verteiltes Datenbanksystem und die kryptogra-phische Bindung von Dateneinträgen an Teilnehmer bezogen kann das Sicherheitsniveau des festlegten kryptografischen Signa turverfahrens die verwendete Schlüssellänge sein.

Das kryptografisches Signaturverfahren kann auf der Basis ei ner Elliptische-Kurven-Kryptographie (ECC) implementiert sein, und die Signaturinformation weist zum Beispiel die Schlüssellänge für die ECC, insbesondere als Anzahl der Bits, auf .

Vorzugsweise ist das kryptografisches Signaturverfahren auf der Basis einer Post-Quanten-Kryptographie (PQC) implemen tiert. Die Festlegung auf ein PQC-Verfahren ermöglichst den Schutz vor Angriffen mit Hilfe von Quantencomputern, die mög licherweise bislang eingesetzte asymmetrische Kryptosysteme entschlüsseln können. Daher kann während des Betriebs der verteilten Datenbank ein bisheriges kryptografisches Signa turverfahren durch ein neues im Hinblick auf Quantencomputer angriffe robusteres Signaturverfahren ersetzt werden. Denkbar ist insbesondere die Festlegung auf ein Verfahren nach dem Standard RFC 8391 in der Version zum Zeitpunkt des Anmeldeta ges dieser Patentanmeldung. Als Signaturverfahren kommt ins besondere XMSS in Frage.

In Ausführungsformen ist vorgesehen, dass die miteinander verknüpften Datenblöcke, welche Transaktionen zwischen Teil nehmern dokumentieren, Datenblöcke umfassen, welche mit Hilfe von unterschiedlichen kryptografischen Signaturverfahren ab gesichert sind.

Insbesondere eine mit Hilfe des vorgeschlagenen Verfahrens betriebene Blockkette kann Transaktionen mit Signaturen ver schiedener Sicherheitsniveaus umfassen. Alte gefährdete in Datenblöcken dokumentierte Dateneinträge können durch Über tragung an neuere Datenblöcke, die gemäß dem aktuell festge legten Signaturverfahren geschützt werden, gerettet werden.

Das kryptografische Signaturverfahren verknüpft insbesondere ein kryptographisches Schlüsselpaar miteinander kryptogra-phisch-Jedem Teilnehmer kann dann ein aktuelles Schlüsselpaar zugeordnet werden. In Ausführungsformen wird sichergestellt, dass zu jedem Schlüsselpaar genau ein Teilnehmer vorliegt.

Grundsätzlich können Teilnehmer auch über mehrere Schlüssel paare verfügen.

In Ausführungsformen des Verfahrens wird für jeden Teilnehmer ferner zumindest einer der folgenden Schritte durchgeführt:

Zuweisen eines digitalen Signaturschlüssels an den Teil nehmer, wobei der digitale Signaturschlüssel dem aktuell festgelegten kryptografischen Signaturverfahren entspricht; digitales Signieren einer Transaktionsanfrage des Teil nehmers mit Hilfe des dem Teilnehmer zugewiesenen digitalen Signaturschlüssels zum Erzeugen einer digital signierten Transaktionsanfrage; und

Bestätigen der Transaktion, falls die digitale Signatur als gültig erkannt wird, und falls die Transaktion mit einer Transaktionshistorie der Blockkette als verteiltes Datenbank system widerspruchsfrei ist.

Das Zuweisen eines digitalen Signaturschlüssels kann auch durch den jeweiligen Teilnehmer selbst erfolgen. Beispiels weise erzeugt ein Teilnehmer das von ihm genutzte Schlüssel paar .

In Ausführungsformen dokumentieren die verknüpften Datenblö cke Transaktionen zu einer Ressource, insbesondere einer Kryptowährung . Ein Sicherheitsniveau des kryptografischen Signaturverfahrens wird dann insbesondere in Abhängigkeit von einem Wert oder einer Menge der im Rahmen der Transaktion do kumentierten Ressource festgelegt wird. Insofern kann die Transaktionssicherheit an den Wert der Transaktion angepasst werden .

Bei dem Verfahren können die verknüpften Datenblöcke Transak tionen zu einer Ressource, insbesondere einer Kryptowährung, dokumentieren, und eine Durchführung der Transaktion erfolgt durch ein Überprüfen der Signatur in den Transaktionsdaten durch Prüfungsinstanzen. Für das Überprüfen ist dann eine Menge der verwalteten Ressource an die Überprüfungsinstanzen abzuführen, wobei die Menge von dem Berechnungsaufwand der Signaturüberprüfung abhängt. Als Überprüfungsinstanz können Netzwerkeinrichtungen eingesetzt werden, die Rechenleistung für die kryptografischen Berechnungen gemäß dem festgelegten Signaturverfahren bereitstellen . Je größer der Berechnungs aufwand ist, desto größer werden beispielsweise die Transak tionskosten bestimmt. Dadurch kann insbesondere Denial-of-Service-Angriffen vorgebeugt werden.

In Ausführungsformen erfolgt ein Betrieb über die oben ge nannten Schritte hinaus gemäß einem bekannten Blockketten-Algorithmus. Denkbar sind zum Beispiel Ethereum-, IOTA- oder Bitcoin-Abwandlungen .

Es wird ferner ein verteiltes Datenbanksystem vorgeschlagen, welches mehrere Knoten-Einrichtungen zum Bereitstellen von miteinander verknüpften Datenblöcken umfasst, welche insbe sondere in der Art einer Blockkette verknüpft sind. Jede Kno ten-Einrichtung ist eingerichtet, gemäß einem vorgegebenen Blockkettenalgorithmus Transaktionen zwischen Teilnehmern zu dokumentieren, wobei der Blockkettenalgorithmus die Durchfüh rung eines zuvor und im Folgenden beschriebenen Verfahrens durch die Knoten-Einrichtungen veranlasst.

Es wird insbesondere eine Knoten-Einrichtung vorgeschlagen, welche derart eingerichtet ist, dass sie als Knoten-Einrichtung in einem verteilten Datenbanksystem einsetzbar ist und gemäß dem Blockketten-Algorithmus arbeitet, wie es zuvor und im Folgenden beschrieben wird.

Weiterhin wird ein Industrie-Automatisierungsnetzwerk mit ei nem verteilten Datenbanksystem wie zuvor und im Folgenden be schrieben vorgeschlagen, wobei das Datenbanksystem zum Doku mentieren und Steuern von Transaktionen für Feldgeräte in dem Automatisierungsnetzwerk eingerichtet ist.

Es lassen sich insbesondere Feldgeräte, welche mit Adressen versehen sind als Teilnehmer betrachten. Solche Feldgeräte können Sensordaten oder Steuerdaten erzeugen, welche mit Hil- fe der Knoten-Einrichtungen verteilt abgespeichert werden. Da lediglich nach dem aktuellen digitalen signierte Transakti onsanfragen zur Durchführung von Transaktionen verwendet wer den, kann die Sicherheit von derartigen Industrie-Automatisierungsnetzwerken verbessert werden. Die Feldgeräte können auch selbst Knoten-Einrichtungen in dem Datenbanksys tem darstellen.

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, wobei üblicherweise keine dafür speziell eingerichtete Infra struktur und Vertrauensbeziehungen eingerichtet wird. Ein durch eine Blockchain geschützter Transaktionsdatensatz (oder kurz Transaktion) umfasst z. B. Programmcode, der auch als sogenannter „Smart Contract" bezeichnet werden kann.

Die jeweilige Einheit, zum Beispiel ein Knoten, eine Rechen einheit oder Steuerungseinheit, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Ein heit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steu errechner eines Fahrzeuges ausgebildet sein. Bei einer soft waretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Rou tine, als Teil eines Programmcodes oder als ausführbares Ob jekt ausgebildet sein.

Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer oder mehrerer programmgesteuerten Einrich tungen die Durchführung des wie oben erläuterten Verfahrens veranlasst .

Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B.

Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form ei ner herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertra gung einer entsprechenden Datei mit dem Computerprogrammpro dukt oder dem Computerprogramm-Mittel erfolgen.

Die für die vorgeschlagene Vorrichtung beschriebenen Ausfüh rungsformen und Merkmale gelten für das vorgeschlagene Ver fahren entsprechend.

Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der je weiligen Grundform der Erfindung hinzufügen.

Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfin dung sind Gegenstand der Unteransprüche sowie der im Folgen den beschriebenen Ausführungsbeispiele der Erfindung. Im Wei teren wird die Erfindung anhand von bevorzugten Ausführungs formen unter Bezugnahme auf die beigelegten Figuren näher er läutert .

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 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" 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 Kno ten des verteilten Datenbanksystems sein, der beispielsweise die spezifischen Funktionen/Merkmale eines entsprechenden Mo duls realisiert. Die jeweiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die entsprechenden Module beispielsweise weite re Elemente umfassen. Diese Elemente sind beispielsweise eine oder mehrere Schnittstellen (z. B. Datenbankschnittstellen, Kommunikationsschnittstellen - 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 zweiten 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 Transaktionen) 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 für einen jeweiligen Datenblock des verteilten Daten banksystems unter Zuhilfenahme des vorhergehenden Datenblocks des verteilten Datenbanksystems ermittelt wird oder oder auf einen solchen referenziert wird (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 Transaktion 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 Transaktion abgelegt sein, der insbesondere einen Speicherort angibt, wo die Daten abge rufen werden können. Das ist insbesondere dahingehend vor teilhaft, um eine Datengröße der Blockkette oder des verteil ten 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 Zusammenwirken, 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 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 Transaktionen 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 Steuertransaktion 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. Es können auch beispiels weise unterschiedliche Implementierungen einer Blockkette o-der eines DLTS verwendet werden. Es kommt z. B. eine Blockket te oder ein System auf Basis der DLT, das mit einem Directed Acylic Graph (DAG) , kryptographischen Puzzles, Hashgraphen oder einer Kombination aus den genannten Implementierungsva rianten [6] [7] arbeitet. Auch können beispielsweise unter schiedliche Konsensusverfahren (engl, consensus algorithms) implementiert werden. Dies kann beispielsweise ein Konsensus verfahren mittels eines kryptographischen Puzzles, Gossip about Gossip, Virtual Voting oder eine Kombination der ge- nannten Verfahren sein (z. B. Gossip about Gossip kombiniert mit Virtual Voting) [6] [7] . Es sind insbesondere Proof-of-Stake, Proof-of-Authority oder Proof-of-State Varianten neben der Proof-of-Work-Implementierung zur Transaktionsvalidierung bekannt. Wird beispielsweise eine Blockkette verwendet, so kann diese insbesondere mittels einer Bitcoin-basierten Rea lisierung oder einer Ethereum-basierten Realisierung umge setzt werden [1] [4] [5] . Unter einem „verteilten Datenbanksys tem" kann beispielsweise auch ein verteiltes Datenbanksystem verstanden werden, von dem zumindest ein Teil seiner Knoten und/oder Geräte und/oder Infrastruktur durch eine Cloud rea lisiert sind. Beispielsweise sind die entsprechenden Kompo nenten als Knoten/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 erfolgen. Aufgrund der hohen Flexibilität der erläuterten Implementierungsvarianten, können insbesondere auch Teilaspekte der genannten Implementierungsvarianten mit einander kombiniert werden, indem z. B. ein Hashgraph als Blockkette verwendet wird, wobei die Blockkette selbst z. B. auch blocklos sein kann.

Wird beispielsweise ein Directed Acylic Graph (DAG) verwendet sind insbesondere Transaktionen oder Blöcke oder Knoten des Graphen miteinander über gerichtete Kanten miteinander ver bunden. Dies bedeutet insbesondere, dass (alle) Kanten (im mer) die gleiche Richtung haben, ähnlich wie dies z. B. bei der Zeit ist. Durch den eindeutigen, azyklischen Verlauf der Kanten wird die zeitliche Aufeinanderfolge der beteiligten Transaktionen eindeutig und beweissicher festgelegt. Azyk lisch bedeutet dabei insbesondere, dass es keine Schleifen 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 als zuverlässige Daten quellen gelten. Die von als "Blockketten-Orakel" geltenden Knoten erhaltenen Daten werden beispielsweise als richtig o-der nicht manipuliert angesehen, weil solche Knoten über ein Sicherheitsmodul verfügen, das beispielsweise mittels Soft-ware-Schutzmechanismen (z. B. kryptographische Verfahren), mechanische Schutzeinrichtungen (z. B. ein abschließbares Ge häuse) oder elektrische Schutzeinrichtungen verfügt (z. B. Tamper-Schutz oder ein Schutzsystem, das die Daten des Si cherheitsmoduls bei einer unzulässigen Nutzung/Behandlung des Blockketten-Orakel löscht umfasst) . Das Sicherheitsmodul kann dabei 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" 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 je weils außerhalb der Blockkette angeordnet sind bzw. kein Teilnehmer des verteilten Datenbanksystems (z. B. der Block kette) sind (also keine Operationen mit dem verteilten Daten banksystem 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 Datenbank systems verstanden werden. Ein Gerät außerhalb des verteilten Datenbanksystems kann beispielsweise auf die Daten (z. B. Transaktionen oder Steuertransaktionen) des verteilten Daten banksystems 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: Com munications of the ACM. Band 21, Nr. 12 Dezember 1978,

[3] Ross Anderson "Security Engineering. A Guide to Building Dependable 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, Byzantine 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/

Die für das vorgeschlagene verteilte Datenbanksystem be schriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren zum Betreiben eines verteilten Da tenbanksystems entsprechend.

Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der je weiligen Grundform der Erfindung hinzufügen.

Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfin dung sind Gegenstand der Unteransprüche sowie der im Folgen den beschriebenen Ausführungsbeispiele der Erfindung. Im Wei teren wird die Erfindung anhand von Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert.

Fig . 1 zeigt eine schematische Darstellung einer Ausfüh rungsform eines Industrieautomatisierungsnetzwerks mit einem verteilten Datenbanksystem;

Fig . 2 zeigt schematisch eine Ausführungsform einer Block kette ;

Fig . 3 zeigt ein Ablaufdiagramm für ein Verfahren zum Be treiben einer Blockkette; und

Fig. 4 zeigt schematisch eine weitere Ausführungsform ei ner Blockkette.

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

Die Fig. 1 zeigt eine schematische Darstellung einer Ausfüh rungsform eines Industrie-Automatisierungsnetzwerkes, bei dem ein verteiltes Datenbanksystem eingesetzt wird. Dazu ist in der Fig. 1 ein verteiltes Datenbanksystem in der Art einer Blockkette 1 dargestellt, welche in der Fig. 2 näher illus triert ist. Das verteilte Datenbanksystem 1 umfasst dabei miteinander vernetzte Knoten-Einrichtungen 2 - 6.

Die Knoten-Einrichtungen sind an ein Netzwerk 7 gekoppelt und können grundsätzlich Daten miteinander austauschen. Als Kno ten-Einrichtungen 2 - 6 kommen beispielsweise Rechner mit Blockketten-Clients oder auch Feldgeräte sowie mobile Endge räte in Frage. In dem dargestellten Ausführungsbeispiel kön nen beispielsweise Sensordaten, die von Feldgeräten 11, 12,

13 eines Industrie-Automatisierungsnetzwerks 10 erzeugt wer den, abgespeichert werden. Das Abspeichern erfolgt in der Art von Transaktionen zwischen Teilnehmern. Beispielsweise kann eine Transaktion für einen Teilnehmer, beispielsweise eine Sensoreinrichtung 11, darin bestehen, einen Sensorwert zu do kumentieren bzw. abzuspeichern. Unter "Teilnehmer" wird im Folgenden jede Entität verstanden, zu der eine zugewiesene Information innerhalb des verteilten Datenbanksystems 1 ein getragen ist. Analog kann eine Information durch eine Trans aktion innerhalb der Blockkette BC abgelegt werden.

In der Fig. 1 ist ein allgemeiner Teilnehmer 8 links darge stellt. Um Transaktionen innerhalb einer Blockkette BC durch zuführen, müssen die Teilnehmer 8 über Blockketten

identifizierungsdaten identifiziert werden, die kann z. B. eine Netzwerkadresse sein. Häufig werden auch öffentliche Schlüssel eines Schlüssel-Schloss-Paares als Blockketten identifizierungsdatum verwendet. Dies ist in der Fig. 1 mit einem privaten Schlüssel SK und einem öffentlichen Schlüssel PUB für den Teilnehmer 8 angedeutet. Die Schlüssel SK, PUB sind über ein kryptografisches Verfahren miteinander ver knüpft und dienen dazu, Transaktionen in der Blockkette BC kryptografisch abzusichern. Transaktionen zwischen Teilneh mern oder Änderungen von Datenbankeinträgen, welche durch die im weiteren erläuterten Datenblöcke dokumentiert werden, sind dabei durch ein kryptografisches Sicherheitsverfahren in der Art von signierten Datenblöcken geschützt.

In der Fig. 2 ist schematisch eine Blockkette BC angedeutet. Bei einer Blockkette BC werden Datenblöcke Bi nacheinander erzeugt, wobei die aufeinanderfolgenden Datenblöcke, welche in der Fig. 1 Bi, Bi+1 und Bi-1 bezeichnet sind, kryptogra-phisch miteinander verknüpft sind. Beispielsweise wird der zeitlich in der Fig. 2 aktuellste Datenblock Bi+1, der - wie auch die übrigen vorhergehenden Datenblöcke Bi und Bi-1 -Header-Daten HD, gehashte Datenblockdaten BH und Transakti onsdaten TD umfasst, mit dem vorhergehenden Datenblock Bi verknüpft, indem ein Hashwert des vorhergehenden Datenblocks Bi eingeschrieben ist. Dies ist in der Fig. 2 jeweils durch die geschwungenen Pfeile mit dem Zusatz "Hash" gekennzeich net. Bei der Hashwertbildung des jeweils vorhergehenden Da tenblock gehen alle Daten - insbesondere die Transaktionshis torie der Blockkette BC - ein, so dass eine unbemerkte Mani pulation von Daten, insbesondere von Transaktionsdaten, sehr unwahrscheinlich ist.

Bei der Erzeugung eines neuen Datenblocks, der angefragte Transaktionen zwischen Teilnehmern dokumentieren soll, prüfen die Knoten-Einrichtungen 2 - 6, die Rechnerkapazität zur Ver fügung stellen, ob die anstehenden Transaktionen im Wider spruch zur bisherigen Transaktionshistorie stehen oder nicht. Beispielsweise wird eine Transaktion bestätigt, wenn die Mehrheit der Knoten-Einrichtungen die Transaktion im Hinblick auf die Transaktionshistorie als widerspruchsfrei einstufen.

Er erfolgt daher eine kryptografisch abgesicherte Verkettung, wobei bei jeder Transaktion ein kryptografisches Signaturver fahren zum Einsatz kommt. Bei konventionellen Bockketten wird beim Start der Blockkette ein bestimmtes kryptografisches Verfahren ausgewählt und für die Lebensdauer derselben einge setzt .

Bei dem vorgeschlagenen Verfahren zum Betreiben der verteil ten Datenbank 1 ist das für die Absicherung eingesetzte Sig naturverfahren - beispielsweise durch Angabe eines vollstän digen Parametersatzes, der das anzuwendende Signaturverfahren eindeutig charakterisiert, wobei insbesondere die jeweilige Schlüssellänge - flexibel für jede Transaktion festlegbar. Denkbar ist auch ein Link auf solche das kryptografische Sig naturverfahren identifizierende Parameterdaten oder auf aus führbaren Programmcode, der die Signaturberechnung implemen tiert. Dadurch kann auch das kryptografische Sicherheitsni veau der Blockkette den jeweils aktuellen Anforderungen ange passt werden. Dies ist schematisch in der Fig. 3 angedeutet, die in einem Betriebsverfahren für das verteilte Datenbank system nach Fig. 1 in der Art einer Blockkette nach Fig. 2 ablaufende Verfahrensschritte darstellt.

Im Schritt S1 wird von einem Teilnehmer 8 eine Transaktions anfrage erzeugt. Beispielweise soll für eine bestimmte Netz werkadresse, die dem jeweiligen Teilnehmer 8 zugewiesen ist, eine Gutschrift über einen Betrag einer Kryptowährung erfol gen. Die Transaktionsanfrage muss mit Hilfe eines kryptogra-fischen Schlüssels und einem zugehörigen kryptografischen Signaturverfahren signiert werden.

Beim Betrieb des verteilten Datenbanksystems 1 wird das anzu wendende kryptografische Signaturverfahren bei jeder Transak tion festgelegt (Schritt S2). Für weniger sicherheitsrelevan te Transaktionen kann zum Beispiel ein ECDSA-Verfahren mit 160 Bit Modul zum Einsatz kommen, um Rechenleistung zu spa ren. Bei nach derzeitigem Stand sicherheitsrelevanten Trans aktionen wird beispielsweise ein ECDSA-Verfahren mit Modul 256 Bit eingesetzt. Sollte zukünftig ein 256 Bit-Modul nicht mehr ausreichend sicher erscheinen, wird für Transaktionen im Datenbanksystem 1 ein Modul von 320 Bit festgelegt.

Zur Festlegung des kryptografischen Signaturverfahrens ent hält jede Transaktionsanfrage, bzw. eine Durchführungsanfrage für die Transaktion, eine Signaturinformation. Die Signatur- Information identifiziert das anzuwendende Signaturverfahren beispielsweise durch Angabe einer Schlüssellänge. Die Prüfung der signierten Transaktionsanfrage erfolgt dann mit Hilfe ei nes öffentlichen Schlüssels gemäß der festgelegten Schlüssel länge und dem zugehörigen Verfahren, z.B. ECDSA.

Beim Betrieb der Blockkette BC durch das verteilte Datenbank system 1 kann die Netzwerkadresse des Teilnehmers als Block-ketten-Identifizierungsdatum zusammen mit der angefragten Transaktion digital signiert werden. Beispielsweise erzeugt die Zertifizierungsstelle 9 (vgl. Fig. 1) ein Paar eines öf fentlichen Verifikationsschlüssels PUB und eines privaten kryptographischen Schlüssel SK als digitalen Signaturschlüs sel gemäß dem festgelegten kryptografischen Signaturverfah ren. Der öffentliche Schlüssel PUB wird zum Beispiel mit Hil fe eines digitalen Zertifikats dem Teilnehmer 8 zugeordnet.

In Schritt S3 wird somit unter Anwendung des festgelegten kryptografischen Signaturverfahrens, welches durch die Signa turinformation identifiziert wird, die Transaktionsanfrage mit der Signatur versehen bzw. signiert. Die Ausführung des Signierverfahrens kann dabei in der Art eines Smart-Contracts als ausführbarer Programmcode implementiert sein, wobei die Signaturinformation beispielsweise ein Zeiger bzw. Pointer auf den Code darstellt.

In der Folge erfolgt das Durchführen von Transaktionen im Schritt S4 auf der Basis der signierten Transaktionsdaten. Es wird ein neuer Datenblock unter Anwendung des festgelegten kryptografischen Verfahrens erzeugt. Aufgrund der transakti onsabhängigen Festlegung der Signaturinformation bzw. des kryptografischen Signaturverfahrens kann die Blockkette BC Datenblöcke mit unterschiedlichen digitalen Signaturen auf weisen .

Dies ist in der Fig. 4 angedeutet. Es sind Blöcke Bi-1 bis Bi+2 über die Zeit t erzeugt worden. Zum Zeitpunkt t* wurde das eingesetzte kryptografische Signaturverfahren verändert.

Bis zum Block Bi ist die kryptografische Absicherung der Transaktionen über eine Signatur SIG1 gewährleistet worden.

Da beispielsweise die für Kryptoanalysen abrufbare Rechen leistung über die Zeit t zugenommen hat und das jeweilige kryptografische Signaturverfahren für SIG1 nicht mehr als ausreichend sicher erachtet wurde, hat man das Signaturver fahren für die Transaktionen nach der Zeit t* geändert. Die Folgeblöcke Bi+1, Bi+2 enthalten Signaturen SIG2, die ein stärkeres kryptografisches Sicherheitsniveau haben als das Signaturverfahren für SIG1. Die Teilnehmer der Blockkette BC haben sich zum Beispiel per Mehrheitsentscheid darauf ver ständigt, ab dem Zeitpunkt t* eine größere Schlüssellänge zu verwenden als zuvor.

Durch die flexible Festlegung bzw. Bestimmung des Signatur verfahrens kann sichergestellt werden, dass ein für die

Transaktion adäquates Sicherheitsniveau erreicht wird. Inso fern eignet sich das vorgeschlagene Verfahren zum Betreiben einer Blockkette, bei der Transaktionen mithilfe digital sig nierter Transaktionsdaten durchgeführt werden, zum Aufbau von sicherheitsrelevanten Datenbanken. Dies kann zum Beispiel Sensor- und Steuerdaten eines Automatisierungsnetzwerks be treffen. Denkbar ist ebenso die Nutzung als digitales Grund buch oder für den Nachweis von bestimmten Sicherheitseigen schaften von Produkten. Weil die kryptografische Bindung an den Teilnehmer, beispielsweise eine reale oder juristische Person, flexibel anpassbar ist wird, kann ein dauerhaft si cherer Betrieb erzielt werden.

Bei den vorgeschlagenen Verfahren zum Betreiben verteilter Datenbanksysteme werden insbesondere die zuvor genannten As pekte im Hinblick auf Blockketten, wie Smart-Contracts , Prüf summen und dergleichen berücksichtigt. Obwohl die Erfindung anhand einer einfachen Blockkette erläutert wurde, können die zuvor beschriebenen Varianten von Distributed Ledgers auch mit anderen Varianten von verteilten Datenbanken betrieben werden. Insgesamt werden die Sicherheit und Zuverlässigkeit von Transaktionen zwischen Teilnehmern verbessert, da eine flexible Anpassung des kryptografischen Sicherheitsniveaus ermöglicht wird.

5