Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PERSONAL DOCUMENT BLOCK CHAIN STRUCTURE
Document Type and Number:
WIPO Patent Application WO/2019/134780
Kind Code:
A1
Abstract:
The invention relates to a cryptographic method for carrying out selective access control to attributes of a plurality of documents (102), which are associated with a first user (120), wherein the attributes are saved in one or more memories in a manipulation-proof manner. The method comprises: providing a non-linear personal document block chain structure (100), which is associated with the first user and comprises a plurality of linear block chain sub-structures (104, 108, 109, 110, 600), wherein each of the linear block chain sub-structures comprises a plurality of blocks which are linked to each other bidirectionally, wherein each of the documents comprises a plurality of attributes, which are saved distributed over a plurality of blocks of a secondary, document-specific secondary structure (106), which is associated with the corresponding document, checking access permissions of a second user (128) for access to the corresponding block and, in the case of a successful check, confirming the successful check for the second user, and, upon an access query of the second user, providing the confirmation of the successful check, granting access to the corresponding block for the second user.

Inventors:
WILKE ANDREAS (DE)
KOMAROV ILYA (DE)
PAESCHKE MANFRED (DE)
Application Number:
PCT/EP2018/083573
Publication Date:
July 11, 2019
Filing Date:
December 05, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BUNDESDRUCKEREI GMBH (DE)
International Classes:
G06F21/64
Domestic Patent References:
WO2017149537A12017-09-08
Foreign References:
DE102008040416A12010-01-21
CN107231351A2017-10-03
Other References:
"The Blockchain", article "Mastering Bitcoin", pages: 161 ff
Attorney, Agent or Firm:
RICHARDT PATENTANWÄLTE PARTG MBB (DE)
Download PDF:
Claims:
P a t e n t a n s p r ü c h e

1. Kryptographisches Verfahren zur Durchführung einer selektiven Zugriffsteue- rung auf Attribute einer Mehrzahl von Dokumenten (102), welche einem ersten Nut- zer zugeordnet sind, wobei die Attribute in ein oder mehreren Speichern (266, 286, 306) manipulationssicher gespeichert sind, wobei das Verfahren umfasst:

Bereitstellen einer nichtlinearen persönlichen Dokumentenblockchain- Struktur (100), welche dem ersten Nutzer zugeordnet ist und eine Mehrzahl von li- nearen Blockchain-Unterstrukturen (104, 108, 109, 110, 600) umfasst, wobei jede der linearen Blockchain-Unterstrukturen jeweils eine Mehrzahl von bidirektional mit- einander verknüpften Blöcken umfasst,

wobei eine erste lineare Blockchain-Unterstruktur der Dokumentenblock- chain-Struktur eine Hauptstruktur (104) der Dokumentenblockchain-Struktur bildet, wobei Blöcke der Hauptstruktur jeweils einem individuellen Dokument der Mehrzahl von Dokumenten zugeordnet sind, einen Anfangsblock einer von einer dokumentenindividuellen Nebenstruktur (106) der Dokumentenblockchain-Struktur umfassten zweiten linearen Blockchain-Unterstruktur (108) bilden, welche dem ent- sprechenden Dokument zugeordnet ist, und einen Identifikator des entsprechenden Dokuments umfassen,

wobei jedes der Dokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Dokument zuge- ordneten dokumentenindividuellen Nebenstruktur verteilt gespeichert sind,

Bereitstellen einer Berechtigungsblockchain-Struktur (130) zur Kontrolle der Zugriffsrechte auf die Blöcke der Dokumentenblockchain-Struktur, wobei die Be- rechtigungsblockchain-Struktur einen Anfangsblock sowie ein oder mehrere weitere Blöcken umfasst, wobei die weiteren Blöcke jeweils einem weiteren Nutzer ein Zu- griffsrecht auf einen der Blöcke der Dokumentenblockchain-Struktur gewähren, auf eine Zugriffsberechtigungsanfrage nach einem Zugriffsrecht eines zwei- ten Nutzer (128) auf einen der Blöcke der persönlichen Dokumentenblockchain- Struktur des ersten Nutzers mit ein oder mehreren Attributen eines der Dokumente hin, Prüfen von Zugriffsrechten des zweiten Nutzers für einen Zugriff auf den ent- sprechenden Block, wobei ein Zugriff auf den entsprechenden Block nur dann ge- währt wird, wenn der zweite Nutzer als ein zugriffsberechtigter Nutzer von der Be- rechtigungsblockchain-Struktur umfasst ist,

auf eine erfolgreiche Prüfung hin, Bestätigen der erfolgreichen Prüfung für den zweiten Nutzer,

auf eine Zugriffsanfrage des zweiten Nutzers unter Bereitstellen der Bestäti- gung der erfolgreichen Prüfung hin, Gewähren des Zugriffs auf den entsprechenden Block für den zweiten Nutzer.

2. Verfahren nach Anspruch 1 , wobei die Bestätigung der erfolgreichen Prüfung für den zweiten Nutzer einen ersten Berechtigungstoken umfasst, welches an den zweiten Nutzer gesendet wird und dem zweiten Nutzer den Zugriff auf den Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers gewährt.

3. Verfahren nach Anspruch 2, wobei an den zweiten Nutzer eine Mehrzahl von Berechtigungstoken gesendet wird, welche das erste Berechtigungstoken umfassen und dem zweiten Nutzer Zugriff auf eine Mehrzahl von Blöcken der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers erlauben, wobei die Mehrzahl von Blöcken mehrere Attribute von mehreren Dokumenten des ersten Nutzers um- fassen.

4. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest ei- nes der Dokumente eine Mehrzahl von Attributgruppen umfasst,

wobei Blöcke der zweiten linearen Blockchain-Unterstruktur der dokumenten- individuellen Nebenstruktur des entsprechenden Dokuments jeweils einer der Attri- butgruppen zugeordnet sind, einen Anfangsblock einer dritten linearen Blockchain- Unterstruktur (110) der entsprechenden dokumentenindividuellen Nebenstruktur bilden, und einen Identifikator der entsprechenden Attributgruppe umfassen,

wobei den Attributgruppen des Dokuments jeweils ein oder mehrere der At- tribute des entsprechenden Dokuments zugeordnet sind, welche über ein oder meh- rere Blöcke der dritten linearen Blockchain-Unterstruktur verteilt gespeichert sind.

5. Verfahren nach Anspruch 4, wobei in den Blöcken der dritten linearen Block- chain-Unterstrukturen der dokumentenindividuellen Nebenstruktur des entspre- chenden Dokuments jeweils genau ein Attribut gespeichert ist.

6. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest ei- nem der Dokumente ein oder mehrere Ergänzungsdokumente (114) zugeordnet sind, welche das entsprechende Dokument ergänzen, wobei eine vierte lineare Blockchain-Unterstruktur der persönlichen Dokumentenblockchain-Struktur des ers- ten Nutzers eine dokumentenindividuelle Ergänzungsstruktur (105) des entspre- chenden Dokuments bildet, wobei ein erster Block der vierten linearen Blockchain- Unterstruktur mit dem Block der Hauptstruktur, welcher dem entsprechenden Do- kument zugeordnet ist, bidirektional verknüpft ist,

wobei ein oder mehrere der Blöcke der Ergänzungsstruktur jeweils einem in- dividuellen Ergänzungsdokument der ein oder mehrere Ergänzungsdokumente zu- geordnet sind, einen Anfangsblock einer von einer ergänzungsdokumentenindividu- ellen Nebenstruktur umfassten fünften linearen Blockchain-Unterstruktur bilden, welche dem entsprechenden Ergänzungsdokument zugeordnet ist, und einen Iden- tifikator des entsprechenden Ergänzungsdokuments umfassen,

wobei jedes der Ergänzungsdokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Ergän- zungsdokument zugeordneten ergänzungsdokumentenindividuellen Nebenstruktur verteilt gespeichert sind.

7. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest ei- nem der Dokumente ein oder mehrere Änderungsdokumente (112) zugeordnet sind, welche Änderungen des entsprechenden Dokuments umfassen, wobei eine sechste lineare Blockchain-Unterstruktur der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers eine dokumentenindividuelle Änderungsstruktur (105) des ent- sprechenden Dokuments bildet, wobei ein erster Block der sechsten linearen Block- chain-Unterstruktur mit dem Block der Hauptstruktur, welcher dem entsprechenden Dokument zugeordnet ist, bidirektional verknüpft ist, wobei ein oder mehrere der Blöcke der Änderungsstruktur jeweils einem indi viduellen Änderungsdokument der ein oder mehrere Änderungsdokumente zuge- ordnet sind, einen Anfangsblock einer von einer änderungsdokumentenindividuellen Nebenstruktur umfassten siebten linearen Blockchain-Unterstruktur bilden, welche dem entsprechenden Änderungsdokument zugeordnet ist, und einen Identifikator des entsprechenden Änderungsdokuments umfassen,

wobei jedes der Änderungsdokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Ände- rungsdokument zugeordneten änderungsdokumentenindividuellen Nebenstruktur verteilt gespeichert sind.

8. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest ei- nem der Dokumente ein oder mehrere ergänzende Attributgruppen zugeordnet sind, wobei ein oder mehrere Blöcke der zweiten linearen Blockchain-Unterstruktur der dokumentenindividuellen Nebenstruktur des entsprechenden Dokuments jeweils einer der ergänzenden Attributgruppen zugeordnet sind, einen Anfangsblock einer achten linearen Blockchain-Unterstruktur der entsprechenden dokumentenindividu- ellen Nebenstruktur bilden, und einen Identifikator der entsprechenden ergänzenden Attributgruppe umfassen,

wobei den ergänzenden Attributgruppen jeweils ein oder mehrere ergänzen- de Attribute für das entsprechende Dokument zugeordnet sind, welche über ein o- der mehrere Blöcke der achten linearen Blockchain-Unterstruktur verteilt gespei- chert sind.

9. Verfahren nach einem der vorangehenden Ansprüche, wobei zumindest ei- nem Attribut eines der Dokumente eine Änderung in Form eines geänderten Attri buts zugeordnet ist,

wobei das geänderte Attribut in einem zusätzlichen Block der dem entspre- chenden Dokument zugeordneten dokumentenindividuellen Nebenstruktur gespei- chert ist.

10. Verfahren nach einem der vorangehenden Ansprüche, wobei dem ersten Nutzer ein ausschließliches Recht zum Hinzufügen von zusätzlichen Blöcken zu der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers zugeordnet ist.

11. Verfahren nach Anspruch 10, wobei das Verfahren ein Hinzufügen eines zu- sätzlichen Dokuments zu der persönlichen Dokumentenblockchain-Struktur des ers- ten Nutzers umfasst, wobei das Hinzufügen des zusätzlichen Dokuments umfasst:

Ausstellen des zusätzlichen Dokuments durch eine berechtigte Ausstellungs- instanz (116), wobei die Attribute des zusätzlichen Dokuments durch die Ausstel- lungsinstanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptogra- phischen Schlüssel (272, 292, 312) signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen des zusätzlichen Doku- ments,

Hinzufügen des zusätzlichen Dokuments in Form eines zusätzlichen Blocks zu der Hauptstruktur, wobei der zusätzliche Block dem zusätzlichen Dokument zu- geordnet ist, einen Anfangsblock einer von einer zusätzlichen dokumentenindividu- ellen Nebenstruktur für die Dokumentenblockchain-Struktur umfassten zusätzlichen zweiten linearen Blockchain-Unterstruktur bildet, welche dem zusätzlichen Doku- ment zugeordnet ist, und einen Identifikator des zusätzlichen Dokuments umfasst, wobei die signierten Attribute des zusätzlichen Dokuments über eine Mehr- zahl von Blöcken der zusätzlichen dokumentenindividuellen Nebenstruktur verteilt gespeichert werden, und

wobei das Hinzufügen zu der Hauptstruktur ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem letzten Block der Hauptstruktur umfasst.

12. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ein Ändern eines Dokuments der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen eines Änderungsdokuments umfasst, wobei das Hinzufügen des Änderungsdokuments umfasst:

Ausstellen des Änderungsdokuments durch eine berechtigte Ausstellungs- instanz, wobei die Attribute des Änderungsdokuments durch die Ausstellungs- instanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen des Änderungsdoku- ments,

Hinzufügen des Änderungsdokuments in Form eines zusätzlichen Blocks entweder zu dem Block des zu ändernden Dokuments der Hauptstruktur oder zu einer Änderungsstruktur, wobei der zusätzliche Block dem Änderungsdokument zu- geordnet ist, einen Anfangsblock einer von einer änderungsdokumentenindividuel- len Nebenstruktur für die Dokumentenblockchain-Struktur umfassten zusätzlichen achten linearen Blockchain-Unterstruktur bildet, welche dem Änderungsdokuments zugeordnet ist, und einen Identifikator des Änderungsdokuments umfasst,

wobei die signierten Attribute des Änderungsdokuments über eine Mehrzahl von Blöcken der änderungsdokumentenindividuellen Nebenstruktur verteilt gespei- chert werden,

wobei das Hinzufügen des zusätzlichen Blocks zu der Hauptstruktur ein bidi- rektionales Verknüpfen des zusätzlichen Blocks mit dem Block des zu ändernden Dokuments der Hauptstruktur umfasst oder

wobei das Hinzufügen des zusätzlichen Blocks zu der Änderungsstruktur ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem letzten Block der Än- derungsstruktur umfasst.

13. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ein Ergänzen eines Dokuments der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen eines Ergänzungsdokuments umfasst, wobei das Hinzufügen des Ergänzungsdokuments umfasst:

Ausstellen des Ergänzungsdokuments durch eine berechtigte Ausstellungs- instanz, wobei die Attribute des Ergänzungsdokuments durch die Ausstellungs- instanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen des Ergänzungsdoku ments Hinzufügen des Ergänzungsdokuments in Form eines zusätzlichen Blocks entweder zu dem Block des zu ergänzenden Dokuments der Hauptstruktur oder einer Ergänzungsstruktur, wobei der zusätzliche Block dem Ergänzungsdokument zugeordnet ist, einen Anfangsblock einer von einer ergänzungsdokumentenindivi- duellen Nebenstruktur für die Dokumentenblockchain-Struktur umfassten zusätzli- chen neunten linearen Blockchain-Unterstruktur bildet, welche dem Ergänzungsdo- kuments zugeordnet ist, und einen Identifikator des Ergänzungsdokuments umfasst, wobei die signierten Attribute des Ergänzungsdokuments über eine Mehrzahl von Blöcken der Ergänzungsdokumentenindividuellen Nebenstruktur verteilt gespei- chert werden, und

wobei das Hinzufügen des zusätzlichen Blocks zu der Hauptstruktur ein bidi- rektionales Verknüpfen des zusätzlichen Blocks mit dem Block des zu ergänzenden Dokuments der Hauptstruktur umfasst oder

wobei das Hinzufügen des zusätzlichen Blocks zu der Ergänzungsstruktur ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem letzten Block der Er- gänzungsstruktur umfasst.

14. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ein Ergänzen eines der Dokumente um eine ergänzende Attributgruppen umfasst, wobei das Ergänzen umfasst:

Ausstellen der ergänzenden Attributgruppe durch eine berechtigte Ausstel- lungsinstanz, wobei die Attribute der ergänzenden Attributgruppe durch die Ausstel- lungsinstanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptogra- phischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen der ergänzenden Attribut- gruppe,

Hinzufügen der ergänzenden Attributgruppe in Form eines zusätzlichen Blocks der zweiten linearen Blockchain-Unterstruktur der dokumentenindividuellen Nebenstruktur des zu ergänzenden Dokuments, wobei der zusätzliche Block der ergänzenden Attributgruppe zugeordnet ist, einen Anfangsblock einer zehnten linea- ren Blockchain-Unterstruktur der entsprechenden dokumentenindividuellen Neben- Struktur bildet, und einen Identifikator der entsprechenden ergänzenden Attribut- gruppe umfasst,

wobei die signierten Attribute über ein oder mehrere Blöcke der zehnten line aren Blockchain-Unterstruktur verteilt gespeichert sind,

wobei das Hinzufügen des zusätzlichen Blocks ein bidirektionales Verknüp- fen des zusätzlichen Blocks der zweiten linearen Blockchain-Unterstruktur der do- kumentenindividuellen Nebenstruktur des zu ergänzenden Dokuments mit einem letzten Block der zweiten linearen Blockchain-Unterstruktur umfasst.

15. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ein Ändern eines Attributs eines Dokuments der persönlichen Dokumentenblock- chain-Struktur des ersten Nutzers umfasst, wobei das Ändern umfasst:

Ausstellen eines geänderten Attributs durch eine berechtigte Ausstellungs- instanz, wobei das geänderte Attribut durch die Ausstellungsinstanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert wird,

Zustimmen des ersten Nutzers zu dem Hinzufügen des Attributs,

Hinzufügen des Attributs in Form eines zusätzlichen Blocks der dem entspre- chenden Dokument zugeordneten dokumentenindividuellen Nebenstruktur, welcher das geänderte Attribut umfasst,

wobei das Hinzufügen ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem Block der dem entsprechenden Dokument zugeordneten doku- mentenindividuellen Nebenstruktur umfasst.

16. Verfahren nach einem der vorangehenden Ansprüche, wobei die Hauptstruk- tur einen Anfangsblock umfasst, welcher einem Anfangsdokument zugeordnet ist, dessen Ausstellung eine Voraussetzung für die Ausstellung der weiteren Dokumen- te der Mehrzahl von Dokumenten ist, welchen die nachfolgenden Blöcke der Haupt- struktur zugeordnet sind.

17. Verfahren nach Anspruch, wobei die Möglichkeit die persönliche Dokumen- tenblockchain-Struktur des ersten Nutzers zu erweitern mit einer Erweiterung der Hauptstruktur um einen Endblock beendet wird, welcher einem Enddokument zuge- ordnet ist, dessen Ausstellung eine Ausstellung weiterer Dokumente des ersten Nutzers für die Dokumentenblockchain-Struktur ausschließt.

18. Verfahren nach einem der vorangehenden Ansprüche, wobei die Blöcke der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers auf eine Mehrzahl von räumlich getrennten Datenbanken verteilt gespeichert sind.

19. Verfahren nach einem der vorangehenden Ansprüche, wobei eine Mehrzahl von Berechtigungsblockchain-Strukturen bereitgestellt wird, welche jeweils einem der Blöcke der Hauptstruktur zugeordnet sind.

20. Verfahren nach einem der vorangehenden Ansprüche, wobei eine Mehrzahl von Berechtigungsblockchain-Strukturen bereitgestellt wird, welche jeweils einem der Blöcke der Nebenstrukturen zugeordnet sind.

21. Verfahren nach einem der vorangehenden Ansprüche, wobei die Blöcke der Berechtigungsblockchain-Struktur jeweils bidirektional miteinander verknüpft sind.

22. Verfahren nach einem der vorangehenden Ansprüche, wobei der Anfangs- block der Berechtigungsblockchain-Struktur ein Zugriffs-Zertifikat (132) umfasst, welches ein Zugriffsrecht gewährt, wobei die weiteren Blöcke der Berechtigungs- blockchain-Struktur jeweils ein Nutzer-Zertifikat (134) des zweiten Nutzers umfasst, dem das entsprechende Zugriffsrecht des Zugriffs-Zertifikat auf den entsprechenden Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers gewährt wird.

23. Verfahren nach Anspruch 22, wobei das Zugriffs-Zertifikat ein oder mehrere der folgenden Zugriffs-Zertifikattypen umfasst:

• ein Lesezug riffs-Zertifikat, welches einem Nutzer einen lesenden Zugriff auf den Inhalt eines Blocks ermöglicht; • ein Indexzug riffs-Zertifikat, welches einem Nutzer Kenntnis der Existenz des Blocks in der persönlichen Dokumentenblockchain-Struktur des ersten Nut- zers und einen lesenden Zugriff auf Metadaten des Blocks ermöglicht, wobei die Metadaten Prütwerte der bidirektionalen Verbindungen des entsprechen- den Blocks mit Nachbarblöcken in der Dokumentenblockchain-Struktur um- fassen.

24. Verfahren nach einem der vorangehenden Ansprüche, wobei aufeinanderfol- gende bidirektional miteinander verknüpfte Blöcken beide jeweils einen Prüfwert umfassen, wobei der Prüfwert eines ersten der beiden Blöcke zumindest von den in dem zweiten der beiden Blöcke gespeicherten Daten abhängt und wobei der Prüf- wert des zweiten der beiden Blöcke zumindest von den in dem ersten der beiden Blöcke gespeicherten Daten abhängt.

25. Verfahren nach Anspruch 24, wobei auf eine Freigabe hin Metadaten (250) an den zweiten Nutzer gesendet werden, welche einen Speicherort des Blocks der der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers auf der Mehr- zahl von räumlich getrennten Datenbanken identifizieren.

26. Verfahren nach Anspruch 25, wobei das Verfahren ferner umfasst:

Bereitstellen von Metadaten, welche Identifikatoren und Speicheradressen der Blöcke der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers auf der Mehrzahl von räumlich getrennten Datenbanken umfassen,

auf eine Zustimmung des ersten Nutzers zu einem Hinzufügen eines zusätz- lichen Blocks zu der persönlichen Dokumentenblockchain-Struktur hin, Hinzufügen eines zusätzlichen Identifikators und einer Speicheradresse des zusätzlichen Blocks zu den Metadaten.

27. Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ferner ein Gewähren eines Zugriffs für einen weiteren zweiten Nutzer auf einen der Blöcke der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers um- fasst, wobei das Gewähren ein Hinzufügen eines zusätzlichen Blocks zu einer Be- rechtigungsblockchain-Struktur, welche dem entsprechenden Block der persönli- chen Dokumentenblockchain-Struktur des ersten Nutzers zugeordnet ist, wobei der zusätzliche Block einen Identifikator eines weiteren zweiten Nutzers umfasst und mit einem letzten Block der Berechtigungsblockchain-Struktur bidirektional verknüpft wird.

28. Verfahren nach Anspruch 27, wobei eine Liste möglicher zweiter Nutzer be- reitgestellt und der Identifikator des entsprechenden weiteren zweiten Nutzers aus der Liste ausgewählt wird.

29. Verfahren nach einem der vorangehenden Ansprüchen, wobei eine Mehrzahl von nichtlinearen persönlichen Dokumentenblockchain-Strukturen des ersten Nut- zers bereitgestellt werden, welche jeweils eine Hauptstruktur umfassen und über ein oder mehrere bidirektionale Verknüpfungen zwischen Blöcken der Hauptstruktur miteinander verknüpft sind.

30. Elektronisches Datenspeichersystem (122) zum Durchführen eines krypto- graphischen Verfahrens zur selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten (102), welche einem ersten Nutzer (120) zugeordnet sind, wobei ein oder mehrere der Attribute in einem Speicher (266, 286, 306) des elektronischen Datenspeichersystemen manipulationssicher gespeichert sind, wobei das Daten- speichersystem eine Kommunikationsschnittstelle (274, 294, 314) zum Kommuni- zieren über ein Netzwerk (320) umfasst, wobei der Speicher des Datenspeichersys- tems einen Block (268, 288, 308) einer nichtlinearen persönlichen Dokumenten- blockchain-Struktur (100) des ersten Nutzers umfasst, in welchem zumindest eines der Attribute gespeichert,

wobei die nichtlinearen persönlichen Dokumentenblockchain-Struktur dem ersten Nutzer zugeordnet ist und eine Mehrzahl von linearen Blockchain- Unterstrukturen (104, 108, 109, 110, 600) umfasst, wobei jede der linearen Block- chain-Unterstrukturen jeweils eine Mehrzahl von bidirektional miteinander verknüpf- ten Blöcken umfasst, wobei eine erste lineare Blockchain-Unterstruktur der Dokumentenblock- chain-Struktur eine Hauptstruktur (104) der Dokumentenblockchain-Struktur bildet, wobei Blöcke der Hauptstruktur jeweils einem individuellen Dokument der Mehrzahl von Dokumenten zugeordnet sind, einen Anfangsblock einer von einer dokumentenindividuellen Nebenstruktur (106) der Dokumentenblockchain-Struktur umfassten zweiten linearen Blockchain-Unterstruktur (108) bilden, welche dem ent- sprechenden Dokument zugeordnet ist, und einen Identifikator des entsprechenden Dokuments umfassen,

wobei jedes der Dokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Dokument zuge- ordneten dokumentenindividuellen Nebenstruktur verteilt gespeichert sind,

wobei das Datenspeichersystem ferner einen Prozessor (262, 282, 302) um- fasst und in dem Speicher ferner maschinenlesbare Instruktionen (264, 284, 304) gespeichert sind, wobei ein Ausführen der maschinenlesbaren Instruktionen durch den Prozessor das Datenspeichersystem zu Folgendem veranlasst:

Empfangen einer Zugriffsanfrage eines zweiten Nutzers (128) nach dem Block mit dem zumindest einen Attribut mittels der Kommunikationsschnittstelle über das Netzwerk von einem anfragenden Telekommunikationssystem (220) des zweiten Nutzers,

Empfang einer Bestätigung einer erfolgreichen Prüfung des Zugriffsrechts des zweiten Nutzers für den Zugriff auf den Block mit dem zumindest einen Attribut bestätigt, wobei die Bestätigung voraussetzt, dass der zweite Nutzer als ein zu- griffsberechtigter Nutzer von einer Berechtigungsblockchain-Struktur (130) für Zu- griffe auf den entsprechenden Block umfasst ist,

auf die Bestätigung hin, Senden des Blocks mit dem zumindest einen Attribut mittels der Kommunikationsschnittstelle über das Netzwerk an das anfragende Te- lekommunikationssystem des zweiten Nutzers.

31. Elektronisches Berechtigungsmanagementsystem (124) zum Durchführen eines kryptographischen Verfahrens zur selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten (102), welche einem ersten Nutzer (120) zugeord- net sind, wobei die Attribute in ein oder mehreren Speichern (266, 286, 306) von ein oder mehreren elektronischen Datenspeichersystemen (122) manipulationssicher gespeichert sind, wobei das Berechtigungsmanagementsystem eine Kommunikati- onsschnittstelle (258) zum Kommunizieren über ein Netzwerk (320) umfasst, wobei das Berechtigungsmanagementsystem einen Speicher (246) umfasst, in welchem eine Berechtigungsblockchain-Struktur (130) zur Kontrolle der Zugriffsrechte auf einen Block einer nichtlinearen persönlichen Dokumentenblockchain-Struktur (100) des ersten Nutzers mit dem zumindest einen Attribut gespeichert ist, wobei die Be- rechtigungsblockchain-Struktur einen Anfangsblock sowie ein oder mehrere weitere Blöcken umfasst, wobei die weiteren Blöcke jeweils einem weiteren Nutzer ein Zu- griffsrecht auf einen der Blöcke der Dokumentenblockchain-Struktur gewähren, wobei die nichtlinearen persönlichen Dokumentenblockchain-Struktur dem ersten Nutzer zugeordnet ist und eine Mehrzahl von linearen Blockchain- Unterstrukturen (104, 108, 109, 110, 600) umfasst, wobei jede der linearen Block- chain-Unterstrukturen jeweils eine Mehrzahl von bidirektional miteinander verknüpf- ten Blöcken umfasst,

wobei eine erste lineare Blockchain-Unterstruktur der Dokumentenblock- chain-Struktur eine Hauptstruktur (104) der Dokumentenblockchain-Struktur bildet, wobei Blöcke der Hauptstruktur jeweils einem individuellen Dokument der Mehrzahl von Dokumenten zugeordnet sind, einen Anfangsblock einer von einer dokumentenindividuellen Nebenstruktur (106) der Dokumentenblockchain-Struktur umfassten zweiten linearen Blockchain-Unterstruktur (108) bilden, welche dem ent- sprechenden Dokument zugeordnet ist, und einen Identifikator des entsprechenden Dokuments umfassen,

wobei jedes der Dokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Dokument zuge- ordneten dokumentenindividuellen Nebenstruktur verteilt gespeichert sind,

wobei das Berechtigungsmanagementsystem ferner einen Prozessor (242) umfasst und in dem Speicher ferner maschinenlesbare Instruktionen (244) gespei- chert sind, wobei ein Ausführen der maschinenlesbaren Instruktionen durch den Prozessor das Berechtigungsmanagementsystem zu Folgendem veranlasst:

Empfangen einer Zugriffsberechtigungsanfrage nach einem Zugriffsrecht ei- nes zweiten Nutzers auf den Block mit dem zumindest einen Attribut mittels der Kommunikationsschnittstelle über das Netzwerk von einem anfragenden Telekom- munikationssystem (220),

Prüfen, ob der zweite Nutzer als ein zugriffsberechtigter Nutzer von einer Be- rechtigungsblockchain-Struktur für Zugriffe auf den entsprechenden Block umfasst ist,

auf eine erfolgreiche Prüfung hin, Bestätigen der erfolgreichen Prüfung des Zugriffsrechts des zweiten Nutzers für den Zugriff auf den Block mit dem zumindest einen Attribut, und Senden der Bestätigung mittels der Kommunikationsschnittstelle über das Netzwerk an das anfragende Telekommunikationssystem.

32. Elektronische Datenverarbeitungssystem (330) zum Durchführen eines kryp- tographischen Verfahrens zur selektiven Zugriffsteuerung auf Attribute einer Mehr- zahl von Dokumenten (102), welche einem ersten Nutzer (120) zugeordnet sind, wobei die Attribute in ein oder mehreren Speichern (266, 286, 306) manipulationssi- eher gespeichert sind, wobei das elektronische Datenverarbeitungssystem ein oder mehrere elektronische Datenspeichersysteme (122) nach Anspruch 30 und ein elektronisches Berechtigungsmanagementsystem (124) nach Anspruch 31 umfasst.

Description:
Persönliche Dokumentenblockchain-Struktur

B e s c h r e i b u n g

Die Erfindung betrifft ein kryptographisches Verfahren, ein elektronisches Daten- speichersystem, ein elektronisches Berechtigungsmanagementsystem sowie ein elektronisches Datenverarbeitungssystem zum Durchführen eines kryptographi- schen Verfahrens zur selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten eines Nutzers, wobei die Attribute in ein oder mehreren Speichern manipulationssicher gespeichert sind.

Im Zuge der fortschreitenden Digitalisierung der Alltagswelt werden Dokumente, welche früher in Papierform verwendet wurden, wie etwa Tickets, zunehmend in digital codierter Form ausgestellt. Die Digitalisierung erstreckt sich dabei auch auf Ausweise-, Wert-, und Sicherheitsdokumente.

Beispielsweise werden digital codierte Dokumente, wie etwa Tickets, auf einem mo- bilen, tragbaren Telekommunikationssystem eines Nutzers gespeichert, etwa einem Smartphone, sodass der Nutzer diese bei Bedarf auf einem Display seines Tele- kommunikationssystems anzeigen und so vorzeigen kann.

Dieses lokale technische Speicherkonzept macht es jedoch notwendig, dass der Nutzer seine entsprechenden Dokumente stets mit sich führt bzw. zum Vorzeigen und Nutzen derselben persönlich mit seinem Telekommunikationssystem anwesend sein muss. Ferner besteht die Gefahr, dass bei einem Verlust des entsprechenden Telekommunikationssystems die darauf gespeicherten Daten in die Flände unbe- rechtigter Dritter fallen können.

Es fehlt an einem digitalen Werkzeug, mit welchem ein Nutzer digital codierte Do- kumente in manipulationssicher Weise bereitstellen und Zugriffe auf diese managen kann. Dies gilt sowohl für hoheitliche Dokumente beispielsweise gegenüber Behör- den und Ämter, als auch für private Dokumente beispielsweise gegenüber Behör- den, Ämtern, Ärzten, Versicherungen, etc.

Ein manipulationssicheres Speichern und Bereitstellen digital codierter Dokument, wobei die entsprechenden Dokumente effektiv gegen mögliche Veränderungen oder gar gezielten Manipulationen geschützt werden und beschränkte Zugriffrechte auf diese effektiv gemanagt werden können, stellen technische Herausforderungen dar.

Der Erfindung liegt die Aufgabe zugrunde, ein zum manipulationssicheren Bereit- steilen zumindest eines Attributs eines Dokuments einer Mehrzahl von Dokumenten eines Nutzers zu schaffen. Die der Erfindung zugrundeliegende Aufgabe wird jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.

Ausführungsformen umfassen ein kryptographisches Verfahren zur Durchführung einer selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten, welche einem ersten Nutzer zugeordnet sind, und wobei die Attribute in ein oder mehreren Speichern manipulationssicher gespeicherte sind.

Das kryptographische Verfahren umfasst:

Bereitstellen einer nichtlinearen persönlichen Dokumentenblockchain- Struktur, welche dem ersten Nutzer zugeordnet ist und eine Mehrzahl von linearen Blockchain-Unterstrukturen umfasst, wobei jede der linearen Blockchain- Unterstrukturen jeweils eine Mehrzahl von bidirektional miteinander verknüpften Blöcken umfasst,

wobei eine erste lineare Blockchain-Unterstruktur der Dokumentenblock- chain-Struktur eine Hauptstruktur der Dokumentenblockchain-Struktur bildet,

wobei Blöcke der Hauptstruktur jeweils einem individuellen Dokument der Mehrzahl von Dokumenten zugeordnet sind, einen Anfangsblock einer von einer dokumentenindividuellen Nebenstruktur der Dokumentenblockchain-Struktur um- fassten zweiten linearen Blockchain-Unterstruktur bilden, welche dem entsprechen- den Dokument zugeordnet ist, und einen Identifikator des entsprechenden Doku- ments umfassen,

wobei jedes der Dokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Dokument zuge- ordneten dokumentenindividuellen Nebenstruktur verteilt gespeichert sind.

Ferner umfasst das Verfahren:

Bereitstellen einer Berechtigungsblockchain-Struktur zur Kontrolle der Zu- griffsrechte auf die Blöcke der Dokumentenblockchain-Struktur, wobei die Berechti- gungsblockchain-Struktur einen Anfangsblock sowie ein oder mehrere weitere Blö- cken umfasst, wobei die weiteren Blöcke jeweils einem weiteren Nutzer ein Zugriffs- recht auf einen der Blöcke der Dokumentenblockchain-Struktur gewähren,

auf eine Zugriffsberechtigungsanfrage nach einem Zugriffsrecht eines zwei- ten Nutzer auf einen der Blöcke der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers mit ein oder mehreren Attributen eines der Dokumente hin, Prü- fen von Zugriffsrechten des zweiten Nutzers für einen Zugriff auf den entsprechen- den Block, wobei ein Zugriff auf den entsprechenden Block nur dann gewährt wird, wenn der zweite Nutzer als ein zugriffsberechtigter Nutzer von der Berechtigungs- blockchain-Struktur umfasst ist,

auf eine erfolgreiche Prüfung hin, Bestätigen der erfolgreichen Prüfung für den zweiten Nutzer,

auf eine Zugriffsanfrage des zweiten Nutzers unter Bereitstellen der Bestäti- gung der erfolgreichen Prüfung hin, Gewähren des Zugriffs auf den entsprechenden Block für den zweiten Nutzer.

Ausführungsformen können den Vorteil haben, dass eine Mehrzahl von persönli- chen Dokumente eines Nutzers in einer nichtlinearen Dokumentenblockchain- Struktur gespeichert werden können. Die Nichtlinearität erlaubt es individuelle Do- kumenten jeweils eine dokumentenindividuellen Nebenstruktur zuzuordnen, welche eine linearen Blockchain-Unterstrukturen mit einer Mehrzahl von bidirektional mitei- nander verknüpften Blöcken umfasst. Über die Blöcke der Nebenstruktur verteilt sind Attribute des jeweiligen Dokuments gespeichert. Durch die bidirektionale Ver- knüpfung kann ein effektiver der gespeicherten Attribute gegen Manipulationen er- möglicht werden.

Diese Nebenstrukturen werden über eine Hauptstruktur miteinander verknüpft, bei spielsweise einer linearen Blockchain-Unterstrukturen mit einer Mehrzahl von bidi- rektional miteinander verknüpften Blöcken, wobei jeder der Blöcke einem der Do- kument zugeordnet ist. Durch die Hauptstruktur werden die individuellen Dokumen- te, deren Attribute manipulationssicher in den entsprechenden dokumentenindividu- ellen Nebenstruktur gespeichert sind, ebenfalls in manipulationssicherer Weise mit- einander verknüpft. Beispielsweise umfasst die Hauptstruktur in chronologischer Reihenfolge der Aus- stellung eine Mehrzahl von persönlichen Dokumente eines Nutzers. Nach Ausfüh- rungsformen werden alle Dokumente eines Nutzers, welche im Laufe seines Lebens erstellt werden, der persönlichen Dokumentenblockchain-Struktur hinzugefügt. Nach Ausführungsformen werden alle Dokumente eines Nutzers, welche im Laufe seines Lebens erstellt werden und ein oder mehrere vordefinierte Kriterien erfüllen, der persönlichen Dokumentenblockchain-Struktur hinzugefügt. Beispielsweise werden alle Dokumente, welche von einer Instanz einer vordefinierten Gruppe von Instan- zen erzeugt werden, der persönlichen Dokumentenblockchain-Struktur hinzugefügt. Beispielsweise werden alle offiziellen bzw. hoheitlichen Dokumente, welche von einer Behörde oder einem Amt ausgestellt werden, der persönlichen Dokumenten- blockchain-Struktur hinzugefügt.

Dabei kann die Nichtlinearität, d.h. die Verwendung von Nebenstrukturen, den Vor- teil haben, dass den einzelnen Dokumenten nicht nur ein einziger Block, sondern vielmehr jeweils eine Mehrzahl von Blöcken zugeordnet sein kann. Diese Blöcke können jeweils ein oder mehrere Attribute des entsprechenden Dokuments umfas- sen. Durch die blockweise Speicherung wird ein selektives Bereitstellen ein oder mehrere Attribute auf Basis einer Auswahl von ein oder mehreren der Blöcke er- möglicht. Die Bereitstellung der Attribute kann somit feingranularer erfolgen. Insbe- sondere können Attribute von unterschiedlichen Dokumente bereitgestellt werden, ohne dass dies zugleich einen Zugriff auf alle Attribute der jeweiligen Dokumente erfordert.

Ausführungsformen können ferner den Vorteil haben, dass über die Berechtigungs- blockchain-Struktur die Zugriffsrechte zum Zugriff auf die einzelnen Blöcke der Do- kumentenblockchain-Struktur verwaltet werden können. Weitere Nutzer können Blöcke der Dokumentenblockchain-Struktur nur unter der Voraussetzung einsehen, dass sie als zugriffsberechtigte Nutzer von der Berechtigungsblockchain-Struktur umfasst sind. Nach Ausführungsformen kontrolliert der Nutzer, welchem die Doku- mentenblockchain-Struktur zugeordnet ist, welche Nutzer in die Berechtigungs- blockchain-Struktur aufgenommen werden. Beispielsweise hat der der Nutzer, wel- chem die Dokumentenblockchain-Struktur zugeordnet ist, das ausschließliche Recht zum Hinzufügen zusätzlicher Nutzer zu der Berechtigungsblockchain-Struktur.

Möchte ein weiterer Nutzer, wie beispielsweise ein Dienstanbieter, Zugriff auf ein oder mehrere Attribute des Nutzers der persönlichen Dokumentenblockchain- Struktur erlangen, so wird zunächst geprüft, ob der Nutzers der persönlichen Doku- mentenblockchain-Struktur für den entsprechenden weiteren Nutzer Zugriffsrechte über die Berechtigungsblockchain-Struktur freigegeben hat. Nur wenn dies der Fall ist, wird dem entsprechenden weiteren Nutzer selektiv Zugriff auf einzelne Blöcke der Dokumentenblockchain-Struktur gewährt.

Ausführungsformen können somit den Vorteil haben, dass der Nutzer volle Kontrolle über seine Dokumente, deren Daten bzw. deren Attribute und ihre Verwendung er- hält. Beispielsweise kann dem Nutzer somit ermöglicht werden, sämtliche Interakti- onen mit Behörden oder Ämter, für welche die Vorlage eines Dokuments notwendig ist auf digitalem Wege auszuführen, d.h. online über ein Netzwerk, wie etwa das Internet. Dadurch können Behördengänge prinzipiell überflüssig werden. Des Weite- ren kann die staatliche Verwaltung, welche Dokumente des Nutzers zum Gegen- stand hat bzw. diese verwendet wesentlich effizienter gestaltetet werden.

Aus dem Stand der Technik sind lineare Blockchain-Strukturen, d.h. Blockketten- Strukturen, zur Sicherung von Daten bekannt. Bei diesen Blockchain-Strukturen handelt es sich um unidirektional verketteten Blockchain-Strukturen. Beispielsweise werden entsprechende Blockchain-Strukturen verwendet, um Transaktionen von Kryptowährungen, wie etwa dem Bitcoin-Zahlungssystem, zu protokollieren.

Eine Blockchain-Struktur stellt dabei eine erweiterbare Liste von Datensätzen bereit, welche in Blöcken angeordnet sind. Die Integrität der einzelnen Blöcke wird im Stand der Technik durch eine unidirektionale Verkettung unter Verwendung krypto- grafischer Prüfwerte der einzelnen Blöcke in Form von Hashwerten gesichert.

Dadurch, dass jeder Block eine kryptografische Prüfwert des vorangehenden Blocks inklusive des in dem vorangehenden Block gespeicherten kryptografischen Prüf- werts umfasst, ergibt sich eine Verkettung der Blöcke. Dabei umfasst jeder Block einen Prüfwert, welcher auf den Inhalten aller vorangehenden Blöcke beruht. Somit ist es schwer, eine solche Blockchain nachträglich zu manipulieren, da hierzu nicht nur ein einzelner Block manipuliert werden müsste, sondern alle nachfolgenden Blöcke, da der Prüfwert jedes nachfolgenden Blocks unter anderem auf dem zu manipulierenden Block beruht. Wird der zu manipulierende Block tatsächlich mani- puliert, so ändert sich sein Prüfwert. Dieser geänderte Prüfwert passt nicht mehr zu den Prüfwerten der nachfolgenden Blöcke, wodurch die Manipulation erkennbar wird und bei einer Prüfung mittels der Prüfwerte auffällt.

Bekannte Blockchain-Strukturen implementieren allerdings lediglich eine unidirekti- onale Verkettung und damit Absicherung der Daten, da bei der Verkettung jeweils nur Dateninhalte vorangehender Blöcke berücksichtigt werden. So lässt sich an- hand der Verkettung prüfen, ob ein vorangehender Block einer vorgelegten Block- chain-Struktur manipuliert wurde. Es lässt sich jedoch nicht prüfen, ob die vorgeleg- ten Blockchain-Struktur vollständig ist. Insbesondere lässt sich nicht prüfen, ob möglicherweise ein Teil der Blockchain-Struktur abgeschnitten wurde. Ferner lässt sich nicht prüfen, ob der letzte Block manipuliert wurde.

Gemäß bekannten Blockchains haben einzelne Datenblöcke der Blockchain auf- grund der eindimensionalen, linearen Ketten Struktur entweder keinen (letzter Da- tenblock der Blockchain), einen (erster Datenblock der Blockchain) oder zwei be- nachbarte Datenblöcke (mittlerer Datenblock der Blockchain). Es ist strukturell aber ausgeschlossen, dass einer der Datenblöcke mehr als zwei benachbarte Datenblö- cke haben kann.

Unter einer Dokumentenblockchain-Struktur hierbei eine erweiterbare Liste von Da- tensätzen verstanden, welche in Blöcken angeordnet sind und Daten aus Dokumen- ten umfassen. Eine lineare Blockchain-Struktur ist eine lineare logische Anordnung entsprechender Blöcke, wobei nur benachbarte Blöcke miteinander verknüpft sind. Somit weist ein Block einer lineare Blockchain-Struktur maximal zwei Verknüpfun- gen mit zwei benachbarten Blöcken auf. Eine nichtlineare Blockchain-Struktur ist nichtlineare logische Anordnung entsprechender Blöcke, wobei nur benachbarte Blöcke miteinander verknüpft sind. Für einen Block einer nichtlineare Blockchain- Struktur besteht keine allgemeine Höchstgrenze für die mögliche Anzahl an Ver- knüpfungen. Insbesondere kann ein Block einer nichtlineare Blockchain-Struktur beispielsweise drei Verknüpfungen mit drei benachbarten Blöcken aufweisen. Eine Blockchain-Unterstruktur ist ein Teilabschnitt einer Blockchain-Struktur. Eine Haupt- struktur ist eine lineare Blockchain-Unterstruktur, welche sich von einem Anfangs- block, d.h. ersten Block, aus erstreckt und von welcher Nebenstrukturen, z.B. Er- gänzungs- oder Änderungsstrukturen mit Daten von Ergänzungs- oder Änderungs- dokumenten, abzweigen. Unter einer Dokumentenblockchain-Struktur hierbei eine erweiterbare Liste von Datensätzen verstanden, welche in Blöcken angeordnet sind und Daten zu Zugriffsrechten umfassen.

Die Dokumente, welche in der Dokumentenblockchain-Struktur gespeichert werden, sind dem ersten Nutzer zugeordnet und stellen mithin Daten bereit, welche dem ersten Nutzer zugeordnet sind und/oder sich auf diesen beziehen. Diese Daten werden hier auch als Attribute, d.h. einem Nutzer zugeordnete Daten, bezeichnet. Attribute können beispielsweise Daten eines Ausweis-, Wert- oder Sicherheitsdo- kuments umfassen, wie etwa eines Personalausweises, eines Reisepasses, einer Krankenversicherungskarte, einer Kreditkarte etc.

Ausführungsformen können den Vorteil haben, dass sie es ermöglichen, eine bidi rektional verkettete Blockchain-Struktur bereitzustellen, deren Blöcke mittels block- abhängiger bidirektionaler Verkettungsfunktionen miteinander verkettet sind. Die Verkettung ermöglicht dabei eine bidirektionale Prüfung der Blockchain-Struktur auf Echtheit bzw. Manipulation. Dabei kann die Blockchain-Struktur nicht nur in einer Richtung, sondern in zwei Richtung geprüft werden.

Unter einer Blockchain-Struktur wird eine Datenstruktur verstanden, welche einen Blockchain bildet. Unter einer "Blockchain" wird eine geordnete Datenstruktur ver- standen, welche eine Mehrzahl von miteinander verketteten Datenblöcken umfasst. Insbesondere wird unter einer Blockchain eine Datenbank verstanden, deren Integ- rität, d.h. Sicherung gegen nachträgliche Manipulation, durch Speicherung eines Prüfwerts, wie etwa eines Hashwertes, des vorangehenden Datensatzes in dem jeweils nachfolgenden Datensatz gesichert ist. Der Prüfwert ist dabei dem Inhalt des vorangehenden Datensatzes zugeordnet und charakterisiert diesen eindeutig. Wird der Inhalt des vorangehenden Datensatzes verändert, so erfüllt dieser nicht mehr das Prüfmerkmal, woraus die Veränderung ersichtlich wird. Im Falle von bekannten Blockchain-Strukturen wird etwa jeder Block der Blockchain eindeutig durch einen Hash-Wert identifiziert und referenziert einen Vorgängerblock in der Blockchain, dessen Hash-Wert er umfasst.

Für Beispiele einer Blockchain vergleiche

https://en.wikipedia.org/wiki/Block_chain_(database) und„Mastering Bitcoin“, Chap- ter 7, The Blockchain, Seite 161 ff. Das Konzept der Blockchains wurde beispiels- weise im Jahre 2008 in einem White Paper unter dem Pseudonym Satoshi Nakamo- to im Kontext der Kryptowährung Bitcoin beschrieben („Bitcoin: Peer-to-Peer Electronic Cash System“ (https://bitcoin.org/bitcoin.pdf)). In diesem Ausführungsbei- spiel enthält jeder Block der Blockchain in seinem Header den Hash des gesamten vorherigen Blockheaders. Somit wird die Reihenfolge der Blöcke eindeutig festge- legt und es entsteht eine Kettenstruktur. Durch die so implementierte Verkettung der einzelnen Blöcke miteinander wird erreicht, dass ein nachträgliches Modifizieren vorangegangener Blöcke nicht möglich ist, ohne auch alle nachfolgenden Blöcke ebenfalls zu modifizieren.

Ein Prüfwert für Daten ist ein den entsprechenden Daten zugeordneter Wert, wel- cher die Daten derart eindeutig charakterisiert, dass die Integrität der Daten anhand des Prüfmerkwerts überprüft werden kann. Ein Prüfwert in Form einer Prüfsumme stellt beispielsweise einen Wert bereit, welcher aus den Ausgangsdaten berechnet wurde und dazu konfiguriert ist, zumindest einen Bitfehler in den Daten zu erken- nen. Je nachdem wie komplex die Berechnungsvorschrift für die Prüfsumme ist, können mehr als ein Fehler erkannt oder auch korrigiert werden. Bekannte Prüfwer- te bzw. Prüfsummen können beispielsweise auf einem Aussummieren von daten- werten, einer Berechnung einer Quersumme, eines Paritätsbit, eines gewichteten Mittelwerts der Daten oder auf komplexeren Berechnungsverfahren beruhen, wie etwa einer zyklischen Redundanzprüfung oder der Verwendung einer Hashfunktion.

Ein Prüfwert kann für einen oder mehrere Blöcke einer Blockchain-Struktur berech- net werden. Ein solcher Prüfwert wird im Folgenden auch als blockabhängiger Prüfwert bezeichnet. Beispielsweise wird der Prüfwert aus den in einem Block ge- speicherten bzw. zu speichernden Daten berechnet. Beispielsweise wird jeweils ein Prüfwert für zwei aufeinanderfolgende Blöcke der Blockchain-Struktur berechnet und aus den beiden resultierenden Prüfwerten ein gemeinsamer kombinierter Prüf- wert. Beispielsweise werden die in den beiden aufeinanderfolgenden Blöcken ge- speicherten bzw. zu speichernden Daten miteinander kombiniert und aus den kom- binierten Daten ein gemeinsamer Prüfwert berechnet. Beispielsweise werden die Daten oder Prüfwerte unter Verwendung einer arithmetischen Verknüpfung mitei- nander kombiniert, wie Addition, Subtraktion, Multiplikation und/oder Division han- deln.

Nach Ausführungsformen umfasst die Bestätigung der erfolgreichen Prüfung für den zweiten Nutzer einen ersten Berechtigungstoken, welches an den zweiten Nutzer gesendet wird und dem zweiten Nutzer den Zugriff auf den Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers gewährt.

Ausführungsformen können den Vorteil haben, dass der zweite Nutzer mit dem Be- rechtigungstoken seine Zugriffsberechtigung zu einem Zugriff auf den Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers nachweisen kann.

Nach Ausführungsformen ist für jeden Block der persönlichen Dokumentenblock- chain-Struktur des ersten Nutzers jeweils eine individuelle Berechtigungsblockchain- Struktur bereitgestellt. Nach Ausführungsformen ist für jeden Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers jeweils eine individuelle Be- rechtigungsprüfung für einen Zugriff auf den entsprechenden Block notwendig.

Nach Ausführungsformen ist für jeden Block der persönlichen Dokumentenblock- chain-Struktur des ersten Nutzers jeweils eine individuelle Bestätigung einer erfolg- reichen Berechtigungsprüfung notwendig. Ausführungsformen können den Vorteil haben, dass sie eine feingranulare selektive Zugriffsteuerung auf individuelle Attri- bute einer Mehrzahl von Dokumenten eines Nutzers ermöglichen.

Nach Ausführungsformen wird an den zweiten Nutzer eine Mehrzahl von Berechti- gungstoken gesendet, welche das erste Berechtigungstoken umfassen und dem zweiten Nutzer Zugriff auf eine Mehrzahl von Blöcken der persönlichen Dokumen- tenblockchain-Struktur des ersten Nutzers erlauben, wobei die Mehrzahl von Blö- cken mehrere Attribute von mehreren Dokumenten des ersten Nutzers umfassen.

Ausführungsformen können den Vorteil haben, dass ein Zugriff auf eine Mehrzahl von Attributen desselben oder verschiedener Dokumente gewährt werden kann. Diese Attribute werden von einer Mehrzahl von Blöcken der persönlichen Dokumen- tenblockchain-Struktur des ersten Nutzers manipulationssicher gespeichert. Für je- den der Blöcke ist jeweils eine individuelle Berechtigungsprüfung sowie ein indivi duelles Berechtigungstoken zur Bestätigung einer erfolgreichen Prüfung des Zu- griffsrechts für den entsprechenden Block notwendig. Somit kann sichergestellt werden, dass ein zweiter Nutzer nur auf diejenigen Attribute Zugriff erhält, für die er eine explizite Berechtigung durch den ersten Nutzer erhalten hat. Auf die weiteren Attribute, für welche er nicht explizit berechtigt wurde, erhält der zweite Nutzer kei- nen Zugriff.

Nach Ausführungsformen ist in den Blöcken der zweiten linearen Blockchain- Unterstruktur der dokumentenindividuellen Nebenstruktur des entsprechenden Do- kuments jeweils genau ein Attribut gespeichert. Ausführungsformen können den Vorteil haben, dass sie eine feingranulare selektive Zugriffsteuerung auf individuelle Attribute ermöglichen, unter Verwendung individuellen manipulationssicheren Spei- cherung.

Nach Ausführungsformen umfasst zumindest eines der Dokumente eine Mehrzahl von Attributgruppen, wobei Blöcke der zweiten linearen Blockchain-Unterstruktur der dokumenten- individuellen Nebenstruktur des entsprechenden Dokuments jeweils einer der Attri butgruppen zugeordnet sind, einen Anfangsblock einer dritten linearen Blockchain- Unterstruktur der entsprechenden dokumentenindividuellen Nebenstruktur bilden, und einen Identifikator der entsprechenden Attributgruppe umfassen,

wobei den Attributgruppen des Dokuments jeweils ein oder mehrere der At- tribute des entsprechenden Dokuments zugeordnet sind, welche über ein oder meh- rere Blöcke der dritten linearen Blockchain-Unterstruktur verteilt gespeichert sind.

Ausführungsformen können den Vorteil haben, dass für Attributgruppen jeweils indi viduelle lineare Blockchain-Unterstrukturen verwendet werden. Für eine vollständige Prüfung der Integrität eines Attributs einer solchen Attributgruppe ist es mithin aus- reichend, die Integrität der ersten linearen Blockchain-Unterstruktur, d.h. der Haupt- struktur der Dokumentenblockchain-Struktur, der zweiten linearen Blockchain- Unterstruktur der entsprechenden dokumentenindividuellen Nebenstruktur und der entsprechenden attributsgruppenindividuellen dritten linearen Blockchain- Unterstruktur der entsprechenden dokumentenindividuellen Nebenstruktur zu prü- fen. Die Hauptstruktur umfasst Anfangsblöcke für jedes Dokument des ersten Nut- zers. Ergibt sich aus einer Prüfung der bidirektionalen Verknüpfungen der Blöcke der Hauptstruktur, dass diese valide ist, so folgt daraus, dass es sich bei dem Do- kument, dessen Attribut geprüft werden soll, um ein tatsächlich ausgestelltes Do- kument handelt. Weiter umfasst die zweite linearen Blockchain-Unterstruktur An- fangsblöcke für jede Attributgruppe des entsprechenden Dokuments. Ergibt sich aus einer Prüfung der bidirektionalen Verknüpfungen der Blöcke der zweiten linearen Blockchain-Unterstruktur, dass diese valide ist, so folgt daraus, dass die Attribut- gruppe, deren Attribut geprüft werden soll, im Falle des entsprechenden Dokuments tatsächlich existiert, bzw. von diesem tatsächlich umfasst ist. Schließlich umfasst die dritte lineare Blockchain-Unterstruktur Blöcke für alle Attribute der entsprechenden Attributgruppe, von der ein Attribut geprüft werden soll. Einer dieser Blöcke umfasst dabei das zu prüfende Attribut. Ergibt sich aus einer Prüfung der bidirektionalen Verknüpfungen der Blöcke der dritten linearen Blockchain-Unterstruktur, dass diese valide ist, so folgt daraus, dass alle Attribute und damit auch das zu prüfende Attri- but, auf welches der zweite Nutzer ein Zugriffrecht besitzt korrekt ist.

Wie man an der zuvor beschrieben Prüfung sehen kann, müssen für eine vollstän- dige Validitäts- bzw. Integritätsprüfung eines Attributs nicht alle Blöcke bzw. Block- chain-Unterstruktur der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers geprüft werden. Vielmehr reicht es, wenn eine begrenzte Anzahl an Blö cken einer begrenzten Anzahl an linearen Blockchain-Unterstrukturen geprüft wer- den. Beispielsweise ist es ausreichend, wenn lediglich drei lineare Blockchain- Unterstrukturen geprüft werden. Sind die Attribute nicht in Attributgruppen mit indivi- duellen Blockchain-Unterstrukturen unterteilt, sondern direkt in den Blöcken der zweiten Blockchain-Unterstruktur gespeichert, so reicht sogar die Prüfung zweier drei lineare Blockchain-Unterstrukturen, nämlich der Hauptstruktur und der zweiten linearen Blockchain-Unterstrukturen.

Die zuvor beschriebene Verwendung einer nichtlinearen persönlichen Dokumenten- blockchain-Struktur mit einer Mehrzahl von linearen Blockchain-Unterstrukturen kann somit eine Verringerung des für eine vollständige Validitäts- bzw. Integritäts prüfung eines Attributs notwendigen Rechen- und damit Zeitaufwand ermöglichen. Im Falle einer Verwendung einer einzigen linearen Blockchain-Struktur, welche denselben Grad an Feingranularität erreichen soll, d.h. in welcher beispielsweise jedes Attribut jeweils in einem individuellen Block gespeichert ist, müssten für eine vollständige Validitäts- bzw. Integritätsprüfung eines Attributs alle Blöcke der ent- sprechenden Dokumentenblockchain-Struktur einbezogen werden. Gegenüber ei- ner solchen feingranularen linearer Blockchain-Struktur ermöglicht eine nichtlineare Blockchain-Struktur eine deutliche Verkürzung der Prüfungszeit sowie des damit verbundenen Aufwands.

Nach Ausführungsformen werden einem zweiten Nutzer mit Zugriffsrecht auf eines der Attribute die Prüfwerte aller Blöcke bereitgestellt, welche für eine Validitäts- bzw. Integritätsprüfung des entsprechenden Attributs notwendig sind. Nach Ausführungs- formen ist es beispielsweise ausreichend Prüfung der individuellen linearen Block- chain-Unterstrukturen jeweils eine Prüfung bis zu einem bestimmten Block der ent- sprechenden Blockchain-Unterstruktur notwendig, z.B. bis zu einem dem Dokument zugeordneten Block der Hauptstruktur, bis zu einem der Attributsgruppe zugeordne- ten Block der zweiten Blockchain-Unterstruktur und/oder bis zu einem das zu prü- fende Attribut umfassenden Block der dritten Blockchain-Unterstruktur. Nach Aus- führungsformen ist es beispielsweise ausreichend Prüfung der individuellen linearen Blockchain-Unterstrukturen jeweils eine Prüfung aller Blöcke der entsprechenden individuellen linearen Blockchain-Unterstrukturen notwendig, z.B. erste und zweite oder erste, zweite und dritte individuelle lineare Blockchain-Unterstruktur.

Nach Ausführungsformen sind die individuellen Attributgruppen eines Dokuments beispielweise jeweils einer individuellen Seite des entsprechenden Dokuments bzw. des papierbasierten Äquivalents des entsprechenden digital codierten Dokuments zugeordnet. Nach Ausführungsformen sind die

Nach Ausführungsformen ist in den Blöcken der dritten linearen Blockchain- Unterstrukturen der dokumentenindividuellen Nebenstruktur des entsprechenden Dokuments jeweils genau ein Attribut gespeichert. Ausführungsformen können den Vorteil haben, dass sie eine feingranulare, attributindividuelle Zugriffsteuerung so- wie manipulationssichere Speicherung ermöglichen.

Nach Ausführungsformen sind zumindest einem der Dokumente ein oder mehrere Ergänzungsdokumente zugeordnet, welche das entsprechende Dokument ergän- zen.

Eine vierte lineare Blockchain-Unterstruktur der persönlichen Dokumentenblock- chain-Struktur des ersten Nutzers bildet eine dokumentenindividuelle Ergänzungs- Struktur des entsprechenden Dokuments, wobei ein erster Block der vierten linearen Blockchain-Unterstruktur mit dem Block der Hauptstruktur, welcher dem entspre- chenden Dokument zugeordnet ist, bidirektional verknüpft ist. Ein oder mehrere der Blöcke der Ergänzungsstruktur sind jeweils einem individuel len Ergänzungsdokument der ein oder mehrere Ergänzungsdokumente zugeordnet, bilden einen Anfangsblock einer von einer ergänzungsdokumentenindividuellen Ne- benstruktur umfassten fünften linearen Blockchain-Unterstruktur, welche dem ent- sprechenden Ergänzungsdokument zugeordnet ist, und umfassen einen Identifika- tor des entsprechenden Ergänzungsdokuments.

Jedes der Ergänzungsdokumente umfasst jeweils eine Mehrzahl von Attributen, welche über eine Mehrzahl von Blöcken der dem entsprechenden Ergänzungsdo- kument zugeordneten ergänzungsdokumentenindividuellen Nebenstruktur verteilt gespeichert sind.

Ausführungsformen können den Vorteil haben, dass sie eine Ergänzung eines be- stehenden Dokuments ermöglicht. Bei einer solchen Ergänzung kann es sich bei spielsweise um eine Anlage, wie etwa eine Anklage zu einem Vertrag, handeln. Ferner kann es sich bei einer solchen Anlage beispielsweise um ein Visum als An- lage zu einem Reisepass handeln. Zudem können Verlängerungen von Dokumen- ten beispielsweise in Form von Ergänzungsdokumenten in der persönlichen Doku- mentenblockchain-Struktur des ersten Nutzers implementiert werden.

Ausführungsformen können ferner den Vorteil haben, dass bei einer Validitäts- bzw. Integritätsprüfung eines Attributs des Ergänzungsdokuments keine vollständige Prü- fung aller Attribute des ergänzten Dokuments notwendig sind. Vielmehr ist im Hin blick auf das ergänzte Dokument im Allgemeinen nur eine Prüfung der Existenz des ergänzten Dokuments über die Flauptstruktur sowie eine Prüfung der Verknüpfung der dokumentenindividuellen Ergänzungsstruktur mit der Flauptstruktur notwendig. Ergänzt wird die Prüfung nach Ausführungsformen durch eine Prüfung der für die Validitäts- bzw. Integritätsprüfung des entsprechenden Attributs notwendigen Teile der dokumentenindividuellen Ergänzungsstruktur. Die Prüfung der dokumentenindi- viduellen Ergänzungsstruktur erfolgt beispielsweise analog zu der zuvor beschrie- benen Prüfung einer dokumentenindividuelle Nebenstruktur. Nach Ausführungsformen sind zumindest einem der Dokumente ein oder mehrere Änderungsdokumente zugeordnet, welche Änderungen des entsprechenden Doku- ments umfassen.

Eine sechste lineare Blockchain-Unterstruktur der persönlichen Dokumentenblock- chain-Struktur des ersten Nutzers bildet eine dokumentenindividuelle Änderungs- Struktur des entsprechenden Dokuments, wobei ein erster Block der sechsten linea- ren Blockchain-Unterstruktur mit dem Block der Hauptstruktur, welcher dem ent- sprechenden Dokument zugeordnet ist, bidirektional verknüpft ist.

Ein oder mehrere der Blöcke der Änderungsstruktur sind jeweils einem individuellen Änderungsdokument der ein oder mehrere Änderungsdokumente zugeordnet, bil den einen Anfangsblock einer von einer änderungsdokumentenindividuellen Neben- struktur umfassten siebten linearen Blockchain-Unterstruktur, welche dem entspre- chenden Änderungsdokument zugeordnet ist, und umfassen einen Identifikator des entsprechenden Änderungsdokuments.

Jedes der Änderungsdokumente umfasst jeweils eine Mehrzahl von Attributen, wel- che über eine Mehrzahl von Blöcken der dem entsprechenden Änderungsdokument zugeordneten änderungsdokumentenindividuellen Nebenstruktur verteilt gespei- chert sind.

Ausführungsformen können den Vorteil haben, dass sie eine Änderung eines be- stehenden Dokuments ermöglicht, ohne dass das bestehende Dokument selbst o- der Teile davon gelöscht werden. Nach Ausführungsformen wird keine Möglichkeit bereitgestellt bestehende Blöcke zu löschen. Somit stellt die persönliche Dokumen- tenblockchain-Struktur des ersten Nutzers nicht nur eine Historie der für diesen Nut- zer ausgestellten Dokumente, sondern auch eine Historie aller Änderungen und/oder Ergänzungen der entsprechenden Dokumente bereit.

Bei einer Änderung kann es sich beispielsweise um eine Adressänderung oder eine Namenänderung eines Ausweisdokuments oder eine Revozierung bzw. eine Aber- kennung oder einen Entzug eines ausgestellten Dokuments handeln. Beispielswei- se kann es sich um eine Kündigung oder Vertragsauflösung oder Stornierung han- deln. Im Falle eines Tickets, kann es sich beispielsweise um eine Buchungsände- rung handeln.

Ausführungsformen können ferner den Vorteil haben, dass bei einer Validitäts- bzw. Integritätsprüfung eines Attributs des Änderungsdokuments keine vollständige Prü- fung aller Attribute des geänderten Dokuments notwendig sind. Vielmehr ist im Hin- blick auf das geänderte Dokument im Allgemeinen nur eine Prüfung der Existenz des geänderten Dokuments über die Hauptstruktur sowie eine Prüfung der Verknüp- fung der dokumentenindividuellen Änderungsstruktur mit der Hauptstruktur notwen- dig. Ferner kann geprüft werden, dass keine weiteren Änderungen vorliegen. Er- gänzt wird die Prüfung nach Ausführungsformen durch eine Prüfung der für die Va- liditäts- bzw. Integritätsprüfung des entsprechenden Attributs notwendigen Teile der dokumentenindividuellen Änderungsstruktur. Die Prüfung der dokumentenindividuel- len Änderungsstruktur erfolgt beispielsweise analog zu der zuvor beschriebenen Prüfung einer dokumentenindividuelle Nebenstruktur.

Nach Ausführungsformen sind zumindest einem der Dokumente ein oder mehrere ergänzende Attributgruppen zugeordnet.

Ein oder mehrere Blöcke der zweiten linearen Blockchain-Unterstruktur der doku- mentenindividuellen Nebenstruktur des entsprechenden Dokuments sind jeweils einer der ergänzenden Attributgruppen zugeordnet, bilden einen Anfangsblock einer achten linearen Blockchain-Unterstruktur der entsprechenden dokumentenindividu- ellen Nebenstruktur, und umfassen einen Identifikator der entsprechenden ergän- zenden Attributgruppe.

Den ergänzenden Attributgruppen sind jeweils ein oder mehrere ergänzende Attri- bute für das entsprechende Dokument zugeordnet, welche über ein oder mehrere Blöcke der achten linearen Blockchain-Unterstruktur verteilt gespeichert sind. Ausführungsformen können den Vorteil haben, dass ein bestehendes Dokument in einfacher Weise um ein oder mehrere Attributgruppen ergänzt werden kann. Solch eine Attributgruppe kann beispielsweise einem Eintrag in einem Reisepass, wie et- wa Visum, entsprechen oder einer Erweiterung eines bestehenden Führerscheins auf eine zusätzliche Fahrzeugklasse.

Nach Ausführungsformen ist zumindest einem Attribut eines der Dokumente eine Änderung in Form eines geänderten Attributs zugeordnet,

wobei das geänderte Attribut in einem zusätzlichen Block der dem entspre- chenden Dokument zugeordneten dokumentenindividuellen Nebenstruktur gespei- chert ist.

Ausführungsformen können den Vorteil haben, dass Änderungen einzelner Attribu te, wie etwa eine Adressänderung, in einfacher Form zu der persönlichen Dokumen- tenblockchain-Struktur des ersten Nutzers hinzugefügt werden können.

Nach Ausführungsformen ist dem ersten Nutzer ein ausschließliches Recht zum Flinzufügen von zusätzlichen Blöcken zu der persönlichen Dokumentenblockchain- Struktur des ersten Nutzers zugeordnet. Ausführungsformen können den Vorteil haben, dass jede Änderung der persönlichen Dokumentenblockchain-Struktur einer Zustimmung seitens des ersten Nutzers bedarf. Somit behält der erste Nutzer die volle Verfügungshoheit über seine persönlichen Daten.

Nach Ausführungsformen ist das ausschließliche Recht des Nutzers zum Hinzufü- gen von zusätzlichen Blöcken zu der persönlichen Dokumentenblockchain-Struktur in bestimmten Situationen beschränkt werden. Beispielsweise im Falle eines min- derjährigen Nutzers oder eines aus anderen Gründen beschränkt geschäftsfähigen Nutzers wird das ausschließliche Recht beispielweise durch einen Vertreter ausge- übt. Nach Ausführungsformen handelt es sich bei dem entsprechenden Vertreter beispielsweise um die Eltern eines Minderjährigen, welche sich beispielsweise aus einer von der persönlichen Dokumentenblockchain-Struktur umfassten Geburtsur- kunde des minderjährigen ersten Nutzers ergeben. Mit Erreichen der Volljährigkeit, welche sich beispielsweise aus dem Geburtsdatum gemäß Geburtsurkunde ergibt, geht das ausschließliche Recht an den volljährigen Nutzer über. Im Falle einer be- schränkten Geschäftsfähigkeit aus anderen Gründen, umfasst die persönliche Do- kumentenblockchain-Struktur beispielsweise ein Dokument, welches eine Berufung eines entsprechenden Vertreters bzw. Vormundes anzeigt.

Nach Ausführungsformen ist von dem ausschließliches Recht des ersten Nutzers zum Hinzufügen von zusätzlichen Blöcken zu der persönlichen Dokumentenblock- chain-Struktur ein Enddokument, welches die persönliche Dokumentenblockchain- Struktur beendet, ausgeschlossen. Bei einem solchen Enddokument kann es sich beispielsweise um eine Sterbeurkunde des ersten Nutzers handeln.

Nach Ausführungsformen umfasst das Verfahren ein Hinzufügen eines zusätzlichen Dokuments zu der persönlichen Dokumentenblockchain-Struktur des ersten Nut- zers.

Das Hinzufügen des zusätzlichen Dokuments umfasst:

Ausstellen des zusätzlichen Dokuments durch eine berechtigte Ausstellungs- instanz, wobei die Attribute des zusätzlichen Dokuments durch die Ausstellungs- instanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen des zusätzlichen Doku- ments,

Hinzufügen des zusätzlichen Dokuments in Form eines zusätzlichen Blocks zu der Hauptstruktur, wobei der zusätzliche Block dem zusätzlichen Dokument zu- geordnet ist, einen Anfangsblock einer von einer zusätzlichen dokumentenindividu- ellen Nebenstruktur für die Dokumentenblockchain-Struktur umfassten zusätzlichen zweiten linearen Blockchain-Unterstruktur bildet, welche dem zusätzlichen Doku- ment zugeordnet ist, und einen Identifikator des zusätzlichen Dokuments umfasst, wobei die signierten Attribute des zusätzlichen Dokuments über eine Mehr- zahl von Blöcken der zusätzlichen dokumentenindividuellen Nebenstruktur verteilt gespeichert werden, und wobei das Hinzufügen zu der Hauptstruktur ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem letzten Block der Hauptstruktur umfasst.

Ausführungsformen können den Vorteil haben, dass sie ein effizientes Hinzufügen weiterer Dokumente und somit eine sukzessive, beispielsweise, chronologische Er- weiterung der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch zusätzliche Dokumente ermöglichen.

Nach Ausführungsformen umfasst das Verfahren ein Ändern eines Dokuments der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen eines Änderungsdokuments.

Das Hinzufügen des Änderungsdokuments umfasst:

Ausstellen des Änderungsdokuments durch eine berechtigte Ausstellungs- instanz, wobei die Attribute des Änderungsdokuments durch die Ausstellungs- instanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen des Änderungsdoku- ments,

Hinzufügen des Änderungsdokuments in Form eines zusätzlichen Blocks entweder zu dem Block des zu ändernden Dokuments der Hauptstruktur oder zu einer Änderungsstruktur, wobei der zusätzliche Block dem Änderungsdokument zu- geordnet ist, einen Anfangsblock einer von einer änderungsdokumentenindividuel- len Nebenstruktur für die Dokumentenblockchain-Struktur umfassten zusätzlichen achten linearen Blockchain-Unterstruktur bildet, welche dem Änderungsdokuments zugeordnet ist, und einen Identifikator des Änderungsdokuments umfasst,

wobei die signierten Attribute des Änderungsdokuments über eine Mehrzahl von Blöcken der änderungsdokumentenindividuellen Nebenstruktur verteilt gespei- chert werden,

wobei das Hinzufügen des zusätzlichen Blocks zu der Hauptstruktur ein bidi- rektionales Verknüpfen des zusätzlichen Blocks mit dem Block des zu ändernden Dokuments der Hauptstruktur umfasst oder wobei das Hinzufügen des zusätzlichen Blocks zu der Änderungsstruktur ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem letzten Block der Än- derungsstruktur umfasst.

Ausführungsformen können den Vorteil haben, dass sie ein effizientes Ändern von bestehenden Dokumenten der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen von Änderungsdokumenten ermöglichen.

Nach Ausführungsformen umfasst das Verfahren ein Ergänzen eines Dokuments der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzu- fügen eines Ergänzungsdokuments.

Das Hinzufügen des Ergänzungsdokuments umfasst:

Ausstellen des Ergänzungsdokuments durch eine berechtigte Ausstellungs- instanz, wobei die Attribute des Ergänzungsdokuments durch die Ausstellungs- instanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen des Ergänzungsdoku- ments,

Hinzufügen des Ergänzungsdokuments in Form eines zusätzlichen Blocks entweder zu dem Block des zu ergänzenden Dokuments der Hauptstruktur oder einer Ergänzungsstruktur, wobei der zusätzliche Block dem Ergänzungsdokument zugeordnet ist, einen Anfangsblock einer von einer ergänzungsdokumentenindivi- duellen Nebenstruktur für die Dokumentenblockchain-Struktur umfassten zusätzli- chen neunten linearen Blockchain-Unterstruktur bildet, welche dem Ergänzungsdo- kuments zugeordnet ist, und einen Identifikator des Ergänzungsdokuments umfasst, wobei die signierten Attribute des Ergänzungsdokuments über eine Mehrzahl von Blöcken der Ergänzungsdokumentenindividuellen Nebenstruktur verteilt gespei- chert werden, und

wobei das Hinzufügen des zusätzlichen Blocks zu der Hauptstruktur ein bidi- rektionales Verknüpfen des zusätzlichen Blocks mit dem Block des zu ergänzenden Dokuments der Hauptstruktur umfasst oder wobei das Hinzufügen des zusätzlichen Blocks zu der Ergänzungsstruktur ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem letzten Block der Er- gänzungsstruktur umfasst.

Ausführungsformen können den Vorteil haben, dass sie ein effizientes Ergänzen von bestehenden Dokumenten der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen von Ergänzungsdokumenten ermöglichen.

Nach Ausführungsformen umfasst das Verfahren ein Ergänzen eines der Dokumen- te um eine ergänzende Attributgruppen umfasst.

Das Ergänzen umfasst:

Ausstellen der ergänzenden Attributgruppe durch eine berechtigte Ausstel- lungsinstanz, wobei die Attribute der ergänzenden Attributgruppe durch die Ausstel- lungsinstanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptogra- phischen Schlüssel signiert werden,

Zustimmen des ersten Nutzers zu dem Hinzufügen der ergänzenden Attribut- gruppe,

Hinzufügen der ergänzenden Attributgruppe in Form eines zusätzlichen Blocks der zweiten linearen Blockchain-Unterstruktur der dokumentenindividuellen Nebenstruktur des zu ergänzenden Dokuments, wobei der zusätzliche Block der ergänzenden Attributgruppe zugeordnet ist, einen Anfangsblock einer zehnten linea- ren Blockchain-Unterstruktur der entsprechenden dokumentenindividuellen Neben- struktur bildet, und einen Identifikator der entsprechenden ergänzenden Attribut- gruppe umfasst,

wobei die signierten Attribute über ein oder mehrere Blöcke der zehnten line aren Blockchain-Unterstruktur verteilt gespeichert sind,

wobei das Hinzufügen des zusätzlichen Blocks ein bidirektionales Verknüp- fen des zusätzlichen Blocks der zweiten linearen Blockchain-Unterstruktur der do- kumentenindividuellen Nebenstruktur des zu ergänzenden Dokuments mit einem letzten Block der zweiten linearen Blockchain-Unterstruktur umfasst. Ausführungsformen können den Vorteil haben, dass sie ein effizientes Ergänzen von bestehenden Dokumenten der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen von ergänzenden Attributsgruppen ermögli- chen.

Nach Ausführungsformen das Verfahren umfasst ein Ändern eines Attributs eines Dokuments der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers.

Das Ändern umfasst:

Ausstellen eines geänderten Attributs durch eine berechtigte Ausstellungs- instanz, wobei das geänderte Attribut durch die Ausstellungsinstanz mit einem der Ausstellungsinstanz zugeordneten privaten kryptographischen Schlüssel signiert wird,

Zustimmen des ersten Nutzers zu dem Hinzufügen des Attributs,

Hinzufügen des Attributs in Form eines zusätzlichen Blocks der dem entspre- chenden Dokument zugeordneten dokumentenindividuellen Nebenstruktur, welcher das geänderte Attribut umfasst,

wobei das Hinzufügen ein bidirektionales Verknüpfen des zusätzlichen Blocks mit einem Block der dem entsprechenden Dokument zugeordneten doku- mentenindividuellen Nebenstruktur umfasst.

Ausführungsformen können den Vorteil haben, dass sie ein effizientes Ändern von ein oder mehreren Attributen eines bestehenden Dokuments der persönlichen Do- kumentenblockchain-Struktur des ersten Nutzers durch Hinzufügen von ein oder mehreren Änderungsattributen ermöglichen.

Nach Ausführungsformen umfasst die Hauptstruktur einen Anfangsblock, welcher einem Anfangsdokument zugeordnet ist, dessen Ausstellung eine Voraussetzung für die Ausstellung der weiteren Dokumente der Mehrzahl von Dokumenten ist, wel- chen die nachfolgenden Blöcke der Hauptstruktur zugeordnet sind. Ausführungsformen können den Vorteil haben, dass die persönliche Dokumenten- blockchain-Struktur des ersten Nutzers mit einem vordefinierten Anfangsdokument beginnt. Beispielsweise kann es sich bei diesem Anfangsdokument um eine Ge- burtsurkunde des ersten Nutzers handeln. Nach weiteren Ausführungsformen kann es sich bei dem Anfangsdokument um ein Dokument handeln, welches einen Eintritt bzw. ein Erfüllen eines für die Verwendung der Dokumentenblockchain-Struktur durch den ersten Nutzer maßgebliches Kriterium, wie etwa ein Erreichen eines be- stimmten Alters, z.B. der Volljährigkeit.

Nach Ausführungsformen wird die Hauptstruktur sukzessive um zusätzliche Blöcke inklusive zusätzlicher Nebenstrukturen erweitert, wobei die zusätzlichen Blöcke je- weils einem zusätzlichen Dokument des ersten Nutzers zugeordnet sind und die Erweiterung in der Reihenfolge der Ausstellung der entsprechenden zusätzlichen Dokumente erfolgt. Ausführungsformen können den Vorteil haben, dass die persön- liche Dokumentenblockchain-Struktur alle relevanten Dokumente des ersten Nut- zers in chronologischer Reihenfolge umfasst. Relevant sind in diesem Kontext alle Dokumente, welche ein oder mehrere Kriterien eines Satzes vordefinierter Kriterien erfüllen. Bei den entsprechenden Kriterien kann es sich beispielsweise um bestimm- te Aussteller der Dokumente, bestimmte Dokumententypen oder bestimmte Inhaltli che Bereiche handeln, welchen die Dokumente zugeordnet sind.

Nach Ausführungsformen wird die Möglichkeit die persönliche Dokumentenblock- chain-Struktur des ersten Nutzers zu erweitern mit einer Erweiterung der Haupt- struktur um einen Endblock beendet, welcher einem Enddokument zugeordnet ist, dessen Ausstellung eine Ausstellung weiterer Dokumente des ersten Nutzers für die Dokumentenblockchain-Struktur ausschließt. Ausführungsformen können den Vor- teil haben, dass die persönlichen Dokumentenblockchain-Struktur des ersten Nut- zers ein definiertes Ende umfasst. Beispielsweise kann es sich bei der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers um eine„Lifechain“ handeln, welche alle relevanten Dokumente des ersten Nutzers von seiner Geburt, markiert durch eine Geburtsurkunde, bis zu seinem Tod, markiert durch eine Sterbeurkunde, umfasst, wobei die Lifechain mit der Zeit sukzessive um zusätzliche Dokumente in chronologischer Reihenfolge erweitert wird.

Nach Ausführungsformen beginnt die persönliche Dokumentenblockchain-Struktur eines Nutzers beispielsweise mit der Geburtsurkunde. Eine Kopie der Geburtsur- kunde kann ferner auch Bestandteil von persönliche Dokumentenblockchain- Struktur der Eltern des Nutzers sein. Dadurch kann eine Verbindung mit den Eltern bzw. mit den Dokumentenblockchain-Strukturen der Eltern implementiert werden.

Nach Ausführungsformen endet die persönliche Dokumentenblockchain-Struktur des Nutzers mit seiner Sterbeurkunde. Dadurch kann die Dokumentenblockchain- Struktur als eine in sich geschlossene, endliche Struktur implementiert werden. Um diese Endlichkeit und ihre Sicherheit gewährleisten zu können, werden bidirektiona le Verknüpfungen zwischen den Blöcken Dokumentenblockchain-Struktur realisiert. Somit ist jed3er der Blöcke sowohl von seinem Vorgänger als auch von seinem Nachfolger (soweit existent) abhängig. Ferner erleichtert bzw. ermöglicht eine Nicht- linearität bzw. Mehrdimensionalität der Dokumentenblockchain-Struktur, dass Ände- rungen und/oder Anhänge zu den von der Dokumentenblockchain-Struktur umfass- ten Dokumenten generiert und hinzugefügt werden können. Nach Ausführungsfor- men, ist die Dokumentenblockchain-Struktur dazu konfiguriert, dass einmal erzeug- te und zu der Dokumentenblockchain-Struktur hinzugefügte Blöcke nicht wieder ge- löscht werden können. Beispielsweise umfassen die Berechtigungsblockchain- Strukturen keine Schreibrechte für bestehende Blöcke der Dokumentenblockchain- Struktur.

In der Hauptstruktur der Dokumentenblockchain-Struktur werden für die Dokumente des ersten Nutzers in chronologischer Reihenfolge einzelne Blöcke erzeugt und hinzugefügt. Die einzelnen Blöcke sind beispielsweise von der ausstellenden In- stanz, wie etwa eine Behörde, ein Amt, ein Unternehmen und/oder ein weiterer Nut- zer signiert. Ein Hinzufügen der entsprechenden Blöcke zu der persönlichen Doku- mentenblockchain-Struktur kann jedoch nur unter der Voraussetzung einer Zustim- mung durch den Nutzer der Dokumentenblockchain-Struktur erfolgen. Mithin han- delt es sich bei der Dokumentenblockchain-Struktur um eine private Blockchain- Struktur, bei welcher nur eine vordefinierte Instanz, d.h. der erste Nutzer, über das Hinzufügen neuer Blöcke entscheidet. In den dokumentenindividuellen Änderungs- oder Ergänzungsstrukturen befinden sich weitere Blöcke, welche Änderungen bzw. Anhänge des entsprechenden Dokuments der Hauptstruktur in chronologischer Reihenfolge umfassen.

Nach Ausführungsformen umfassen die Dokumente jeweils eine Mehrzahl von Blö cken . Bei den Blöcken handelt es sich beispielsweise um digital codierte Blöcke Feldern, d.h. Attributen, des entsprechenden Dokuments. Der Nutzer wird durch die Dokumentenblockchain-Struktur dazu in die Lage versetzt, seine sämtlichen Doku- mente, insbesondere hoheitlichen Dokumente, in digitalisierter bzw. digital codierter Form sicher abzuspeichern und Zugriffe auf diese selektiv zu verwalten und zu steuern.

Um Blöcke ansehen zu dürfen, benötigt es eine passende Berechtigungsblock- chain-Struktur für den zugreifenden Nutzer, beispielsweise Behörde, ein Amt, ein Unternehmen oder ein weiterer Nutzer, die nur der erste Nutzer selber erstellen kann.

Über das Berechtigungsmanagementsystem kann der erste Nutzer beispielweise sämtlichen Zugriffe auf die Blöcke der Dokumentenblockchain-Struktur für andere Nutzer bzw. Identitäten, im konkreten Fall etwa für Behörden, Ämter, staatliche Insti- tutionen, Unternehmen und/oder Privatpersonen, managen. Des Weiteren kann das Berechtigungsmanagementsystem Metadaten umfassen, welche beschreiben wie die Dokumentenblockchain-Struktur in einem von einer Mehrzahl von elektronischen Datenspeichersystemen gebildeten verteilten Datenspeicherungsraum abgespei- chert ist. Damit der erste Nutzer eine Zugriffsberechtigung erteilen kann, muss er sich beispielsweise in einem ersten sicher vor dem Berechtigungsmanagementsys- tem authentifizieren. Das kann beispielsweise mit einem dem ersten Nutzer zuge- ordneten Zertifikat erfolgen. Ein solches Zertifikat kann beispielsweise ein auf einem ID-Token, wie etwa einem Ausweisdokument, gespeichertes sein. Nach erfolgrei- eher Authentifizierung gegenüber dem Berechtigungsmanagementsystem kann der erste Nutzer anderen Nutzern Zugriffsrechte gewähren. Bei diesen anderen Nutzern kann es sich beispielsweise um Behörden oder Ämter handeln und die entspre- chenden Zugriffsrechte können beispielsweise notwendig sein, um einen Behörden- prozess in Gang zu setzen.

Als zusätzliche Sicherheitsschicht werden die Blöcke der Dokumentenblockchain- Struktur beispielsweise nicht auf einem Datenspeichersystemalleine gespeichert, sondern über eine Mehrzahl von Datenspeichersystemen verteilt. Somit wird ge- währleistet, dass die Dokumente bzw. deren durch eine von dem Berechtigungsma- nagementsystem bereitgestellte Normalform bzw. normalisierte Indexliste logisch verknüpft bleiben, die physisch gespeicherten Daten aber auf verschiedenen räum- lich voneinander getrennten Datenspeichersystemen gespeichert werden. Nach Ausführungsformen wir die Dokumentenblockchain-Struktur nach einer erfolgrei- chen Authentifizierung des Nutzers gegenüber dem Berechtigungsmanagementsys- tem als vollständige Struktur visualisiert. Nach Ausführungsformen verfügt alleine der Nutzer der persönlichen Dokumentenblockchain-Struktur über Zugriffsrechte zu allen Blöcken der Dokumentenblockchain-Struktur und damit über Zugriff auf eine vollständige Visualisierung der Dokumentenblockchain-Struktur. Die dafür notwen- digen Metadaten werden nach Ausführungsformen, ggf.in verschlüsselter Form, in dem Berechtigungsmanagementsystem gespeichert.

Der Nutzer bekommt somit volle Kontrolle über seine Dokumente und den von die- sen umfasst Daten bzw. Attributen sowie über deren Verwendung. Der Nutzer kann nach Ausführungsformen in die Lage versetzt werden sämtliche Interaktionen mit Behörden oder Ämtern auf digitalem Wege auszuführen. Dadurch können Behör- dengänge prinzipiell überflüssig werden. Des Weiteren kann dadurch beispielsweise die staatliche Verwaltung effizienter gestaltetet werden.

Nach Ausführungsformen sind die Blöcke der persönlichen Dokumentenblockchain- Struktur des ersten Nutzers auf eine Mehrzahl von räumlich getrennten Datenban- ken verteilt gespeichert. Ausführungsformen können den Vorteil haben, dass die Sicherheit des Systems durch die verteilte Speicherung erhöht wird, da keines der zur Speicherung verwendeten elektronischen Datenspeichersysteme alle Blöcke der Dokumentenblockchain-Struktur umfasst. Somit verfügt unabhängig von weiteren zusätzlichen kryptographischen Sicherungsmaßnahmen, wie etwa eine Verschlüs- selung der Blöcke und/oder der von den Blöcken umfassten Attributen, keines der elektronischen Datenspeichersysteme über alle Blöcke der Dokumentenblockchain- Struktur. Ferner wird durch die verteilte Speicherung die Ausfallsicherheit erhöht. Selbst wenn ein elektronisches Datenspeichersystem ausfallen sollte, so fallen da- mit nur einzelne Blöcke der Dokumentenblockchain-Struktur aus, niemals alle.

Nach Ausführungsformen wird eine normalisierte Indexliste der Blöcke der verteilt gespeicherten Dokumentenblockchain-Struktur erstellt und gespeichert. Beispiels- weise wird die normalisierte Indexliste von einem Berechtigungsmanagementsys- tem verwaltet. Bei der normalisierten Indexliste handelt es sich beispielsweise um eine Wiedergabe der logischen Verknüpfungen zwischen den verteilt gespeicherten Blöcken der Dokumentenblockchain-Struktur.

Nach Ausführungsformen werden für alle elektronischen Datenspeichersysteme, über welche die Blöcke der Dokumentenblockchain-Struktur verteilt gespeichert werden, Back-ups erstellt und/oder es existiert zumindest ein redundantes Daten- speichersystem, um einen Datenverlust auszuschließen.

Nach Ausführungsformen sind die Blöcke der persönlichen Dokumentenblockchain- Struktur des ersten Nutzers in den Datenbanken jeweils verschlüsselt gespeichert. Ausführungsformen können den Vorteil haben, dass das ein Lesen der Dateninhalte der entsprechenden Blöcke, wie etwa der Attribute, nur unter Verwendung des zu- gehörigen kryptographischen Schlüssels möglich ist. Bei dem kryptographischen Schlüssel zum Entschlüsseln kann es sich beispielsweise um einen privaten asym- metrischen oder einen symmetrischen dem kryptographischen Schlüssel handeln. Insbesondere kann es sich um einen blockindividuellen Schlüssel handeln. Bei- spielsweise hängt der Schlüssel von dem Inhalt des entsprechenden Blocks ab. Beispielsweise kann der Schlüssel in Form eines Hashwerts des entsprechenden Blocks bereitgestellt werden.

Der kryptographische Schlüssel zum Entschlüsseln der Dateninhalte eines Blocks der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers, auf welche der zweite Nutzer ein Zugriffsrecht besitzt, kann dem entsprechenden zweiten Nut- zer beispielweise zusammen mit oder als Teil eines Berechtigungstokens auf eine erfolgreiche Berechtigungsprüfung für einen Zugriff auf den entsprechenden Block zur Verfügung gestellt werden.

Nach Ausführungsformen werden die Prüfwerte, welche die bidirektionalen Ver- knüpfungen zwischen benachbarten Blöcken implementieren, nicht mit verschlüs- selt. Bei diesen Prüfwerten handelt es sich beispielsweise um Metadaten, welche im Gegensatz zu Nutzdaten, wie den Attributen, nicht verschlüsselt werden. Ausfüh- rungsformen können den Vorteil haben, dass die Prüfwerte für eine Prüfung der In- tegrität bzw. Konsistenz einer linearen Blockchain-Unterstrukturen und/oder eines Teils derselben verwendet werden können, ohne dass der prüfende Nutzer Zugriffs- rechte auf die Dateninhalte der entsprechenden Blöcke benötigt.

Nach Ausführungsformen werden die Prüfwerte aus den verschlüsselten Daten der entsprechenden Blöcke berechnet. Ausführungsformen können den Vorteil haben, dass sie eine Prüfung der bidirektionalen Verknüpfungen, d.h. der Prüfwerte auch ohne Entschlüsselung der Daten erlauben. Somit kann beispielsweise die Integrität bzw. Konsistenz einer linearen Blockchain-Unterstrukturen und/oder eines Teils derselben geprüft werden, ohne dass der prüfende Nutzer Zugriffsrechte auf die Dateninhalte der entsprechenden Blöcke benötigt. In diesem Fall können insbeson- dere auch die Prüfwerte nachgerechnet werden.

Nach Ausführungsformen wird die Berechtigungsblockchain-Struktur von einem Be- rechtigungsmanagementsystem verwaltet. Ausführungsformen können den Vorteil haben, dass das einem Berechtigungsmanagement bzw. die selektive Zugriffsteue- rung unabhängig von der manipulationssicheren Speicherung auf getrennten Sys- temen und/oder auf getrennten Systemkomponenten erfolgt getrennt bedeutet in diesem Zusammenhang, dass bei einem Ausfall eines der Systeme bzw. System- komponenten, die Anderen System bzw. Systemkomponenten voll funktionsfähig bleiben.

Nach Ausführungsformen verwaltet das Berechtigungsmanagementsystem ferner Metadaten, welche die Speicherorte der Blöcke der persönlichen Dokumenten- blockchain-Struktur des ersten Nutzers auf der Mehrzahl von räumlich getrennten Datenbanken identifizieren. Ausführungsformen können den Vorteil haben, dass die Verwaltung der Zugriffsrechte unabhängig von der Verwaltung der Speicherorte bzw. Speicheradressen der entsprechenden Blöcke erfolgt. Nach Ausführungsfor- men kann aus Berechtigungsblockchain-Struktur beispielweise ohne weitere Infor- mationen nicht bestimmt werden für welchen der Blöcke der Dokumentenblock- chain-Struktur die Berechtigungsblockchain-Struktur Zugriffsrechte bereitstellt und/oder wo der Block für welchen die Zugriffsrechte bereitgestellt werden gespei- chert ist. Diese zusätzlichen Informationen werden durch die Metadaten bereitge- stellt, welche die Berechtigungsblockchain-Struktur bzw. Berechtigungsblockchain- Strukturen mit der Speicheradresse des Blocks bzw. den Speicheradressen der Blöcke verknüpft, auf für welche sie Zugriffsrechte verwalten. Durch diese Trennung kann die Sicherheit des Systems weiter erhöht werden.

Nach Ausführungsformen wird eine Mehrzahl von Berechtigungsblockchain- Strukturen bereitgestellt wird, welche jeweils einem der Blöcke der Hauptstruktur zugeordnet. Nach Ausführungsformen folgt aus der Zuordnung zu einem Block der Hauptstruktur, dass ein Zugriffsrecht für alle Blöcke des entsprechenden Doku- ments zugewiesen wird. Ausführungsformen können den Vorteil haben, dass Zu- griffsrechte beispielsweise dokumentenspezifisch zugewiesen werden. Besitzt ein zweiter Nutzer ein Zugriffsrecht für ein bestimmtes Dokument, d.h. ist er von der entsprechenden Berechtigungsblockchain-Struktur umfasst, so kann er beispiels- weise alle Attribute des entsprechenden Dokuments lesen. Nach weiteren Ausfüh- rungsformen, folgt aus der Zuordnung folgt aus der Zuordnung zu einem Block der Hauptstruktur, dass ein Zugriffsrecht nur für den entsprechenden Block der Haupt- struktur zugewiesen wird.

Nach Ausführungsformen wird eine Mehrzahl von Berechtigungsblockchain- Strukturen bereitgestellt, welche jeweils einem der Blöcke der Nebenstrukturen zu- geordnet sind. Ausführungsformen können den Vorteil haben, dass die Zugriffsteue- rung auf die Attribute bzw. die Verwaltung der Zugriffsrechte blockweise erfolgt. Somit können Zugriffsrechte für ein oder mehrere individuelle Blöcke eines Doku- ments zugewiesen werden, ohne dass sich daraus ein Zugriffsrecht auf weitere Blö cke desselben Dokuments ergibt.

Nach Ausführungsformen sind die Blöcke der Berechtigungsblockchain-Struktur jeweils bidirektional miteinander verknüpft. Ausführungsformen können den Vorteil haben das durch die bidirektionale Verknüpfung eine effektive Manipulationssiche- rung implementiert werden kann.

Nach Ausführungsformen umfasst der Anfangsblock der Berechtigungsblockchain- Struktur ein Zugriffs-Zertifikat, welches ein Zugriffsrecht gewährt, wobei die weiteren Blöcke der Berechtigungsblockchain-Struktur jeweils ein Nutzer-Zertifikat des zwei- ten Nutzers umfasst, dem das entsprechende Zugriffsrecht des Zugriffs-Zertifikat auf den entsprechenden Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers gewährt wird. Nach Ausführungsformen wird einem Nutzer nur dann ein Zugriff auf einen Block der Dokumentenblockchain-Struktur gewährt, wenn er mit dem entsprechenden Zugriffs-Zertifikat für einen Zugriff auf den entsprechen- den Block verknüpft ist.

Nach Ausführungsformen umfasst das Zugriffs-Zertifikat ein oder mehrere der fol genden Zugriffs-Zertifikattypen:

• ein Lesezug riffs-Zertifikat, welches einem Nutzer einen lesenden Zugriff auf den Inhalt eines Blocks ermöglicht;

• ein Indexzug riffs-Zertifikat, welches einem Nutzer Kenntnis der Existenz des Blocks in der persönlichen Dokumentenblockchain-Struktur des ersten Nut- zers und einen lesenden Zugriff auf Metadaten des Blocks ermöglicht, wobei die Metadaten Prüfwerte der bidirektionalen Verbindungen des entsprechen- den Blocks mit Nachbarblöcken in der Dokumentenblockchain-Struktur um- fassen.

Beispielsweise ermöglicht ein Indexzugriffs-Zertifikat bzw. eine Verknüpfung mit diesem einem Nutzer, eine statistische Auswertung mehrerer Blöcke der persönli- chen Dokumentenblockchain-Struktur des ersten Nutzers zu erhalten, etwa bezüg- lich der Frage, auf wie viele Blöcke einer Dokumentenblockchain-Struktur ein be- stimmter Nutzer Lesezugriff oder wie viele Blöcke ein bestimmtes Attribut beinhalten oder viele Blöcke einer bestimmten Kategorie zugeordnet sind.

Die Verwendung mehrerer unterschiedlicher Typen von Zugriffs-Zertifikaten für un- terschiedliche Zugriffsarten und die individuelle Verknüpfung dieser Zertifikatstypen mit einzelnen Nutzern, um diesen den Zugriff auf die Blöcke der Dokumentenblock- chain-Struktur zu ermöglichen, kann vorteilhaft sein, da dadurch eine besonders feingranulare Kontrolle des Zugriffs auf die Blöcke ermöglicht wird.

Nach Ausführungsformen erfolgen Zugriffe auf die Blöcke der Dokumenten- Blockchain über ein Kommunikationsnetzwerk mittels kryptographisch gesicherte Kommunikationsverbindungen. Ausführungsformen können den Vorteil haben, dass kryptographisch gesicherte Kommunikationskanäle verwendet werden. Nach Aus- führungsformen erfolgt die Speicherung der Blöcke der Dokumentenblockchain- Struktur verteilt über eine Mehrzahl von elektronischen Datenverarbeitungssyste- men, wobei die elektronischen Datenverarbeitungssystemen über ein Kommunikati- onsnetzwerk mittels kryptographisch gesicherter Kommunikationsverbindungen un- tereinander kommunizieren. Nach Ausführungsformen erfolgt eine Kommunikation mit einem elektronischen Berechtigungsmanagementsystem, welches die Berechti- gungsblockchain-Struktur verwaltete bzw. umfasst, über ein Kommunikationsnetz- werk mittels kryptographisch gesicherte Kommunikationsverbindungen. Nach Ausführungsformen umfassen aufeinanderfolgende bidirektional miteinander verknüpfte Blöcken beide jeweils einen Prüfwert, wobei der Prüfwert eines ersten der beiden Blöcke zumindest von den in dem zweiten der beiden Blöcke gespei- cherten Daten abhängt und wobei der Prüfwert des zweiten der beiden Blöcke zu- mindest von den in dem ersten der beiden Blöcke gespeicherten Daten abhängt.

Die bidirektionalen Verknüpfungen zwischen den Blöcken der Dokumentenblock- chain-Struktur und/oder zwischen den Blöcken Berechtigungsblockchain-Struktur implementieren Abhängigkeiten zwischen den entsprechenden Blöcken basierend auf den von diesen umfassten Daten, wie etwa Attributen des ersten Nutzers. Diese Verknüpfungen sind nachprüfbar. Dabei werden entweder Prüfwerte oder Prüffun k- tionen verwendet, wobei letztere beispielsweise basierend auf einem Prüfwert aus- gewählt werden und/oder einen Prüfwert als Parameter umfassen. Eine Änderung der Daten eines der Blöcke würde dazu führen, dass die Prüfwerte der mit diesem verknüpften weiteren Blöcke nicht mehr zu den geänderten Daten passen würden. Anhand dieser Diskrepanz lassen sich leicht Manipulationen der Daten identifizie- ren.

Nach Ausführungsformen werden auf eine Freigabe hin, Metadaten an den zweiten Nutzer gesendet, welche einen Speicherort des Blocks der der persönlichen Doku- mentenblockchain-Struktur des ersten Nutzers auf der Mehrzahl von räumlich ge- trennten Datenbanken identifizieren.

Nach Ausführungsformen umfasst das Verfahren ferner:

Bereitstellen von Metadaten, welche Identifikatoren und Speicheradressen der Blöcke der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers auf der Mehrzahl von räumlich getrennten Datenbanken umfassen,

auf eine Zustimmung des ersten Nutzers zu einem Hinzufügen eines zusätz- lichen Blocks zu der persönlichen Dokumentenblockchain-Struktur hin, Hinzufügen eines zusätzlichen Identifikators und einer Speicheradresse des zusätzlichen Blocks zu den Metadaten. Nach Ausführungsformen sind die Metadaten verschlüsselt in einem Speicher des Berechtigungsmanagementsystems gespeichert. Ausführungsformen können den Vorteil haben, dass sie eine effiziente kryptographische Sicherung der Metadaten ermöglichen.

Nach Ausführungsformen umfasst das Verfahren ferner ein Gewähren eines Zu- griffs für einen weiteren zweiten Nutzer auf einen der Blöcke der persönlichen Do- kumentenblockchain-Struktur des ersten Nutzers, wobei das Gewähren ein Hinzu- fügen eines zusätzlichen Blocks zu einer Berechtigungsblockchain-Struktur, welche dem entsprechenden Block der persönlichen Dokumentenblockchain-Struktur des ersten Nutzers zugeordnet ist, wobei der zusätzliche Block einen Identifikator eines weiteren zweiten Nutzers umfasst und mit einem letzten Block der Berechtigungs- blockchain-Struktur bidirektional verknüpft wird.

Nach Ausführungsformen wird eine Liste möglicher zweiter Nutzer bereitgestellt und der Identifikator des entsprechenden weiteren zweiten Nutzers aus der Liste aus- gewählt. Ausführungsformen können den Vorteil haben, dass sie ein effizientes Ver- fahren zur Auswahl von Nutzern umfassen, welchen Zugriffsrechte gewährt werden sollen. Die Liste ermöglicht zum einen eine einfachere und schnellere Auswahl der entsprechenden Nutzer.

Nach Ausführungsformen wird eine Mehrzahl von nichtlinearen persönlichen Doku- mentenblockchain-Strukturen des ersten Nutzers bereitgestellt, welche jeweils eine Hauptstruktur umfassen und über ein oder mehrere bidirektionale Verknüpfungen zwischen Blöcken der Hauptstruktur miteinander verknüpft sind. Ausführungsformen können den Vorteil haben, dass für verschiedene Anwendungsfälle bzw. Bereiche verschiedene Dokumentenblockchain-Strukturen erstellt werden, welche jedoch miteinander verknüpft sind. Innerhalb der einzelnen Dokumentenblockchain- Strukturen werden die Dokumente des Nutzers beispielsweise in chronologischer Reihenfolge aufgenommen. Ausführungsformen umfassen ferner ein elektronisches Datenspeichersystem zum Durchführen eines kryptographischen Verfahrens zur selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten, welche einem ersten Nutzer zuge- ordnet sind, wobei ein oder mehrere der Attribute in einem Speicher des elektroni- schen Datenspeichersystems manipulationssicher gespeichert sind.

Das Datenspeichersystem umfasst eine Kommunikationsschnittstelle zum Kommu- nizieren über ein Netzwerk. Der Speicher des Datenspeichersystems umfasst einen Block einer nichtlinearen persönlichen Dokumentenblockchain-Struktur des ersten Nutzers, in welchem zumindest eines der Attribut gespeichert ist.

Die nichtlineare persönlichen Dokumentenblockchain-Struktur ist dem ersten Nutzer zugeordnet und umfasst eine Mehrzahl von linearen Blockchain-Unterstrukturen umfasst, wobei jede der linearen Blockchain-Unterstrukturen jeweils eine Mehrzahl von bidirektional miteinander verknüpften Blöcken,

wobei eine erste lineare Blockchain-Unterstruktur der Dokumentenblock- chain-Struktur eine Hauptstruktur der Dokumentenblockchain-Struktur bildet,

wobei Blöcke der Hauptstruktur jeweils einem individuellen Dokument der Mehrzahl von Dokumenten zugeordnet sind, einen Anfangsblock einer von einer dokumentenindividuellen Nebenstruktur der Dokumentenblockchain-Struktur um- fassten zweiten linearen Blockchain-Unterstruktur bilden, welche dem entsprechen- den Dokument zugeordnet ist, und einen Identifikator des entsprechenden Doku- ments umfassen,

wobei jedes der Dokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Dokument zuge- ordneten dokumentenindividuellen Nebenstruktur verteilt gespeichert sind.

Das Datenspeichersystem umfasst ferner einen Prozessor und in dem Speicher sind ferner maschinenlesbare Instruktionen gespeichert. Ein Ausführen der maschi- nenlesbaren Instruktionen durch den Prozessor veranlasst das Datenspeichersys- tem zu Folgendem: Empfangen einer Zugriffsanfrage eines zweiten Nutzers nach dem Block mit dem zumindest einen Attribut mittels der Kommunikationsschnittstelle über das Netzwerk von einem anfragenden Telekommunikationssystem des zweiten Nutzers, Empfang einer Bestätigung einer erfolgreichen Prüfung des Zugriffsrechts des zweiten Nutzers für den Zugriff auf den Block mit dem zumindest einen Attribut bestätigt, wobei die Bestätigung voraussetzt, dass der zweite Nutzer als ein zu- griffsberechtigter Nutzer von einer Berechtigungsblockchain-Struktur für Zugriffe auf den entsprechenden Block umfasst ist,

auf die Bestätigung hin, Senden des Blocks mit dem zumindest einen Attribut mittels der Kommunikationsschnittstelle über das Netzwerk an das anfragende Te- lekommunikationssystem des zweiten Nutzers.

Das Datenspeichersystem ist dazu konfiguriert, ein oder mehrere der vorangehen- den Ausführungsformen des Verfahrens auszuführen und/oder ein oder mehrere Verfahrensschritte der der vorangehenden Ausführungsformen des Verfahrens aus- zuführen.

Ausführungsformen umfassen ferner ein elektronisches Berechtigungsmanage- mentsystem zum Durchführen eines kryptographischen Verfahrens zur selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten, welche einem ers- ten Nutzer zugeordnet sind, wobei die Attribute in ein oder mehreren Speichern von ein oder mehreren elektronischen Datenspeichersystemen manipulationssicher ge- speichert sind.

Das Berechtigungsmanagementsystem umfasst eine Kommunikationsschnittstelle zum Kommunizieren über ein Netzwerk. Ferner umfasst das Berechtigungsmana- gementsystem einen Speicher, in welchem eine Berechtigungsblockchain-Struktur zur Kontrolle der Zugriffsrechte auf einen Block einer nichtlinearen persönlichen Do- kumentenblockchain-Struktur des ersten Nutzers mit dem zumindest einen Attribut gespeichert ist. Die Berechtigungsblockchain-Struktur umfasst einen Anfangsblock sowie ein oder mehrere weitere Blöcken, wobei die weiteren Blöcke jeweils einem weiteren Nutzer ein Zugriffsrecht auf einen der Blöcke der Dokumentenblockchain- Struktur gewähren.

Die nichtlinearen persönlichen Dokumentenblockchain-Struktur ist dem ersten Nut- zer zugeordnet und umfasst eine Mehrzahl von linearen Blockchain-Unterstrukturen, wobei jede der linearen Blockchain-Unterstrukturen jeweils eine Mehrzahl von bidi- rektional miteinander verknüpften Blöcken umfasst,

wobei eine erste lineare Blockchain-Unterstruktur der Dokumentenblock- chain-Struktur eine Hauptstruktur der Dokumentenblockchain-Struktur bildet,

wobei Blöcke der Hauptstruktur jeweils einem individuellen Dokument der Mehrzahl von Dokumenten zugeordnet sind, einen Anfangsblock einer von einer dokumentenindividuellen Nebenstruktur der Dokumentenblockchain-Struktur um- fassten zweiten linearen Blockchain-Unterstruktur bilden, welche dem entsprechen- den Dokument zugeordnet ist, und einen Identifikator des entsprechenden Doku- ments umfassen,

wobei jedes der Dokumente jeweils eine Mehrzahl von Attributen umfasst, welche über eine Mehrzahl von Blöcken der dem entsprechenden Dokument zuge- ordneten dokumentenindividuellen Nebenstruktur verteilt gespeichert sind.

Das Berechtigungsmanagementsystem umfasst ferner einen Prozessor und in dem Speicher sind ferner maschinenlesbare Instruktionen gespeichert. Ein Ausführen der maschinenlesbaren Instruktionen durch den Prozessor veranlasst das Berechti- gungsmanagementsystem zu Folgendem:

Empfangen einer Zugriffsberechtigungsanfrage nach einem Zugriffsrecht ei- nes zweiten Nutzers auf den Block mit dem zumindest einen Attribut mittels der Kommunikationsschnittstelle über das Netzwerk von einem anfragenden Telekom- munikationssystem,

Prüfen, ob der zweite Nutzer als ein zugriffsberechtigter Nutzer von einer Be- rechtigungsblockchain-Struktur für Zugriffe auf den entsprechenden Block umfasst ist,

auf eine erfolgreiche Prüfung hin, Bestätigen der erfolgreichen Prüfung des Zugriffsrechts des zweiten Nutzers für den Zugriff auf den Block mit dem zumindest einen Attribut, und Senden der Bestätigung mittels der Kommunikationsschnittstelle über das Netzwerk an das anfragende Telekommunikationssystem.

Das Berechtigungsmanagementsystem ist dazu konfiguriert, ein oder mehrere der vorangehenden Ausführungsformen des Verfahrens auszuführen und/oder ein oder mehrere Verfahrensschritte der der vorangehenden Ausführungsformen des Verfah- rens auszuführen.

Ausführungsformen umfassen ferner ein elektronisches Datenverarbeitungssystem zum Durchführen eines kryptographischen Verfahrens zur selektiven Zugriffsteue- rung auf Attribute einer Mehrzahl von Dokumenten, welche einem ersten Nutzer zugeordnet sind, wobei die Attribute in ein oder mehreren Speichern manipulations- sicher gespeichert sind. Das elektronische Datenverarbeitungssystem umfasst ein oder mehrere elektronische Datenspeichersysteme nach einer der zuvor beschrie- benen Ausführungsformen und ein elektronisches Berechtigungsmanagementsys- tem nach einer der zuvor beschriebenen Ausführungsformen.

Das Datenverarbeitungssystem ist dazu konfiguriert, ein oder mehrere der vorange- henden Ausführungsformen des Verfahrens auszuführen.

Unter einem„Dokument“ wird insbesondere ein Text, eine Urkunde, ein Zeugnis, oder ein Ausweis-, Wert- oder Sicherheitsdokument, insbesondere ein hoheitliches Dokument, insbesondere ein papierbasiertes und/oder kunststoffbasiertes Doku- ment, wie zum Beispiel ein elektronisches Ausweisdokument, insbesondere Reise- pass, Personalausweis, Visum, Führerschein, Fahrzeugschein, Fahrzeugbrief, Ge- sundheitskarte, oder einen Firmenausweis, oder eine anderes ID-Dokument, eine Chipkarte, Zahlungsmittel, insbesondere Banknote, Bankkarte oder Kreditkarte, Frachtbrief oder ein sonstiger Berechtigungsnachweis verstanden. Insbesondere kann es sich bei dem Dokument um ein Machine-Readable Travel Document, wie beispielsweise von der Internationalen Luftfahrtbehörde (ICAO) und/oder dem BSI standardisiert, handeln. Eine Urkunde ist eine Erklärung in Text- oder Schriftform, welche einen bestimmten Tatbestand bzw. Sachverhalt fixiert. Zudem kann die Ur- kunde den Austeller der Urkunde identifizieren.

Unter einem digital codierten Dokument wird ein Daten konstru kt zur elektronischen Datenverarbeitung verstanden, welches digital codierte Daten bzw. Attribute um- fasst. Bei einem digital codierten Dokument kann es sich um beispielsweise um ein Dokument handeln, welche durch Digitalisieren eines Dokuments mit physischen Dokumentenkörper, d.h. eine Umwandlung der von dem physischen Dokumenten- körper umfassten Daten in einen Binärcode, in Dateiform angelegt oder überführt wurden. Insbesondere ist die Gültigkeit eines solchen Dokuments unabhängig von dem Vorhandensein eines fest zugeordneten Dokumentenkörpers.

Nach Ausführungsformen kann ein digital codiertes Dokument beispielsweise er- stellt werden, indem eine Datei mit den Daten des entsprechenden Dokuments an einem Computer erzeugt wird. Ferner kann ein virtuelles Dokument beispielsweise auch durch Einscannen oder Ablichten eines physischen Dokumentenkörpers, wie etwa einem Dokument auf Papier, erstellt werden.

Nach Ausführungsformen umfasst das elektronisches Datenspeichersystem ein Da- teisystem. Das Dateisystem stellt eine Ablageorganisation auf dem Datenspeicher bereit. Daten wie etwa digital codierte Dokumente können als Dateien auf dem Da- tenspeicher gespeichert werden. Ferner können die Dateien gelesen, verändert o- der gelöscht werden.

Nach Ausführungsformen umfasst das elektronische Datenspeichersystem eine Da- tenbank. Eine Datenbank bzw. ein Datenbanksystem bezeichnet ein System zur elektronischen Datenverwaltung. Ein Datenbanksystem erlaubt es, große Daten- mengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teil- mengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen. Das Datenbanksystem umfasst bei- spielsweise ein Datenbankmanagementsystem und eine Datenbank im engeren Sinn bzw. Datenbasis. Das Datenbankmanagementsystem stellt eine Verwaltungs- Software zum Verwalten von Daten der Datenbasis bereit. Die Verwaltungssoftware organisiert intern die strukturierte Speicherung der Daten und kontrolliert alle lesen- den und schreibenden Zugriffe auf die Datenbank. Die Datenbasis umfasst die Menge der zu verwaltenden Daten. Daten wie etwa digital codierte Dokumente wer- den in diesem Fall beispielsweise als Teil der Datenbasis gespeichert.

Der Speicher kann beispielsweise einen Wechselspeicher umfassen handeln, d.h. einen nicht fest eingebauter, austauschbarer und/oder tragbarer Datenträger für ein Computersystem handeln. Wechselspeicher umfassen beispielsweise Blu-ray Discs, CDs, Disketten, DVDs, HD-DVDs, Magnetbänder, MO/MODs, Solid-State- Drives (SSD), Speicherkarten, USB-Sticks oder Wechselfestplatten.

Nach Ausführungsformen handelt es sich bei ein oder mehreren der Datenbanken jeweils um eine NoSQL-Datenbank. Vorzugsweise handelt es sich bei den NoSQL- Datenbanken jeweils um eine sogenannte„strukturlose“ Datenbank, die eine freie Definition der Art und Anzahl der Datenfelder unterstützt. Vorzugsweise ist die NoSQL-Datenbank so konfiguriert, dass der Inhalt sämtlicher Datenfelder eines je- den neuen Datensatzes automatisch indexiert wird und dass Änderungen des In- halts der Datenbank in Form neuer Versionen gespeichert werden („Version ierte Datenbank“). Nach Ausführungsformen werden Änderungen der von der Datenbank umfassten Daten in einem Log, z.B. einer Log-Datei, gespeichert.

Unter einer„Datenbank“ wird eine (typischerweise große) Menge von Daten ver- standen, die in einem Computersystem von einem Zugriffs-Verwaltungssystem nach bestimmten Kriterien verwaltet werden.

Unter einem„Zugriffs-Verwaltungssystem“ wird ein elektronisches System zur Spei- cherung und Wiedergewinnung von Daten verstanden. Beispielsweise kann es sich bei dem Zugriffs-Verwaltungssystem um ein„Datenbanksystem“, auch„Daten- bankmanagementsystem“ (DBMS) handeln. Es ist aber auch möglich, dass die Da- ten in einem Mikrocontrollerspeicher gespeichert werden und von einem Applikati- onsprogramm verwaltet werden, das als Zugriffs-Verwaltungssystem arbeitet, ohne ein klassisches DBMS zu sein. Vorzugsweise werden die Daten in dem Zugriffs- Verwaltungssystem widerspruchsfrei und dauerhaft gespeichert und verschiedenen Anwendungsprogrammen und Nutzern in bedarfsgerechter Form effizient zur Verfü- gung gestellt. Ein Datenbankmanagementsystem kann typischerweise ein oder mehrere Datenbanken beinhalten und die darin enthaltenen Datensätze verwalten.

Eine„NoSQL“ (englisch für Not only SQL) Datenbank ist eine Datenbank, die einen nicht-relationalen Ansatz verfolgt und keine festgelegten Tabellenschemata benö- tigt. Zu den NoSQL Datenbanken gehören insbesondere dokumentenorientierte Da- tenbanken wie Apache Jackrabbit, BaseX, CouchDB, IBM Notes, MongoDB, Graphdatenbanken wie Neo4j, OrientDB, InfoGrid, HyperGraphDB, Core Data,

DEX, AllegroGraph, und 4store, verteilte ACID-Datenbanken wie MySQL Cluster, Key-Value-Datenbanken wie Chordless, Google BigTable, GT.M, InterSystems Ca- che, Membase, Redis, sortierte Key-Value-Speicher, Multivalue-Datenbanken, Ob- jektdatenbanken wie Db4o, ZODB, spaltenorientierte Datenbanken und temporale Datenbanken wie Cortex DB.

Unter "Log" wird insbesondere eine Datenmenge, z.B. eine Log-Datei, verstanden, welche automatisch erzeugt wird und in welcher Prozesse, die in einem Zugriffs- Verwaltungssystem ablaufen, aufgezeichnet werden.

Unter einem "Nutzer" wird im Folgenden die digitale Repräsentanz natürlichen oder juristischen Person oder einer Softwarelogik verstanden.

Unter einem "Zertifikat" wird hier im Folgenden ein digitales Zertifikat verstanden.

Ein Zertifikat ist ein digitaler Datensatz, der bestimmte Eigenschaften von Nutzern oder anderen Objekten bestätigt und dessen Authentizität und Integrität durch kryp- tografische Verfahren geprüft werden kann. Das digitale Zertifikat enthält die zu sei- ner Prüfung erforderlichen Daten entweder selbst oder ist mit zertifikatsbezogenen Metadaten verknüpft gespeichert, sodass die zu seiner Prüfung erforderlichen Da- ten aus den Metadaten bezogen werden können. Die Ausstellung des Zertifikats erfolgt vorzugsweise durch eine offizielle Zertifizierungsstelle, die Certification Au- thority (CA). Bei dem Zertifikat eines Nutzers kann es sich beispielsweise um ein Attributzertifikate handeln, welches insbesondere als Zahlwerte ausgebildet sein kann. Attributzertifikate enthalten keinen öffentlichen Schlüssel, sondern verweisen auf ein Public-Key-Zertifikat und legen dessen Geltungsbereich genauer fest. Alter- nativ dazu kann ein Zertifikat auch nach dem Standard X.509 ausgebildet sein, also einen öffentlichen Schlüssel beinhalten und die Identität des Inhabers sowie weitere Eigenschaften des öffentlichen kryptographischen Schlüssels des Zertifikats bestä- tigen. Ein Zertifikat kann sich, muss sich aber nicht notwendigerweise auf einen kryptographischen Schlüssel beziehen, sondern kann allgemein Daten zur Prüfung einer elektronischen Signatur enthalten oder mit diesen Daten verknüpft gespeichert sein.

Unter einem„Computersystem“ wird hier ein Gerät verstanden, welches mittels pro- gram mierbarer Rechen Vorschriften unter Verwendung elektronischer Schaltkreise Daten verarbeitet. Unter einem„Programm“ bzw.„Programminstruktionen“ wird hier ohne Einschränkung jede Art von Computerprogramm verstanden, welches ma- schinenlesbare Instruktionen zur Steuerung einer Funktionalität des Computers um- fasst.

Ein Computersystem kann eine Schnittstelle zur Verbindung mit dem Netzwerk um- fassen, wobei es sich bei dem Netzwerk um ein privates oder öffentliches Netzwerk handeln kann, insbesondere das Internet oder ein anderes Kommunikationsnetz. Je nach Ausführungsform kann diese Verbindung auch über ein Mobilfunknetz herge- stellt werden.

Bei einem Computersystem kann es sich beispielsweise um ein mobiles Telekom- munikationsgerät, insbesondere ein Smartphone, einen tragbaren Computer, wie zum Beispiel einen Laptop oder Palmtop-Computer, einen Personal Digital Assistant oder dergleichen handeln. Ferner kann es sich um beispielsweise um eine Smart- watch oder Smartglasses handeln. Zudem kann es sich um ein stationäres Compu- tersystem, wie beispielsweise einen Personal Computer oder einen in einer Client- Server-Umgebung eingebundenen Server handeln. Insbesondere kann es sich um einen Server mit einem Datenbankmanagementsystem, welcher eine Datenbank mit einer Blockchain-Struktur verwaltet.

Bei dem Telekommunikationssystem handelt es sich beispielsweise um ein Compu- tersystem, welches zur Kommunikation über ein Netzwerk konfiguriert ist.

Eine Kommunikation kann im Allgemeinen beispielsweise über ein Netzwerk erfol- gen. Unter einem„Netzwerk“ wird hier jedes Übertragungsmedium mit einer Anbin- dung zur Kommunikation verstanden, welche eine Kommunikation zwischen zumin- dest zwei Computersystemen ermöglicht. Ein Netzwerk kann beispielsweise ein lo- kales Netzwerk, insbesondere ein Local Area Network (LAN), ein privates Netzwerk, insbesondere ein Intranet, oder ein virtuelles privates Netzwerk (Virtual Private Net- work - VPN) umfassen. Beispielsweise kann das Computersystem eine Standard- funkschnittsteile zur Anbindung an ein WLAN aufweisen. Ferner kann es sich um ein öffentliches Netzwerk, wie beispielsweise das Internet handeln. Ferner kann es sich bei dem beispielsweise um ein digitales zellulares Mobilfunknetzwerk handeln.

Unter einem„Speicher“ bzw.„Datenspeicher“ werden hier sowohl flüchtige als auch nicht flüchtige elektronische Speicher bzw. digitale Speichermedien verstanden.

Unter einem„nichtflüchtigen Speicher“ wird hier ein elektronischer Speicher zur dauerhaften Speicherung von Daten verstanden. Ein nichtflüchtiger Speicher kann als nichtänderbarere Speicher konfiguriert sein, der auch als Read-Only Memory (ROM) bezeichnet wird, oder als änderbarer Speicher, der auch als Non-Volatile Memory (NVM) bezeichnet wird. Insbesondere kann es sich hierbei um ein

EEPROM, beispielsweise ein Flash-EEPROM, kurz als Flash bezeichnet, handeln. Ein nichtflüchtiger Speicher zeichnet sich dadurch aus, dass die darauf gespeicher- ten Daten auch nach Abschalten der Energieversorgung erhalten bleiben.

Unter einem„flüchtigen elektronischen Speicher“ wird hier ein Speicher zur vo- rübergehenden Speicherung von Daten, welcher dadurch gekennzeichnet ist, dass alle Daten nach dem Abschalten der Energieversorgung verloren gehe. Insbesonde- re kann es sich hierbei um einen flüchtigen Direktzugriffsspeicher, der auch als Random-Access Memory (RAM) bezeichnet wird, oder einen flüchtigen Arbeitsspei- cher des Prozessors handeln.

Unter einem„Prozessor“ wird hier und im Folgenden eine Logikschaltung verstan- den, die zur Ausführung von Programminstruktionen dient. Die Logikschaltung kann auf einem oder mehreren diskreten Bauelementen implementiert sein, insbesondere auf einem Chip. Insbesondere wird unter einem„Prozessor“ ein Mikroprozessor o- der ein Mikroprozessorsystem aus mehreren Prozessorkernen und/oder mehreren Mikroprozessoren verstanden.

Unter einer„Schnittstelle“ bzw.„Kommunikationsschnittstelle“ wird hier eine Schnitt- steile verstanden, über die Daten empfangen und gesendet werden können, wobei die Kommunikationsschnittstelle kontaktbehaftet oder kontaktlos konfiguriert sein kann. Bei der Kommunikationsschnittstelle kann es sich um eine interne Schnittstel- le oder um eine externe Schnittstelle handeln, welche beispielsweise mittels eines Kabels oder kabellos mit einem zugeordneten Gerät verbunden ist. Unter einer Kommunikationsschnittstelle zur drahtlosen Kommunikation wird eine Kommunikati- onsschnittstelle, welche zum kontaktlosen Senden und Empfangen von Daten kon- figuriert ist. Die Kommunikation kann beispielsweise nach einem RFID- und/oder NFC-Standard, wie etwa Bluetooth, erfolgen. Ferner kann die Kommunikations- Schnittstelle zur Kommunikation über ein lokales Funknetz konfiguriert sein, bei spielsweise nach einem Standard der IEEE-802.11 -Familie und/oder Wi-Fi.

Eine Schnittstelle kann beispielsweise als Funkschnittstelle konfiguriert sein, welche eine Kommunikation über ein digitales zellulares Mobilfunknetzwerk ermöglicht, das nach einem Mobilfunkstandard wie zum Beispiel GSM, UMTS, LTE, CDMA oder einem anderen Standard aufgebaut sein kann

Eine bidirektional verknüpfte Blockchain-Struktur kann auf unterschiedliche Weise implementiert sein. Im Folgenden werden exemplarische Verknüpfungsverfahren zum Zwecke der Illustration beschrieben. Gemäß einer ersten exemplarischen Variante können bidirektionale Verknüpfungen wie folgt implementiert werden:

Nach Ausführungsformen umfasst das Verfahren:

• Bereitstellen der bidirektional verketteten Blockchain-Struktur,

• Bereitstellen zu speichernder Daten, wie etwa eines oder mehrerer Attribute eines Dokuments,

• Bereitstellen einer ersten Funktionenschar, welche eine Mehrzahl von Funk- tionen umfasst, wobei sich die Funktionen in mindestens einem ersten Para- meter unterscheiden und unter Verwendung des jeweiligen ersten Parame- ters eindeutig identifizierbar sind,

• Erzeugen eines zusätzlichen Blocks zum Erweitern der Blockchain-Struktur, welcher die zu speichernden Daten umfasst und dazu vorgesehen ist mit dem letzten Block der Blockchain-Struktur bidirektional verkettet zu werden, wobei der letzte Block der Blockchain-Struktur gespeicherte Daten umfasst,

• Erstellen einer ersten blockabhängigen bidirektionalen Verkettungsfunktion zum bidirektionalen Verketten des letzten Blocks mit dem zusätzlichen Block, wobei das Erstellen der ersten Verkettungsfunktion umfasst:

o Berechnen zumindest eines ersten Prüfwerts für den letzten und den zusätzlichen Block unter Verwendung der in dem letzten Block ge- speicherten Daten und der in dem zusätzlichen Block zu speichernden Daten,

o Auswählen einer ersten Funktion der ersten Funktionenschar in Ab- hängigkeit von dem ersten Prüfwert gemäß einer ersten eindeutigen Zuordnungsbedingung zwischen dem ersten Parameter der ausge- wählten ersten Funktion und dem ersten Prüfwert,

o Verwenden der ausgewählten ersten Funktion zum Erstellen der ers- ten blockabhängigen bidirektionalen Verkettungsfunktion,

• Bidirektionales Verketten des letzten Blocks mit dem zusätzlichen Block, wo- bei das bidirektionale Verketten umfasst: o Hinzufügen der ersten blockabhängigen bidirektionalen Verkettungs- funktion zu dem letzten Block,

o Hinzufügen der ersten blockabhängigen bidirektionalen Verkettungs- funktion zu dem zusätzlichen Block,

• Speichern der um den zusätzlichen Block erweiterten Blockchain-Struktur.

Ausführungsformen können den Vorteil haben, dass sie es ermöglichen, eine bidi rektional verkettete Blockchain-Struktur bereitzustellen, deren Blöcke mittels block- abhängiger bidirektionaler Verkettungsfunktionen miteinander verkettet sind. Die Verkettung ermöglicht dabei eine bidirektionale Prüfung der Blockchain-Struktur auf Echtheit bzw. Manipulation. Dabei kann die Blockchain-Struktur nicht nur in einer Richtung, sondern in zwei Richtung geprüft werden.

Eine blockabhängige Verkettungsfunktion bezeichnet eine Funktion, welche zumin- dest eine Variable umfasst und von mindestens einem blockabhängigen Prüfwert abhängt. Beispielseise umfasst die blockabhängige Verkettungsfunktion den block- abhängigen Prüfwert als Parameter. Eine blockabhängige bidirektionale Verket- tungsfunktion bezeichnet eine Funktion, welche zumindest eine Variable umfasst und von den Prüfwerten zweier aufeinanderfolgender Blöcke abhängt. Beispielswei- se wird für jeden der beiden Blöcke jeweils ein Prüfwert berechnet und die blockab- hängige bidirektionale Verkettungsfunktion abhängt von beiden Prüfwerten ab. Bei- spielsweise umfasst sie beide Prüfwerte als Parameter. Beispielsweise wird für je- den der beiden Blöcke jeweils ein Prüfwert berechnet und die beiden resultierenden Prüfwerte werden zu einem gemeinsamen Prüfwert kombiniert, von welchem die blockabhängige bidirektionale Verkettungsfunktion abhängt. Beispielsweise umfasst die blockabhängige bidirektionale Verkettungsfunktion den gemeinsamen Prüfwert als Parameter. Beispielsweise wird werden die von den beiden Blöcken umfassten Daten bzw. Nutzdaten miteinander kombiniert und ein gemeinsamer Prüfwert aus den kombinierten Daten berechnet. In diesem Fall hängt die blockabhängige bidi rektionale Verkettungsfunktion beispielsweise von dem gemeinsamen Prüfwert ab. Beispielsweise umfasst sie den gemeinsamen Prüfwert als Parameter. Im Falle einer unidirektional verketteten Blockchain-Struktur wird ein Prüfwert unter Verwendung eines Blocks der Blockchain-Struktur berechnet und zu einem mit die sem Block unidirektional zu verkettenden zusätzlichen Block hinzugefügt. Durch dieses Hinzufügen entsteht eine unidirektionale Verkettung. Anhand des hinzuge- fügten Prüfwerts kann die Integrität des Blocks bzw. der Daten des Blocks geprüft werden, mit welchem der zusätzliche Block unidirektional verkettet ist. Hierzu wird beispielsweise unter Verwendung der Daten des zu überprüfenden Blocks der Prüfwert nachgerechnet und mit dem von dem hinzugefügten Prüfwert verglichen. Stimmen beide Prüfwerte überein, ist die Integrität des Blocks bzw. der Daten des entsprechenden Blocks gewahrt, mit welchem der zusätzliche Block unidirektional verkettet ist. Diese Verkettung ist unidirektional da eine Prüfung von Daten nur in einer Richtung ermöglicht wird: Anhand des zu dem zusätzlichen Block hinzugefüg- ten Prüfwertes kann die Integrität des vorangehenden Blocks geprüft werden. Je- doch kann nicht anhand irgendeiner von dem vorangehenden Block umfassten In- formation die Integrität des nachfolgenden Blocks, d.h. des zusätzlichen Blocks, geprüft werden.

Im Falle der bidirektional verketteten Blockchain-Struktur gemäß Ausführungsfor- men wird eine blockabhängige bidirektionale Verkettungsfunktion berechnet. Diese blockabhängige bidirektionale Verkettungsfunktion ist sowohl von den Daten beider miteinander bidirektional verketteten Blöcken abhängig. Beispielsweise wird die blockabhängige bidirektionale Verkettungsfunktion zu jedem der beiden Blöcke je- weils hinzugefügt. Anhand der blockabhängigen bidirektionalen Verkettungsfunktion kann somit die Integrität beider Blöcke bzw. der Daten beider Blöcke geprüft wer- den. Hierzu wird beispielsweise unter Verwendung der Daten beider Blöcke die blockabhängige bidirektionale Verkettungsfunktion nachgerechnet und mit der zu einem der beiden Blöcke hinzugefügten blockabhängige bidirektionale Verkettungs- funktion verglichen. Stimmen die berechnete und die bereitgestellte blockabhängige bidirektionale Verkettungsfunktion überein, ist die Integrität beider Blöcke bzw. der Daten beider Blöcke gewahrt. Ausgangspukt der Prüfung können dabei beide Blö- cke sein, da beide Blöcke jeweils die blockabhängige bidirektionale Verkettungs- funktion umfassen. Eine Prüfung der Daten wird somit in beide Richtungen ermög- licht: Anhand der zu dem zusätzlichen Block hinzugefügten blockabhängige bidirek tionale Verkettungsfunktion kann die Integrität des vorangehenden Blocks geprüft werden. Ebenso kann anhand der von dem vorangehenden Block umfassten block- abhängige bidirektionale Verkettungsfunktion Integrität des nachfolgenden Blocks, d.h. des zusätzlichen Blocks, geprüft werden.

Wird eine bidirektionale Verkettungsfunktion also sowohl zu dem zusätzlichen Block hinzugefügt als auch zu dem Block, mit welchem der zusätzliche Block bidirektional verkettet wird, so kann eine Integritätsprüfung auch auf Basis der zu dem entspre- chenden Block der Blockchain-Struktur hinzugefügten bidirektionalen Verkettungs- funktion erfolgen. Mit anderen Worten kann bei einer bidirektionalen Verkettung zweier Blöcke eine Integritätsprüfung sowohl ausgehend von der in einem ersten der beiden Blöcke gespeicherten bidirektionalen Verkettungsfunktion ausgeführt werden, als auch ausgehend von der in dem zweiten der beiden Blöcke gespeicher- ten bidirektionalen Verkettungsfunktion.

Eine zusätzliche Konsistenzprüfung kann beispielsweise darin bestehen zu prüfen, ob beide bidirektional miteinander verknüpften Blöcke dieselbe blockabhängige bidi- rektionale Verkettungsfunktion umfassen.

Anhand einer blockabhängigen bidirektionalen Verkettungsfunktion kann im Gegen- satz zu bekannten unidirektional verketteten Blockchain-Strukturen beispielsweise auch erkannt werden, ob die Blockchain-Struktur abgeschnitten wurde. Da die Prüfwerte im Fall bekannter unidirektional verketteter Blockchain-Strukturen jeweils nur Informationen über vorangehende Blöcke umfassen, kann auf Basis eines sol- chen Prüfwerts nicht erkannt werden, ob nachfolgende Blöcke existieren. Somit kann auch nicht erkannt werden, wenn nachfolgende Blöcke im Zuge einer Manipu- lation verändert, ersetzt oder entfernt werden. Demgegenüber umfasst eine block- abhängige bidirektionale Verkettungsfunktion gemäß Ausführungsformen, jeweils Informationen über beide miteinander verkettete Blöcke. Ferner wird die Verket- tungsfunktion zu jedem der beiden entsprechenden Blöcke hinzugefügt. Wird ein hinzugefügter Block im Zuge einer Manipulation verändert, ersetzt oder entfernt, so kann dies anhand der blockabhängigen bidirektionalen Verkettungsfunktion des vo- rausgehenden Blocks erkannt werden, mit welchem der hinzugefügte Block bidirek- tional verkettet ist.

Eine Funktionenschar bezeichnet eine Mehrzahl von Funktionen, welche sich in mindestens einem Parametern unterscheiden. Bei den Funktionen kann es sich um ein- oder mehrdimensionale Funktionen handeln, d.h. die Funktionen können ein oder mehr Variablen umfassen. Beispielsweise unterscheiden sich die Funktionen in einem Parameter. Beispielsweise unterscheiden sich die Funktionen in n Parame- tern, wobei die n-Parameter ein n-Tupel bilden. Beispielsweise ist n = 2, d.h. die Funktionen unterscheiden sich in zwei Parametern. Funktionen der Funktionenschar sind anhand der Parameter in denen sie sich unterscheiden eindeutig identifizierbar. Die Funktionen der Funktionenschar sind beispielsweise Elemente eines Funktio- nenraums und können durch ein Funktional, d.h. eine Funktion auf Funktionen, be- schrieben werden.

Ein Parameter bezeichnet eine funktionsindividuelle Konstante, d.h. einen Wert der von Funktion zu Funktion der Funktionenschar variieren kann, für eine bestimmte Funktion aber stets festgelegt bzw. konstant ist. Bei einem Parameter kann es sich beispielsweise um einen Summanden, Minuenden, Subtrahenden, Faktor, Dividen- den, Divisor oder Exponenten handeln.

Bei der Zuordnungsbedingung beschreibt das Verhältnis zwischen Prüfwert(en) und Parameter(en) der ausgewählten Funktion. Beispielsweise werden ein oder mehrere Prüfwerte berechnet und durch die Zuordnungsbedingung für jeden der Prüfwerte ein Parameter bestimmt. Diejenige Funktion einer Funktionenschar, welche die ent- sprechenden Parameter aufweist bzw. durch die entsprechenden Parameter identi- fiziert wird, wird zum Erstellen der ersten blockabhängigen bidirektionalen Verket- tungsfunktion ausgewählt.

Bei der Zuordnungsbedingung kann es sich beispielsweise eine Identität handeln. Das heißt, diejenige Funktion, welche als Parameter die berechneten Prüfwerte aufweist, wird ausgewählt. Die Zuordnungsbedingung kann auch durch eine lineare Funktion oder eine nichtlineare Funktion, wie etwa ein Polynom, gegeben sein.

Durch eine lineare Funktion kann beispielsweise ein Offset eingeführt werden, um zu vermeiden, dass Parameterwerte kleiner als der entsprechende Offset verwendet werden. Dadurch kann beispielsweise sichergestellt werden, dass die ausgewählten Funktionen ein Mindestmaß an Komplexität aufweisen.

Aus dem Stand der Technik ist bekannt, wie man mit Hilfe spezieller Funktionen, wie etwa Flashfunktionen, aus beliebigen Daten bzw. Informationen eine Zahl, d.h. einen Prüfwert, generiert. Ausführungsformen können den Vorteil haben, aus den Daten bzw. Informationen statt Zahlen, analytische Funktionen generiert werden. Flierzu dienen die Zahlen beispielsweise als Zwischenergebnis, am Ende steht je- doch eine Verkettungsfunktion. Ausführungsformen können somit den Vorteil ha- ben, aus digitalisierten Informationen in Abhängigkeit von den Ausgangsinformatio- nen eine analytische Funktion zu generieren. Flierzu wird aus den Informationen zunächst eine Zahl, ein Zahlenpaar oder ein n-Tupel an Zahlen bzw. Prüfwerten generiert. Im nächsten Schritt wird (werden) diese Zahl (Zahlen) bzw. Prüfwerte verwendet zur Bestimmung von ein oder mehreren Parametern einer Funktion. Aus Daten bzw. Informationen werden dabei Funktionen generiert, mit denen in einem nächsten Schritt Funktionalisierungen durch analytische Operationen realisiert wer- den könne. Beispielsweise dienen die Funktionen als Verkettungsfunktionen von Datenblöcken, welche dazu verwendet werden können, die Integrität der entspre- chenden Datenblöcke zu prüfen und zu belegen. Aus beliebigen digitalisierten In- formationen können so über Parameter eindeutige analytische Funktion generiert werden, welche als Prüffunktionen dienen können.

Nach Ausführungsformen umfasst das Verwenden der ausgewählten ersten Funkti- on zum Erstellen der ersten blockabhängigen bidirektionalen Verkettungsfunktion ein Verwenden der ausgewählten Funktion als erste blockabhängige bidirektionale Verkettungsfunktion. Nach Ausführungsformen ist also die ausgewählte Funktion identisch zu der ersten blockabhängigen bidirektionalen Verkettungsfunktion. Aus- führungsformen können den Vorteil haben, dass durch Verwendung der ausgewähl- ten Funktion als erste blockabhängige bidirektionale Verkettungsfunktion eine effek- tive bidirektionale Verkettung der Blöcke implementiert werden kann. Unter Ver- wendung der blockabhängigen bidirektionalen Verkettungsfunktion kann effektive die Integrität der Daten der Blöcke geprüft werden, von deren Werten bzw. Prüfwer- ten die Verkettungsfunktion abhängt.

Nach Ausführungsformen ist der erste Prüfwert ein kombinierter Prüfwert, welcher sowohl von den in dem letzten Block gespeicherten Daten als auch von den in dem zusätzlichen Block zu speichernden Daten abhängt. Beispielsweise werden die Da- ten miteinander kombiniert und der Prüfwert unter Verwendung der kombinierten Daten berechnet. Nach einer alternativen Ausführungsform wird für jeden der Blö- cke jeweils ein Prüfwert berechnet und die beiden resultierenden Prüfwerte zu dem kombinierten Prüfwert kombiniert. Ausführungsformen können den Vorteil haben, dass die Informationen über den Inhalt der Daten zweier Blöcke in einer Funktion zusammengefasst werden können.

Nach Ausführungsformen sind die Daten in den Blöcken der Blockchain-Struktur jeweils in einer quadratische-Matrixstruktur gespeichert, wobei T eine natürliche Zahl größer-gleich zwei ist, wobei das Berechnen des ersten Prüfwerts umfasst: o Berechnen einer Summe über jede Spalte einer ersten Matrixstruktur, welche von den beiden Matrixstrukturen der in dem letzten Block gespeicherten Da- ten und der in dem zusätzlichen Block zu speichernden Daten bereitgestellt wird,

o Berechnen einer Summe über jede Zeile einer zweiten Matrixstruktur, welche von den beiden Matrixstrukturen der in dem letzten Block gespeicherten Da- ten und der in dem zusätzlichen Block zu speichernden Daten bereitgestellt wird,

o Berechnen der kombinierten Summe aus der Summe der i-ten Spalte und der Summe der i-ten Zeile, wobei i eine natürliche Zahl ist und von 1 bis T läuft,

o Bilden des ersten blockabhängigen Prüfwerts durch Verknüpfen der kombi- nierten Summen miteinander. Ausführungsformen können den Vorteil haben, dass durch unterschiedliche Sum- mationsregeln für die beiden miteinander zu verkettenden Blöcken, beispielsweise einerseits eine Summenbildung über die einzelnen Spalten und andererseits eine Summenbildung über die einzelnen Zeilen, der resultierende kombinierte Prüfwert nicht nur Informationen über die Daten der miteinander zu verkettenden Blöcke um- fasst, sondern auch Informationen über deren Reihenfolge. Wird die Reihenfolge der beiden Blöcke vertauscht, so erfolgt beispielsweise für den vormals vorange- henden Block keine spalten-, sondern eine zeilenweise Summenbildung, während für den vormals nachfolgenden, nun aber vorangehenden Block eine spaltenweise statt eine zeilenweise Summenbildung erfolgt.

Nach Ausführungsformen können die miteinander zu verkettenden Blöcke auch Matrixstrukturen unterschiedlicher Größe aufweisen. Beispielsweise sind die Daten eines Blocks in einer (VxW)-Matrixstruktur gespeichert, während die Daten des an- deren Blocks in einer (XxY)-Matrixstruktur gespeichert sind, wobei V, W, X, Y natür- liche Zahlen größer-gleich zwei sind. In diesem Fall kann für die Bildung des kombi- nierten Prüfwerts bestimmt werden, welche der Zahlen V, W, X, oder Y am größten ist, die Anzahl an Zeilen V oder X oder die Anzahl an Spalten W oder Y. Falls die Zeilen- und Spaltenzahlen identisch sind, sind keine zusätzlichen Verfahrensschritte notwendig. Ist die Anzahl der Spalten und/oder Zeilen für die beiden Matrixstruktu- ren unterschiedlich werden die Matrixstrukturen jeweils um so viele Zeilen und/oder Spalten erweitert, dass alle Spalten- und Zeilenzahlen identisch mit der zuvor be- stimmten größten Zahl sind. Dabei wird allen ergänzten Matrixelementen ein festge- legter Platzhalterwert zugeordnet, z. B. der Wert 0. Im Ergebnis erhält man so zwei quadratische Matrixstrukturen identischer Größe, auf welche das zuvor genannte Verfahren für quadratische (TxT)-Matrixstrukturen angewendet werden kann.

Nach Ausführungsformen umfasst das Verknüpfen der kombinierten Summen mit- einander ein Aneinanderreihen der kombinierten Summen. Ausführungsformen können den Vorteil haben, dass sie ein einfaches und eindeutiges Verfahren zum Bilden des kombinierten Prüfwerts bereitstellen. Nach Ausführungsformen unterscheiden sich die Funktionen der ersten Funktionen- schar in einer Mehrzahl von n Parametern und sind unter Verwendung derjeweili- gen n Parameter, welche ein n-Tupel von Parametern bilden, eindeutig identifizier- bar, wobei die n-Tupel von Parametern jeweils den ersten Parameter umfassen, wobei das Erstellen der ersten blockabhängigen bidirektionalen Verkettungs- funktion ferner umfasst:

o Berechnen eines n-Tupels von ersten Prüfwerten für den letzten und den zusätzlichen Block unter Verwendung der in dem letzten Block gespeicherten Daten und der in dem zusätzlichen Block zu speichern- den Daten, wobei das n-Tupel den ersten Prüfwert umfasst, o Auswählen der ersten Funktion der ersten Funktionenschar in Abhän- gigkeit von dem n-Tupel von Prüfwerten gemäß einer ersten eindeuti- gen Zuordnungsbedingung zwischen dem n-Tupel von Parametern der ausgewählten ersten Funktion und dem n-Tupel von Prüfwerten.

Ein n-Tupel (xi, ..., x n ) bezeichnet eine Zusammenfassung von n mathematischen Objekten, hier beispielsweise Prüfwerten oder Parametern, in einer Liste. Dabei müssen die mathematischen Objekte dabei nicht notwendigerweise voneinander verschieden sein und ihre Reihenfolge ist maßgeblich. Mit anderen Worten zwei n- Tupel, welche jeweils dieselben mathematischen Objekten, sind verschieden vonei- nander, wenn die Reihenfolge der Objekte verschieden ist. Das an der i-ten Stelle stehende Objekt x, heißt dabei i-te Komponente des Tupels.

Ausführungsformen können den Vorteil haben, dass beispielsweise für jeden der beiden miteinander zu verknüpfenden Blöcke jeweils ein Prüfwert berechnet wird. Beispielweise kann es sich bei dem n-Tupel um ein 2-Tupel, d.h. ein geordnetes Paar, welches aus den beiden Prüfwerten besteht. Ausführungsformen können fer- ner den Vorteil haben, dass eine Mehrzahl von Prüfwerten pro Block berechnet werden kann, beispielsweise n/2 Prüfwerte. Somit können beispielsweise jeweils Prüfwerte für bestimmte Teilbereiche der Blöcke berechnet werden. Dies kann zum Beispiel den Vorteil haben, dass einzelne Teilbereiche durch einen eigenständigen Prüfwert gesichert werden können. Ferner kann bereits die Zuordnung einzelner Prüfparameter zu einzelnen Teilbereichen die Komplexität der Erzeugung der ersten blockabhängigen bidirektionalen Verkettungsfunktion und damit die Sicherheit erhö- hen.

Nach Ausführungsformen umfasst das Verfahren ferner:

• Bereitstellen einer zweiten Funktionenschar, welche eine Mehrzahl von Funk- tionen umfasst, wobei sich die Funktionen in mindestens einem zweiten Pa- rameter unterscheiden und unter Verwendung des zweiten Parameters je- weils eindeutig identifizierbar sind,

wobei das Erstellen der ersten blockabhängigen bidirektionalen Verkettungs- funktion ferner umfasst:

o Berechnen eines zweiten Prüfwerts unter Verwendung der in dem zu- sätzlichen Block zu speichernden Daten, wobei das Berechnen des ersten Prüfwerts unter Verwendung der in dem letzten Block gespei- cherten Daten erfolgt,

o Auswählen einer zweiten Funktion der zweiten Funktionenschar in Abhängigkeit von dem zweiten Prüfwert gemäß einer zweiten eindeu- tigen Zuordnungsbedingung zwischen dem zweiten Parameter der ausgewählten zweiten Funktion und dem zweiten Prüfwert, o Verwenden der ausgewählten zweiten Funktion zum Erstellen der ers- ten blockabhängigen bidirektionalen Verkettungsfunktion, wobei die erste blockabhängige bidirektionale Verkettungsfunktion eine eindeuti- ge Kombination der ersten und zweiten ausgewählten Funktion um- fasst.

Ausführungsformen können den Vorteil haben, dass für jeden der beiden bidirektio nal miteinander zu verkettenden Blöcke, d.h. des zusätzlichen Blocks und des letz- ten Blocks der Blockchain-Struktur, jeweils eine individuelle blockabhängige Funkti- on, i.e. die erste und zweite ausgewählte Funktion, bestimmt werden. Jede dieser beiden Funktionen ermöglicht für sich genommen eine unilaterale Verkettung. Aus der Kombination der beiden Funktionen ergibt sich die blockabhängige bidirektiona- le Verkettungsfunktion, welche eine bidirektionale Verkettung implementiert, wenn Sie in den beiden Blöcken gespeichert wird. Bei der Kombination kann es sich bei spielsweise um Verknüpfungen, wie etwa arithmetische Verknüpfungen, handeln. Solch arithmetische Verknüpfungen können beispielsweise Addition, Subtraktion, Multiplikation und/oder Division umfassen.

Nach Ausführungsformen umfasst die erste Zuordnungsbedingung und/oder die zweite Zuordnungsbedingung jeweils eine lineare Funktion. Ausführungsformen können den Vorteil haben, dass durch eine lineare Zuordnungsbedingung, z.B. der Form P 1 /2 = m-PWi /2 + t, wobei P 1/2 den ersten/zweiten Parameter, PW 1/2 den ers- ten/zweiten Prüfwert, m eine Steigung und t einen Minimalwert bezeichnen, sicher- gestellt werden kann, dass der ersten und/oder zweiten Parameter einen stets grö- ßer gleich einem Minimalwert sind. Dadurch kann beispielsweise gewährleistet wer- den, dass die ausgewählten ersten und/oder zweiten Funktionen eine bestimmte Mindestkomplexität aufweist. Ferner kann durch eine lineare Zuordnungsbedingung der Abstand zwischen den ersten und/oder zweiten Parameter relativ zu dem Ab- stand zwischen den zugrundeliegenden ersten und/oder zweiten Prüfwerten erhöht werden. Dadurch kann gewährleistet werden, dass sich die resultierenden ersten und/oder zweiten Funktionen sich für unterschiedliche zugrundeliegende Prüfwerte deutlich voneinander unterscheiden.

Nach Ausführungsformen umfasst die erste Zuordnungsbedingung und/oder die zweite Zuordnungsbedingung eine Identität. Ausführungsformen können den Vorteil haben, dass der erste und/oder zweite Prüfwert als erster und/oder zweiter Parame- ter in die erste und/oder zweite Funktion eingeht.

Nach Ausführungsformen umfassen die Funktionen der ersten Funktionenschar und/oder die Funktionen der zweiten Funktionenschar jeweils ein Polynom, wobei der erste Parameter und/oder der zweite Parameter der Grad der Polynome ist. Ausführungsformen können den Vorteil haben, dass eine effizientes und effektives Verfahren zum Bestimmen der ersten und/oder zweiten Funktion bereitgestellt wird. Nach Ausführungsformen handelt es sich bei den von den Funktionen der ersten Funktionenschar und/oder den Funktionen der zweiten Funktionenschar umfassten Polynomen um Flermitesche Polynome, Legendre Polynome, Laguerre Polynome, Tschebyschow Polynome oder um Polynome diskreter Fourier Transformationen. Ausführungsformen können den Vorteil haben, dass eine effizientes und effektives Verfahren zum Bestimmen der ersten und/oder zweiten Funktion bereitgestellt wird

Beispielsweise handelt es sich um Flermitesche Polynome H n (x) der Form

H n (x)= wobei der Prüfwert als Parameter n oder eine lineare

Funktion des Prüfwerts als Parameter n verwendet wird. Beispielsweise handelt es sich um Legendre Polynome P n (x) der Form x " 2k

wobei der Prüfwert als Parameter n oder eine lineare Funktion des Prüfwerts als Parameter n verwendet wird. Beispielsweise handelt es sich um Laguerre Polynome

L n (x) der Form w °b ei der Prüfwert als Parameter n oder eine lineare Funktion des Prüfwerts als Parameter n verwendet wird. Beispielsweise handelt es sich um Tschebyschow Polynome, wie etwa Tschebyschow Polynome

T n (x) erster Art der Form oder Tschebyschow Polynome

sin((n+1 )arccos x)

für |x|<1

1 -x 2

U n (x) zweiter Art der Form U n (x)= < sinh((n+1 )arccos x) , wobei der Prüfwert als für |x|>1

x 2 -1

Parameter n oder eine lineare Funktion des Prüfwerts als Parameter n verwendet wird. Beispielsweise handelt es sich um Polynome diskreter Fourier Transformatio- nen g(x) der Form g(x)= E k=-n c k e lkx , wobei der Prüfwert als Parameter n oder eine lineare Funktion des Prüfwerts als Parameter n verwendet wird. Beispielsweise wird der Realteil Re [g (x)] , der Imaginärteil Im [g (x)] , oder der Betrag |g(x) | verwendet. Nach Ausführungsformen umfassen die Funktionen der ersten Funktionenschar und/oder die Funktionen der zweiten Funktionenschar jeweils eine Kugelflächen- funktion, wobei der erste Parameter und/oder der zweite Parameter ein Index der Kugelflächenfunktionen ist. Ausführungsformen können den Vorteil haben, dass eine effizientes und effektives Verfahren zum Bestimmen der ersten und/oder zwei- ten Funktion bereitgestellt wird. Beispielsweise handelt es sich um Kugelflächen- funktionen Y, m (ö, f) der Form Y, m (ö, f)=^= N, m p, m (cosü)e im * mit N, m = und (x 2 - 1 ) 1 ’ wobei der Prüfwert als Parameter I oder eine lineare

Funktion des Prüfwerts als Parameter I verwendet wird. Beispielsweise wird der Re- alteil Re [Y, m (ü, F)] , der Imaginärteil Im [Y, m (ü, f)] , oder der Betrag |Y, m (ü, f) | verwen- det.

Nach Ausführungsformen umfassen die Funktionen der ersten Funktionenschar und/oder die Funktionen der zweiten Funktionenschar jeweils eine Gaußfunktion, wobei der erste Parameter und/oder der zweite Parameter die Breite der Gaußfunk- tionen ist. Ausführungsformen können den Vorteil haben, dass eine effizientes und effektives Verfahren zum Bestimmen der ersten und/oder zweiten Funktion bereit- gestellt wird. Beispielsweise handelt es sich um Gaußfunktionen der Form , wobei der Prüfwert als Breite bzw. Parameter n oder eine lineare Funktion des Prüfwerts als Parameter n verwendet wird

Nach Ausführungsformen umfasst der letzte Block der Blockchain-Struktur ferner eine zweite blockabhängige bidirektionale Verkettungsfunktion der bidirektionalen Verkettung des letzten Blocks mit einem vorletzten Block der Blockchain-Struktur. Das Flinzufügen der ersten blockabhängigen bidirektionalen Verkettungsfunktion zu dem letzten Block umfasst ein Verknüpfen der ersten Verkettungsfunktion mit der zweiten Verkettungsfunktion. Beispielsweise wird eine Kombination aus der ersten Verkettungsfunktion und der zweiten Verkettungsfunktion gebildet. Bei der Kombi- nation kann es sich beispielsweise um Verknüpfungen, wie etwa arithmetische Ver- knüpfungen, handeln. Solch arithmetische Verknüpfungen können beispielsweise Addition, Subtraktion, Multiplikation und/oder Division umfassen.

Nach Ausführungsformen umfasst das Berechnen des ersten und/oder zweiten Prüfwerts ein Anwenden einer Hashfunktion auf die in dem letzten Block gespei- cherten Daten und/oder die in dem zusätzlichen Block zu speichernden Daten. Aus- führungsformen können den Vorteil haben, dass ein effizientes und effektives Ver- fahren zum Berechnen des ersten und/oder zweiten Prüfwerts bereitgestellt wird.

Nach Ausführungsformen sind aufeinanderfolgende Blöcke der bidirektional verket- teten Blockchain-Struktur jeweils bidirektional miteinander verkettet, wobei zwei bidi rektional miteinander verkettete Blöcke jeweils beide eine gemeinsame blockab- hängige bidirektionale Verkettungsfunktion umfassen, wobei die gemeinsame blockabhängige bidirektionale Verkettungsfunktion jeweils von den in beiden bidirek- tional miteinander verketteten Blöcke gespeicherten Daten abhängig ist.

Gemäß einer zweiten exemplarischen Variante können bidirektionale Verknüpfun- gen wie folgt implementiert werden:

Nach Ausführungsformen umfasst das Verfahren:

• Bereitstellen einer bidirektional verketteten Blockchain-Struktur,

• Bereitstellen der zu speichernden Daten,

• Erzeugen eines zusätzlichen Blocks zum Erweitern der Blockchain-Struktur, welcher die zu speichernden Daten umfasst und dazu vorgesehen ist mit dem letzten Block der Blockchain-Struktur bidirektional verkettet zu werden, wobei der letzte Block der Blockchain-Struktur gespeicherte Daten umfasst,

• Berechnen einer ersten blockabhängigen Verkettungsfunktion zum bidirekti onalen Verketten des letzten Blocks mit dem zusätzlichen Block, wobei das Berechnen der Verkettungsfunktion umfasst:

o Berechnen eines kombinierten blockabhängigen Prüfwerts des letzten und des zusätzlichen Blocks unter Verwendung der in dem letzten Block gespeicherten Daten und der in dem zusätzlichen Block zu speichernden Daten,

o Verknüpfen des kombinierten Prüfwerts mit einer blockunabhängigen verkettungsvorgangsindividuellen Funktion,

• Hinzufügen der ersten blockabhängigen Verkettungsfunktion zu dem letzten Block, • Hinzufügen der ersten blockabhängigen Verkettungsfunktion zu dem zusätz- lichen Block,

• Speichern der um den zusätzlichen Block erweiterten Blockchain-Struktur.

Anhand des kombinierten Prüfwerts, welcher Eingang in die Berechnung der block- abhängigen bidirektionalen Verkettungsfunktion findet, des letzten Blocks, mit wel- chem der hinzugefügte Block bidirektional verkettet ist, kann im Gegensatz zu be- kannten unidirektional verketteten Blockchain-Strukturen auch erkannt werden, ob die Blockchain-Struktur abgeschnitten wurde. Da die Prüfwerte im Fall bekannter unidirektional verketteter Blockchain-Strukturen jeweils nur Informationen über vo- rangehende Blöcke umfassen, kann auf Basis eines solchen Prüfwerts nicht erkannt werden, ob nachfolgende Blöcke existieren. Somit kann auch nicht erkannt werden, wenn nachfolgende Blöcke im Zuge eine Manipulation verändert, ersetzt oder ent- fernt werden. Demgegenüber umfassen die kombinierten Prüfwerte der bidirektiona len Verkettungsfunktionen gemäß Ausführungsformen, jeweils Informationen über beide miteinander verkettete Blöcke. Ferner wird die Verkettungsfunktion zu jedem der beiden entsprechenden Blöcke jeweils hinzugefügt. Wird ein hinzugefügter Block im Zuge eine Manipulation verändert, ersetzt oder entfernt, so kann dies an- hand der Verkettungsfunktion des Blocks, mit welchem der hinzugefügte Block bidi- rektional verkettet ist, erkannt werden.

Nach Ausführungsformen umfasst jeder der inneren Blöcke der Blockchain-Struktur, d.h. alle Blöcke außer dem ersten und letzten Block, zumindest zwei blockabhängi- ge Verkettungsfunktionen, da die inneren Blöcke jeweils mit einem vorangehenden und einem nachfolgenden Block durch unterschiedliche Verkettungsfunktionen ver- kettet sind. Im Gegensatz zu bekannten ausschließlich hashwertbasierten Verket- tungsverfahren für Blockchain-Strukturen werden im vorliegenden Fall keine Ein- zelwerte zu den Blöcken hinzugefügt, sondern Funktionen, welche von zumindest einer Variablen abhängig sind, welche für die Verkettung nicht festgelegt wird. Um- fasst ein Block mehrere blockabhängige Verkettungsfunktionen, so können diese miteinander verknüpft werden. Somit ergibt sich aus dem Spektrum der miteinander verknüpften Verkettungsfunktionen der einzelnen Verbindungen eine gemeinsam resultierende Verkettungsfunktion, welche die Informationen aller beitragenden Ver- kettungsfunktionen der einzelnen Verbindungen vollständig umfasst. Bei einer ent- sprechenden Verknüpfung kann es sich beispielsweise um eine arithmetische Ver- knüpfung, wie Addition, Subtraktion, Multiplikation und/oder Division handeln.

Nach Ausführungsformen umfassen die Daten, welche bei der Berechnung der Prüfwerte berücksichtigt werden, eine echte Untermenge der Daten der entspre- chenden Blöcke. Nach weiteren Ausführungsformen umfassen die Daten, welche bei der Berechnung des Prüfwerts berücksichtigt werden, alle Daten der entspre- chenden Blöcke. Nach Ausführungsformen umfassen die Daten des letzten Blocks der Blockchain-Struktur, welche zur Berechnung des kombinierten blockabhängigen Prüfwerts berücksichtigt werden, die blockabhängige Verkettungsfunktion des letz- ten Blocks mit einem vorletzten Block der Blockchain-Struktur. Nach Ausführungs- formen umfassen die Daten des letzten Blocks, welche bei der Berechnung des kombinierten blockabhängigen Prüfwerts berücksichtigt werden, nicht die Verket- tungsfunktion der Verkettung des letzten Blocks mit dem vorletzten Block.

Nach Ausführungsformen umfasst der letzte Block der Blockchain-Struktur ferner eine zweite blockabhängige Verkettungsfunktion der bidirektionalen Verkettung des letzten Blocks mit einem vorletzten Block der Blockchain-Struktur, wobei das Hinzu- fügen der ersten blockabhängigen Verkettungsfunktion zu dem letzten Block ein Verknüpfen der ersten blockabhängigen Verkettungsfunktion mit der zweiten block- abhängigen Verkettungsfunktion umfasst.

Nach Ausführungsformen umfasst jeder der inneren Blöcke der Blockchain-Struktur, d.h. alle Blöcke außer dem ersten und letzten Block, zumindest zwei blockabhängi- ge Verkettungsfunktionen, da die inneren Blöcke jeweils mit einem vorangehenden und einem nachfolgenden Block durch unterschiedliche Verkettungsfunktionen ver- kettet sind. Im Gegensatz zu bekannten ausschließlich hashwertbasierten Verket- tungsverfahren für Blockchain-Strukturen werden im vorliegenden Fall keine Ein- zelwerte zu den Blöcken hinzugefügt, sondern Funktionen, welche von zumindest einer Variablen abhängig sind, welche für die Verkettung nicht festgelegt wird. Um- fasst ein Block mehrere blockabhängige Verkettungsfunktionen, so können diese miteinander verknüpft werden. Somit ergibt sich aus dem Spektrum der miteinander verknüpften Verkettungsfunktionen der einzelnen Verbindungen eine gemeinsam resultierende Verkettungsfunktion, welche die Informationen aller beitragenden Ver- kettungsfunktionen der einzelnen Verbindungen vollständig umfasst. Bei einer ent- sprechenden Verknüpfung kann es sich beispielsweise um eine arithmetische Ver- knüpfung, wie Addition, Subtraktion, Multiplikation und/oder Division handeln.

Nach Ausführungsformen ist die blockunabhängige verkettungsvorgangsindividuelle Funktion eine Funktion einer Funktionenschar, welche einen Mehrzahl von blockun- abhängigen verkettungsvorgangsindividuellen Funktionen umfasst, wobei jeder Funktion der Funktionenschar jeweils eine Ordnungszahl zugeordnet ist und die Funktionen der Funktionenschar beginnenden mit einer ersten Ordnungszahl, wel- che einer ersten bidirektionalen Verkettung der bidirektional verketteten Blockchain- Struktur zwischen einem ersten und einem zweiten Block der Kettenstruktur zuge- ordnet ist, gemäß einer vordefinierten Zuordnungsvorschrift dazu vorgesehen sind, in aufsteigender Ordnung jeweils individuell einer bidirektionalen Verkettung zweier Blöcke der bidirektional verketteten Blockchain-Struktur zugeordnet und zum Be- rechnen einer von den entsprechenden zwei Blöcken abhängigen Verkettungsfun k- tion verwendet zu werden.

Ausführungsformen können ferner den Vorteil haben, dass durch die Verknüpfung des kombinierten Prüfwerts mit einer blockunabhängigen verkettungsvorgangsindi- viduellen Funktion ein sicheres Verkettungsverfahren durch komplexere und sichere Verkettungsfunktionen implementiert werden kann. Unter einer blockunabhängigen verkettungsvorgangsindividuellen Funktion wird hier eine mathematische Funktion mit zumindest einer Variablen verstanden. Die Funktion ist insofern verkettungsvor- gangsindividuell, als dass für jeden Verkettungsvorgang, d.h. für jede bidirektionale Verbindung zwischen zwei Blöcken der Blockchain-Struktur eine andere Funktion Verwendung findet. Nach Ausführungsformen umfassen alle verkettungsvorgangsi- ndividuellen Funktionen dabei dieselben Variablen. Nach Ausführungsformen wer- den die verkettungsvorgangsindividuellen Funktionen aus einer gemeinsamen übergreifenden Funktion bzw. Funktional abgeleitet, sodass die resultierenden ver- kettungsvorgangsindividuellen Funktionen eine Funktionenschar bilden. Nach Aus- führungsformen sind die Funktionen der Funktionenschar den Verbindungen der Blockchain-Struktur gemäß einer vordefinierten Zuordnungsvorschrift zugeordnet. Nach Ausführungsformen sind die Funktionen der Funktionenschar gemäß der Rei- henfolge der Verbindungen der Blockchain-Struktur geordnet. Auf Basis dieser Ord- nung kann eindeutig festgelegt sein, welche kopiervorgangsindividuelle Funktion für welchen Verkettungsvorgang angewendet wird. Nach Ausführungsformen ist die bidirektionale Verkettung zwischen den Blöcken der Blockchain-Struktur somit nicht nur von den Dateninhalten der beiden miteinander zu verkettenden Blöcke abhän- gig, sondern auch von der Rangfolge der entsprechenden Verbindung zwischen den Blöcken innerhalb der Blockchain-Struktur, d.h. von der Position der Blöcke inner- halb der Blockchain-Struktur.

Nach Ausführungsformen umfasst die blockunabhängige verkettungsvorgangsindi- viduelle Funktion ein Polynom M-ter Ordnung, wobei M eine natürliche Zahl ist, wel- che die der Funktion zugeordnete Ordnungszahl bildet.

Nach Ausführungsformen umfasst die blockunabhängige verkettungsvorgangsindi- viduelle Funktion eine Verknüpfung des Polynoms M-ter Ordnung mit einer Expo- nentialfunktion, wobei der Exponent der Exponentialfunktion ein Polynom der Ord- nung größer-gleich zwei umfasst. Bei einer entsprechenden Verknüpfung kann es sich beispielsweise um eine Multiplikation handeln.

Ausführungsformen können den Vorteil haben, dass die Ordnungszahl der blockun- abhängigen verkettungsvorgangsindividuellen Funktion unter Verwendung der Ord- nung des Polynoms festgelegt werden kann. Dies stellt eine klare Zuordnung der Verkettungsfunktionen zu den einzelnen Verkettungsvorgängen beim Bilden der Blockchain-Struktur bereit. Beispielsweise kann die Ordnung des Polynoms iden- tisch mit der Ordnungszahl sein. Somit wäre der ersten Verbindung der Blockchain- Struktur mit der Ordnungszahl 1 ein Polynom erster Ordnung zugeordnet bzw. eine Verkettungsfunktion, welche ein Polynom erste Ordnung umfasst. Nach weiteren Ausführungsformen kann die Ordnungszahl als Ordnung des Polynoms minus einer vordefinierten Zahl festgelegt sein. Handelt es sich hierbei beispielsweise um die Zahl 10, so wäre der ersten Verbindung der Blockchain-Struktur mit der Ordnungs- zahl 1 ein Polynom elfter Ordnung zugeordnet bzw. eine Verkettungsfunktion, wel- che ein Polynom elfter Ordnung umfasst. Nach Ausführungsformen legt die Zuord- nungsvorschrift zu den einzelnen Verbindungen der Blockchain-Struktur ferner fest, welchen Wert die Koeffizienten der Polynome haben. Eine entsprechende Vorschrift kann durch die gemeinsame übergreifende Funktion festgelegt werden.

Nach Ausführungsformen ist für die gemeinsame übergreifende Funktion, welche zur Bildung der blockabhängigen Verkettungsfunktionen, genauer gesagt der block- unabhängigen verkettungsvorgangsindividuellen Funktionen, verwendet wird, ein Aufsteigeoperator und ein Absteigeoperator vorgesehen, welche beliebige verket- tungsvorgangsindividuelle Funktionen um eine Ordnung oder mehrere Ordnungen herauf- bzw. herabsetzen können. Eine Anwendung eines solchen Aufsteigeopera- tor oder Absteigeoperators auf eine blockunabhängige verkettungsvorgangsindivi- duelle Funktion resultiert somit in einer blockunabhängigen verkettungsvorgangsin- dividuellen Funktion höherer bzw. niedrigerer Ordnung, wobei sowohl dies Aus- gangsfunktion, als auch die Endfunktion von der gemeinsamen übergreifenden Funktion umfasst werden.

Die Verwendung von blockunabhängigen verkettungsvorgangsindividuellen Funkti- onen auf Basis von Polynomen kann ferner den Vorteil haben, dass die entspre- chenden Polynome ineinander transformiert werden können. Durch eine Ablei- tungsoperation kann ein Polynom M-ter Ordnung in ein Polynom (M-1 )-ter Ordnung transformiert werden. Ferner kann ein Polynom M-ter Ordnung durch Multiplikation mit der entsprechenden Variablen, beispielsweise x, in ein Polynom (M+1 )-ter Ord- nung transformiert werden. Nach Ausführungsformen umfassen die Transforma- tionsfunktionen eine Kombination aus der entsprechenden Variablen, d.h. ein Poly- nom erster Ordnung, beispielsweise x, und eines Ableitungsoperators, beispielswei- Im Folgenden werden Transformationsfunktionen, welche eine Funktion M-ter Ordnung, beispielsweise ein Polynom M-ter Ordnung, in eine Funktion (M+1 )-ter Ordnung transformieren als Aufsteigeoperatoren bezeichnet und Transformations- funktionen, welche eine Funktion M-ter Ordnung, beispielsweise ein Polynom M-ter Ordnung, in eine Funktion (M-1 )-ter Ordnung transformieren als Absteigeoperatoren bezeichnet.

Nach Ausführungsformen können die Aufsteigeoperatoren und Absteigeoperatoren ein Polynom M-ter Ordnung in ein Polynom (M+P)-ter Ordnung bzw. (M-P)-ter Ord- nung transformieren, wobei P eine natürliche Zahl größer-gleich zwei bezeichnet. Nach Ausführungsformen umfassen die Transformationsfunktionen in diesem Fall eine Kombination aus einer P-ten Potenz der entsprechenden Variablen, d.h. ein Polynom erster Ordnung, beispielsweise x p , und eines Ableitungsoperators der d p

Ordnung P, beispielsweise

Nach Ausführungsformen umfasst das Berechnen des kombinierten blockabhängi- gen Prüfwerts des letzten und des zusätzlichen Blocks ein Anwenden einer Flash- funktion auf die in dem letzten Block gespeicherten Daten und die in dem zusätzli- chen Block zu speichernden Daten. Ausführungsformen können den Vorteil haben, dass das Verwenden eines Flashwerts zum Bilden des kombinierten Prüfwerts ein einfaches und sicheres Verfahren bereitstellt, um den Daten der miteinander zu ver- kettenden Blöcke einen eindeutigen Prüfwert zuzuordnen.

Gemäß einer dritten exemplarischen Variante können bidirektionale Verknüpfungen wie folgt implementiert werden:

Ausführungsformen umfassen ein Verfahren zum manipulationssicheren Speichern von Daten in einem elektronischen Speicher unter Verwendung einer bidirektional verketteten Blockchain-Struktur, welche zumindest einen ersten und einen letzten Block umfasst. Das Verfahren umfasst:

• Bereitstellen einer bidirektional verketteten Blockchain-Struktur,

• Bereitstellen der zu speichernden Daten,

• Erzeugen eines zusätzlichen Blocks zum Erweitern der Blockchain-Struktur, welcher die zu speichernden Daten umfasst und dazu vorgesehen ist mit dem letzten Block der Blockchain-Struktur bidirektional verkettet zu werden, wobei der letzte Block der Blockchain-Struktur gespeicherte Daten umfasst,

• Berechnen eines ersten Prüfwerts des letzten Blocks zum bidirektional Ver- ketten des zusätzlichen Blocks mit dem letzten Block der Blockchain- Struktur, wobei der erste Prüfwert des letzten Blocks unter Verwendung ei- nes ersten Hashwerts berechnet wird, dessen Berechnung ein Anwenden ei- ner Hashfunktion auf die in dem letzten Block gespeicherten Daten und die in dem zusätzlichen Block zu speichernden Daten umfasst,

• Berechnen eines Prüfwerts des zusätzlichen Blocks zum bidirektional Verket- ten des zusätzlichen Blocks mit dem letzten Block der Blockchain-Struktur, wobei der Prüfwert des zusätzlichen Blocks unter Verwendung eines zweiten Hashwerts berechnet wird, dessen Berechnung ein Anwenden der Hashfunk- tion auf die in dem letzten Block gespeicherten Daten und die auf die in dem zusätzlichen Block zu speichernden Daten umfasst,

• Hinzufügen des ersten Prüfwerts des letzten Blocks zu dem letzten Block,

• Hinzufügen des Prüfwerts des zusätzlichen Blocks zu dem zusätzlichen

Block,

• Speichern der um den zusätzlichen Block erweiterten Blockchain-Struktur.

Ausführungsformen können den Vorteil haben, dass sie es ermöglichen eine Block- chain bereitzustellen, welche mit Hashverfahren bidirektional verkettet ist. Die Ver- kettung ermöglicht ferner eine bidirektionale Prüfung der Blockchain-Struktur auf Echtheit bzw. Manipulation. Dabei kann die Blockchain-Struktur nicht nur in einer Richtung, sondern in zwei Richtung geprüft werden. Ferner kann eine erhöhte Si- cherheit durch komplexere und sichere Hashverfahren implementiert werden.

Nach Ausführungsformen umfasst das Verfahren ferner:

• Berechnen eines kombinierten Prüfwerts des letzten Blocks, wobei der kom- binierte Prüfwert des letzten Blocks unter Verwendung eines vierten Hashwerts berechnet wird, dessen Berechnung ein Anwenden der Hashfunk- tion auf eine Kombination aus dem ersten und dem zweiten Prüfwert des letzten Blocks umfasst, • Hinzufügen des kombinierten Prüfwerts des letzten Blocks zu dem letzten Block der Blockchain-Struktur.

Ausführungsformen können den Vorteil haben, dass der kombinierte Prüfwert auf den Daten des vorletzten Blocks der Blockchain-Struktur, des letzten Blocks der Blockchain-Struktur und des zusätzlichen Blocks basiert. Anhand des kombinierten Prüfwerts können somit zugleich der vorangehende als auch der nachfolgende Block auf ihre Integrität geprüft werden. Nach Ausführungsformen wird der kombinierte Prüfwert KPW N des letzten Blocks wie folgt berechnet:

KPW N = Hash{PW N-1 + PW N }, wobei PW N-i den zweiten Prüfwert des letzten Blocks und PW N den ersten Prüfwert des letzten Blocks bezeichnet. Nach einer alternativen Notation wird der kombinierte Prüfwert KPW N des letzten Blocks wie folgt berechnet:

KPW N = Hash{PW2 N-1 + PW1 N }, wobei PW2 N-i den zweiten Prüfwert des letzten Blocks und PW1 N den ersten Prüf- wert des letzten Blocks bezeichnet.

Ausführungsformen können den Vorteil haben, dass ein effizientes und sicheres Verfahren zum Berechnen des kombinierten Prüfwerts KPW N des letzten Blocks, d.h. des N-ten Blocks der Blockchain-Struktur bereitgestellt wird.

Nach Ausführungsformen umfasst der letzte Block einen Platzhalter, welcher den letzten Block als letzten Block der Blockchain-Struktur kennzeichnet, wobei das Hinzufügen des ersten Prüfwerts des letzten Blocks zu dem letzten Block umfasst: Ersetzen des Platzhalters des letzten Blocks durch den ersten Prüfwert des letzten Blocks.

Ausführungsformen können den Vorteil haben, dass anhand des Platzhalters stets der letzte Block der Blockchain-Struktur erkannt werden kann. Wird das Ende der Blockchain-Struktur im Zuge einer Manipulation abgeschnitten, so umfasst die resul- tierende abgeschnittene Blockchain-Struktur keinen Block mehr, welcher durch ei- nen entsprechenden Platzhalter als letzter Block gekennzeichnet ist. Somit kann allein am Fehlen des entsprechenden Platzhalters ohne weiteren Aufwand erkannt werden, dass die entsprechende Blockchain-Struktur nicht vollständig ist. Nach Aus- führungsformen umfasst der Platzhalter beispielsweise eine oder mehrere Nullen bzw. besteht ausschließlich aus einer oder mehreren Nullen.

Nach Ausführungsformen umfasst der zusätzliche Block einen Platzhalter, welcher den zusätzlichen Block als letzten Block der erweiterten Blockchain-Struktur kenn- zeichnet. Ausführungsformen können den Vorteil haben, dass der zusätzliche Block nach Erweiterung der Blockchain-Struktur als letzter Block der erweiterten Block- chain-Struktur erkannt wird. Zugleich kann erkannt werden, dass die erweiterten Blockchain-Struktur vollständig ist und keine eigentlich nachfolgenden Blöcke ent- fernt wurden.

Nach Ausführungsformen umfasst das Verfahren ferner:

• Berechnen eines kombinierten Prüfwerts des zusätzlichen Blocks, wobei der kombinierte Prüfwert des zusätzlichen Blocks unter Verwendung eines fünf- ten Hashwerts berechnet wird, dessen Berechnung ein Anwenden der Hash- funktion auf eine Kombination aus dem Prüfwert des zusätzlichen Blocks und dem Platzhalter des zusätzlichen Blocks umfasst,

• Hinzufügen des kombinierten Prüfwerts des zusätzlichen Blocks zu dem zu- sätzlichen Block der Blockchain-Struktur.

Ausführungsformen können den Vorteil haben, dass anhand des kombinierten Prüfwerts geprüft werden kann, ob es sich bei dem zusätzlichen Block tatsächlich um den letzten Block der erweiterten Blockchain-Struktur handelt. Zugleich kann anhand des kombinierten Prüfwerts die Integrität des vorangehenden Blocks geprüft werden. Nach Ausführungsformen wird der kombinierte Prüfwert KPW N+i des zusätzlichen Blocks wie folgt berechnet:

KPW N+1 = Hash{PW N + PH N+1 }, wobei PW N den Prüfwert des zusätzlichen Blocks und PH N+I den Platzhalter des zusätzlichen Blocks bezeichnet. Nach einer alternativen Notation wird der kombi- nierte Prüfwert KPW N+i des zusätzlichen Blocks wie folgt berechnet:

KPW N+1 = Hash{PW2 N + PH N+1 }, wobei PW2 N den Prüfwert des zusätzlichen Blocks und PH N+I den Platzhalter des zusätzlichen Blocks bezeichnet.

Ausführungsformen können den Vorteil haben, dass ein effizientes und sicheres Verfahren zum Berechnen des kombinierten Prüfwerts KPW N+i des zusätzlichen Blocks, d.h. des (N+1 )-ten Blocks der erweiterten Blockchain-Struktur, bereitgestellt wird. Nach Ausführungsformen umfasst der erste Block der Blockchain-Struktur einen Platzhalter, welcher den ersten Block als ersten Block der Blockchain-Struktur kennzeichnet. Ausführungsformen können den Vorteil haben, dass anhand des Platzhalters stets der erste Block der Blockchain-Struktur erkannt werden kann.

Wird der Anfang der Blockchain-Struktur im Zuge einer Manipulation abgeschnitten, so umfasst die resultierende abgeschnittene Blockchain-Struktur keinen Block mehr, welcher durch einen entsprechenden Platzhalter als erster Block gekennzeichnet ist. Somit kann allein am Fehlen des entsprechenden Platzhalters ohne weiteren Aufwand erkannt werden, dass die entsprechende Blockchain-Struktur nicht voll- ständig ist. Nach Ausführungsformen umfasst der Platzhalter beispielsweise eine oder mehrere Nullen bzw. besteht ausschließlich aus einer oder mehreren Nullen.

Nach Ausführungsformen umfasst der erste Block der Blockchain-Struktur einen kombinierten Prüfwert KPWi des ersten Blocks, welcher wie folgt berechnet wurde:

KPW 1 = Hash{PH 1 + PW·,}, wobei PHi den Platzhalter des ersten Blocks und PWi einen Prüfwert des ersten Blocks bezeichnet. Der Prüfwert des ersten Blocks etabliert eine bidirektionale Ver- knüpfung mit dem zweiten Block der Blockchain-Struktur. Dabei wurde der Prüfwert des ersten Blocks unter Verwendung eines Hashwerts berechnet wird, dessen Be- rechnung ein Anwenden der Hashfunktion auf die in dem ersten Block gespeicher- ten Daten und die in dem zweiten Block gespeicherten Daten umfasst. Nach einer alternativen Notation wurde der kombinierte Prüfwert KPWi des ersten Blocks wie folgt berechnet:

KPW 1 = Hash{PH 1 + PW1 ,

wobei PHi den Platzhalter des ersten Blocks und PW11 einen Prüfwert des ersten Blocks bezeichnet.

Ausführungsformen können den Vorteil haben, dass ein effizientes und sicheres Verfahren zum Berechnen des kombinierten Prüfwerts KPWi des ersten Blocks der Blockchain-Struktur bereitgestellt wird.

Nach Ausführungsformen weisen die Blöcke der Blockchain-Struktur jeweils eine quadratische (MxM)-Matrixstruktur auf, wobei M eine natürliche Zahl größer-gleich zwei ist. Nach Ausführungsformen werden die gespeicherten Daten der Blöcke der Blockchain-Struktur jeweils von Einträgen einer quadratischen Untermatrix der Mat- rixstruktur des entsprechenden Blocks umfasst.

Ausführungsformen können den Vorteil haben, dass sie eine Strukturierung der Blö- cke bereitstellen, welche ein effektives Erkennen der Daten und Prüfwerte und/oder Berechnen der Prüfwerte ermöglicht. Nach Ausführungsformen wird der erste Prüf- wert eines entsprechenden Blocks von einem oder mehreren Einträgen bzw. Ele- menten einer Spalte oder Zeile der quadratische (MxM)-Matrixstruktur umfasst.

Nach Ausführungsformen wird der erste Prüfwert von der M-ten Spalte oder Zeile oder von der ersten Spalte oder Zeile der quadratische (MxM)-Matrixstruktur um- fasst. Nach Ausführungsformen wird der zweite Prüfwert des entsprechenden Blocks von einem oder mehreren Einträgen bzw. Elementen einer Zeile oder Spalte der quadratische (MxM)-Matrixstruktur umfasst. Nach Ausführungsformen wird der erste Prüfwert von der M-ten Zeile oder Spalte oder von der ersten Zeile oder Spalte der quadratische (MxM)-Matrixstruktur umfasst. Nach Ausführungsformen wird der kombinierte Prüfwert des entsprechenden Blocks von dem Element Q MM oder a der quadratische (MxM)-Matrixstruktur umfasst. Nach Ausführungsformen handelt es sich bei der quadratischen Untermatrix um eine [(M-1 )x(M-1 )]-Matrix.

Nach Ausführungsformen umfassen das Berechnen des ersten Prüfwerts des letz- ten Blocks und das Berechnen des Prüfwerts des zusätzlichen Blocks:

• Berechnen einer Kombination aus den in dem letzten Block gespeicherten Daten und den in dem zusätzlichen Block gespeicherten Daten,

• Berechnen eines Hashwerts der Kombination aus den in dem letzten Block gespeicherten Daten und den in dem zusätzlichen Block gespeicherten Da- ten,

• Aufteilen des Hashwerts der Kombination aus den in dem letzten Block ge- speicherten Daten und den in dem zusätzlichen Block gespeicherten Daten, in einen ersten Teil und einen zweiten Teil, wobei der erste Prüfwert des letz- ten Blocks den ersten Teil umfasst und wobei der Prüfwert des zusätzlichen Blocks den zweiten Teil umfasst.

Ausführungsformen können den Vorteil haben, dass sie ein effektives Verfahren zum Berechnen der beiden Prüfwerte des letzten und des zusätzlichen Blocks be- reitstellen. Nach Ausführungsformen sind die beiden resultierenden Prüfwerte des letzten und des zusätzlichen Blocks somit unterschiedlich.

Nach Ausführungsformen umfasst die Kombination aus den in dem letzten Block gespeicherten Daten und den in dem zusätzlichen Block gespeicherten Daten ein Produkt der Untermatrix des letzten Blocks, deren Einträge die in dem letzten Block gespeichert Daten umfassen, und der Untermatrix des vorletzten Blocks, deren Ein- träge die in dem zusätzlichen Block zu speichernden Daten umfassen. Nach Aus- führungsformen werden der erste Prüfwert PW1 N des letzten Blocks und der Prüf- wert PW2 N des zusätzlichen Blocks wie folgt berechnet:

Hash{D N* D N+1 } = PWl^ + PW2^, wobei D N die Untermatrix des letzten Blocks bezeichnet, deren Einträge die gespei- cherten Daten des letzten Blocks umfassen, und D N+I die Untermatrix des zusätzli- chen Blocks bezeichnet, deren Einträge die gespeicherten Daten des zusätzlichen Blocks umfassen.

Ausführungsformen können den Vorteil haben, dass die aus der Matrixmultiplikation D n * D N+I resultierende eindeutige Matrix als Eingabe für eine Hashfunktion verwen- det wird. Durch die mathematische Eindeutigkeit der Matrixmultiplikation kann si- chergestellt werden, dass sich eine Manipulation der Daten im letzten Block N oder im zusätzlichen Block N+1 in einer Veränderung des berechneten Hashwertes und damit in dem ersten Prüfwert des letzten Blocks und dem Prüfwert des zusätzlichen Blocks bemerkbar macht.

Nach Ausführungsformen umfasst das Berechnen des zweiten Prüfwerts des letzten Blocks:

• Berechnen einer Kombination aus den in einem vorletzten Block der Block- chain-Struktur gespeicherten Daten und den in dem letzten Block gespeicher- ten Daten,

• Berechnen eines Hashwerts der Kombination aus den in dem vorletzten

Block gespeicherten Daten und den in dem letzten Block gespeicherten Da- ten,

• Aufteilen des Hashwerts der Kombination aus den in dem vorletzten Block gespeicherten Daten und den in dem letzten Block gespeicherten Daten, in einen ersten Teil und einen zweiten Teil, wobei ein Prüfwert des vorletzten Blocks den ersten Teil umfasst und wobei der zweite Prüfwert des letzten Blocks den zweiten Teil umfasst.

Ausführungsformen können den Vorteil haben, dass der Prüfwert des vorletzten Blocks und der zweite Prüfwert des letzten Blocks analog zu dem ersten Prüfwert des letzten Blocks und dem Prüfwert des zusätzlichen Blocks berechnet werden. Nach Ausführungsformen umfasst die Kombination aus den in dem vorletzten Block gespeicherten Daten und den in dem letzten Block gespeicherten Daten ein Produkt der Untermatrix des vorletzten Blocks, deren Einträge die in dem vorletzten Block gespeichert Daten umfassen, und der Untermatrix des letzten Blocks, deren Einträ ge die in dem letzten Block zu speichernden Daten umfassen. Nach Ausführungs- formen werden der Prüfwert PW1 N-i des vorletzten Blocks und der zweite Prüfwert PW2 N-I des letzten Blocks wie folgt berechnet:

Hash{D N-1 * D N } = PWI ^.-i + PW2 N.-I , wobei D N-I die Untermatrix des vorletzten Blocks bezeichnet, deren Einträge die gespeicherten Daten des vorletzten Blocks umfassen, und D N die Untermatrix des letzten Blocks bezeichnet, deren Einträge die gespeicherten Daten des letzten Blocks umfassen.

Nach Ausführungsformen sind der erste Prüfwert des letzten Blocks und der Prüf- wert des zusätzlichen Blocks identisch. Ausführungsformen können den Vorteil ha- ben, dass die Berechnung der entsprechenden Prüfwerte effizient erfolgen kann und jeder der beiden Prüfwerte für sich genommen eine Prüfung der bidirektionalen Verknüpfung zwischen dem letzten Block und dem zusätzlichen Block ermöglicht.

Nach Ausführungsformen wird der erste Prüfwert PW N des letzten Blocks wie folgt berechnet:

PW N = Hash{D N+1 + Hash[D N + PW N-1 ]}, wobei D N+I die zu speichernden Daten des zusätzlichen Blocks, D N die gespeicher- ten Daten des letzten Blocks und PW N-i den zweiten Prüfwert des letzten Blocks bezeichnet.

Nach Ausführungsformen wurde der zweite Prüfwert PW N-i des letzten Blocks wie folgt berechnet:

PW N-i = Hash{D N + Hash[D N-1 + PW N-2 ]},

wobei D N die gespeicherten Daten des letzten Blocks, D N-I die gespeicherten Daten des vorletzten Blocks und PW N- 2 einen Prüfwert des vorletzten Blocks bezeichnet. Ausführungsformen können den Vorteil haben, dass ausgehend von dem ersten Block der Blockchain mit dem Prüfwert PWi alle Prüfwerte der nachfolgenden Blö- cke berechnet werden können. Beispielsweise wird PWi wie folgt berechnet wird:

PW 1 = Hash{D 2 + Hash[D 1 + PHi]},

wobei D 2 die gespeicherten Daten des zweiten Blocks, Di die gespeicherten Daten des ersten Blocks und PHi den Platzhalter des ersten Blocks bezeichnet, welcher den ersten Block als ersten Block der Blockchain-Struktur kennzeichnet. Die Be- rechnung kann dabei bei jedem beliebigen Block der Blockchain-Struktur ausge- hend von einem Prüfwert des entsprechenden Blocks begonnen werden. Hervorzu- heben ist, dass jeder dieser Prüfwerte gemäß den obenstehenden Formeln von den Daten der beiden durch diesen Prüfwert bidirektional miteinander zu verkettenden Blöcke sowie von den Daten aller vorangehenden Blöcke abhängt.

Die Verwendung von Ordinalzahlen wie erstes, zweites, drittes etc. dient hier, so- weit sich aus dem konkreten Zusammenhang nicht eindeutig etwas anderes ergibt, allein der Unterscheidung voneinander verschiedener Elemente und soll keine be- stimmte Reihenfolge implizieren.

Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:

Figur 1 ein schematisches Blockdiagramm einer Ausführungsform einer

exemplarischen Dokumentenblockchain-Struktur,

Figur 2 ein schematisches Blockdiagramm einer Ausführungsform einer

exemplarischen Dokumentenblockchain-Struktur,

Figur 3 ein schematisches Blockdiagramm einer Ausführungsform einer

exemplarischen Dokumentenblockchain-Struktur,

Figur 4 ein schematisches Blockdiagramm einer Ausführungsform einer

exemplarischen Dokumentenblockchain-Struktur,

Figur 5 ein schematisches Blockdiagramm einer Ausführungsform eines

exemplarischen Datenverarbeitungssystems, Figur 6 ein schematisches Blockdiagramm einer Ausführungsform eines exemplarischen Datenverarbeitungssystems,

Figur 7 ein schematisches Blockdiagramm einer Ausführungsform einer exemplarischen Berechtigungsblockchain-Struktur,

Figur 8 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Flinzufügen eines Dokuments,

Figur 9 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zur Zugriffsteuerung auf Attribute,

Figur 10 ein schematisches Blockdiagramm einer Ausführungsform eines exemplarischen Datenverarbeitungssystems,

Figur 11 ein schematisches Blockdiagramm einer Ausführungsform einer exemplarischen linearen Blockchain-Unterstruktur,

Figur 12 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Erstellen einer bidirektionalen Blockchain-Unterstruktur, Figur 13 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Erstellen einer bidirektionalen Blockchain-Unterstruktur, Figur 14 ein schematisches Blockdiagramm eines exemplarischen Verfahrens zum Erstellen eines kombinierten blockabhängigen Prüfwerts, Figur 15 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Erstellen eines kombinierten blockabhängigen Prüfwerts, Figur 16 ein schematisches Blockdiagramm einer Ausführungsform einer exemplarischen linearen Blockchain-Unterstruktur,

Figuren 17 schematische Blockdiagramme von ersten Ausführungsformen eines ersten Blocks der Blockchain-Unterstruktur aus Figur 16, Figuren 18 schematische Blockdiagramme von ersten Ausführungsformen eines letzten Blocks der Blockchain-Unterstruktur aus Figur 16, Figuren 19 schematische Blockdiagramme von ersten Ausführungsformen des letzten Blocks der Blockchain-Unterstruktur aus Figur 16, Figuren 20 schematische Blockdiagramme von ersten Ausführungsformen eines zusätzlichen Blocks der Blockchain-Unterstruktur aus Figur 16, Figur 21 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Hinzufügen eines zusätzlichen Blocks, Figur 22 ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Flinzufügen eines zusätzlichen Blocks,

Figuren 23 schematische Blockdiagramme von zweiten Ausführungsformen eines ersten Blocks der Blockchain-Unterstruktur aus Figur 16, Figuren 24 schematische Blockdiagramme von zweiten Ausführungsformen eines letzten Blocks der Blockchain-Unterstruktur aus Figur 16, Figuren 25 schematische Blockdiagramme von zweiten Ausführungsformen des letzten Blocks der Blockchain-Unterstruktur aus Figur 16, und

Figuren 26 schematische Blockdiagramme von zweiten Ausführungsformen eines zusätzlichen Blocks der Blockchain-Unterstruktur aus Figur 16.

Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, wer- den mit denselben Bezugszeichen gekennzeichnet.

Figur 1 zeigt eine Ausführungsform einer exemplarischen nichtlinearen Dokumen- tenblockchain-Struktur 100 mit einer Mehrzahl von Dokumenten 102. Die nichtlinea- re Dokumentenblockchain-Struktur 100 umfasst eine Mehrzahl von linearen Block- chain-Unterstrukturen 104, 108, 110. Jede der linearen Blockchain-Unterstrukturen 104, 108, 110 umfasst jeweils eine Mehrzahl von bidirektional miteinander verknüpf- ten Blöcken. Jedem der Dokumente 102 ist jeweils ein Block Di, D 2 , ..., D N in einer Flauptstruktur 104 der Dokumentenblockchain-Struktur 100 zugeordnet, welche von einer der linearen Blockchain-Unterstrukturen 104, 108, 110 der Dokumentenblock- chain-Struktur 100 gebildet wird. Jedes der Dokumente 102 umfasst eine dokumen- tenindividuelle Nebenstruktur 106. Die Blöcke Di, D 2 , ..., D N der Hauptstruktur 104 bilden jeweils einen Anfangsblock einer von der Nebenstruktur 106 umfassten linea- ren Blockchain-Unterstruktur 108. Die Blöcke der linearen Blockchain-Unterstruktur 108, z.B. G 1 i, ..., G N Q, sind jeweils einer Attributgruppe G 1 i, ..., G N Q des entspre- chenden Dokuments 102 zugeordnet. Eine solche Attributgruppe G 1 i, ..., G N Q ent- spricht beispielsweise einer Seite eines äquivalenten Dokuments in Papierform und/oder fasst thematisch zusammengehörige Attribute A N n, ... , A N IS bzw. A N QI , ... , A N QR zusammen. Die Blöcke, etwa G 1 i, ..., G N Q, der linearen Blockchain- Unterstrukturen 108 bilden jeweils einen Anfangsblock weiterer von der Nebenstruk- tur 106 umfasster linearer Blockchain-Unterstrukturen 110. Die Attribute, z.B. A N n , A N IS bzw. A N QI , A n qr , der Attributgruppen, z.B. G 1 i, ..., G N Q, sind über die Blöcke der linearen Blockchain-Unterstrukturen 110 verteilt gespeichert. Beispiels- weise ist in jedem der Blöcke der linearen Blockchain-Unterstrukturen 110 jeweils ein Attribut, z.B. A N n , ... , A N i S bzw. A N QI , ..., A N QR , des entsprechenden Dokuments D N gespeichert. Durch eine selektive Zugriffsteuerung auf die individuellen Blöcke der Dokumentenblockchain-Struktur 100 kann eine selektive Zugriffsteuerung auf die individuellen, von den Dokumenten der Dokumentenblockchain-Struktur 100 umfassten Attribute implementiert werden.

Figur 2 zeigt eine Ausführungsform einer exemplarischen nichtlinearen Dokumen- tenblockchain-Struktur 100, welche eine Mehrzahl von Ergänzung- oder Ände- rungsdokumenten 107 zu dem Dokument D2 umfasst. Dem Dokument D2 ist eine Ergänzung- oder Änderungsstruktur 105 zugeordnet. Die Ergänzung- oder Ände- rungsstruktur 105 umfasst eine lineare Blockchain-Unterstruktur 109. Jeder der Blö cke D 2.I , D 2. 2 J · , D 2 N ist jeweils einem der Ergänzung- oder Änderungsdokumenten des Dokuments D2 zugeordnet. Die Blöcke D 2.I , D 2 2 , ... , D 2 N der linearen Block- chain-Unterstruktur 109 bilden jeweils einen Anfangsblock einer von der Ergänzung- oder Änderungsstruktur 105 umfassten linearen Blockchain-Unterstruktur 108. Die Blöcke der linearen Blockchain-Unterstrukturen 108 bilden jeweils einen Anfangs- block weiterer von der Ergänzung- oder Änderungsstruktur 105 umfasster linearer Blockchain-Unterstrukturen 110. Analog zu den Nebenstrukturen 106 der Dokumen- te 102 aus Figur 1 sind die Blöcke der linearen Blockchain-Unterstrukturen 108 At- tributsgruppen G z1 i, ..., G 2 \ zugeordnet, deren Attribute A z1 n , ... , A z1 n über die Blöcke der linearen Blockchain-Unterstrukturen 110 verteilt gespeichert sind. Bei- spielsweise ist in jedem der entsprechenden Blöcke jeweils ein Attribut gespeichert.

Figur 3 zeigt eine Ausführungsform einer exemplarischen nichtlinearen Dokumen- tenblockchain-Struktur 100, in welcher nur die umfassten Dokumente 102, 112, 114, nicht deren Unterstrukturen, dargestellt sind. Die Dokumentenblockchain-Struktur 100 umfasst in einer linearen Flauptstruktur eine Mehrzahl von Dokumenten 102 eines Nutzers beginnend mit einer Geburtsurkunde und, im Todesfall des Nutzers, endend mit einer Sterbeurkunde. Die Dokumenten 102 der linearen Hauptstruktur werden durch Änderungsdokumente 112 und Ergänzungsdokumente 114 geändert oder ergänzt, wobei die Änderungsdokumente 112 und Ergänzungsdokumente 114 in Nebenzweigen, d.h. Änderungs- und Ergänzungsstrukturen, an die Dokumenten 102 der linearen Hauptstruktur angehängt werden. Bei einer Änderung kann es sich beispielsweise um eine Adressänderung für einen Personalausweis handeln. Bei einer Ergänzung kann es sich beispielweise Visa zu einem Reisepass oder Anlagen zu einem Arbeitsvertrag handeln.

Figur 4 zeigt eine weitere exemplarische Ausführungsform, welche eine Mehrzahl von Dokumentenblockchain-Strukturen 100 eines Nutzers aus unterschiedlichen Bereichen umfasst, welche miteinander Verknüpft sind. Dokumentenblockchain- Strukturen 100 sind exemplarisch für folgende Bereich dargestellt: Vermögen, Steu- er, Rente, Leben, Gesundheit, Versicherung. Die Dokumentenblockchain-Strukturen 100 des Bereichs Leben beginnt mit der Geburtsurkunde des Nutzers und endet mit dessen Sterbeurkunde, kann somit das gesamte Leben des Nutzers umfassen.

Figur 5 zeigt eine exemplarische Ausführungsform einer selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten, welche in Form einer Dokumenten- blockchain-Strukturen 100 eines Nutzers 120 bereitgestellt werden. Die Dokumen- tenblockchain-Strukturen 100 ist auf einem verteilten Datenspeichersystem 122 ge- speichert. Mit einem Telekommunikationssystem 121 , etwa einem Smartphone oder einem PC, authentifiziert sich der Nutzers 120 gegenüber einem Berechtigungsma- nagementsystem, welches die Zugriffsrechte auf die individuellen Blöcke der Doku- mentenblockchain-Strukturen 100 verwaltet. Der Nutzers 120 wählt einen zweiten Nutzer 128, welchem er Zugriffsrechte auf ein oder mehrere Attribute, d.h. Blöcke, der Dokumentenblockchain-Strukturen 100 gewähren möchte, aus einer Identitäts liste, möglicher weiterer Nutzer aus, und berechtigt diesen zu den entsprechenden Zugriffen. Die Zugriffsrechte werden mittels ein oder mehrerer Berechtigungsblock- chain-Strukturen verwaltet. Beispielsweise ist jedem der Blöcke der Dokumenten- blockchain-Strukturen 100 jeweils eine individuelle Berechtigungsblockchain- Strukturen zugeordnet. Dem Nutzer 128 wird ein Zugriffrecht auf einen der Blöcke der Dokumentenblockchain-Strukturen 100 gewährt, indem ein zusätzlicher Block zu der Berechtigungsblockchain-Struktur des entsprechenden Blocks der Dokumen- tenblockchain-Strukturen 100 hinzugefügt wird, welcher den Nutzer 128 als zugriff- berechtigten Nutzer identifiziert.

Figur 6 zeigt die verteilte Struktur des Datenspeichersystem 122 aus Figur 4. Das Datenspeichersystem 122 umfasst eine Mehrzahl von räumlich getrennten individu ellen Datenspeichersystemen 122.1 , 122.2, ..., 122. N, welche unabhängig vonei- nander sind. Die Dokumentenblockchain-Strukturen 100 bzw. die Dokumente und/oder die Blöcke der Dokumentenblockchain-Strukturen 100 sind verteilt über die Datenspeichersystem 122.1 , 122.2, ..., 122. N gespeichert. Die Datenspeicher- system 122.1 , 122.2, ..., 122. N kommunizieren beispielsweise über ein Netzwerk, etwa das Internet, mittel kryptographisch gesicherter Kommunikationskanäle. Die Datenspeichersystem 122.1 , 122.2, ..., 122. N bilden somit gemeinsam das Daten- speichersystem 122. Beispielweise sind die Datenspeichersystem 122.1 , 122.2, ..., 122.N jeweils einer Instanz zugeordnet, welche Dokumente ausstellt. Jede Instanz, wie etwa eine Behörde, ein Amt, ein Unternehmen oder eine natürliche Person, speichert die von der entsprechenden Instanz ausgestellten Dokumente auf dem der entsprechenden Instanz zugeordneten Datenspeichersystem 122.1 , 122.2, ..., 122.N.

Figur 7 zeigt eine exemplarische Berechtigungsblockchain-Struktur 130, welche die Zugriffsrechte auf einen der Blöcke der Dokumentenblockchain-Strukturen 100 ver- waltet. Ein Anfangsblock 132 der Berechtigungsblockchain-Struktur 130 umfasst ein Zugriffs-Zertifikat Z z , welches ein Zugriffsrecht gewährt. Die weiteren Blöcke der Berechtigungsblockchain-Struktur 130 umfassen jeweils ein Nutzer-Zertifikat Z Ni , Z N 2, Z N 3 von Nutzern N1 , N2, N3, welchen das Zugriffsrecht gemäß Zugriffs- Zertifikat Z z auf den Block gewährt wird, welchem die Berechtigungsblockchain- Struktur 130 zugeordnet ist. Nach Ausführungsformen erfolgt die Zuordnung bei spielsweise über Metadaten, welche etwa das Berechtigungsmanagementsystem verwaltet und die sowohl die Berechtigungsblockchain-Struktur 130 als auch den zugeordneten Block der Dokumentenblockchain-Strukturen 100 identifizieren. Die Blöcke der Berechtigungsblockchain-Struktur 130 sind beispielsweise bidirektional miteinander verknüpft.

Figur 8 zeigt ein exemplarische Verfahren zum Erweiterten einer Dokumentenblock- chain-Struktur. In Schritt 400 wird ein Dokument ausgestellt. Das Ausstellen umfasst beispielsweise ein Erstellen der von dem Dokument umfassten Daten, d.h. Attribut, in digital codierter Form. Die einzelnen Attribute werden jeweils signiert. Nach Aus- führungsformen kann es sich bei den Attributen um einzelne Datenwerte oder um Datenblöcke handeln. In Schritt 402 stimmt der Nutzer einem Flinzufügen des Do- kuments zu der Dokumentenblockchain-Struktur zu. In Schritt 404 werden die Blö- cke des Dokuments zu der einer Dokumentenblockchain-Struktur hinzugefügt. Das Hinzufügen umfasst beispielsweise ein Erstellen der entsprechenden Blöcke sowie ein bidirektionales Verknüpfen der erstellten Blöcke untereinander und/oder mit be- stehenden Blöcken der Dokumentenblockchain-Struktur. Ferner werden Metadaten erstellt, welche etwa von einem Berechtigungsmanagement-System verwaltet erden und die Speicherorte der Blöcke des Dokuments identifizieren. Beispielsweise kann für jeden der Blöcke jeweils ein Anfangsblock einer Berechtigungsblockchain- Struktur erstellt werden, welche ein Zugriffs-Zertifikat des Nutzers für einen Zugriff auf den jeweiligen Block des Dokuments umfassen. Zudem können die Metadaten für jeden der Blöcke jeweils die zugehörige Blockchain-Struktur identifizieren.

Schließlich können inertial oder sukzessive zusätzliche Blöcke zu der Berechti- gungsblockchain-Struktur hinzugefügt werden, welche jeweils einen weiteren Nutzer identifizieren. Beispielsweise umfassen die zusätzlichen Blöcke jeweils ein Zertifikat des entsprechenden Nutzers. Durch das Hinzufügen der Nutzer zu der Berechti- gungsblockchain-Struktur wird diesen ein Zugriffsrecht zum Zugriff auf den entspre- chenden Block der Dokumentenblockchain-Struktur erstellt, welchem die Berechti- gungsblockchain-Struktur zugeordnet ist. nach Ausführungsformen besteht die Zu- stimmung des Nutzers zu der Aufnahme des zusätzlichen Dokuments in die Doku- mentenblockchain-Struktur in einer Zustimmung bzw. einem Ausführen der Erstel- lung der Metadaten sowie der Berechtigungsblockchain-Strukturen für die entspre- chenden Blöcke des zusätzlichen Dokuments. Bei dem zusätzlichen Dokument kann es sich um ein zusätzliches Dokument für die Hauptstruktur der Dokumenten- blockchain-Struktur, eine Ergänzungsdokument zu einem bestehenden Dokument der Hauptstruktur der Dokumentenblockchain-Struktur oder ein Änderungsdoku- ment zu einem bestehenden Dokument der Hauptstruktur der Dokumentenblock- chain-Struktur handeln.

Figur 9 zeigt eine Ausführungsform eines Verfahrens zur Durchführung einer selek- tiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten. In Schritt 500 wird eine Dokumentenblockchain-Struktur eines ersten Nutzers bereitgestellt. Die Dokumentenblockchain-Struktur ist nichtlinear und umfasst eine Mehrzahl von linea- ren Blockchain-Unterstrukturen. Jede der linearen Blockchain-Unterstrukturen weist jeweils eine Mehrzahl von bidirektional miteinander verknüpften Blöcken auf. In den Blöcken der Dokumentenblockchain-Struktur sind die Attribute gespeichert, auf wel- che der Zugriff durch den ersten Nutzer gesteuert wird. Die Blöcke sind beispiels- weise über eine Mehrzahl von elektronischen Datenspeichersystemen verteilt ge- speichert. In Schritt 502 wird eine Berechtigungsblockchain-Struktur zur Kontrolle der Zugriffsrechte auf die verteilt gespeicherten Blöcke der Dokumentenblockchain- Struktur bereitgestellt. Das Bereitstellen der Berechtigungsblockchain-Struktur er- folgt beispielsweise durch ein elektronisches Berechtigungsmanagementsystem.

Die Berechtigungsblockchain-Struktur umfasst einen Anfangsblock sowie ein oder mehrere weitere Blöcke. Diese weiteren Blöcke sind jeweils einem weiteren Nutzer zugeordnet und gewähren diesem ein Zugriffsrecht auf einen der Blöcke der Doku- mentenblockchain-Struktur. Beispielweise wird eine Berechtigungsblockchain- Struktur für jeden der Blöcke der Dokumentenblockchain-Struktur bereitgestellt.

In Schritt 504 wird eine Zugriffsberechtigungsanfrage nach einem Zugriffsrecht ei- nes zweiten Nutzers auf einen der Blöcke der persönlichen Dokumentenblockchain- Struktur von dem Berechtigungsmanagementsystem empfangen. Diese Anfrage kann beispielsweise von dem zweiten Nutzer oder von einem der Datenspeicher- Systeme, auf dessen Block der zweite Nutzer zuzugreifen versucht, stammen. In Schritt 506 wird geprüft, ob der zweite Nutzer ein Zugriffsrecht für den entsprechen- den Block besitzt. Hierzu wird geprüft, ob der zweite Nutzer in einen der Blöcke der Berechtigungsblockchain-Struktur für den entsprechenden Block der Dokumenten- blockchain-Struktur eingetragen ist. Hierbei können Metadaten verwendet werden, welche den entsprechenden Block der Dokumentenblockchain-Struktur und die zu geordnete Berechtigungsblockchain-Struktur identifizieren und damit einander zu- ordnen. Ist der zweite Nutzer von der entsprechenden Berechtigungsblockchain- Struktur tatsächlich umfasst, so wird das Zugriffrecht in Schritt 508 bestätigt. Eine solche Bestätigung kann beispielsweise in Form eines von dem Berechtigungsma- nagementsystem ausgestellten Berechtigungstoken. Ferner kann die Bestätigung auch in einem Bereitstellen der Speicheradresse bestehen unter welcher der Block in dem Datenspeichersystem gespeichert ist oder in einem Bereitstellen eines kryp- tographischen Schlüssels zum Entschlüsseln der von dem Block umfassten Attribu- te.

In Schritt 510 wird eine Zugriffsanfrage zum Zugreifen auf den entsprechenden Block der Dokumentenblockchain-Struktur empfangen. Beispielsweise empfängt das den entsprechenden Block speichernde Datenspeichersystem die Zugriffsan- frage von dem zweiten Nutzer. Ferner wird in Schritt 512 die entsprechende Bestä- tigung empfangen. Im Falle einer validen Bestätigung des Zugriffsrechts wird in Schritt 514 der Zugriff auf den angefragten Block der Dokumentenblockchain- Struktur freigegeben.

Nach Ausführungsformen werden beispielsweise eine Mehrzahl von Attributen ver- schiedener Dokumente angefragt. Die Attribute sind beispielsweise in einer Mehr- zahl von Blöcken der Dokumentenblockchain-Struktur über eine Mehrzahl von Da- tenspeichersystemen verteilt gespeichert. In diesem Fall werden die Zugriffrechte für jeden der entsprechenden Blöcke geprüft und die Zugriffe von den entsprechen- den Datenspeichersystemen unter der Voraussetzung einer validen Bestätigung der Zugriffsrechte freigegeben.

Figur 10 zeigt eine ein Computersystem 121 eines ersten Nutzers, beispielsweise ein mobiles tragbares Telekommunikationsgerät, und ein Computersystem 220 ei- nes zweiten Nutzers. Ferner wird ein elektronische Datenverarbeitungssystem 330 gezeigt, welches ein Berechtigungsmanagementsystem 124 und eine Mehrzahl von elektronische Datenspeichersystemen 122.1 , 122.2, ..., 122. N umfasst die Nutzer- computersysteme 121 , 220 sowie die Komponenten 122.1 -122. N, 124 des Daten- verarbeitungssystems 330 sind über ein Netzwerk 320 kommunikativ miteinander verbunden. Eine Kommunikation erfolgt beispielsweise über kryptographisch gesi- cherte, z.B. verschlüsselte, Kommunikationsverbindungen.

Nutzer-Computersystem 121 des ersten Nutzers umfasst einen Prozessor 202, wel- cher dazu konfiguriert ist, Programminstruktionen 204 auszuführen. Durch Ausfüh- rung der Programminstruktionen 204 steuert der Prozessor 202 das Computersys- tem 121 so, dass es eine der zuvor beschriebenen Ausführungsformen des krypto- graphischen Verfahrens zur Durchführung einer selektiven Zugriffsteuerung auf At- tribute einer Mehrzahl von Dokumenten oder einzelne Verfahrensschritte desselben ausführt.

Das Computersystem 121 umfasst ferner einen Speicher 206. In dem Speicher ist, beispielweise in einem geschützten Speicherbereich 208, ein kryptographischer Schlüssel 210 zur kryptographisch gesicherten Kommunikation über das Netzwerk 320 gespeichert. Unter einem geschützten Speicherbereich 208 wird hier ein Be- reich des Speichers 206 verstanden, auf den ein Zugriff, das heißt ein Lesezugriff oder ein Schreibzugriff, nur über den Prozessor 202 möglich ist. Nach Ausführungs- formen ist der Zugriff von dem mit dem Speicher 206 gekoppelten Prozessor 202 nur dann möglich, wenn eine hierzu erforderliche Bedingung erfüllt ist. Hierbei kann es sich zum Beispiel um eine kryptographische Bedingung, insbesondere eine er- folgreiche Authentisierung und/oder eine erfolgreiche Berechtigungsprüfung, han- deln. Bei dem kryptographischen Schlüssel handelt es sich beispielsweise um einen privaten Schlüssel eines asymmetrischen Schlüsselpaars. Ferner kann das Compu- tersystem 121 zur kryptographisch gesicherten Kommunikation öffentliche krypto- graphische Schlüssel der verbleibenden Systeme 122.1 -122. N, 220, 124 umfassen.

Zudem umfasst das Computersystem 121 eine Kommunikationsschnittstelle 214 zur Kommunikation über das Netzwerk 320 und eine Benutzerschnittstelle, welche bei- spielsweise eine Display 212, umfasst. Der erste Nutzer kann sich mit seinem Computersystem 121 gegenüber dem Be- rechtigungsmanagementsystem 124 authentifizieren, beispielswiese mit dem kryp- tographischen Schlüssel 210. Der erste Nutzer hat als Inhaber der persönlichen Do- kumentenblockchain-Struktur Zugriffsrechte auf alle Blöcke der Dokumentenblock- chain-Struktur und kann sich diese beispielsweise auf dem Display 212 anzeigen lassen. Fernere kann der Nutzer einem Hinzufügen weitere Dokumente zu der Do- kumentenblockchain-Struktur zustimmen und selektiv Zugriffsrechte auf individuelle Blöcke an weitere Nutzer verteilen bzw. diesen gewähren.

Nutzer-Computersystem 220 des zweiten Nutzers umfasst einen Prozessor 222, welcher dazu konfiguriert ist, Programminstruktionen 224 auszuführen. Durch Aus- führung der Programminstruktionen 224 steuert der Prozessor 222 das Computer- system 220 so, dass es eine der zuvor beschriebenen Ausführungsformen des kryp- tographischen Verfahrens zur Durchführung einer selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten oder einzelne Verfahrensschritte dessel- ben anfragt bzw. initiiert

Das Computersystem 220 umfasst ferner einen Speicher 226. In dem Speicher 226 ist, beispielweise in einem geschützten Speicherbereich 228, ein kryptographischer Schlüssel 230 zur kryptographisch gesicherten Kommunikation über das Netzwerk 320 gespeichert. Bei dem kryptographischen Schlüssel 230 handelt es sich bei spielsweise um einen privaten Schlüssel eines asymmetrischen Schlüsselpaars. Ferner kann das Computersystem 220 zur kryptographisch gesicherten Kommuni- kation öffentliche kryptographische Schlüssel der verbleibenden Systeme 121 ,

122.1 -122. N, 124 umfassen.

Zudem umfasst das Computersystem 220 eine Kommunikationsschnittstelle 234 zur Kommunikation über das Netzwerk 320 und eine Benutzerschnittstelle, welche bei spielsweise ein Display 232, umfasst. Auf eine Bestätigung des Zugriffsrechts des zweiten Nutzers auf einen Block der Dokumentenblockchain-Struktur durch das Be- rechtigungsmanagementsystem 124, kann das Computersystem 220 über das Netzwerk auf den entsprechenden Block zugreifen, welcher in einem der Speicher 266, 286, 306 der Dateispeichersysteme 122.1 , 122.2, 122.N gespeichert ist. Hierzu empfängt das Computersystem 220 ferner eine Angabe unter welcher Speicherad- resse der entsprechende Block gespeichert ist. Die entsprechenden Speicheradres- sen werden beispielswiese durch das Berechtigungsmanagementsystem 124 in Form der Metadaten 250 verwaltet.

Das elektronische Datenverarbeitungssystem 330 umfasst eine Mehrzahl von Da- teispeichersystemen 122.1 , 122.2, 122.N. Die Dateispeichersysteme 122.1 , 122.2, 122.N umfassen jeweils einen Prozessor 262, 282, 302, welcher dazu konfiguriert ist, Programminstruktionen 264, 284, 304 auszuführen. Durch Ausführung der Pro- gramminstruktionen 264, 284, 304 steuert der Prozessor 262, 282, 302 das jeweili- ge Dateispeichersysteme 122.1 , 122.2, 122.N so, dass es eine der zuvor beschrie- benen Ausführungsformen des kryptographischen Verfahrens zur Durchführung einer selektiven Zugriffsteuerung auf Attribute einer Mehrzahl von Dokumenten oder einzelne Verfahrensschritte desselben ausführt.

Die Dateispeichersysteme 122.1 , 122.2, 122.N umfassen ferner jeweils einen Spei- cher 266, 286, 306. Über die Speicher 266, 286, 306 der Dateispeichersysteme 122.1 , 122.2, 122. N verteilt sind die Blöcke 268, 288, 308 der Dokumentenblock- chain-Struktur gespeichert. Nach Ausführungsformen sind die Dateispeichersyste- me 122.1 , 122.2, 122. N jeweils einer Instanz zugeordnet, welche ein oder mehrere Dokumente der Dokumentenblockchain-Struktur ausstellt, wobei die Dateispeicher- systeme 122.1 , 122.2, 122. N jeweils die Blöcke derjenigen Dokumente speichern, welche der jeweiligen Instanz ausgestellt wurden.

Ferner umfassen die Dateispeichersysteme 122.1 , 122.2, 122.N in den Speichern 266, 286, 306, beispielweise in geschützten Speicherbereich 270, 290, 310, jeweils einen dem entsprechenden Dateispeichersysteme 122.1 , 122.2, 122.N zugeordne- ten kryptographischer Schlüssel 272, 292, 312 zur kryptographisch gesicherten Kommunikation über das Netzwerk 320. Bei dem kryptographischen Schlüssel han- delt es sich beispielsweise jeweils um einen privaten Schlüssel eines asymmetri- sehen Schlüsselpaars. Ferner können die Dateispeichersysteme 122.1 , 122.2, 122.N zur kryptographisch gesicherten Kommunikation öffentliche kryptographische Schlüssel der verbleibenden Systeme 121 , 122.1 -122. N, 220, 124 umfassen. Die kryptographischen Schlüssel 272, 292, 312 können ferner als Signaturschlüssel zur Signatur von Blöcke 268, 288, 308 der Dokumentenblockchain-Struktur dienen, welche von dem entsprechenden Dateispeichersysteme 122.1 , 122.2, 122.N erstellt werden.

Zudem umfasst die Dateispeichersysteme 122.1 , 122.2, 122. N jeweils eine Kom- munikationsschnittstelle 214 zur Kommunikation über das Netzwerk 320.

Schließlich umfasst das elektronische Datenverarbeitungssystem 330 noch ein Be- rechtigungsmanagementsystem 124, über welches der erste Nutzer Zugriffe auf die Attribute der von der Dokumentenblockchain-Struktur umfassten Dokumente selek- tiv steuern kann.

Das Berechtigungsmanagementsystem 124 umfasst einen Prozessor 242, welcher dazu konfiguriert ist, Programminstruktionen 244 auszuführen. Durch Ausführung der Programminstruktionen 244 steuert der Prozessor 242 das Berechtigungsma- nagementsystem 124 so, dass es eine der zuvor beschriebenen Ausführungsfor- men des kryptographischen Verfahrens zur Durchführung einer selektiven Zu- griffsteuerung auf Attribute einer Mehrzahl von Dokumenten oder einzelne Verfah- rensschritte desselben ausführt.

Das Berechtigungsmanagementsystem 124 umfasst ferner einen Speicher 246. In dem Speicher 246 ist, beispielweise in einem geschützten Speicherbereich 254, ein kryptographischer Schlüssel 256 zur kryptographisch gesicherten Kommunikation über das Netzwerk 320 gespeichert. Bei dem kryptographischen Schlüssel 256 handelt es sich beispielsweise um einen privaten Schlüssel eines asymmetrischen Schlüsselpaars. Ferner kann das Berechtigungsmanagementsystem 124 zur kryp- tographisch gesicherten Kommunikation öffentliche kryptographische Schlüssel der verbleibenden Systeme 121 , 122.1-122. N, 220 umfassen. Beispielsweise dient der kryptographische Schlüssel 256 als Signatur zur Bestätigung von Zugriffsrechten durch das Berechtigungsmanagementsystem 124, etwa in Form von Berechtigungs- token.

Zur Verwaltung von Zugriffsrechten erfolgt unter Verwendung einer Berechtigungs- blockchain-Struktur 130. Beispielsweise ist in dem Speicher 246 des Berechti- gungsmanagementsystem 124 eine Berechtigungsblockchain-Struktur 130 für jeden Block 268, 288, 308 der Dokumentenblockchain-Struktur. Ist der zweite Nutzer von einem Block einer der Berechtigungsblockchain-Strukturen 130 umfasst, so verfügt er über ein Zugriffsrecht auf den entsprechenden Block der Dokumentenblockchain- Struktur. Eine Eintragung des zweiten Nutzers in die Berechtigungsblockchain- Strukturen 130 erfolgt unter Veranlassung des ersten Nutzers, welcher den zweiten Nutzer beispielsweise als einen zu berechtigenden Nutzer aus einer Identitätsliste 126 möglicher Nutzer auswählt. Ferner sind in dem Speicher 246 Metadaten 250 gespeichert, die identifizieren welche Berechtigungsblockchain-Strukturen 130 wel- chen Blöcken 268, 288, 308 der Dokumentenblockchain-Struktur zugeordnet sind. Dabei umfassen die Metadaten 250 beispielsweise auch die Speicheradressen der Blöcken 268, 288, 308 der Dokumentenblockchain-Struktur in den Speichern 266, 286, 306 der Dateispeichersysteme 122.1 , 122.2, 122.N. Ferner umfassen die Me- tadaten 250 nach Ausführungsformen Informationen, welche eine Darstellung der vollständigen Dokumentenblockchain-Struktur für den ersten Nutzer in Normalform ermöglichen, d.h. in einer Darstellung, aus welcher die logischen Abhängigkeiten der Blöcke bzw. Dokumente untereinander ersichtlich sind.

Zudem umfasst das Berechtigungsmanagementsystem 124 eine Kommunikations- Schnittstelle 258 zur Kommunikation über das Netzwerk 320.

Figur 11 zeigt eine Ausführungsform einer exemplarischen linearen Blockchain- Struktur 600, welche N-Blöcke 602, 604, 606, 608, 610 umfasst. Bei der linearen Blockchain-Struktur kann es sich beispielsweise um eine der lineare Blockchain- Unterstruktur der nichtlinearen Dokumentenblockchain-Struktur oder um eine der Berechtigungsblockchain-Struktur handeln. Die Blockchain-Struktur 600 soll um ei- nen zusätzlichen Block 612 erweitert werden. Die Blöcke 602, 604, 606, 608, 610 der Blockchain-Struktur 600 sind durch blockabhängige bidirektionale Verkettungs- funktionen miteinander verkettet. Die einzelnen bidirektionalen Verbindungen bzw. Verkettungen Vi, V M- 2, V M-i sind schematisch angedeutet durch Doppelpfeile. Die inneren Blöcke 604, 606, 608 der Blockchain-Struktur 600 umfassen jeweils eine gemeinsame blockabhängige Verkettungsfunktion. In diese gemeinsame blockab- hängige Verkettungsfunktion können entweder ein Prüfwert jeder der beiden bidirek tional miteinander verketteten als Parameter eingehen. Ferner kann aus den Prüf- werten ein kombinierter Prüfwert berechnet werden und zur Auswahl der blockab- hängigen Verkettungsfunktion herangezogen werden. Schließlich kann für jeden der Prüfwerte jeweils eine Funktion ausgewählt werden, welche zur gemeinsame block- abhängige Verkettungsfunktion kombiniert werden. Die entsprechende gemeinsame blockabhängige Verkettungsfunktion wird zu beiden bidirektional miteinander zu verkettenden Blöcken hinzugefügt.

Der Prüfwert der Verkettungsfunktion zum Verketten des letzten Blocks 610 der Blockchain-Struktur 600 in dem zusätzlichen Block 612, d.h. zum Erzeugen der bidi rektionalen Verbindung V M , ist sowohl abhängig von Daten, welche in dem letzten Block 610 gespeichert sind, als auch von Daten, welche in dem zusätzlichen Block 612 zu speichern sind. Somit stellt die im Zuge der bidirektionalen Verkettung in dem letzten Block 610 und dem zusätzlichen Block 612 gespeicherte gemeinsame Verkettungsfunktion nur solange eine korrekte Prüffunktion basierend auf korrekten Prüfwerten der beiden entsprechenden Blöcke dar, solange die Daten beider Blöcke unverändert bleiben. Im Falle einer Manipulation, beispielsweise des zusätzlichen Blocks 612, passt die entsprechende Verkettungsfunktion der Verbindung zwischen dem letzten Block 610 und dem zusätzlichen Block 612 nicht mehr zu den Daten des zusätzlichen Blocks 612. Anhand dieser Abweichung lässt sich eine entspre- chende Manipulation erkennen.

Figur 12 zeigt ein schematisches Blockdiagramm des Verfahrens zum Erweitern der Blockchain 600 aus Figur 1 1 um den Block 612. Die Blöcke 606, 608, 610 der Blockchain-Struktur 600 umfassen jeweils eine blockabhängige Verkettungsfunkti- on, welche schematisch durch Funktionskurven angedeutet sind. Die Blöcke in der Blockchain-Struktur 600, wie etwa der vorletzte Block 608 und der vorvorletzte Block 606, weisen jeweils eine Kombination aus zwei blockabhängige bidirektiona- len Verkettungsfunktionen auf, welche eine Verknüpfung der blockabhängigen bidi- rektionalen Verkettungsfunktionen der bidirektionalen Verbindungen zu dem vorher- gehenden Block, beispielsweise Block 606 im Fall des Blocks 608, sowie zu dem nachfolgenden Block, beispielsweise Block 610 im Fall des Blocks 608, darstellen. Die entsprechenden blockabhängigen Verkettungsfunktionen sind als mathemati- sche Funktionen in die entsprechenden Blöcke 606, 608 integriert. Die jeweiligen blockabhängigen Verkettungsfunktionen wurden jeweils unter Verwendung der Da- ten beider miteinander zu verkettenden Blöcken aus einer erstellt.

Zur bidirektionalen Verkettung des letzten Blocks 610 der Blockchain-Struktur 600 mit dem zusätzlichen Block 612 werden beispielsweise zwei Funktionen 620, 621 aus zwei Funktionenscharen ausgewählt. Eine erste Funktion 620 wird beispiels- weise aus einer ersten Funktionenschar in Abhängigkeit von einem Prüfwert der Daten des Blocks 610 gemäß einer eindeutigen Zuordnungsbedingung zwischen einem Parameter der ausgewählten ersten Funktion und dem Prüfwert des Blocks 610 ausgewählt. Die die zweite Funktion 621 wird beispielsweise aus einer zweiten Funktionenschar in Abhängigkeit von einem Prüfwert der Daten des zusätzlichen Blocks 612 gemäß einer eindeutigen Zuordnungsbedingung zwischen einem Para- meter der ausgewählten zweiten Funktion und dem Prüfwert des Blocks 612 aus- gewählt. Die beiden Funktionen 620, 621 werden zu einer gemeinsamen blockab- hängigen Verkettungsfunktion 622 kombiniert. Bei einer entsprechenden Kombinati- on kann es sich beispielsweise um eine arithmetische Verknüpfung, wie etwa eine Addition, Subtraktion, Multiplikation und/oder Division handeln. Die blockabhängige bidirektionale Verkettungsfunktion 622 wird zur bidirektionalen Verkettung des Blocks 610 mit dem Block 612 sowohl zu dem Block 610 als auch zu dem Block 612 hinzugefügt. Dabei wird die Verkettungsfunktion 622 mit der in dem Block 610 be- reits vorhandenen Verkettungsfunktion der bidirektionalen Verkettung zwischen Block 608 und Block 610 verknüpft. Nach alternativen Ausführungsformen werden die beiden Prüfwerte der beiden bidi- rektional zu verkettenden Blöcke 610, 612 zu einem kombinierten Prüfwert kombi- niert und die blockabhängige bidirektionale Verkettungsfunktion 622 als Funktion aus einer Funktionenschar in Abhängigkeit von dem kombinierten Prüfwert der der beiden Blöcke 610, 612 gemäß einer eindeutigen Zuordnungsbedingung zwischen einem Parameter der ausgewählten Funktion, d.h. der blockabhängigen bidirektio- nalen Verkettungsfunktion 622, und dem kombinierten Prüfwert der Blöcke 610, 612 ausgewählt. Nach einer weiteren Alternative umfassen die Funktionen der Funktio- nenschar eine Mehrzahl von n Parametern, z.B. n=2, und sind unter Verwendung der jeweiligen n Parameter, welche ein n-Tupel von Parametern bilden, eindeutig identifizierbar. In diesem Fall wird aus den beiden Prüfwerten der 610, 612 ein n- Tupel von Prüfwerten gebildet und eine Funktion 622 der Funktionenschar in Ab- hängigkeit von dem n-Tupel von Prüfwerten gemäß einer eindeutigen Zuordnungs- bedingung zwischen dem n-Tupel von Parametern der ausgewählten Funktion und dem n-Tupel von Prüfwerten ausgewählt.

Figur 13 zeigt eine Ausführungsform eines exemplarischen Verfahrens zum Erwei- tern einer bidirektional verketteten Blockchain-Struktur um einen zusätzlichen Block. In Schritt 700 wird eine bidirektional verkettete Blockchain-Struktur bereitgestellt. In Schritt 702 werden die zu speichernden Daten bereitgestellt. In Block 704 wird eine Funktionenschar bereitgestellt. Die Funktionenschar umfasst eine Mehrzahl von Funktionen, wobei sich die Funktionen in mindestens einem ersten Parameter un- terscheiden und unter Verwendung des jeweiligen ersten Parameters eindeutig identifizierbar sind. In Block 706 wird ein zusätzlicher Block zum Erweitern der Blockchain-Struktur erzeugt. Der zusätzliche Block umfasst die zu speichernden Daten und ist dazu vorgesehen, mit dem letzten Block der Blockchain-Struktur bidi- rektional verkettet zu werden. In Schritt 708 wird eine blockabhängige Verkettungs- funktion zum bidirektionalen Verketten des letzten Blocks der Blockchain-Struktur mit dem zusätzlichen Block unter Verwendung der Funktionenschar ausgewählt. Flierzu wird beispielsweise ein kombinierter blockabhängiger Prüfwert berechnet, welcher sowohl von den Daten des letzten Blocks der Blockchain-Struktur als auch von den Daten des hinzuzufügenden zusätzlichen Blocks abhängt. Beispielsweise wird für jeden der Blöcke ein individueller Prüfwert berechnet und die beiden resul- tierenden Prüfwerte werden miteinander kombiniert. Nach weiteren Ausführungs- formen umfassen die Funktionen der in Block 704 bereitgestellten Funktionenschar n-Tupel von Parametern und aus den beiden Prüfwert der miteinander bidirektional zu verkettenden Blöcke wird ein n-Tupel von Prüfwerten erstellt. Die Funktion der Funktionenschar wird in Abhängigkeit von dem n-Tupel von Prüfwerten gemäß einer eindeutigen Zuordnungsbedingung zwischen dem n-Tupel von Parametern der aus- gewählten ersten Funktion und dem n-Tupel von Prüfwerten ausgewählt. Nach einer weiteren Alternative werden in Block 704 zwei Funktionenscharen bereitgestellt.

Aus der ersten der beiden Funktionenscharen wird dann in Block 708 eine erste Funktion unter Verwendung eines ersten Prüfwerts eines ersten der beiden mitei- nander bidirektional zu verkettenden Blöcke ausgewählt. Ferner wird aus der zwei- ten der beiden Funktionenscharen eine zweite Funktion unter Verwendung des zweiten Prüfwerts des zweiten der beiden miteinander bidirektional zu verkettenden Blöcke ausgewählt. Die beiden resultierenden Funktionen werden zu einer gemein- samen blockabhängigen bidirektionalen Verkettungsfunktion kombiniert. In Schritt 710 wird die in Schritt 708 erstellte blockabhängige bidirektionale Verkettungsfunkti- on zu dem letzten Block der Blockchain-Struktur hinzugefügt. In Schritt 712 wird die blockabhängige bidirektionale Verkettungsfunktion Funktion zu dem zusätzlichen Block hinzugefügt. Nach Ausführungsformen umfasst der Schritt 710 ein Verknüp- fen der in Schritt 708 erstellten blockabhängigen bidirektionalen Verkettungsfunktion mit der in dem letzten Block der Blockchain-Struktur bereits vorhandenen blockab- hängigen bidirektionalen Verkettungsfunktion der bidirektionalen Verkettung zwi- schen dem letzten Block und dem vorletzten Block der Blockchain-Struktur. Bei der entsprechenden Verknüpfung kann es sich beispielsweise um eine arithmetische Verknüpfung handeln. Beispielsweise können die beiden Verkettungsfunktionen miteinander addiert oder multipliziert werden.

Figur 14 zeigt ein schematisches Blockdiagramm einer Berechnung des Prüfwerts zweier miteinander zu verkettender Blöcke 610, 612, wie sie etwa von Schritt 406 der Figur 13 umfasst wird. Die Daten der beiden miteinander zu verkettenden Blö cke 610, 612 sind beispielsweise jeweils in einer quadratischen (TxT)-Matrixstruktur 660, 670 gespeichert. Bei T handelt es sich beispielsweise um eine natürlich Zahl T > 2. Weisen die Matrixstrukturen 660, 670 der beiden Blöcke 610, 612 unter- schiedliche Größen auf, so werden eine oder beide Matrixstrukturen 660, 670 derart erweitert, dass zwei gleich große quadratische Matrixstrukturen resultieren. Hierzu werden beispielsweise zusätzliche Matrixelemente bzw. zusätzliche Zeilen und/oder Spalten hinzugefügt. Die hinzugefügten Matrixelemente umfassen jeweils einen Platzhalter, beispielsweise den Wert 0. Weist beispielsweise die Matrixstruktur des Blocks 610 eine Spalte weniger auf, d.h. fehlt beispielsweise die T-te Spalte, so wird diese ergänzt, wobei alle Elemente der T-ten Spalte D1 u bis D1 TT jeweils auf 0 ge- setzt werden. Zum Berechnen des kombinierten blockabhängigen Prüfwerts PW wird beispielsweise für jede Spalte 662 der Matrixstruktur 660 des Blocks 610 die Summe aller Elemente der entsprechenden Spalte 662 berechnet. Für die i-te Spal- te ergibt sich dabei die Summe Zudem wird für jede der Zeilen 672 der

Matrixstruktur 670 des Blocks 612 jeweils die Summe aller Elemente der entspre- chenden Zeile 672 berechnet. Für die i-te Zeile ergibt sich dabei die Summe

In einem nächsten Schritt wird jeweils die für die i-te Spalte der Mat-

rixstruktur 660 des Blocks 610 berechnete Summe X Si zu der Summe X Zi der i-ten Zeile der Matrixstruktur 670 des Blocks 612 addiert. Die resultierenden T-Summen bis werden als Zahlen aneinandergehängt, sodass eine Zahlenfolge resul- tiert, welche den kombinierten blockabhängigen Prüfwert bildet:

PW = S ϋ S zz -St-it-i Sp· Nach alternativen Ausführungsformen könnten zur Be- rechnung des kombinierten Prüfwerts auch die Summen über die Zeilen der Mat- rixstruktur 660 und die Summen über die Spalten der Matrixstruktur 670 gebildet werden.

Figur 15 zeigt ein exemplarisches Verfahren zum Berechnen eines kombinierten blockabhängigen Prüfwerts gemäß Figur 14. In Schritt 800 wird für jede Spalte eine Matrixstruktur eines ersten Blocks eine Summe aus allen Elementen der entspre- chenden Spalte berechnet. In Schritt 802 wird für jede Zeile einer Matrixstruktur ei- nes zweiten Blocks, welche mit dem ersten Block bidirektional verkettet werden sol- len, eine Summe aus allen Elementen der entsprechenden Zeile berechnet. In Schritt 804 wird jeder Spalte der Matrix des ersten Blocks eine Zeile der Matrix des zweiten Blocks zugeordnet. Beispielsweise wird die i-te Spalte der i-ten Zeile zuge- ordnet. Für jedes der resultierenden Paare aus der entsprechenden i-ten Spalte der Matrixstruktur des ersten Blocks und der i-ten Zeile der Matrixstruktur des zweiten Blocks wird eine kombinierte Summe berechnet. In Schritt 806 werden die in Schritt 804 berechneten Summen in einer Zahlenfolge aneinandergereiht, sodass sie einen kombinierten blockabhängigen Prüfwert bilden.

Figur 16 zeigt eine Ausführungsform einer exemplarischen linearen Blockchain- Struktur 600, welche N Blöcke 602, 604, 606, 608, 610 umfasst. Bei der linearen Blockchain-Struktur kann es sich beispielsweise um eine der lineare Blockchain- Unterstruktur der nichtlinearen Dokumentenblockchain-Struktur oder um eine der Berechtigungsblockchain-Struktur handeln. Die Blockchain-Struktur 600 soll um ei- nen zusätzlichen Block 612 erweitert werden. Die Blöcke 602, 604, 606, 608, 610 der Blockchain-Struktur 600 sind durch Prüfwerte bidirektional miteinander verkettet. Die einzelnen bidirektionalen Verknüpfungen sind schematisch angedeutet durch Doppelpfeile. Die inneren Blöcke 604, 606, 608 der Blockchain-Struktur 600 umfas- sen jeweils zumindest zwei Prüfwerte, bei welchen es sich beispielsweise um

Flashwerte handelt. Ein erster dieser Prüfwerte ist beispielsweise von den Daten des entsprechenden inneren Blocks und von den Daten des unmittelbar nachfol- genden Blocks abhängig. Ein zweiter dieser Prüfwerte ist beispielsweise von den Daten des entsprechenden inneren Blocks und von den Daten des unmittelbar vo- rangehenden Blocks abhängig. Der erste und der zweite Prüfwert sind beispielswei- se in einem gemeinsamen Flashwert miteinander kombiniert. Die entsprechenden Prüfwerte sind in die Blöcke integriert. Der Prüfwert zur Verknüpfung des vorletzten Blocks 608 der Blockchain-Struktur 600 mit dem letzten Block 610 umfasst somit sowohl Daten, welche in dem vorletzten Blocks 608 gespeichert sind, als auch Da- ten, welche in dem letzten Blocks 610 gespeichert sind. Somit stellen der im vorletz- ten Block 608 und der in letzten Block 610 gespeicherte Prüfwert nur solange kor- rekte Flashwerte der beiden entsprechenden Blöcke dar, solange die Daten beider Blöcke unverändert bleiben. Im Falle einer Manipulation, beispielsweise des letzten Block 610, passt der Prüfwert des vorletzten Blocks 608 nicht mehr zu den Daten des letzten Blocks 610, woran sich die Manipulation erkennen lässt.

Figur 17A zeigt ein schematisches Blockdiagramm einer ersten Ausführungsform des ersten Blocks Bi 602 aus Figur 16. Der Block Bi 602 umfasst einen Platzhalter PHi 1101 , welcher den Block Bi 602 als ersten Block der Blockchain-Struktur 600 kennzeichnet. Dieser Platzhalter PHi 1101 ist nicht dazu vorgesehen durch einen anderen Wert ersetzt zu werden, wenn die Blockchain-Struktur 600 erweitert wird. Vielmehr bleibt der Platzhalter PHi 1101 , da der Block Bi 602 dazu vorgesehen ist unverändert der erste Block der Blockchain-Struktur 600 zu bleiben.

Ferner umfasst der Block Bi 602 einen Prüfwert PWi 1104, welcher beispielsweise ein Flashwert einer Kombination der in dem Block Bi 602 gespeicherten Daten Di 1108 und den in dem zweiten Block 604 gespeicherten Daten D 2 ist. Beispielsweise wird der Prüfwert PWi 1104 wie folgt berechnet:

PW 1 = Hash{D 2 + Hash[D 1 + PHi]}.

Zudem umfasst der Block Bi 602 einen kombinierten Prüfwert KPWi 1106, welcher beispielsweise ein Flashwert einer Kombination des Platzhalters PFh 1101 und des Prüfwerts PWi 1104 ist. Mit anderen Worten handelt es sich bei dem kombinierten Prüfwert KPWi 1106 um einen mehrfach gehashten Flashwert, welcher unter Ver- Wendung der Daten Di des ersten Blocks Bi 602 und den Daten D 2 des zweiten Blocks B 2 604 der Blockchain-Struktur 600 berechnet wurde und diese beiden Blö- cke 602, 604 somit miteinander verkettet. Der kombinierte Prüfwert KPWi 1106 wird beispielsweise wie folgt berechnet:

KPW 1 = Hash{PH 1 + PW^. Figur 17B zeigt ein schematisches Blockdiagramm einer weiteren Ausführungsform des ersten Blocks Bi 602 aus Figur 17A. Der Block Bi 602 ist beispielsweise in Form einer quadratischen (MxM)-Matrix strukturiert. Die Daten Di des Blocks Bi 602 sind in Einträgen einer quadratischen [(M-1 )x(M-1 )]-Matrix 1108 gespeichert. Der Platzhalter PFh 1101 ist beispielsweise in der M-ten Zeile der (MxM)-Matrix gespei- chert. Der Prüfwert PWi 1 104 ist beispielsweise in der M-ten Spalte der (MxM)- Matrix gespeichert. Der kombinierte Prüfwert KPWi 1 106 ist beispielsweise in dem Element QMM der (MxM)-Matrix gespeichert. Nach Ausführungsformen besteht der Platzhalter PHi 1 101 ausschließlich aus Nullen, sodass alle Element a, M der (MxM)- Matrix mit 1 < i < M gleich Null gesetzt sind.

Figur 18A zeigt ein schematisches Blockdiagramm einer ersten Ausführungsform des letzten Blocks B N 610 der Blockchain-Struktur 600 aus Figur 16, bevor die Blockchain-Struktur 600 um den zusätzlichen Block B N+ I 612 erweitert wird. Bei dem letzten Blocks B N 610 der Blockchain-Struktur 600 handelt es sich um den N-ten Block der Blockchain-Struktur 600. Der Block B N 610 umfasst einen Platzhalter PH N 1 123, welcher den Block B N 610 als letzten Block der Blockchain-Struktur 600 kennzeichnet. Dieser Platzhalter PH N 1 123 ist dazu vorgesehen durch einen Prüf- wert einer bidirektionalen Verknüpfung mit dem zusätzlichen Block B N+ I Wert ersetzt zu werden, wenn die Blockchain-Struktur 600 erweitert wird.

Ferner umfasst der Block B N 610 einen Prüfwert PW N-i 1 122, welcher beispielswei- se ein Flashwert einer Kombination der in dem vorletzten Block B N- I 608 gespeicher- ten Daten D N- I und den in dem letzten Block B N 610 gespeicherten Daten D N ist. Beispielsweise wird der Prüfwert PW N-i 1 122 des letzten Blocks B N 610 wie folgt berechnet:

PW N-i = Flash{D N + Flash [D N-1 + PW N-2 ]}, wobei PWN-2 einen Prüfwert des vorletzten Blocks B N- 2 606 bezeichnet, welcher der oben genannten rekursiven Formel folgend analog zu Prüfwert PW N-i 1 122 des letz- ten Blocks B N 610 berechnet werden kann.

Zudem umfasst der Block B N 610 einen kombinierten Prüfwert KPW N 1 126, welcher beispielsweise ein Flashwert einer Kombination des Platzhalters PFH N 1 123 und des Prüfwerts PW N-i 1 122 ist. Mit anderen Worten handelt es sich bei dem kombinierten Prüfwert KPW N 1 126 um einen mehrfach gehashten Flashwert, welcher unter Ver- wendung der Daten D N- I des vorletzten Blocks B N- I 608 und den Daten D N des letz- ten Blocks B N 610 der Blockchain-Struktur 600 berechnet wurde und diese beiden Blöcke 608, 610 somit miteinander verkettet. Der kombinierte Prüfwert KPW N 1 126 wird beispielsweise wie folgt berechnet:

KPW N = Hash{PW N-1 + PH N }, solange es sich bei dem Block B N 610 um den letzten Block der Blockchain-Struktur 600 handelt und der Platzhalter PH N 1 123, welcher den Blocks B N 610 als letzten Block kennzeichnet, noch nicht durch einen Prüfwert einer weiteren bidirektionalen Verknüpfung mit einem zusätzlichen Block B N+ I 612 ersetzt wurde.

Figur 18B zeigt ein schematisches Blockdiagramm einer weiteren Ausführungsform des letzten Blocks B N 610 aus Figur 16. Der Block B N 1 10 ist beispielsweise in Form einer quadratischen (MxM)-Matrix strukturiert. Die Daten D N des Blocks B N 610 sind in Einträgen einer quadratischen [(M-1 )x(M-1 )]-Matrix 1 128 gespeichert. Der Platz- halter PH N 1 123 ist beispielsweise in der M-ten Spalte der (MxM)-Matrix gespei- chert. Der Prüfwert PW N 1 122 ist beispielsweise in der M-ten Zeile der (MxM)-Matrix gespeichert. Der kombinierte Prüfwert KPW N 1 126 ist beispielsweise in dem Ele- ment QMM der (MxM)-Matrix gespeichert. Nach Ausführungsformen besteht der Platzhalter PH N 1 123 ausschließlich aus Nullen, sodass alle Element a Mi der (MxM)- Matrix mit 6 < i < M gleich Null gesetzt sind.

Nach Ausführungsformen wird der Prüfwert, welcher eine bidirektionale Verknüp- fung zu einem vorangehenden Block implementiert in der M-ten Zeile der (MxM)- Matrixstruktur gespeichert, während der Prüfwert, welcher eine bidirektionale Ver- knüpfung zu einem nachfolgenden Block implementiert in der M-ten Spalte der (MxM)-Matrixstruktur gespeichert. Somit umfasst jeder Block, welcher mit zwei Blö cken, d.h. einem vorangehenden und einem nachfolgenden Block, bidirektional ver- kettet ist, einen Prüfwert für jede der beiden Verknüpfungen. Nach Ausführungsfor- men umfasst der Block ferner einen kombinierten Prüfwert, welcher einen Flashwert einer Kombination der beiden Prüfwerte der beiden bidirektionalen Verknüpfungen umfasst. Flandelt es sich bei dem entsprechenden Block um den ersten oder letzten Block 602, 610 der Blockchain-Struktur 600, d.h. einen Block, welcher nur mit einem weiteren Block (dem zweiten Block 604 bzw. dem vorletzten Block 608) bidirektional verkettet ist, so umfasst der Block einen Prüfwert, welcher die eine bidirektionale Verknüpfung implementiert, sowie einen Platzhalter für einen weiteren Prüfwert ei- ner weiteren potentiellen bidirektionalen Verknüpfung zu einem weiteren Block. Die- ser Platzhalter kennzeichnet den entsprechenden Block als den ersten oder letzten Block der Blockchain-Struktur. Der kombinierte Prüfwert des entsprechenden Blocks umfasst den Prüfwert der entsprechenden bidirektionalen Verknüpfung sowie den Platzhalter. Der kombinierte Prüfwert beruht dabei auf einer mehrfachen Anwen- dung der Hashfunktion.

Figuren 19A und 19B zeigen schematische Blockdiagramme der Ausführungsfor- men des letzten Blocks B N 610 der Blockchain-Struktur 600 aus der Figur 18A bzw. 18B nach Erweiterung der Blockchain-Struktur 600 um den zusätzlichen Block B N+I 612, sodass die erweiterte Blockchain-Struktur 600 N+1 Blöcke umfasst. Der zu- sätzliche Block B N+ i Q 12 ist mithin der neue letzte Block der Blockchain-Struktur 600, während der bisherige letzte Block B N 610 der vorletzte Block der erweiterten Blockchain-Struktur 600 ist.

Zum Erweitern der Blockchain-Struktur 600 um den zusätzlichen Block B N+ i Q 12 wird der letzte Block B N 610 bidirektional mit dem zusätzlichen Block B N+ i Q 12 verkettet. Hierbei wird ein Prüfwert PW N 1124 berechnet, welcher beispielsweise ein Hash- wert einer Kombination der in dem letzten Block B N 610 gespeicherten Daten D N 1128 und den in dem zusätzlichen Block B N+I 612 zu speichernden Daten D N+I ist. Beispielsweise wird der Prüfwert PW N 1124 des letzten Blocks B N 610 wie folgt be- rechnet:

PW N = Flash{D N+1 + Flash[D N + PW N-1 ]}.

Der Platzhalter PFI N wird durch den Prüfwert PW N 1124 ersetzt und der kombinierte Prüfwert KPW N 1126 wird aktualisiert. Beispielsweise wird der aktualisierte kombi- nierte Prüfwert KPW N 1126 wie folgt berechnet:

KPW N = Hash{PW N-1 + PW N } = Hash{PW N-1 +Hash{D N+1 + Hash[D N + PW N-1 ]}}.

Der kombinierte Prüfwert KPW N 1126 umfasst somit Daten D N 1128 des letzten Blocks B N 610 und Daten D N+I des zusätzlichen Blocks B N+I 612. Ferner ist der kombinierte Prüfwert KPW N 1126 aufgrund der Rekursivität der zuvor genannten Formel von den Daten aller vorangehenden Blöcke der Blockchain-Struktur 600 ab- hängig.

Figur 20A zeigt ein schematisches Blockdiagramm einer ersten Ausführungsform des zusätzlichen Blocks B N+I 612 der Blockchain-Struktur 600 aus Figur 16, nach- dem die Blockchain-Struktur 100 um den zusätzlichen Block B N+I 612 erweitert wur- de. Bei dem zusätzlichen Block B N+I 612 der Blockchain-Struktur 600 handelt es sich um den (N+1 )-ten Block der erweiterten Blockchain-Struktur 600. Der Block B N+I 612 umfasst einen Platzhalter PH N+I 1143, weicher den Block B N+I 612 als letz- ten Block der erweiterten Blockchain-Struktur 600 kennzeichnet. Dieser Platzhalter PFI N 1143 ist dazu vorgesehen durch einen Prüfwert einer bidirektionalen Verknüp- fung im Falle einer zusätzlichen Erweiterung der Blockchain-Struktur 600 ersetzt zu werden.

Ferner umfasst der Block B N+I 612 den Prüfwert PW N 1124 der bidirektionalen Ver- knüpfung zwischen Block B N 610 und Block B N+I 612. Zudem umfasst der Block B N+I 612 einen kombinierten Prüfwert KPW N+i 1146, welcher beispielsweise ein Hashwert einer Kombination des Platzhalters PH N+I 1143 und des Prüfwerts PW N 1124 ist. Mit anderen Worten handelt es sich bei dem kombinierten Prüfwert

KPW N+I 1146 um einen mehrfach gehashten Hashwert, welcher unter Verwendung der Daten D N des Blocks B N 610 und den Daten D N+I des zusätzlichen Blocks B N+I 612 berechnet wird. Der kombinierte Prüfwert KPW N+i 1146 wird beispielsweise wie folgt berechnet:

KPW N+1 = Hash{PW N + PH N+1 }.

Hierbei handelt es sich bei dem Block B N+I 612 um den letzten Block der Block- chain-Struktur 600. Wird der Platzhalter PH N+I 1143 im Zuge einer Erweiterung der Blockchain-Struktur 600 durch einen Prüfwert ersetzt, so wird der kombinierte Prüf- wert KPW N+I 1146 durch einen aktualisierten kombinierten Prüfwert KPW N+i 1146 ersetzt, welcher unter Verwendung des Prüfwerts berechnet wird, welcher den Platzhalter PH N+I 1143 ersetzt. Figur 20B zeigt ein schematisches Blockdiagramm einer weiteren Ausführungsform des zusätzlichen Blocks B N+I 612 aus Figur 16. Der Block B N+I 612 ist beispielswei- se in Form einer quadratischen (MxM)-Matrix strukturiert. Die Daten D N+I des Blocks B N+I 612 sind in Einträgen einer quadratischen [(M-1 )x(M-1 )]-Matrix 1148 gespei- chert. Der Platzhalter PH N+I 1143 ist beispielsweise in der M-ten Spalte der (MxM)- Matrix gespeichert. Der Prüfwert PW N+i 1124 ist beispielsweise in der M-ten Zeile der (MxM)-Matrix gespeichert. Der kombinierte Prüfwert KPW N+i 1146 ist beispiels weise in dem Element Q MM der (MxM)-Matrix gespeichert. Nach Ausführungsformen besteht der Platzhalter PH N+I 1143 ausschließlich aus Nullen, sodass alle Element a Mi der (MxM)-Matrix mit 6 < i < M gleich Null gesetzt sind.

Nach Ausführungsformen werden aufeinanderfolgende Blöcke zum Implementieren der bidirektionalen Verkettung jeweils mit einem identischen Prüfwert versehen, wie beispielsweise der Block B N 610 und der Block B N+I 612 jeweils mit dem identischen Prüfwert PW N+i 1124 versehen werden.

Figur 21 zeigt ein schematisches Flussdiagramm eines exemplarischen Verfahrens zum Flinzufügen eines zusätzlichen Blocks zu einer bidirektional verketteten Block- chain-Struktur. In Schritt 400 wird eine bidirektional verkettete Blockchain-Struktur bereitgestellt. In Schritt 402 werden zu speichernde Daten bereitgestellt. In Schritt 404 wird ein zusätzlicher Block für die Blockchain-Struktur erzeugt. Beispielsweise weist der zusätzliche Block die Form einer (MxM)-Matrix auf. Vor der bidirektionalen Verkettung mit der Blockchain-Struktur weist die Matrix des zusätzlichen Blocks bei spielweise in der M-ten Zeile und M-ten Spalte jeweils einen Platzhalter auf. Bei- spielsweise weisen die Einträge der M-ten Zeile und M-ten Spalte nur Nullen auf.

Die zu speichernden Daten werden in den Matrixelementen der verbliebenen [(M- 1 )x(M-1]-Untermatrix gespeichert. In Schritt 406 wird der Prüfwert PW N der bidirek- tionalen Verknüpfung berechnet. Der Prüfwert PW N umfasst beispielsweise einen Hashwert einer Kombination der in dem letzten Block B N gespeicherten Daten D N und den in dem zusätzlichen Block B N+I zu speichernden Daten D N+I ist. Ferner geht in den Prüfwert PW N der Prüfwert PW N-i des Vorgängerblocks B N-I mit ein. Der Prüfwert PW N-i des Vorgängerblocks B N-I wird nach Ausführungsformen in der M- ten Zeile des letzten Blocks B N bereitgestellt. Beispielsweise wird der Prüfwert PW N des letzten Blocks B N wie folgt berechnet:

PW N = Hash{D N+1 + Hash[D N + PW N-1 ]}.

In Schritt 408 wird der Prüfwert PW N zu dem letzten Block B N hinzugefügt. Bei- spielsweise wird er in die M-te Spalte geschrieben. In Schritt 410 wird der Prüfwert PW N ZU dem zusätzlichen Block B N+I hinzugefügt. Beispielsweise wird er in die M-te Zeile geschrieben. In Schritt 412 wird der kombinierte Prüfwert KPW N des letzten Blocks B N unter Verwendung des Prüfwerts PW N neu berechnet und das den kom- binierten Prüfwert KPW N speichernde Matrixelement Q MM damit aktualisiert. Bei- spielsweise wird der aktualisierte kombinierte Prüfwert KPW N wie folgt aus den Ein- trägen der M-ten Zeile und M-ten Spalte des letzten Blocks B N berechnet:

KPW N = Hash{PW N-1 + PW N }.

In Schritt 414 wird der kombinierte Prüfwert KPW N+i des zusätzlichen Blocks B N+I unter Verwendung des Prüfwerts PW N berechnet. Beispielsweise wird der kombi- nierte Prüfwert KPW N+i wie folgt aus den Einträgen der M-ten Zeile (Prüfwert PW N ) und M-ten Spalte (Platzhalter PH N ) des zusätzlichen Blocks B N+I berechnet:

KPW N+1 = Hash{PW N + PH N+1 }. In Schritt 416 wird der kombinierte Prüfwert KPW N+i beispielsweise im Matrixele- ment Q MM des zusätzlichen Blocks B N+I gespeichert. Damit sind die beiden Blöcke B N und B N+I bidirektional miteinander verkettet und die Blockchain-Struktur um den zusätzlichen Blocks B N+I erweitert. Dieses Verfahren wird für jeden zusätzlich anzu- hängenden Block wiederholt.

Die Figuren 23 bis 26 entsprechen den Figuren 17 bis 20 und zeigen zweite Ausfüh- rungsformen der Blöcke der Blockchain-Struktur 600 aus Figur 16 im Falle eines alternativen Verknüpfungsverfahrens zum Erstellen bidirektionaler Verknüpfungen gemäß Figur 22. Figur 22 zeigt das entsprechende Verfahren in Form eines sche- matischen Flussdiagramms. Die Schritte 1000 bis 1004 entsprechen dabei den

Schritten 900 bis 904 aus Figur 21. In Schritt 1006 werden Prüfwerte der bidirektio nalen Verknüpfung zwischen den Blöcken B N und B N+I berechnet. Hierbei werden ein Prüfwert PW1 N für den letzten Block B N und ein Prüfwert PW2 N für den letzten Block B N+ I berechnet. Zunächst wird eine Matrixoperation unter Verwendung der beiden Untermatrizen D N und D N+ I durchgeführt, welche die gespeicherten Daten der Blöcke B N und B N+ I umfassen. Beispielsweise wird eine Matrixmultiplikation D N *D N+ I durchgeführt. Die resultierende eindeutige Matrix wird als Eingabe für eine Hashfunktion Hash(D N * D N+i ) verwendet. Durch die mathematische Eindeutigkeit der Matrixmultiplikationen kann sichergestellt, dass sich eine Manipulation der Daten D N im Block B N ebenso wie eine Manipulation der Daten D N+ I im B N+ I in einer Verände- rung des Hashwertes Hash(D N * D N+i ) bemerkbar macht. Der resultierende Hashwert wird zweigeteilt, beispielsweise gemäß der Formel:

Hash{D N * D N+1 } = PWl^ + PW2N.

In Schritt 1008 wird der Prüfwert PW1 N für den letzten Block B N zu diesem hinzuge- fügt, beispielsweise wird er in die M-te Spalte des Blocks B N geschrieben. In Schritt 1010 wird der Prüfwert PW2 N für den zusätzlichen Block B N+ I zu diesem hinzuge- fügt, beispielsweise wird er in die M-te Spalte des Blocks B N geschrieben.

In Schritt 1012 wird der kombinierte Prüfwert KPW N des letzten Blocks B N unter Verwendung des Prüfwerts PW N neu berechnet und das den kombinierten Prüfwert KPW N speichernde Matrixelement QMM mit dem neu berechneten Prüfwert PW N ak- tualisiert. Beispielsweise wird der aktualisierte kombinierte Prüfwert KPW N wie folgt aus den Einträgen der M-ten Zeile und M-ten Spalte des letzten Blocks B N berech- net:

KPW N = Hash{PW2 N-1 + PW1 N }.

In Schritt 1014 wird der kombinierte Prüfwert KPW N+i des zusätzlichen Blocks B N+ I unter Verwendung des Prüfwerts PW2 N des zusätzlichen Blocks B N+ I berechnet. Beispielsweise wird der kombinierte Prüfwert KPW N+i wie folgt aus den Einträgen der M-ten Zeile (Prüfwert PW2 N ) und M-ten Spalte (Platzhalter PH N ) des zusätzli- chen Blocks B N+ I berechnet:

KPW N+1 = Hash{PW2 N + PH N+1 }.

In Schritt 1016 wird der kombinierte Prüfwert KPW N+i beispielsweise im Matrixele- ment QMM des zusätzlichen Blocks B N+ I gespeichert. Damit sind die beiden Blöcke B N und B N+ I bidirektional miteinander verkettet und die Blockchain-Struktur um den zusätzlichen Blocks B N+ I erweitert. Dieses Verfahren wird für jeden zusätzlich anzu- hängenden Block wiederholt.

Die Figuren 23 bis 26 zeigen schematische zweite Ausführungsformen des ersten Blocks Bi 602, des letzten Blocks B N 610 und des zusätzlichen Blocks B N+ I 612 der Blockchain-Struktur 600 aus Figur 16. Die in den Figuren 23 bis 26 gezeigten Blö cke 602, 610, 612 entsprechen im Wesentlichen den in den Figuren 17 bis 20 ge- zeigten Blöcke 602, 610, 612. Die Blöcke 602, 610, 612 der Figuren 23 bis 26 un- terscheiden sich jedoch darin, dass sie unter Verwendung des Verfahrens aus Figur 22 erstellt wurden. Somit sind die Prüfwerte, welche zum Erzeugen der bidirektiona len Verknüpfungen zwischen aufeinanderfolgenden Blöcken verwendet werden, im Allgemeinen nicht identisch, sondern unterscheiden sich voneinander. Somit um- fasst der erste Block Bi der Figuren 23A und 23B einen Prüfwert PW1 204, welcher dem erste Block Bi zugeordnet ist. Dieser Prüfwert PW1 1 104 wurde zusammen mit einem dem zweiten Block B 2 604 der Blockchain-Struktur 600 zugeordneten Prüfwert PW2i unter Verwendung des Verfahrens aus Figur 22 aus den Daten Di und D 2 des ersten und zweiten Blocks berechnet. Der letzte Block B N 610 der Figu- ren 24A und 24B sowie 25A und 25B umfasst einen dem letzte Block B N 610 zuge- ordneten Prüfwert PW2 N-i 1 122, welcher zusammen mit einem dem vorletzten Block B N- I 608 der Blockchain-Struktur 600 zugeordneten Prüfwert PW1 N-i unter Verwen- dung des Verfahrens aus Figur 22 aus den Daten D N- I und D N des vorletzten und letzten Blocks berechnet wurde. Ferner wird der in den Figuren 25A und 25B ge- zeigte Prüfwert PW1 N 1 124 des letzten Blocks B N 610 zusammen mit dem in den Figuren 24A und 24B gezeigten Prüfwert PW2 N 1 142 des zusätzlichen Blocks B N 612 berechnet. Hierbei wird das Verfahren aus Figur 22 auf die Daten D N des letz- ten Blocks B N 610 und die Daten des zusätzlichen Blocks B N 612 angewendet, wel- che beispielsweise mittels einer Matrixmultiplikation miteinander kombiniert werden.

Die kombinierten Prüfwerte KPWi 206, KPW N 1 126, KPW N+i 1 146 der in den Figu- ren 23 bis 26 gezeigten Blöcke Bi 602, B N 610, B N+ I 612 werden analog zu den kombinierten Prüfwerten KPWi 1 106, KPW N 1 126, KPW N+i 1 146 der Figuren 17 bis 20 berechnet. Das heißt der kombinierte Prüfwert KPWi 1 106 in den Figuren 23A und 23B wurde berechnet als KPWi = Hash{PHi + PW1 i}. Der kombinierte Prüfwert KPW N 1126 in den Figuren 24A und 24B wurde berechnet als KPW N = Hash{PW2 N- 1 + PH n }. Der kombinierte Prüfwert KPW N 1126 in den Figuren 25A und 25B wird im Zuge der bidirektionalen Verkettung der Blöcke B N 610 und B N+I 612 berechnet als KPW N = Fiash{PW2 N-i + PW1 N }. Der kombinierte Prüfwert KPW N+i 1146 in den Fi- guren 26A und 26B wird schließlich berechnet als KPW N+i = Fiash{PW2 N + PH N }-

Nach Auswendungsformen können die Prüfwerte, welche zum Erzeugen der bidi- rektionalen Verknüpfungen zwischen aufeinanderfolgenden Blöcken verwendet werden, auch identisch sein. Dies hängt davon ab, ob der Flashwert der Matrixmul- tiplikation symmetrisch (identische Prüfwerte) oder symmetrisch (unterschiedliche Prüfwerte) aufgeteilt wird.

Bezugszeichenliste

100 Dokumentenblockchain-Struktur

102 Dokument

104 Hauptstruktur

105 Ergänzungs-/Änderungsstruktur

106 Nebenstruktur

108 lineare Blockchain-Unterstruktur

109 lineare Blockchain-Unterstruktur

110 lineare Blockchain-Unterstruktur

112 Änderungsdokument

114 Ergänzungsdokument

116 Instanz

120 erster Nutzer

121 Nutzer-Computersystem

122 Datenspeichersystem

124 Berechtigungsmanagementsystem

126 Identitätsliste

128 zweiter Nutzer

130 Berechtigungsblockchain-Struktur

132 Zugriffs-Zertifikat

134 Nutzer-Zertifikat

202 Prozessor

204 Programminstruktionen

206 Speicher

208 geschützter Speicherbereich

210 kryptographischer Schlüssel

212 Display

214 kommunikationsschnittsteile

220 Nutzer-Computersystem

222 Prozessor 224 Programminstruktionen

226 Speicher

228 geschützter Speicherbereich

230 kryptographischer Schlüssel

232 Display

234 Kommunikationsschnittstelle

242 Prozessor

244 Programminstruktionen

246 Speicher

130 Berechtigungsblockchain-Struktur

250 Metadaten

126 Identitätsliste

254 geschützter Speicherbereich

256 kryptographischer Schlüssel

258 Kommunikationsschnittstelle

262 Prozessor

264 Programminstruktionen

266 Speicher

268 Blöcke

270 geschützter Speicherbereich

272 kryptographischer Schlüssel

274 Kommunikationsschnittstelle

282 Prozessor

284 Programminstruktionen

286 Speicher

288 Blöcke

290 geschützter Speicherbereich

292 kryptographischer Schlüssel

294 Kommunikationsschnittstelle

302 Prozessor

304 Programminstruktionen

306 Speicher 308 Blöcke

310 geschützter Speicherbereich

312 kryptographische Schlüssel

314 Kommunikationsschnittstelle

320 Netzwerk

330 Datenverarbeitungssystem

600 Blockchain-Unterstruktur

602 erster Block

604 zweiter Block

606 vorvorletzter Block

608 vorletzter Block

610 letzter Block

612 zusätzlicher Block

620 Funktion

621 Funktion

622 bidirektionale Verkettungsfunktion

630 erweiterte Blockchain-Unterstruktur

660 Matrixstruktur

662 Spalte

670 Matrixstruktur

672 Zeile

1101 Platzhalter

1104 Prüfwert

1106 kombinierter Prüfwert

1108 Daten

1122 Prüfwert

1123 Platzhalter

1124 Prüfwert

1126 kombinierter Prüfwert

1128 Daten

1142 Prüfwert

1143 Platzhalter 1146 kombinierter Prüfwert

1148 Daten