EP3797491A1 - Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank - Google Patents

Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank

Info

Publication number
EP3797491A1
EP3797491A1 EP19745998.5A EP19745998A EP3797491A1 EP 3797491 A1 EP3797491 A1 EP 3797491A1 EP 19745998 A EP19745998 A EP 19745998A EP 3797491 A1 EP3797491 A1 EP 3797491A1
Authority
EP
European Patent Office
Prior art keywords
data
data network
distributed database
network
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP19745998.5A
Other languages
English (en)
French (fr)
Inventor
Dominik Sachsenhauser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Publication of EP3797491A1 publication Critical patent/EP3797491A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • the present invention relates to the control of a data network in order to implement a distributed database within the data network or to extend a distributed database already existing within the data network.
  • the present invention therefore has the task of guaranteeing the integrity (i.e. the veracity and correctness of the information) of a data network as comprehensively as possible.
  • this object is achieved by a method for controlling a data network with regard to the use of a distributed database according to claim 1, by a device according to claim 15, by a computer program product according to claim 17 and by an electronically readable data carrier according to claim 18.
  • the dependent claims define preferred and advantageous embodiments of the present invention.
  • Distributed Ledgers is currently an intensely discussed technology that can be implemented in particular as a distributed database system.
  • applications for decentralized payment systems e.g. Bitcoin
  • new applications are being developed in the financial industry.
  • transactions between companies can be realized without manipulation or a clearing house.
  • Blockchain-protected transaction records include e.g. B. Program code, which can also be referred to as a so-called “smart contract”.
  • the terms “carry out”, “calculate”, “computer-aided”, “calculate”, “determine”, “generate”, “configure”, “reconstruct”, “Control”, “to assign” and the like preferably to actions and / or processes and / or processing steps that change and / or generate data and / or convert the data into other data, the data being represented in particular as physical quantities or can be present, for example as electrical pulses.
  • the expression “computer” or “device” should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties.
  • Computers can thus, for example, personal computers, servers, programmable logic controllers (PLC), handheld computer systems, Pocket PC devices, mobile radio devices and other communication devices that can process computer-supported data, processors and other electronic devices for data processing.
  • “computer-assisted” can be understood to mean, for example, an implementation of the method in which, in particular, a processor executes at least one method step of the method.
  • a processor can be understood in connection with the invention, for example, a machine or an electronic circuit device.
  • a processor can be a main processor (English Central Processing Unit, CPU), a microprocessor or a microcontroller, for example an application-specific integrated circuit or a digital signal processor, possibly in combination with a memory unit for storing program instructions, etc. act.
  • CPU Central Processing Unit
  • microprocessor or a microcontroller for example an application-specific integrated circuit or a digital signal processor, possibly in combination with a memory unit for storing program instructions, etc. act.
  • a processor it can For example, an IC (Integrated Circuit), in particular an FPGA (Field Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit), or a DSP (digital signal)
  • a processor can also be understood to mean a virtualized processor, a virtual machine or a soft CPU. It can also be a programmable processor, for example, which is equipped with configuration steps for executing the aforementioned method according to the invention or is configured with configuration steps such that the programmable processor has the inventive features of the method, the component, the modules, or others Aspects and / or partial aspects of the invention realized.
  • a “storage unit” or “storage module” and the like can be understood in connection with the invention, for example, as volatile memory in the form of random access memory (RAM) or permanent storage such as a hard disk or a data carrier.
  • RAM random access memory
  • permanent storage such as a hard disk or a data carrier.
  • a “module” or a “computing unit” can be understood in connection with the invention, for example, a processor and / or a memory unit for storing program errors.
  • the processor is specially designed to execute the program instructions in such a way that the processor executes functions in order to implement or implement the method according to the invention or a step of the method according to the invention.
  • a module can, for example, also be a node of the distributed database system, which, for example, realizes the specific functions / features of a corresponding module.
  • the respective modules can for example also be designed as separate or independent modules.
  • the corresponding modules can comprise further elements, for example. These elements are, for example, one or more cutting interfaces (e.g. database interfaces, communication interfaces - e.g. network interface, WLAN interface) and / or an evaluation unit (e.g. a processor) and / or a storage unit.
  • data can be compared, checked, processed, assigned or calculated, for example in a computer-assisted and / or automated manner.
  • data can be stored, called up or made available, for example, computer-aided and / or automatically.
  • a first date is assigned a second date using a memory address or a unique identifier (UID), in which, for. B. the first date is stored together with the memory address or the unique identifier of the second date together in a data set.
  • UID unique identifier
  • a “smart contract process” can be understood in particular to mean executing a program code (for example the control commands) in a process through the distributed database system or its infrastructure.
  • a checksum can in particular be a checksum or hash value (s) of a hash tree (eg Merkle Baum, Patricia Baum) a digital signature or a cryptographic message auth identification code can be understood.
  • a cryptographic one can be created on different levels of the database system Protection / manipulation protection for the transactions and the data (records) stored therein can be implemented. For example, if a high level of security is required, the checksums are generated at the transaction level and checked. If less security is required, the checksums are generated and checked at the block level (e.g. over the entire data block or only over part of the data block and / or part of the transactions).
  • the data block checksum can thus secure the transactions, for example, by forming the root checksum from the further checksums.
  • the data block checksum can be calculated in particular for transactions of a specific data block of the data blocks. In particular, such a data block checksum can go into a subsequent data block of the specific data block in order to concatenate this subsequent data block with its previous data blocks, for example, and in particular thus to make it possible to check the integrity of the distributed database system.
  • This can the data block checksum, for example, assume the function of the chaining checksum or is included in the chaining checksum.
  • the header of a data block (e.g. a new data block or the data block for which the data block checksum was formed) can comprise, for example, the data block checksum.
  • transaction checksum can be understood to mean a checksum which is formed in particular via a transaction of a data block.
  • a calculation of a data block checksum for a corresponding data block can be accelerated, since for this purpose transaction checksums already calculated, for example, equal to Leaves of a Merkle tree, for example, can be used.
  • a “chaining checksum” can be understood to mean a checksum which, in particular, specifies or references a respective data block of the distributed database system to the previous data block of the distributed database system (in the specialist literature particularly frequently as “previous block hash”) referred to) [1].
  • a corresponding chaining checksum is formed, in particular for the corresponding preceding data block.
  • a transaction checksum or the data block checksum of a data block can be used, for example, to chain a new data block with an (existing) data block of the distributed database system.
  • a data block can be realized which comprises an integrity-protected part and an unprotected part.
  • integrity-protected means in particular that a change in integrity-protected data can be determined by means of a checksum.
  • the data which are stored, for example, in a transaction of a data block, can in particular be provided in different ways.
  • the data e.g. B. user data such as measurement data or Da
  • a transaction of a data block can only include the checksum for this data.
  • the corresponding checksum can be implemented in different ways. This can e.g. B. a corresponding data block checksum of a data block (with the corresponding data) of another database or of the distributed database system, a transaction checksum of a data block with the corresponding data (of the distributed database system or another database) or a data checksum that is about the data was formed.
  • the corresponding transaction can contain a reference or an indication of a storage location (e.g. an address of a file server and details of where the corresponding data can be found on the file server; or an address of another distributed database which contains the data includes) to include.
  • the corresponding data could then, for example can also be provided in a further transaction of a further data block of the distributed database system (for example if the corresponding data and the associated checksums are contained in different data blocks).
  • this data is made available via another communication channel (eg via another database and / or a cryptographically secured communication channel).
  • an additional data record (for example a reference or an indication of a storage location) can also be stored in the corresponding transactions, which in particular indicates a storage location where the data can be called up. This is particularly advantageous in that the data size of the block chain or of the distributed database system is kept as small as possible.
  • security-protected or “security of data” can be understood to mean, for example, protection that is implemented in particular by a cryptographic method.
  • this can be achieved by using the distributed database system for the provision or transmission or sending of corresponding data / transactions.
  • This is preferably achieved by a combination of various (cryptic tographischen) checksums by usammen breathe this particular synergistically Z, for example, the safety and the cryptographic security for the data of trans actions to be improved.
  • security-protected in connection with the invention can also be understood to mean “cryptographically protected” and / or “manipulation-protected”, wherein “manipulation-protected” can also be referred to as “integrity-protected”.
  • a block chain platform can be understood as a block chain as a service (block chain as a service), as is suggested in particular by Microsoft or IBM.
  • a trustworthy node and / or a node can each store a node checksum (e.g. a digital signature) in a data block (e.g. in the data block they have validated and generated, which is then linked) in order to in particular to enable the creator of the data block to be identified and / or to enable the node to be identified.
  • This node checksum indicates which node, for example, has linked the corresponding data block to at least one other data block of the distributed database system.
  • a data structure or a transaction data record can be stand, which in particular comprises one of the transactions or several transactions.
  • “transaction” or “transactions” can also be understood to mean, for example, the data of a transaction of a data block of a block chain.
  • a transaction can in particular comprise a program code which, for example, implements a smart contract.
  • a transaction can also be understood to mean a tax transaction and / or a confirmation transaction.
  • a transaction can be, for example, a data structure that stores data (e.g. the control commands and / or contract data and / or other data such as video data, user data, measurement data, etc.).
  • Direct storage can mean, for example, that the corresponding data block (of the distributed database system) or the corresponding transaction of the distributed database system) comprises the respective data.
  • Indirect storage can be understood, for example, to mean that the corresponding data block or the corresponding transaction comprises a checksum and optionally an additional data record (e.g. a reference or an indication of a storage location) for corresponding data and thus the corresponding data are not stored directly in the data block (or the transaction) (ie instead only a checksum for this data).
  • these checksums can be validated, for example, as is explained, for example, under “inserting into the distributed database system”.
  • a “program code” (for example a smart contract) can be understood to mean, for example, a program command or a plurality of program commands which special are stored in one or more transactions.
  • the program code is particularly executable and is carried out, for example, by the distributed database system.
  • This can be implemented, for example, by means of an execution environment (for example a virtual machine), the execution environment or the program code preferably being Turing-complete.
  • the program code is preferably executed by the infrastructure of the distributed database system [4] [5].
  • a virtual machine is implemented through the infrastructure of the distributed database system.
  • a “smart contract” can be understood in connection with the invention as an executable program code [4] [5] (see in particular definition "program code”).
  • the smart contract is preferably stored in a transaction of a distributed database system (e.g. a block chain), for example in a data block of the distributed database system.
  • a distributed database system e.g. a block chain
  • the Smart contract can be understood in connection with the invention as an executable program code [4] [5] (see in particular definition "program code”).
  • the smart contract is preferably stored in a transaction of a distributed database system (e.g. a block chain), for example in a data block of the distributed database system.
  • a distributed database system e.g. a block chain
  • DLTS distributed ledger technology based system
  • an audit-proof database system e.g. B.
  • DAG Directed Acylic Graph
  • Cryptographic puzzle a cryptographic puzzle
  • hash graph a combination of the above implementation variants [6] [7].
  • Different consensus algorithms can also be implemented, for example. This can be, for example, a consensus procedure using a cryptographic puzzle, Gossip about Gossip, Virtual Voting or a combination of the above-mentioned procedures (e.g. Gossip about Gossip combined with Virtual Voting) [6] [7]. If, for example, a block chain is used, it can be implemented in particular by means of a Bitcoin-based implementation or an Ethereum-based implementation
  • a “distributed database system” can also be understood to mean, for example, a distributed database system, of which at least some of its nodes and / or devices and / or infrastructure are implemented by a cloud.
  • the corresponding components are in the form of nodes / devices Cloud (eg as a virtual node in a virtual machine) can be implemented using VM goods, Amazon Web Services or Microsoft Azure, for example.
  • Cloud eg as a virtual node in a virtual machine
  • VM goods e.g. a virtual node in a virtual machine
  • Azure Amazon Web Services
  • partial aspects of the implementation variants mentioned can also be combined with one another can be combined, e.g. by using a hash graph as a block chain, whereby the block chain itself can also be blockless, for example.
  • the distributed database system can be, for example, a public distributed database system (e.g. a public block chain) or a closed (or private) distributed database system (e.g. a private block chain).
  • a public distributed database system e.g. a public block chain
  • a closed (or private) distributed database system e.g. a private block chain
  • the distributed database system is, for example, a closed, distributed database system
  • new nodes and / or devices require, for example, a valid proof of authorization and / or valid authentication information and / or valid credentials and / or valid login information in order to use the distributed one Database system can join or be accepted by this.
  • a distributed database system can, for example, also be a distributed communication system for data exchange. This can be, for example, a network or a peer-2-peer network.
  • data block which can also be referred to as a "link” or “block”, depending on the context and implementation, in connection with the invention, for example, a data block of a distributed database system (e.g. a block chain or a peer to peer database), which is realized in particular as a data structure and preferably one or more of the transactions Transactions.
  • the database or the database system
  • DLTS DLT-based system
  • a data block can contain, for example, information on the size (data size in bytes) of the data block, a data block header, a transaction counter and one or more
  • the data block header can include a version, a chaining checksum, a data block checksum, a time stamp, a proof-of-work proof and a nonce (one-time value, random value or counter used for the proof-of-work proof) [1] [4] [5].
  • a data block can also be, for example, only a specific memory area or address area of the total data which are stored in the distributed database system. This allows, for example, blockless distributed database systems, such as. B. implement the IoT Chain (ITC), IOTA, and Byteball.
  • ITC IoT Chain
  • IOTA IOTA
  • Byteball Byteball
  • a data block can, for example, also comprise one or more transactions, in the simplest case, for example, a data block corresponding to a transaction.
  • nonce can be understood to mean, for example, a cryptographic nonce (abbreviation for: “used only once” [2] or “number used on- ce "[3]).
  • a nonce denotes individual numbers or a combination of letters, which is preferably used only once in the respective context (eg transaction, data transfer).
  • a “block chain node”, “node”, “node of a distributed database system” and the like can be understood in connection with the invention, for example, devices (for example field devices, mobile telephones), computers, smart phones, clients or subscribers which carry out operations (with) the distributed database system (e.g. a block chain) [1] [4] [5]
  • Such nodes can, for example, execute transactions of a distributed database system or its data blocks or new data blocks with new transactions insert or chain into the distributed database system using new data blocks, in particular this validation and / or chaining can be carried out by a trustworthy node (eg a mining node) or exclusively by trustworthy nodes
  • a node that has additional security measures e.g.
  • a trusted node can store a node checksum (e.g. a digital signature or a certificate) in the new data block.
  • a proof can be provided that indicates that the corresponding data block was inserted by a certain node or indicates its origin.
  • the devices e.g. the corresponding device
  • the devices can, for example, be field devices or devices in the Internet of Things, which in particular are also a node of the distributed database system.
  • nodes can also include at least one processor in order to, for. B. execute their computer-implemented functionality.
  • a “block chain oracle” and the like can be understood in connection with the invention, for example, to be nodes, devices or computers which, for example, have a security module which can be used, for example, by means of software protection mechanisms (for example cryptographic methods), mechanical protective devices (e.g. a lockable housing) or electrical protective devices (e.g. tamper protection or a protection system that includes the data of the safety module in the event of unauthorized use / treatment of the block chain oracle deletes)
  • Security module can include, for example, cryptographic keys that are necessary for the calculation of the checksums (e.g. transaction checksums or node checksums).
  • a “device” or a “device” in connection with the invention for example, a computer (system), a client, a smart phone, a device or a server, which are respectively arranged outside the block chain or no participant in the distributed database system (e.g. B. the block chain) (i.e. do not perform any operations with the distributed database system or only query them without carrying out transactions, inserting data blocks or calculating proof-of-work evidence).
  • a computer in particular can also be understood to mean a node of the distributed database system.
  • a device can in particular be understood as a node of the distributed database system or a device outside the block chain or the distributed database system.
  • a device outside the distributed database system can, for example, access the data (e.g. transactions or tax transactions) of the distributed database system and / or be controlled by nodes (e.g. by means of smart contracts and / or blockchain oracles). If, for example, a control or control of a device (for example a device designed as a node or a device outside the distributed database system) is implemented by a node, this can be done, for. B. by means of a smart contract, which is stored in particular in a transaction of the distributed database system.
  • nodes e.g. by means of smart contracts and / or blockchain oracles.
  • a method for controlling a data network with regard to the use of a distributed database comprises the following steps:
  • data with which the integrity of the data network is ensured can be stored at different, spatially separated locations (for example, also across DMZ).
  • the computing units which implement the distributed database typically compare these data with one another, so that it is ensured that this data is the same at the different spatially separated locations. If certain data in the distributed database were manipulated (e.g. when one of these blockchains was manipulated), it would be recognized that the other data in the distributed database (e.g. the other blockchains) contained different information, whereupon the manipulated data (e.g. the manipulated blockchain) compared with the other data (e.g. the other blockchain) which will reverse the manipulation.
  • control of the operation of the data network can include assigning computing tasks in connection with the storage of data in the distributed database to those computing units for which free capacities have been recorded.
  • These arithmetic tasks can include tasks for generating the data stored in the distributed database (e.g. creating a blockchain).
  • Controlling the operation of the data network can also include assigning computing tasks for starting up the distributed database to those computing units for which free capacities have been recorded.
  • the operation of the data network is controlled as a function of a predefined correlation between security of data stored in the distributed database and computing resources for storing the data in the distributed database.
  • the security or integrity of the data stored in the distributed database often depends in particular on how this data is or will be protected against manipulation. Such protection can be achieved, for example, by appropriate encryption or by distributing copies of the stored data as numerous as possible. half of the database or data network.
  • the computing resources required to provide this security can be determined. There is often a tendency that the greater the security of the data stored in the distributed database, the more computing resources are required to store the data in the distributed database, this relationship (between the security of the data and the required computing resources) corresponds to the given correlation.
  • the security of the data can be changed, for example, by changing the configuration parameters of one or more security features of the distributed database when the data is stored. These configuration parameters determine, in particular, how the data stored in the distributed database is protected against manipulation.
  • the one security feature or the plurality of security features can include a chaining checksum of sequentially stored data.
  • the length and / or the algorithm for forming the chaining checksum could be provided as a security feature.
  • each block of the block chain typically contains a cryptographically secure hash value of the preceding block, which is to be regarded as the chaining checksum in the sense of the present invention.
  • a chaining checksum links different data blocks which are stored in the distributed database in such a way that it is (almost) impossible to change only one of these data blocks without this being noticeable on the basis of the chaining checksum.
  • the operation of the data network can also be controlled depending on a comparison between the security indexed data based on the predetermined correlation with the detected capacity of computing resources and a predetermined target security or minimum security.
  • the minimum security can, for example, determine how much effort is required to save a certain amount of data (e.g. 1 MB) of raw data (stored in the data network) in such a way that unauthorized manipulation of this raw data is at least recognized.
  • the minimum security thus defines, for example, in particular the way in which this raw data is protected against unauthorized manipulation (e.g. encryption of the raw data or formation of a checksum on the raw data).
  • the definition of minimum security can also include how many copies of the blockchain exist and how these copies of the blockchain are to be distributed in the distributed database.
  • the method according to the invention can further comprise detecting a network topology (of the computing units) of the data network, so that the operation of the data network can be controlled depending on this network topology.
  • the network topology can describe an arrangement of different computing units to one another in the data network, i.e. a communication link with or without intermediate routers, etc.
  • Local dislocations are understood to mean which locations (such as factories, business premises, outposts, etc.) are part of the data network, and which fire protection zones, switch boxes and power supply sections etc. exist in a location with regard to the data network.
  • controlling the operation of the data network also includes adapting the network topology.
  • the adaptation of the network topology can include adding connections between computing units of the data network, but also removing connections between such computing units.
  • controlling the operation of the data network can include adding and removing computing units from the data network.
  • the predetermined minimum safety, process V according to the invention may or Suggest how many computing units are to be added to the data network (for example, as a blockchain manager) at certain points, in order to be able to achieve the specified minimum security, particularly in statistical terms.
  • control of the operation of the data network can include that user instructions are output via a user interface, these user instructions relating to physical adaptations of the data network.
  • communication with users of the data network can be carried out in accordance with the invention, in order thereby to achieve in particular those necessary for achieving minimum security. make adjustments (e.g. adding computing units and connections between computing units).
  • the user can specify which minimum security (level of security) he would like to achieve using the distributed database.
  • the method according to the invention can then tell the user how many additional computing units or computing units and / or network-side investments (eg additional data connections) are to be added at which points in the data network , so that the desired minimum security can be achieved with the expanded database.
  • the method according to the invention can be used when planning a new data network, for expanding an existing data network with the distributed database and for expanding an existing data network with an already existing database.
  • data is stored in the distributed database which indicate the operating parameters of the data network.
  • the distributed database By storing data in the distributed database (for example in the blockchain) which are derived from operating parameters of the data network, the distributed database can be recognized whether these operating parameters have been changed without permission.
  • the data stored in the distributed database which index the operating parameters of the data network, include, for example, versioning information of software or data packets which are stored in the data network.
  • distributed database e.g. blockchain
  • information stored in the distributed database can also be linked to data to be transmitted in the data network, in order to ensure the integrity of this data during processing or transmission to an external memory (e.g. cloud).
  • an external memory e.g. cloud
  • Multifunctional platforms with several cores, generally CPUs and / or GPUs, can be used as computing units for the database.
  • a so-called blockchain computing unit i.e. a computing unit for managing a blockchain
  • the data traffic between the cores of the same multifunctional platform advantageously results in a significantly lower network load compared to data traffic between computing units distributed in the network.
  • certain computing units of the data network which are used for the distributed database to manage only a part of the blockchain, where this part comprises at least the last block of the blockchain.
  • a hierarchy can be moved into the blockchain organization.
  • blockchain administrators exist in a first hierarchy level, who only manage the at least necessary worm process or the previously described part of the blockchain that is needed to create a new block for the blockchain.
  • Blockchain administrators which each contain the entire blockchain, exist in a second hierarchy level above the first hierarchy level.
  • the blockchain administrators of the first hierarchy level can reduce the network load and also the storage requirements for storing the blockchain without having to compromise on the security of the data network.
  • a procedure for determining a hash value which characterizes the specific block and which is stored in a further block of the blockchain which directly follows the specific block can be changed depending on a specific block of the blockchain.
  • the possibility of changing the procedure for determining or generating the hash value for the blockchain can advantageously further increase the security of the data network achieved by the distributed database.
  • the data network according to the invention can be an industrial data network, which can be used, for example, for an automobile company, a track system, a power plant, a smart grid or a power transmission system. Maintenance data, cloud data or health data can be stored with a data network according to the invention.
  • a distributed database for example a blockchain
  • corresponding software packages can be automatically played on the computing units of the computing units and the distributed database thereby Be operated. This can be initiated, for example, by a corresponding push of a button or by a corresponding slider or hook in a software menu by a corresponding user.
  • the distributed database can be automatically expanded by additional blockchain administrators (i.e. new computing units in the data network), thus increasing security. Such an expansion can be done on the one hand by introducing extra computing units for the blockchain or by additional systems in the data network, which can also take on some of the blockchain tasks.
  • the present invention discloses an electronically readable data carrier, for example a DVD, a magnetic tape, a hard disk or a USB stick, on which electronically readable control information, in particular software (see above), is stored. If this control information (software) is read from the data carrier and stored in a control device or arithmetic unit which can be connected to a data network, all of the embodiments of the method described above can be carried out.
  • the security implemented by a blockchain can, for example, be integrated step by step into an existing data network with a central software.
  • the invention can be used both in the planning phase and in an existing data network without blockchain and in an existing data network with blockchain.
  • the quality or integrity of the data network can also be improved or adapted step by step to certain circumstances. For example, when the data network is enlarged, a notice can be automatically generated that additional security should be built in regarding the blockchain.
  • a distributed database for example a blockchain
  • a distributed database can be implemented cost-effectively according to the invention.
  • FIG. 1 A blockchain according to the invention is shown schematically in FIG. 1.
  • FIG. 2 shows a device according to the invention which is connected to a data network.
  • FIG. 3 shows the data network shown in FIG. 2 with a distributed database.
  • a blockchain 300 according to the invention is shown schematically in FIG. 1.
  • the blockchain 300 comprises several data blocks 301-303, which are linked in the form of a chain or sequence of data blocks 301-303.
  • Each data block 301-303 has a chaining checksum 311-313, which for example represents a hash value.
  • the checksum 311-313 is dependent on the previous data block within the
  • the checksum 312 of the data block 302 is formed as a function of the data block 301, which is represented by the corresponding arrow in FIG. 1.
  • the checksum 311 or 312 of the data block 301 or 302 can, for example, be a hash value which is calculated on the basis of the data stored in the respective previous data block 302 or 303.
  • an (unauthorized) modification of the data block 302 or 303 can be detected by comparing the data block 302 or 303 with the checksum 311 or 312.
  • FIG. 2 shows a data network 6 to which a device 4 according to the invention is connected.
  • the data network comprises a plurality of computing units 3, each of which at least one CPU 1 usually also includes a memory unit or a memory 2.
  • the computing units 3 are connected to one another via data lines 7.
  • the device 4 according to the invention is also a computing unit which comprises a CPU 1 and a memory unit or a memory 2. summarizes.
  • the device 4 according to the invention is connected via a data line 7 to the data network 6 or is part of the data network 6.
  • a method according to the invention for controlling the data network with regard to the use of a distributed database (for example a blockchain 300) runs on the device 4 according to the invention.
  • the method according to the invention detects a capacity of computing resources of the computing units 3 of the data network 6. Depending on this capacity of computing resources
  • the device 4 controls the operation of the data network 6 with regard to the use of the distributed database 300.
  • Fig. 3 these three computing units 3 are summarized by a dashed line 5 ge, with the reference character 5 chen the processing units 3 used for the distributed database (in particular for realizing a blockchain 300) are identified.
  • the device 4 uses these three computing units 3 to build up the distributed database 300, in which version information of the software and data packets stored in the data network 6 are then stored in the form of a blockchain.
  • the distributed database or blockchain 300 constructed in accordance with the invention thereby ensures data integrity of the data network 6.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung betrifft ein Steuern eines Datennetzes (6) hinsichtlich eines Einsatzes einer verteilten Datenbank (300). Dabei wird eine Kapazität von Rechenressourcen einer Vielzahl von Recheneinheiten (3) des Datennetzes (6) erfasst. Der Betrieb des Datennetzes (6) hinsichtlich des Einsatzes der verteilten Datenbank (300) wird abhängig von der Kapazität von Rechenressourcen gesteuert.

Description

Beschreibung
Steuern eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank
Die vorliegende Erfindung betrifft die Steuerung eines Daten netzes, um durch diese Steuerung eine verteilte Datenbank in nerhalb des Datennetzes zu realisieren oder eine innerhalb des Datennetzes bereits bestehende verteilte Datenbank zu er weitern .
Aus dem Stand der Technik sind das Dokument US 8,531,247 B2, das Dokument US 8,892,616 B2, das Dokument US 8,300,811 B2, das Dokument US 9,147,088 B2, das Dokument US 9584311 B2, das Dokument EP 2976707 Bl, das Dokument EP 2 605 445 Bl, das Do kument EP 2 870 565 Al, das Dokument EP 2 891 102 Al, das Do kument WO 2017137256 Al, das Dokument EP 2870565 Bl, EP
2891266 Bl, das Dokument EP 2961091 Al, das Dokument EP
2961093 Al, das Dokument EP 3028140 Bl, das Dokument EP
2930610 Bl, das Dokument EP 2940620 Bl, das Dokument EP
2899714 Al, das Dokument EP 2981926 A0, das Dokument EP
3125492 Bl, das Dokument EP17195125, das Dokument EP17211075, das Dokument EP18178316, das Dokument EP18156084, das Doku ment EP18151345, das Dokument EP18167702, das Dokument
EP18153594, das Dokument EP18162050, das Dokument EP18178498, das Dokument EP18152117, das Dokument EP18150133, das Doku ment EP18169145, das Dokument EP17210647, das Dokument
EP18150146, das Dokument EP18167486, das Dokument EP18168670, das Dokument EP18162049, das Dokument EP17203819, das Doku ment EP18157168, das Dokument EP18169421, das Dokument
EP17210253, das Dokument EP17205224, das Dokument EP18169269, das Dokument EP18169254, das Dokument EP17210288, das Doku ment EP18153025, das Dokument EP17200614, das Dokument
EP18156308, das Dokument EP17201758, das Dokument EP18156511, das Dokument EP18159485, das Dokument EP17203573, das Doku ment EP 17175275, das Dokument EP17186826, das Dokument WO 2018069271 Al, das Dokument PCT/EP2017/082508, das Dokument EP17179823, das Dokument WO 2017050348 Al, das Dokument WO 2018068965 Al und das Dokument US 8 843 761 B2 bekannt.
Durch heutige Sicherheitstechniken wie VPN (Virtual Private Network) oder durch den Einsatz einer PKI (Public Key Infra- structure) in DMZs (demilitarisierten Zonen) wird im Wesent lichen nur die Sicherheit oder Integrität bei der Übertragung von Daten garantiert. Wenn ein (externer) Angreifer einmal diese Sicherheitstechniken überwunden hat und Daten innerhalb eines Datennetzes manipuliert, ist es heutzutage nahezu un möglich, diese Manipulation zu erkennen.
Daher stellt sich die vorliegende Erfindung die Aufgabe, die Integrität (d.h. die Wahrhaftigkeit und Richtigkeit der In formationen) eines Datennetzes möglichst umfassend zu garan tieren .
Erfindungsgemäß wird diese Aufgabe durch ein Verfahren zum Steuern eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank nach Anspruch 1, durch eine Vorrichtung nach Anspruch 15, durch ein Computerprogrammprodukt nach An spruch 17 und durch einen elektronisch lesbaren Datenträger nach Anspruch 18 gelöst. Die abhängigen Ansprüche definieren bevorzugte und vorteilhafte Ausführungsformen der vorliegen den Erfindung.
Die Technologie von Blockketten (engl. Blockchains) bzw.
"Distributed Ledgers" ist aktuell eine intensiv diskutierte Technologie, die insbesondere als verteiltes Datenbanksystem realisiert sein kann. Neben Anwendungen für dezentrale Be zahlsysteme (z. B. Bitcoin) werden in der Finanzindustrie neue Anwendungsmöglichkeiten entwickelt. Insbesondere können Transaktionen zwischen Firmen dadurch ohne Vermittler bzw. Clearing-Stelle manipulationsgeschützt realisiert werden.
Dies ermöglicht neue Geschäftsmodelle ohne einen vertrauens würdigen Vermittler, es reduziert die Transaktionskosten, und es können flexibel neue digitale Dienste angeboten werden, ohne eine dafür speziell eingerichtete Infrastruktur und Ver- trauensbeziehungen einrichten zu müssen. Ein durch eine
Blockchain geschützter Transaktionsdatensatz (oder kurz Transaktion) umfasst z. B. Programmcode, der auch als soge nannter „Smart Contract" bezeichnet werden kann.
Sofern es in der nachfolgenden Beschreibung nicht anders an gegeben ist, beziehen sich die Begriffe "durchführen", "be rechnen", "rechnergestützt", "rechnen", "feststellen", "gene rieren", "konfigurieren", "rekonstruieren", „steuern", „zu weisen" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überfüh ren, wobei die Daten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impulse. Insbesondere sollte der Ausdruck "Compu ter" oder „Vorrichtung" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbei tungseigenschaften abzudecken. Computer können somit bei spielsweise Personal Computer, Server, speicherprogrammierba re Steuerungen (SPS) , Handheld-Computer-Systeme, Pocket-PC- Geräte, Mobilfunkgeräte und andere Kommunikationsgeräte, die rechnergestützt Daten verarbeiten können, Prozessoren und an dere elektronische Geräte zur Datenverarbeitung sein.
Unter „rechnergestützt" kann im Zusammenhang mit der Erfin dung beispielsweise eine Implementierung des Verfahrens ver standen werden, bei dem insbesondere ein Prozessor mindestens einen Verfahrensschritt des Verfahrens ausführt.
Unter einem Prozessor kann im Zusammenhang mit der Erfindung beispielsweise eine Maschine oder eine elektronische Schal tung verstanden werden. Bei einem Prozessor kann es sich ins besondere um einen Hauptprozessor (engl. Central Processing Unit, CPU) , einen Mikroprozessor oder einen Mikrokontroller, beispielsweise eine anwendungsspezifische integrierte Schal tung oder einen digitalen Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Pro grammbefehlen, etc. handeln. Bei einem Prozessor kann es sich beispielsweise auch um einen IC (integrierter Schaltkreis, engl. Integrated Circuit), insbesondere einen FPGA (engl. Field Programmable Gate Array) oder einen ASIC (anwendungs spezifische integrierte Schaltung, engl. Application-Specific Integrated Circuit) , oder einen DSP (Digitaler Signal
prozessor, engl. Digital Signal Processor) oder einen Grafik prozessor GPU (Graphic Processing Unit) handeln. Auch kann unter einem Prozessor ein virtualisierter Prozessor, eine virtuelle Maschine oder eine Soft-CPU verstanden werden. Es kann sich beispielsweise auch um einen programmierbaren Pro zessor handeln, der mit Konfigurationsschritten zur Ausfüh rung des genannten erfindungsgemäßen Verfahrens ausgerüstet wird oder mit Konfigurationsschritten derart konfiguriert ist, dass der programmierbare Prozessor die erfindungsgemäßen Merkmale des Verfahrens, der Komponente, der Module, oder an derer Aspekte und/oder Teilaspekte der Erfindung realisiert.
Unter einer „Speichereinheit" oder „Speichermodul" und der gleichen kann im Zusammenhang mit der Erfindung beispielswei se ein flüchtiger Speicher in Form von Arbeitsspeicher (engl. Random-Access Memory, RAM) oder ein dauerhafter Speicher wie eine Festplatte oder ein Datenträger verstanden werden.
Unter einem „Modul" oder einer „Recheneinheit" kann im Zusam menhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbe fehlen verstanden werden. Beispielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszu führen, damit der Prozessor Funktionen ausführt, um das er findungsgemäße Verfahren oder einen Schritt des erfindungsge mäßen Verfahrens zu implementieren oder realisieren. Ein Mo dul kann beispielsweise auch ein Knoten des verteilten Daten banksystems sein, der beispielsweise die spezifischen Funkti onen/Merkmale eines entsprechenden Moduls realisiert. Die je weiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die ent sprechenden Module beispielsweise weitere Elemente umfassen. Diese Elemente sind beispielsweise eine oder mehrere Schnitt- stellen (z. B. Datenbankschnittstellen, Kommunikations schnittstellen - z. B. Netzwerkschnittstelle, WLAN- Schnittstelle) und/oder eine Evaluierungseinheit (z. B. ein Prozessor) und/oder eine Speichereinheit. Mittels der
Schnittstellen können beispielsweise Daten ausgetauscht (z.
B. empfangen, übermittelt, gesendet oder bereitgestellt wer den) . Mittels der Evaluierungseinheit können Daten beispiels weise rechnergestützt und/oder automatisiert verglichen, überprüft, verarbeitet, zugeordnet oder berechnet werden. Mittels der Speichereinheit können Daten beispielsweise rech nergestützt und/oder automatisiert gespeichert, abgerufen o- der bereitgestellt werden.
Unter „umfassen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung bei spielsweise ein (rechnergestütztes) Speichern einer entspre chenden Information bzw. eines entsprechenden Datums in einer Datenstruktur/Datensatz (die z. B. wiederum in einer Spei chereinheit gespeichert ist) verstanden werden.
Unter „zuordnen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung bei spielsweise eine rechnergestützte Zuordnung von Daten
und/oder Informationen verstanden werden. Beispielsweise wird einem ersten Datum hierzu mittels einer Speicheradresse oder eines eindeutigen Identifizierers (engl, unique identifier (UID) ) ein zweites Datum zugeordnet, in dem z. B. das erste Datum zusammen mit der Speicheradresse oder des eindeutigen Identifizierers des zweites Datums zusammen in einem Daten satz gespeichert wird.
Unter „bereitstellen" , insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfin dung beispielsweise ein rechnergestütztes Bereitstellen ver standen werden. Das Bereitstellen erfolgt beispielsweise über eine Schnittstelle (z. B. eine Datenbankschnittstelle, eine Netzwerkschnittstelle, eine Schnittstelle zu einer Speicher einheit) . Über diese Schnittstelle können beispielsweise beim Bereitstellen entsprechende Daten und/oder Informationen übermittelt und/oder gesendet und/oder abgerufen und/oder empfangen werden.
Unter „bereitstellen" kann im Zusammenhang mit der Erfindung beispielsweise auch ein Laden oder ein Speichern, beispiels weise einer Transaktion mit entsprechenden Daten verstanden werden. Dies kann beispielsweise auf oder von einem Speicher modul erfolgen. Unter „Bereitstellen" kann beispielsweise auch ein Übertragen (oder ein Senden oder ein Übermitteln) von entsprechenden Daten von einem Knoten zu einem anderen Knoten der Blockkette oder des verteilten Datenbanksystems (bzw. deren Infrastruktur) verstanden werden.
Unter „Smart-Contract-Prozess" kann im Zusammenhang mit der Erfindung insbesondere ein Ausführen eines Programmcodes (z. B. der Steuerbefehle) in einem Prozess durch das verteilte Datenbanksystem bzw. deren Infrastruktur verstanden werden.
Unter einer „Prüfsumme", beispielsweise eine Datenblockprüf- summe, eine Datenprüfsumme, eine Knotenprüfsumme, eine Trans aktionsprüfsumme, eine Verkettungsprüfsumme oder dergleichen, kann im Zusammenhang mit der Erfindung beispielsweise eine kryptographische Prüfsumme oder kryptographischer Hash bzw. Hashwert verstanden werden, die insbesondere mittels einer kryptographischen Hashfunktion über einen Datensatz und/oder Daten und/oder eine oder mehrere der Transaktionen und/oder einem Teilbereich eines Datenblocks (z. B. der Block-Header eines Blocks einer Blockkette oder Datenblock-Header eines Datenblocks des verteilten Datenbanksystems oder nur einem Teil der Transaktionen eines Datenblocks) gebildet oder be rechnet werden. Bei einer Prüfsumme kann es sich insbesondere um eine Prüfsumme/n oder Hashwert/e eines Hash-Baumes (z. B. Merkle Baum, Patricia-Baum) handeln. Weiterhin kann darunter insbesondere auch eine digitale Signatur oder ein kryptogra phischer Nachrichtenauthentisierungscode verstanden werden. Mittels der Prüfsummen kann beispielsweise auf unterschiedli chen Ebenen des Datenbanksystems ein kryptographischer Schutz/Manipulationsschutz für die Transaktionen und die da rin gespeicherten Daten (sätze) realisiert werden. Ist bei spielsweise eine hohe Sicherheit gefordert, werden beispiels weise die Prüfsummen auf Transaktionsebene erzeugt und über prüft. Ist eine weniger hohe Sicherheit gefordert, werden beispielsweise die Prüfsummen auf Blockebene (z. B. über den ganzen Datenblock oder nur über einen Teil des Datenblocks und/oder einen Teil der Transkationen) erzeugt und überprüft.
Unter einer „Datenblockprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die bei spielsweise über einen Teil oder alle Transaktionen eines Da tenblocks berechnet wird. Ein Knoten kann dann beispielsweise die Integrität/Authentizität des entsprechenden Teils eines Datenblocks mittels der Datenblockprüfsumme prü- fen/feststellen . Zusätzlich oder alternativ kann die Daten blockprüfsumme insbesondere auch über Transaktionen eines vorhergehenden Datenblocks/Vorgänger-Datenblocks des Daten blocks gebildet worden sein. Die Datenblockprüfsumme kann da bei insbesondere auch mittels eines Hash-Baumes, beispiels weise einem Merkle Baum [1] oder einem Patricia-Baum, reali siert werden, wobei die Datenblockprüfsumme insbesondere die Wurzel-Prüfsumme des Merkle-Baumes bzw. eines Patricia-Baumes bzw. eines binären Hashbaumes ist. Insbesondere werden Trans aktionen mittels weiterer Prüfsummen aus dem Merkle-Baum bzw. Patricia-Baum abgesichert (z. B. unter Verwendung der Trans aktionsprüfsummen) , wobei insbesondere die weiteren Prüfsum men Blätter im Merkle-Baum bzw. Patricia-Baum sind. Die Da tenblockprüfsumme kann damit beispielsweise die Transaktionen absichern, indem die Wurzel-Prüfsumme aus den weiteren Prüf summen gebildet wird. Die Datenblockprüfsumme kann insbeson dere für Transaktionen eines bestimmten Datenblocks der Da tenblöcke berechnet werden. Insbesondere kann eine solche Da tenblockprüfsumme in einen nachfolgenden Datenblock des be stimmten Datenblocks eingehen, um diesen nachfolgenden Daten block beispielsweise mit seinen vorhergehenden Datenblöcken zu verketten und insbesondere damit eine Integrität des ver teilten Datenbanksystems prüfbar zu machen. Hierdurch kann die Datenblockprüfsumme beispielsweise die Funktion der Ver kettungsprüfsumme übernehmen oder in die Verkettungsprüfsumme eingehen. Der Header eines Datenblocks (z. B. eines neuen Da tenblocks oder des Datenblocks für den die Datenblockprüfsum me gebildet wurde) kann beispielsweise die Datenblockprüfsum me umfassen.
Unter „Transaktionsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbesondere über eine Transaktion eines Datenblocks gebildet wird. Zu sätzlich kann beispielsweise eine Berechnung einer Daten blockprüfsumme für einen entsprechenden Datenblock beschleu nigt werden, da hierfür beispielsweise bereits berechnete Transaktionsprüfsummen gleich als Blätter z. B. eines Merkle- Baumes verwendet werden können.
Unter einer „Verkettungsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbeson dere einen jeweiligen Datenblock des verteilten Datenbanksys tems den vorhergehenden Datenblock des verteilten Datenbank systems angibt bzw. referenziert (in der Fachliteratur insbe sondere häufig als „previous block hash" bezeichnet) [1] . Hierfür wird insbesondere für den entsprechenden vorhergehen den Datenblock eine entsprechende Verkettungsprüfsumme gebil det. Als Verkettungsprüfsumme kann beispielsweise eine Trans aktionsprüfsumme oder die Datenblockprüfsumme eines Daten blocks (also ein vorhandener Datenblock des verteilten Daten banksystems) verwendet werden, um einen neuen Datenblock mit einem (vorhandenen) Datenblock des verteilten Datenbanksys tems zu verketten. Es ist beispielsweise aber auch möglich, dass eine Prüfsumme über einen Header des vorhergehenden Da tenblocks oder über den gesamten vorhergehenden Datenblock gebildet wird und als Verkettungsprüfsumme verwendet wird. Dies kann beispielsweise auch für mehrere oder alle vorherge henden Datenblöcke berechnet werden. Es ist beispielsweise auch realisierbar, dass über den Header eines Datenblocks und der Datenblockprüfsumme die Verkettungsprüfsumme gebildet wird. Ein jeweiliger Datenblock des verteilten Datenbanksys- tems umfasst jedoch vorzugsweise jeweils eine Verkettungs prüfsumme, die für einen vorhergehenden Datenblock, insbeson dere noch bevorzugter den direkt vorhergehenden Datenblock, des jeweiligen Datenblockes berechnet wurde bzw. sich auf diesen beziehen. Es ist beispielsweise auch möglich, dass ei ne entsprechende Verkettungsprüfsumme auch nur über einen Teil des entsprechenden Datenblocks (z. B. vorhergehenden Da tenblock) gebildet wird. Hierdurch kann beispielsweise ein Datenblock realisiert werden, der einen integritätsgeschütz ten Teil und einen ungeschützten Teil umfasst. Damit ließe sich beispielsweise ein Datenblock realisieren, dessen integ- ritätsgeschützter Teil unveränderlich ist und dessen unge schützter Teil auch noch später verändert werden kann. Unter integritätsgeschützt ist dabei insbesondere zu verstehen, dass eine Veränderung von integritätsgeschützten Daten mit tels einer Prüfsumme feststellbar ist.
Die Daten, die beispielsweise in einer Transkation eines Da tenblocks gespeichert werden, können insbesondere auf unter schiedliche Weise bereitgestellt werden. Anstelle der Daten, z. B. Nutzerdaten wie Messdaten oder Da
ten/Eigentumsverhältnisse zu Assets, kann beispielsweise eine Transaktion eines Datenblocks nur die Prüfsumme für diese Da ten umfassen. Die entsprechende Prüfsumme kann dabei auf un terschiedliche Weise realisiert werden. Dies kann z. B. eine entsprechende Datenblockprüfsumme eines Datenblocks (mit den entsprechenden Daten) einer anderen Datenbank oder des ver teilten Datenbanksystems sein, eine Transaktionsprüfsumme ei nes Datenblocks mit den entsprechenden Daten (des verteilten Datenbanksystems oder einer anderen Datenbank) oder eine Da tenprüfsumme, die über die Daten gebildet wurde.
Zusätzlich kann die entsprechende Transkation noch einen Ver weis oder eine Angabe zu einem Speicherort (z. B. eine Adres se eines Fileservers und Angaben, wo die entsprechenden Daten auf dem Fileserver zu finden sind; oder eine Adresse einer anderen verteilten Datenbank, welche die Daten umfasst) um fassen. Die entsprechenden Daten könnten dann beispielsweise auch in einer weiteren Transaktion eines weiteren Datenblocks des verteilten Datenbanksystems bereitgestellt werden (z. B. wenn die entsprechenden Daten und die zugehörigen Prüfsummen in unterschiedlichen Datenblöcken umfasst sind) . Es ist bei spielsweise aber auch denkbar, dass diese Daten über einen anderen Kommunikationskanal (z. B. über eine andere Datenbank und/oder einen kryptographisch gesicherten Kommunikationska nal) bereitgestellt werden.
Auch kann beispielsweise zusätzlich zu der Prüfsumme ein Zu- satzdatensatz (z. B. ein Verweis oder eine Angabe zu einem Speicherort) in der entsprechenden Transaktionen abgelegt sein, der insbesondere einen Speicherort angibt, wo die Daten abgerufen werden können. Das ist insbesondere dahingehend vorteilhaft, um eine Datengröße der Blockkette oder des ver teilten Datenbanksystems möglichst gering zu halten.
Unter „sicherheitsgeschützt" oder einer „Sicherheit von Da ten" kann im Zusammenhang mit der Erfindung beispielsweise ein Schutz verstanden werden, der insbesondere durch ein kryptographisches Verfahren realisiert wird. Beispielsweise kann dies durch eine Nutzung des verteilten Datenbanksystems für das Bereitstellen oder Übertragen oder Senden von ent sprechenden Daten/Transaktionen realisiert werden. Dies wird vorzugsweise durch eine Kombination der verschiedenen (kryp- tographischen) Prüfsummen erreicht, indem diese insbesondere synergetisch Zusammenwirken, um beispielsweise die Sicherheit bzw. die kryptographische Sicherheit für die Daten der Trans aktionen zu verbessern. Mit anderen Worten kann insbesondere unter „sicherheitsgeschützt" im Zusammenhang mit der Erfin dung auch „kryptographisch geschützt" und/oder „manipulati onsgeschützt" verstanden werden, wobei „manipulationsge schützt" auch als „integritätsgeschützt" bezeichnet werden kann .
Unter „Verketten der/von Datenblöcken eines verteilten Daten banksystems" kann im Zusammenhang mit der Erfindung bei spielsweise verstanden werden, dass Datenblöcke jeweils eine Information (z. B. Verkettungsprüfsumme) umfassen, die auf einen anderen Datenblock oder mehrere andere Datenblöcke des verteilten Datenbanksystems verweisen bzw. diese referenzie- ren [1] [4] [5] .
Unter „Einfügen in das verteilte Datenbanksystem" oder „Hin terlegen von Daten in der verteilten Datenbank" und derglei chen kann im Zusammenhang mit der Erfindung beispielsweise verstanden werden, dass insbesondere eine Transaktion bzw. die Transaktionen oder ein Datenblock mit seinen Transaktio nen an einen oder mehrere Knoten eines verteilten Datenbank systems übermittelt wird. Werden diese Transaktionen bei spielsweise erfolgreich validiert (z. B. durch den/die Kno ten) , werden diese Transaktionen insbesondere als neuer Da tenblock mit mindestens einem vorhandenen Datenblock des ver teilten Datenbanksystems verkettet [1] [4] [5] . Hierzu werden die entsprechenden Transaktionen beispielsweise in einem neu en Datenblock gespeichert. Insbesondere kann dieses Validie ren und/oder Verketten durch einen vertrauenswürdigen Knoten (z. B. einen Mining Node, einen Blockketten-Orakel oder eine Blockketten-Plattform) erfolgen. Insbesondere kann dabei un ter einer Blockketten-Plattform eine Blockkette als Dienst (engl. Blockkette als Service) verstanden werden, wie dies insbesondere durch Microsoft oder IBM vorgeschlagen wird. Insbesondere können ein vertrauenswürdiger Knoten und/oder ein Knoten jeweils eine Knoten-Prüfsumme (z. B. eine digitale Signatur) in einem Datenblock hinterlegen (z. B. in denen von ihnen validierten und erzeugten Datenblock, der dann verket tet wird) , um insbesondere eine Identifizierbarkeit des Er- stellers des Datenblockes zu ermöglichen und/oder eine Iden tifizierbarkeit des Knotens zu ermöglichen. Dabei gibt diese Knoten-Prüfsumme an, welcher Knoten beispielsweise den ent sprechenden Datenblock mit mindestens einem anderen Daten block des verteilten Datenbanksystems verkettet hat.
Unter „Transaktion" bzw. „Transaktionen" können im Zusammen hang mit der Erfindung beispielsweise ein Smart-Contract [4] [5], eine Datenstruktur oder ein Transaktionsdatensatz ver- standen werden, der insbesondere jeweils eine der Transaktio nen oder mehrere Transkationen umfasst. Unter „Transaktion" bzw. „Transaktionen" können im Zusammenhang mit der Erfindung beispielsweise auch die Daten einer Transaktion eines Daten blocks einer Bockkette (engl. Blockchain) verstanden werden. Eine Transaktion kann insbesondere einen Programmcode umfas sen, der beispielsweise einen Smart Contract realisiert. Bei spielsweise können im Zusammenhang mit der Erfindung unter Transaktion auch eine Steuertransaktionen und/oder Bestäti gungstransaktion verstanden werden. Alternativ kann eine Transaktion beispielsweise eine Datenstruktur sein, die Daten speichert (z. B. die Steuerbefehle und/oder Vertragsdaten und/oder andere Daten wie Videodaten, Nutzerdaten, Messdaten etc . ) .
Insbesondere ist unter „Speichern von Transaktionen in Daten blöcken", „Speichern von Transaktionen" und dergleichen ein direktes Speichern oder indirektes Speichern zu verstehen. Unter einem direkten Speichern kann dabei beispielsweise ver standen werden, dass der entsprechende Datenblock (des ver teilten Datenbanksystems) oder die entsprechende Transaktion des verteilten Datenbanksystems) die jeweiligen Daten um fasst. Unter einem indirekten Speichern kann dabei beispiels weise verstanden werden, dass der entsprechende Datenblock oder die entsprechende Transaktion eine Prüfsumme und optio nal einen Zusatzdatensatz (z. B. einen Verweis oder eine An gabe zu einem Speicherort) für entsprechende Daten umfasst und die entsprechenden Daten somit nicht direkt in dem Daten block (oder der Transaktion) gespeichert sind (also stattdes- sen nur eine Prüfsumme für diese Daten) . Insbesondere können beim Speichern von Transaktionen in Datenblöcken diese Prüf summen beispielsweise validiert werden, so wie dies bei spielsweise unter „Einfügen in das verteilte Datenbanksystem" erläutert ist.
Unter einem „Programmcode" (z. B. ein Smart-Contract) kann im Zusammenhang mit der Erfindung beispielsweise ein Programmbe fehl oder mehrere Programmbefehle verstanden werden, die ins- besondere in einer oder mehreren Transaktionen gespeichert sind. Der Programmcode ist insbesondere ausführbar und wird beispielsweise durch das verteilte Datenbanksystem ausge führt. Dies kann beispielsweise mittels einer Ausführungsum gebung (z. B. einer virtuellen Maschine) realisiert werden, wobei die Ausführungsumgebung bzw. der Programmcode vorzugs weise Turing-vollständig sind. Der Programmcode wird vorzugs weise durch die Infrastruktur des verteilten Datenbanksystems ausgeführt [4] [5] . Dabei wird beispielsweise eine virtuelle Maschine durch die Infrastruktur des verteilten Datenbanksys tems realisiert.
Unter einem „Smart Contract" kann im Zusammenhang mit der Er findung beispielsweise ein ausführbarer Programmcode verstan den werden [4] [5] (siehe insbesondere Definition „Programm code") . Der Smart Contract ist vorzugsweise in einer Transak tion eines verteilten Datenbanksystems (z. B. eine Blockket te) gespeichert, beispielsweise in einem Datenblock des ver teilten Datenbanksystems. Beispielsweise kann der Smart
Contract auf die gleiche Weise ausgeführt werden, wie dies bei der Definition von „Programmcode", insbesondere im Zusam menhang mit der Erfindung, erläutert ist.
Unter „Proof-of-Work-Nachweis" kann im Zusammenhang mit der Erfindung beispielsweise ein Lösen einer rechenintensiven Aufgabe verstanden werden, die insbesondere abhängig vom Da- tenblock-Inhalt/Inhalt einer bestimmten Transaktion zu lösen ist [1] [4] [5] . Eine solche rechenintensive Aufgabe wird bei spielsweise auch als kryptographisches Puzzle bezeichnet.
Unter einem „verteilten Datenbanksystem", das beispielsweise auch als verteilte Datenbank bezeichnet werden kann, kann im Zusammenhang mit der Erfindung beispielsweise eine dezentral verteilte Datenbank, eine Blockkette (engl. Blockchain) , ein distributed Ledger, ein verteiltes Speichersystem, ein dis- tributed ledger technology (DLT) based System (DLTS) , ein revisionssicheres Datenbanksystem, eine Cloud, ein Cloud- Service, eine Blockkette in einer Cloud oder eine Peer-to- Peer Datenbank verstanden werden. Auch können beispielsweise unterschiedliche Implementierungen einer Blockkette oder ei nes DLTS verwendet werden, wie z. B. eine Blockkette oder ein DLTS, die mittels eines Directed Acylic Graph (DAG) , eines kryptographischen Puzzles, einem Hashgraph oder eine Kombina tion aus den genannten Implementierungsvarianten [6] [7] . Auch können beispielsweise unterschiedliche Konsensusverfahren (engl, consensus algorithms) implementiert werden. Dies kann beispielsweise ein Konsensusverfahren mittels eines krypto graphischen Puzzles, Gossip about Gossip, Virtual Voting oder eine Kombination der genannten Verfahren sein (z. B. Gossip about Gossip kombiniert mit Virtual Voting) [6] [7] . Wird bei spielsweise eine Blockkette verwendet, so kann diese insbe sondere mittels einer Bitcoin-basierten Realisierung oder ei ner Ethereum-basierten Realisierung umgesetzt werden
[1] [4] [5] . Unter einem „verteilten Datenbanksystem" kann bei spielsweise auch ein verteiltes Datenbanksystem verstanden werden, von dem zumindest ein Teil seiner Knoten und/oder Ge räte und/oder Infrastruktur durch eine Cloud realisiert sind. Beispielsweise sind die entsprechenden Komponenten als Kno ten/Geräte in der Cloud (z. B. als virtueller Knoten in einer virtuellen Maschine) realisiert. Dies kann beispielsweise mittels VM-Ware, Amazon Web Services oder Microsoft Azure er folgen. Aufgrund der hohen Flexibilität der erläuterten Im plementierungsvarianten, können insbesondere auch Teilaspekte der genannten Implementierungsvarianten miteinander kombi niert werden, indem z. B. ein Hashgraph als Blockkette ver wendet wird, wobei die Blockkette selbst z. B. auch blocklos sein kann.
Wird beispielsweise ein Directed Acylic Graph (DAG) verwendet (z. B. IOTA oder Tangle) , sind insbesondere Transaktionen o- der Blöcke oder Knoten des Graphen miteinander über gerichte te Kanten miteinander verbunden. Dies bedeutet insbesondere, dass (alle) Kanten (immer) die gleiche Richtung haben, ähn lich wie dies z. B. bei Zeit ist. Mit anderen Worten ist es insbesondere nicht möglich rückwärts (also entgegen der ge meinsamen gleichen Richtung) die Transaktionen oder die Blö- cke oder die Knoten des Graphen anzulaufen bzw. anzuspringen. Azyklisch bedeutet dabei insbesondere, dass es keine Schlei fen bei einem Durchlaufen des Graphen gibt.
Bei dem verteilten Datenbanksystem kann es sich beispielswei se um ein öffentliches verteiltes Datenbanksystem (z. B. eine öffentliche Blockkette) oder ein geschlossenes (oder priva tes) verteiltes Datenbanksystem (z. B. eine private Blockket te) handeln.
Handelt es sich beispielsweise um ein öffentliches verteiltes Datenbanksystem, bedeutet dies, dass neue Knoten und/oder Ge räte ohne Berechtigungsnachweise oder ohne Authentifizierung oder ohne Anmeldeinformationen oder ohne Credentials dem ver teilten Datenbanksystem beitreten können bzw. von diesem ak zeptiert werden. Insbesondere können in einem solchen Fall die Betreiber der Knoten und/oder Geräte anonym bleiben.
Handelt es sich bei dem verteilten Datenbanksystem beispiels weise um ein geschlossenes verteiltes Datenbanksystem, benö tigen neue Knoten und/oder Geräte beispielsweise einen gülti gen Berechtigungsnachweis und/oder gültige Authentifizie- rungsinformationen und/oder gültige Credentials und/oder gül tige Anmeldeinformationen, um dem verteilten Datenbanksystem beitreten können bzw. von diesem akzeptiert zu werden.
Bei einem verteilten Datenbanksystem kann es sich beispiels weise auch um ein verteiltes Kommunikationssystem zum Daten austausch handeln. Dies kann beispielsweise ein Netzwerk oder ein Peer-2-Peer Netzwerk sein.
Unter „Datenblock", der insbesondere je nach Kontext und Rea lisierung auch als „Glied" oder „Block" bezeichnet sein kann, kann im Zusammenhang mit der Erfindung beispielsweise ein Da tenblock eines verteilten Datenbanksystems (z. B. eine Block kette oder eine Peer to Peer Datenbank) verstanden werden, die insbesondere als Datenstruktur realisiert ist und vor zugsweise jeweils eine der Transaktionen oder mehrere der Transaktionen umfasst. Bei einer Implementierung kann bei spielsweise die Datenbank (oder das Datenbanksystem) ein DLT basiertes System (DLTS) oder eine Blockkette sein und ein Da tenblock ein Block der Blockkette oder des DLTS. Ein Daten block kann beispielsweise Angaben zur Größe (Datengröße in Byte) des Datenblocks, einen Datenblock-Header (engl. Block header) , einen Transaktionszähler und eine oder mehrere
Transaktionen umfassen [1]. Der Datenblock-Header kann bei spielsweise eine Version, eine Verkettungsprüfsumme, eine Da tenblockprüfsumme, einen Zeitstempel, einen Proof-of-Work Nachweis und eine Nonce (Einmalwert, Zufallswert oder Zähler, der für den Proof-of-Work Nachweis verwendet wird) umfassen [1] [4] [5] . Bei einem Datenblock kann es sich beispielsweise auch nur um einen bestimmten Speicherbereich oder Adressbe- reich der Gesamtdaten handeln, die in dem verteilten Daten banksystem gespeichert sind. Damit lassen sich beispielsweise blocklose (engl, blockless) verteilte Datenbanksysteme, wie z. B. die IoT Chain (ITC), IOTA, und Byteball, realisieren. Hierbei werden insbesondere die Funktionalitäten der Blöcke einer Blockkette und der Transaktionen miteinander derart kombiniert, dass z. B. die Transaktionen selbst die Sequenz oder Kette von Transaktionen (des verteilten Datenbanksys tems) absichern (also insbesondere sicherheitsgeschützt ge speichert werden) . Hierzu können beispielsweise mit einer Verkettungsprüfsumme die Transaktionen selbst miteinander verkettet werden, indem vorzugsweise eine separate Prüfsumme oder die Transaktionsprüfsumme einer oder mehrerer Transakti onen als Verkettungsprüfsumme dient, die beim Speichern einer neuen Transaktion in dem verteilten Datenbanksystem in der entsprechenden neuen Transaktion mit gespeichert wird. In ei ner solchen Ausführungsform kann ein Datenblock beispielswei se auch eine oder mehrere Transaktionen umfassen, wobei im einfachsten Fall beispielsweise ein Datenblock einer Transak tion entspricht.
Unter „Nonce" kann im Zusammenhang mit der Erfindung bei spielsweise eine kryptographische Nonce verstanden werden (Abkürzung für: „used only once"[2] oder „number used on- ce"[3]). Insbesondere bezeichnet eine Nonce einzelne Zahlen oder eine Buchstabenkombination, die vorzugsweise ein einzi ges Mal in dem jeweiligen Kontext (z. B. Transaktion, Daten übertragung) verwendet wird.
Unter „vorhergehende Datenblöcke eines (bestimmten) Datenblo ckes des verteilten Datenbanksystems" kann im Zusammenhang mit der Erfindung beispielsweise der Datenblock des verteil ten Datenbanksystems verstanden werden, der insbesondere ei nem (bestimmten) Datenblock direkt vorhergeht. Alternativ können unter „vorhergehender Datenblöcke eines (bestimmten) Datenblockes des verteilten Datenbanksystems" insbesondere auch alle Datenblöcke des verteilten Datenbanksystems ver standen werden, die dem bestimmten Datenblock vorhergehen. Hierdurch kann beispielsweise die Verkettungsprüfsumme oder die Transaktionsprüfsumme insbesondere nur über das dem be stimmten Datenblock direkt vorhergehenden Datenblock (bzw. deren Transaktionen) oder über alle dem ersten Datenblock vorhergehenden Datenblöcke (bzw. deren Transaktionen) gebil det werden.
Unter einem „Blockketten-Knoten" , „Knoten", „Knoten eines verteilten Datenbanksystems" und dergleichen, können im Zu sammenhang mit der Erfindung beispielsweise Geräte (z. B. Feldgeräte, Mobiltelefone) , Rechner, Smart-Phones , Clients oder Teilnehmer verstanden werden, die Operationen (mit) dem verteilten Datenbanksystem (z. B. eine Blockkette) durchfüh ren [1] [4] [5] . Solche Knoten können beispielsweise Transakti onen eines verteilten Datenbanksystems bzw. deren Datenblöcke ausführen oder neue Datenblöcke mit neuen Transaktionen in das verteilte Datenbanksystem mittels neuer Datenblöcke ein- fügen bzw. verketten. Insbesondere kann dieses Validieren und/oder Verketten durch einen vertrauenswürdigen Knoten (z. B. einem Mining Node) oder ausschließlich durch vertrauens würdige Knoten erfolgen. Bei einem vertrauenswürdigen Knoten handelt es sich beispielsweise um einen Knoten, der über zu sätzliche Sicherheitsmaßnahmen verfügt (z. B. Firewalls, Zu gangsbeschränkungen zum Knoten oder ähnliches) , um eine Mani- pulation des Knotens zu verhindern. Alternativ oder zusätz lich kann beispielsweise ein vertrauenswürdiger Knoten beim Verketten eines neuen Datenblocks mit dem verteilten Daten banksystem, eine Knotenprüfsumme (z. B. eine digitale Signa tur oder ein Zertifikat) in dem neuen Datenblock speichern. Damit kann insbesondere ein Nachweis bereitgestellt werden, der angibt, dass der entsprechende Datenblock von einem be stimmten Knoten eingefügt wurde bzw. seine Herkunft angibt. Bei den Geräten (z. B. dem entsprechenden Gerät) handelt es sich beispielsweise um Geräte eines technischen Systems und/oder industriellen Anlage und/oder eines Automatisie rungsnetzes und/oder einer Fertigungsanlage, die insbesondere auch ein Knoten des verteilten Datenbanksystems sind. Dabei können die Geräte beispielsweise Feldgeräte sein oder Geräte im Internet der Dinge sein, die insbesondere auch ein Knoten des verteilten Datenbanksystems sind. Knoten können bei spielsweise auch zumindest einen Prozessor umfassen, um z. B. ihre computerimplementierte Funktionalität auszuführen.
Unter einem „Blockketten-Orakel" und dergleichen können im Zusammenhang mit der Erfindung beispielsweise Knoten, Geräte oder Rechner verstanden werden, die z. B. über ein Sicher heitsmodul verfügen, das beispielsweise mittels Software- Schutzmechanismen (z. B. kryptographische Verfahren), mecha nische Schutzeinrichtungen (z. B. ein abschließbares Gehäuse) oder elektrische Schutzeinrichtungen verfügt (z. B. Tamper- Schutz oder ein Schutzsystem, das die Daten des Sicherheits moduls bei einer unzulässigen Nutzung/Behandlung des Block ketten-Orakel löscht umfasst) . Das Sicherheitsmodul kann da bei beispielsweise kryptographische Schlüssel umfassen, die für die Berechnung der Prüfsummen (z. B. Transaktionsprüfsum men oder Knotenprüfsummen) notwendig sind.
Unter einem „Rechner", einer „Vorrichtung" oder einem „Gerät" kann im Zusammenhang mit der Erfindung beispielsweise ein Computer ( System) , ein Client, ein Smart-Phone, ein Gerät oder ein Server, die jeweils außerhalb der Blockkette angeordnet sind bzw. kein Teilnehmer des verteilten Datenbanksystems (z. B. der Blockkette) sind (also keine Operationen mit dem ver teilten Datenbanksystem durchführen oder diese nur abfragen, ohne jedoch Transaktionen durchzuführen, Datenblöcke einfügen oder Proof-of-Work-Nachweise berechnen), verstanden werden. Alternativ kann insbesondere auch unter einem Rechner ein Knoten des verteilten Datenbanksystems verstanden werden. Mit anderen Worten kann insbesondere unter einem Gerät ein Knoten des verteilten Datenbanksystems verstanden werden oder auch ein Gerät außerhalb der Blockkette bzw. des verteilten Daten banksystems verstanden werden. Ein Gerät außerhalb des ver teilten Datenbanksystems kann beispielsweise auf die Daten (z. B. Transaktionen oder Steuertransaktionen) des verteilten Datenbanksystems zugreift und/oder von Knoten (z. B. mittels Smart-Contracts und/oder Blockketten-Orakel ) angesteuert wer den. Wird beispielsweise eine Ansteuerung bzw. Steuerung ei nes Gerätes (z. B. ein als Knoten ausgebildetes Gerät oder ein Gerät außerhalb des verteilten Datenbanksystems) durch einen Knoten realisiert, kann dies z. B. mittels eines Smart- Contracts erfolgen, der insbesondere in einer Transaktion des verteilten Datenbanksystems gespeichert ist.
[1]
Andreas M. Antonopoulos "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", O'Reilly Media, December 2014
[2]
Roger M. Needham, Michael D. Schroeder "Using encryption for authentication in large networks of Computers" ACM: Communi cations of the ACM. Band 21, Nr. 12 Dezember 1978,
[3]
Ross Anderson "Security Engineering. A Guide to Building De- pendable Distributed Systems" Wiley, 2001
[4]
Henning Diedrich „Ethereum: Blockchains, Digital Assets,
Smart Contracts, Decentralized Autonomous Organizations", CreateSpace Independent Publishing Platform, 2016 [5]
"The Ethereum Book Proj ect/Mastering Ethereum"
https://github.com/ethereumbook/ethereumbook, Stand 5.10.2017
[6]
Leemon Baird
"The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byz- antine Fault Tolerance",
Swirlds Tech Report SWIRLDS-TR-2016-01, 31.5.2016
[7]
Leemon Baird
"OverView of Swirlds Hashgraph",
31.5.2016
[8]
Blockchain Oracles
https : / /blockchainhub . net/blockchain-oracles/
Stand 14.03.2018
Im Rahmen der vorliegenden Erfindung wird ein Verfahren zum Steuern eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank bereitgestellt. Dabei umfasst das Ver fahren folgende Schritte:
• Erfassen von Kapazitäten von Rechenressourcen von Re
cheneinheiten des Datennetzes. In diesem Schritt kann insbesondere die Auslastung der Recheneinheiten des Da tennetzes erfasst werden, um freie Kapazitäten für den Einsatz der verteilten Datenbank zu ermitteln. Zur
Durchführung dieses Schrittes können beispielsweise alle Recheneinheiten, welche bereits im Datennetz vorhanden sind, analysiert werden, um freie ungenutzte Kapazitäten dieser Recheneinheiten zu erfassen. Für jede Rechenein heit mit freien ungenutzten Kapazitäten kann dann über prüft werden, ob die jeweilige Recheneinheit genügend Leistung zur Verfügung stellen kann, um quasi zusätzlich oder nebenbei die verteilte Datenbank zu verwalten oder zu betreiben.
• Steuern des Betriebs des Datennetzes bezüglich des Ein satzes der verteilten Datenbank abhängig von der vorab erfassten Kapazität von Rechenressourcen. In diesem Schritt kann insbesondere abhängig von der Auslastung der Recheneinheiten des Datennetzes entschieden werden, ob die vorab erfassten freien Kapazitäten zum Aufbau ei ner verteilten Datenbank ausreichen, um insbesondere mit der aufgebauten verteilten Datenbank statistisch eine vorbestimmte Mindestsicherheit oder Ziel-Sicherheit dar zustellen .
Durch den Aufbau einer verteilten Datenbank (beispielsweise einer Blockchain basierten Datenbank) kann die Integrität des Datennetzes, insbesondere die Integrität der in dem Datennetz gespeicherten Daten oder Datenblöcke, sichergestellt werden. Dadurch kann vorteilhafterweise eine Manipulation von Daten des Datennetzes durch externe Angreifer, aber auch durch in terne Angreifer frühzeitig erkannt werden.
Mit der verteilten Datenbank können Daten, mit welchen die Integrität des Datennetzes sichergestellt wird (beispielswei se eine Blockchain) an verschiedenen räumlich getrennten Or ten (z.B. auch DMZ übergreifend) gespeichert werden. Die Re cheneinheiten, welche die verteilte Datenbank realisieren, gleichen diese Daten typischerweise gegeneinander ab, so dass gewährleistet ist, dass diese Daten an den verschiedenen räumlich getrennten Orten gleich sind. Bei einer Manipulation bestimmter Daten der verteilten Datenbank (z.B. bei der Mani pulation einer dieser Blockchains) würde erkannt werden, dass die anderen Daten der verteilten Datenbank (z.B. die anderen Blockchains) eine andere Information beinhalten, woraufhin die manipulierten Daten (z.B. die manipulierte Blockchain) mit den anderen Daten (z.B. den anderen Blockchain) abgegli- chen werden, wodurch die Manipulation rückgängig gemacht wird .
Gemäß einer erfindungsgemäßen Ausführungsform kann das Steu ern des Betriebs des Datennetzes ein Zuweisen von Rechenauf gaben im Zusammenhang mit der Hinterlegung von Daten in der verteilten Datenbank an diejenigen Recheneinheiten umfassen, für welche freie Kapazitäten erfasst wurden.
Diese Rechenaufgaben können beispielsweise Aufgaben zur Er zeugung der in der verteilten Datenbank abgespeicherten Daten (z.B. die Erzeugung einer Blockchain) umfassen.
Das Steuern des Betriebs des Datennetzes kann auch das Zuwei sen von Rechenaufgaben zur Inbetriebnahme der verteilten Da tenbank an diejenigen Recheneinheiten umfassen, für welche freie Kapazitäten erfasst wurden.
Dadurch ist es erfindungsgemäß möglich, dass für den Fall, dass ausreichend freie Kapazitäten bei den Recheneinheiten des Datennetzes vorhanden sind, automatisch die verteilte Da tenbank in Betrieb genommen wird. Damit wird vorteilhafter weise quasi automatisch bei einem bestehenden Datennetz für eine Datenintegrität gesorgt.
Gemäß einer erfindungsgemäßen Ausführungsform wird der Be trieb des Datennetzes in Abhängigkeit von einer vorgegebenen Korrelation zwischen einer Sicherheit von Daten, welche in der verteilten Datenbank abgespeichert sind, und Rechenres sourcen zum Hinterlegen der Daten in der verteilten Datenbank gesteuert .
Die Sicherheit oder Integrität der in der verteilten Daten bank gespeicherten Daten hängt oftmals insbesondere davon ab, wie diese Daten vor einer Manipulation geschützt sind bzw. werden. Ein solcher Schutz kann beispielsweise durch eine entsprechende Verschlüsselung oder durch eine möglichst zahl reiche Verteilung von Kopien der gespeicherten Daten inner- halb der Datenbank bzw. des Datennetzes realisiert werden. Abhängig von der Sicherheit der in der verteilten Datenbank gespeicherten Daten bzw. abhängig von der Art und Weise wie diese Sicherheit realisiert wird, können die benötigten Re chenressourcen zur Bereitstellung dieser Sicherheit bestimmt werden. Dabei besteht oftmals die Tendenz, dass umso mehr Re chenressourcen zur Hinterlegung der Daten in der verteilten Datenbank benötigt werden, je größer die Sicherheit der in der verteilten Datenbank hinterlegten Daten ist, wobei diese Beziehung (zwischen der Sicherheit der Daten und den benötig ten Rechenressourcen) der vorgegebenen Korrelation ent spricht .
Die Sicherheit der Daten kann dabei beispielsweise durch die Veränderung von Konfigurationsparametern von einem oder von mehreren Sicherheitsmerkmalen der verteilten Datenbank bei der Hinterlegung der Daten verändert werden. Diese Konfigura tionsparameter bestimmen insbesondere, wie die in der ver teilten Datenbank hinterlegten Daten gegenüber einer Manipu lation geschützt werden.
Beispielsweise kann das eine Sicherheitsmerkmal oder die meh reren Sicherheitsmerkmale eine Verkettungsprüfsumme von se quenziell hinterlegten Daten umfassen. Z.B. könnte die Länge und/oder der Algorithmus zum Bilden der Verkettungsprüfsumme als Sicherheitsmerkmal vorgesehen sein.
Wenn es sich bei der verteilten Datenbank um eine Blockchain basierte Datenbank handelt, enthält jeder Block der Block chain typischerweise einen kryptographisch sicheren Hashwert des jeweils vorhergehenden Blocks, was als die Verkettungs prüfsumme im Sinn der vorliegenden Erfindung anzusehen ist. Mit anderen Worten werden durch eine Verkettungsprüfsumme verschiedene Datenblöcke, welche in der verteilten Datenbank gespeichert sind, derart miteinander verknüpft, dass es (na hezu) unmöglich ist, nur einen dieser Datenblöcke zu verän dern, ohne dass dies anhand der Verkettungsprüfsumme bemerk bar ist. Der Betrieb des Datennetzes kann darüber hinaus abhängig von einem Vergleich zwischen der anhand der vorbestimmten Korre lation indizierten Sicherheit der Daten bei der erfassten Ka pazität von Rechenressourcen und einer vorgegebenen Ziel sicherheit oder Mindestsicherheit gesteuert werden.
Die Mindestsicherheit kann beispielsweise festlegen, wie viel Aufwand betrieben wird, um eine bestimmte Datenmenge (z.B. 1 MB) an (im Datennetz) gespeicherten Rohdaten derart abzuspei chern, dass eine unberechtigte Manipulation dieser Rohdaten zumindest erkannt wird. Die Mindestsicherheit definiert damit beispielsweise insbesondere die Art und Weise, in welcher diese Rohdaten vor einer unberechtigten Manipulation ge schützt werden (z.B. eine Verschlüsselung der Rohdaten oder ein Bilden einer Prüfsumme über die Rohdaten) . Wenn die Si cherheit beispielsweise mittels einer Blockchain realisiert wird, kann die Definition der Mindestsicherheit auch umfas sen, wie viele Kopien der Blockchain existieren und wie diese Kopien der Blockchain in der verteilten Datenbank zu vertei len sind.
Das erfindungsgemäße Verfahren kann weiter ein Erfassen einer Netztopologie (der Recheneinheiten) des Datennetzes umfassen, so dass die Steuerung des Betriebs des Datennetzes abhängig von dieser Netztopologie erfolgen kann.
Die Netztopologie kann eine Anordnung verschiedener Rechen einheiten zueinander im Datennetz beschreiben, d.h. also eine Kommunikationskopplung mit oder ohne zwischengeschalteten Routern, etc ..
Aufgrund der aktuellen Netztopologie des Datennetzes und der aktuellen Auslastung der Recheneinheiten, wobei vorhandene DMZs und örtliche Dislozierungen des Datennetzes berücksich tigt werden, kann erfindungsgemäß vorgeschlagen oder gesteu ert werden, an welchen Stellen Recheneinheiten des Datennet zes zum Betreiben der verteilten Datenbank einzusetzen sind. Dabei wird unter den örtlichen Dislozierungen verstanden, welche Standorte (etwa Werke, Betriebsstätten, Außenposten, etc.) Teil des Datennetzes sind, und welche Brandschutzzonen, Schaltkästen und Stromversorgungsabschnitte usw. in einem Standort bezüglich des Datennetzes existieren.
Dabei umfasst das Steuern des Betriebs des Datennetzes in manchen Beispielen insbesondere auch ein Anpassen der Netzto pologie .
Das Anpassen der Netztopologie kann ein Hinzufügen von Ver bindungen zwischen Recheneinheiten des Datennetzes, aber auch ein Entfernen von Verbindungen zwischen solchen Recheneinhei ten umfassen.
Darüber hinaus kann das Steuern des Betriebs des Datennetzes ein Hinzufügen und ein Entfernen von Recheneinheiten aus dem Datennetz umfassen.
Wenn die erfindungsgemäße Bewertung des Datennetzes insbeson dere hinsichtlich der freien Kapazität der Rechenressourcen der Recheneinheiten des Datennetzes ergibt, dass diese freie Kapazität nicht ausreicht, um beispielsweise mit der zu er zeugenden verteilten Datenbank die vorgegebene Mindestsicher- heit zu realisieren, kann das erfindungsgemäße Verfahren Vor schlägen, wie viele Recheneinheiten dem Datennetz (beispiels weise als Blockchain-Manager) an bestimmten Stellen hinzuzu fügen sind, um insbesondere statistisch die vorgegebene Min- destsicherheit realisieren zu können.
Diesbezüglich kann die Steuerung des Betriebes des Datennet zes umfassen, dass Benutzeranweisungen über eine Benutzer schnittstelle ausgegeben werden, wobei diese Benutzeranwei sungen physikalische Anpassungen des Datennetzes betreffen.
Anhand dieser Benutzeranweisungen kann erfindungsgemäß mit Benutzern des Datennetzes kommuniziert werden, um dadurch insbesondere die zum Erreichen der Mindestsicherheit notwen- digen Anpassungen (z.B. Hinzufügen von Recheneinheiten und Verbindungen zwischen Recheneinheiten) vorzunehmen.
Der Benutzer kann bei der Anwendung des erfindungsgemäßen Verfahrens angeben, welche Mindestsicherheit (Level an Si cherheit) er mittels der verteilten Datenbank erzielen möch te. Nach der erfindungsgemäßen Bewertung des Datennetzes (z.B. Bestimmung der freien Kapazitäten der Recheneinheiten) kann dem Benutzer dann von dem erfindungsgemäßen Verfahren mitgeteilt werden, wie viele zusätzliche Recheneinheiten oder Recheneinheiten und/oder netzwerkseitige Investitionen (z.B. zusätzliche Datenverbindungen) an welchen Stellen des Daten netzes hinzuzufügen sind, damit mit der derart erweiterten verteilten Datenbank die angestrebte Mindestsicherheit er zielt werden kann. Das erfindungsgemäße Verfahren kann bei der Planung eines neuen Datennetzes, zur Erweiterung eines bestehenden Datennetzes um die verteilte Datenbank sowie zur Erweiterung eines bestehenden Datennetzes mit bereits vorhan dener verteilter Datenbank eingesetzt werden.
Falls das Datennetz bereits eine verteilte Datenbank auf weist, können erfindungsgemäß nachträgliche Analysen bei ei ner Erweiterung bzw. einem Umbau des Datennetzes zur Verfü gung gestellt werden, um die verteilte Datenbank (z.B. eine bestehende Blockchain) weiter auszubauen oder die zu erzie lende Mindestsicherheit zu pflegen bzw. zu erweitern. Dabei können zusätzlich beispielsweise durch eine sich ständig wie derholende Überprüfung des Datennetzes freiwerdende Rechen ressourcen (z.B. CPU-Leistungen) oder neu hinzu kommende Re chenressourcen automatisch erkannt und zur Erweiterung der verteilten Datenbank eingesetzt werden.
In der verteilten Datenbank werden insbesondere Daten hinter legt, welche Betriebsparameter des Datennetzes indizieren.
Indem in der verteilten Datenbank (z.B. in der Blockchain) Daten hinterlegt werden, welche von Betriebsparametern des Datennetzes abgeleitet sind, kann vorteilhafterweise mit der verteilten Datenbank erkannt werden, ob diese Betriebsparame ter unerlaubt geändert wurden.
Die in der verteilten Datenbank hinterlegten Daten, welche die Betriebsparameter des Datennetzes indizieren, umfassen dabei beispielsweise Versionierungsinformationen von Software oder Datenpaketen, welche in dem Datennetz gespeichert sind.
Dadurch führt jede Versionsänderung dieser Software oder die ser Datenpakete (wie z.B. Dateien) zu einer entsprechenden Änderung der verteilten Datenbank. Dadurch kann jede entspre chende Versionsänderung anhand der verteilten Datenbank (z.B. Blockchain) überprüft werden, so dass unautorisierte (Versi- ons-) Änderungen erkannt werden können.
Mit der verteilten Datenbank (z.B. Blockchain) kann erfin dungsgemäß auch eine unautorisierte Manipulation aller Up dates der im Datennetz vorhandenen Recheneinheiten (Firmware) wie auch sonstiger Software bzw. Daten, welche genutzt, ver wendet oder versendet werden, erfasst werden und somit die angestrebte Sicherheit auf ein hohes Niveau gehoben werden.
Erfindungsgemäß kann auch eine in der verteilten Datenbank abgespeicherte Information (z.B. Blockchain-Information) mit im Datennetz zu übertragenden Daten verknüpft werden, um so die Integrität dieser Daten bei der Verarbeitung oder Über tragung zu einem externen Speicher (z.B. Cloud) sicherzustel len .
Als allgemeine Regel wäre es aber möglich, Daten die einen anderen Informationsgehalt als die Betriebsparameter des Da tennetzes selbst tragen, in der verteilten Datenbank zu hin terlegen. Es wäre etwa möglich, Daten in der verteilten Da tenbank zu hinterlegen, die etwa Messwerte von Sensoren be treffen, die an das Datennetz angeschlossen sind. Als Recheneinheiten für die Datenbank können dabei multifunk tionale Plattformen mit mehreren Kernen eingesetzt werden, im Allgemeinen CPUs und/oder GPUs.
Mit diesen multifunktionalen Plattformen, welche mehrere Ker ne aufweisen, kann die Netzlast vorteilhafterweise im Ver gleich zu anderen Plattformen reduziert werden. Beispielswei se kann auf jedem ungenutzten Kern bzw. Core oder auf allen vorhandenen Kernen einer solchen multifunktionalen Plattform eine so genannte Blockchain-Recheneinheit (d.h. eine Rechen einheit zur Verwaltung einer Blockchain) realisiert werden. Vorteilhafterweise tritt durch den Datenverkehr zwischen den Kernen derselben multifunktionalen Plattform im Vergleich zu einem Datenverkehr zwischen im Netz verteilten Recheneinhei ten eine wesentlich geringere Netzlast auf.
Erfindungsgemäß ist es möglich, dass bestimmte Recheneinhei ten des Datennetzes, welche für die verteilte Datenbank ein gesetzt werden, nur einen Teil der Blockchain verwalten, wo bei dieser Teil zumindest den letzten Block der Blockchain umfasst .
Zur Reduzierung der Netzlast und des Aufwands zur Verwaltung der Blockchain kann eine Hierarchie in die Blockchain- Organisation eingezogen werden. Gemäß dieser Hierarchie exis tieren in einer ersten Hierarchieebene Blockchain-Verwalter, welche nur den zumindest notwendigen Wurmfortsatz bzw. den vorab beschriebenen Teil der Blockchain verwalten, welcher benötigt wird, um einen neuen Block für die Blockchain zu er zeugen. In einer über der ersten Hierarchieebene liegenden zweiten Hierarchieebene existieren Blockchain-Verwalter, wel che jeweils die gesamte Blockchain beinhalten. Durch die Blockchain-Verwalter der ersten Hierarchieebene kann die Netzlast und auch die Speicheranforderungen zum Abspeichern der Blockchain reduziert werden, ohne dadurch Abstriche hin sichtlich der Sicherheit des Datennetzes machen zu müssen. Erfindungsgemäß kann ein Vorgehen, um abhängig von einem be stimmten Block der Blockchain einen den bestimmten Block kennzeichnenden Hashwert zu bestimmen, welcher in einem wei teren Block der Blockchain, welcher dem bestimmten Block di rekt folgt, gespeichert ist, geändert werden.
Durch die Möglichkeit, das Vorgehen zur Bestimmung oder Er zeugung des Hashwerts für die Blockchain zu ändern, kann die durch die verteilte Datenbank erzielte Sicherheit des Daten netzes vorteilhafterweise weiter erhöht werden.
Bei dem erfindungsgemäßen Datennetz kann es sich um ein in dustrielles Datennetz handeln, welches beispielsweise für ei ne Automobilfirma, ein Gleissystem, ein Kraftwerk, ein Smart Grid oder ein Stromübertragungssystem eingesetzt werden kann. Mit einem erfindungsgemäßen Datennetz können Instandhaltungs daten, Cloud-Daten oder Gesundheitsdaten gespeichert werden.
Im Rahmen der vorliegenden Erfindung kann auch ein weiteres Verfahren zum Bewerten eines Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank (z.B. Blockchain) be reitgestellt werden. Dieses weitere Verfahren umfasst folgen de Schritte:
• Erfassen einer Kapazität von Rechenressourcen einer
Vielzahl von Recheneinheiten des Datennetzes. In diesem Schritt werden insbesondere freie Kapazitäten der Re chenressourcen für den Einsatz der verteilten Datenbank ermittelt .
• Bewerten des Datennetzes hinsichtlich des Einsatzes der verteilten Datenbank abhängig von der vorab erfassten Kapazität. In diesem Schritt erfolgt die Bewertung des Datennetzes insbesondere unter der Voraussetzung, dass die vorab ermittelten freien Kapazitäten für die ver teilte Datenbank eingesetzt werden. Das weitere erfindungsgemäße Verfahren muss nicht unbedingt die Steuerung des Betriebs des Datennetzes umfassen, sondern kann beispielsweise die ermittelte Bewertung des Datennetzes als Information ausgeben, so dass dann abhängig von dieser Information der Einsatz der verteilten Datenbank in dem Da tennetz geplant werden kann, um durch den Einsatz der ver teilten Datenbank die Integrität der in dem Datennetz gespei cherten Daten sicherzustellen.
Wenn erfindungsgemäß erkannt wird, dass die erfasste Kapazi tät von Rechenressourcen die technischen Voraussetzungen er füllt, um in dem Datennetz eine verteilte Datenbank (z.B. ei ne Blockchain) aufzubauen, können automatisch entsprechende Softwarepakete auf die Recheneinheiten der Recheneinheiten gespielt werden und die verteilte Datenbank dadurch in Be trieb genommen werden. Dies kann beispielsweise durch einen entsprechenden Knopfdruck oder durch einen entsprechenden Schieberegler oder Haken in einem Software-Menü durch einen entsprechenden Benutzer initiiert werden. Für den Fall, dass Hardware-Erweiterungen des Datennetzes erkannt werden, kann die verteilte Datenbank durch zusätzliche Blockchain- Verwalter (d.h. neue Recheneinheiten im Datennetz) automa tisch erweitert und somit die Sicherheit erhöht werden. Eine solche Erweiterung kann zum einen durch das Einbringen von Extra-Recheneinheiten für die Blockchain oder durch zusätzli che Anlagen im Datennetz, welche einen Teil der Blockchain- Aufgaben mit übernehmen können, geschehen.
Im Rahmen der vorliegenden Erfindung wird auch eine Vorrich tung zum Steuern eines Datennetzes hinsichtlich eines Einsat zes einer verteilten Datenbank bereitgestellt. Dabei umfasst die Vorrichtung Rechenmittel und einen Anschluss zum An schließen der Vorrichtung an das Datennetz. Die Vorrichtung ist ausgestaltet, um eine Kapazität von Rechenressourcen ei ner Vielzahl von Recheneinheiten des Datennetzes zu erfassen und um den Betrieb des Datennetzes hinsichtlich des Einsatzes der verteilten Datenbank abhängig von der vorab erfassten Ka pazität von Rechenressourcen zu steuern. Die Vorteile der erfindungsgemäßen Vorrichtung entsprechen im Wesentlichen den Vorteilen des erfindungsgemäßen Verfahrens, welche vorab im Detail ausgeführt worden sind, so dass hier auf eine Wiederholung verzichtet wird.
Des Weiteren beschreibt die vorliegende Erfindung ein Compu terprogrammprodukt, insbesondere eine Software, welche man in einen Speicher einer programmierbaren Steuereinrichtung bzw. einer Recheneinheit, welche mit einem Datennetz verbindbar ist, laden kann. Mit diesem Computerprogrammprodukt können alle oder verschiedene vorab beschriebene Ausführungsformen des erfindungsgemäßen Verfahrens ausgeführt werden, wenn das Computerprogrammprodukt in der Steuereinrichtung läuft. Dabei benötigt das Computerprogrammprodukt eventuell Programmmit tel, z.B. Bibliotheken und Hilfsfunktionen, um die entspre chenden Ausführungsformen des Verfahrens zu realisieren. Mit anderen Worten soll mit dem auf das Computerprogrammprodukt gerichteten Anspruch insbesondere eine Software unter Schutz gestellt werden, mit welcher eine der oben beschriebenen Aus führungsformen des erfindungsgemäßen Verfahrens ausgeführt werden kann bzw. welche diese Ausführungsform ausführt. Dabei kann es sich bei der Software um einen Quellcode (z.B. C++), der noch compiliert und gebunden oder der nur interpretiert werden muss, oder um einen ausführbaren Softwarecode handeln, der zur Ausführung nur noch in die entsprechende Rechenein heit bzw. Steuereinrichtung zu laden ist.
Schließlich offenbart die vorliegende Erfindung einen elekt ronisch lesbaren Datenträger, z.B. eine DVD, ein Magnetband, eine Festplatte oder einen USB-Stick, auf welchem elektro nisch lesbare Steuerinformationen, insbesondere Software (vgl. oben), gespeichert ist. Wenn diese Steuerinformationen (Software) von dem Datenträger gelesen und in eine Steuerein richtung bzw. Recheneinheit, welche mit einem Datennetz ver bindbar ist, gespeichert werden, können alle erfindungsgemä ßen Ausführungsformen des vorab beschriebenen Verfahrens durchgeführt werden. Erfindungsgemäß kann beispielsweise mit einer zentralen Soft ware Schritt für Schritt die durch eine Blockchain realisier te Sicherheit in ein bestehendes Datennetz integriert werden. Die Erfindung kann sowohl in der Planungsphase als auch bei einem bereits bestehenden Datennetz ohne Blockchain sowie bei einem bestehenden Datennetz mit Blockchain eingesetzt werden. Indem die Qualität der eingesetzten Blockchain verbessert wird, kann auch die Qualität oder Integrität des Datennetzes verbessert oder Schritt für Schritt an bestimmte Gegebenhei ten angepasst werden. Beispielsweise kann bei einer Vergröße rung des Datennetzes automatisch ein Hinweis erzeugt werden, dass zusätzliche Sicherheiten bezüglich der Blockchain einge baut werden sollten. Durch die Nutzung bestehender Rechenein heiten und/oder durch Vorschläge zur Platzierung neuer Re cheneinheiten oder zur Dislozierung bestehender Recheneinhei ten sowie zum Ausrollen der verteilten Datenbank kann erfin dungsgemäß eine verteilte Datenbank (z.B. eine Blockchain) kostenoptimiert realisiert werden.
Im Folgenden wird die vorliegende Erfindung anhand erfin dungsgemäßer Ausführungsformen mit Bezug zu den Figuren im Detail beschrieben.
In Fig. 1 ist schematisch eine erfindungsgemäße Blockchain dargestellt .
In Fig. 2 ist eine erfindungsgemäße Vorrichtung dargestellt, welche an ein Datennetz angeschlossen ist.
In Fig. 3 ist das in Fig. 2 dargestellte Datennetz mit einer verteilten Datenbank dargestellt.
In Fig. 1 ist schematisch eine erfindungsgemäße Blockchain 300 dargestellt. Die Blockchain 300 umfasst mehrere Datenblö cke 301-303, welche in Form einer Kette oder Folge von Daten löcken 301-303 verknüpft sind. Jeder Datenblock 301-303 weist eine Verkettungsprüfsumme 311-313 auf, welche beispielsweise einen Hashwert darstellt. Die Prüfsumme 311-313 wird abhängig von dem jeweils vorhergehenden Datenblock innerhalb der
Blockchain oder innerhalb der Folge von Datenblöcken 301-303 bestimmt. Beispielsweise wird die Prüfsumme 312 des Daten blocks 302 abhängig von dem Datenblock 301 gebildet, was durch den entsprechenden Pfeil in der Fig. 1 dargestellt wird. Die Prüfsumme 311 bzw. 312 des Datenblocks 301 bzw. 302 kann beispielsweise ein Hashwert sein, welcher anhand der in dem jeweils vorhergehenden Datenblock 302 bzw. 303 gespei cherten Daten berechnet wird. Dadurch kann eine (unautori sierte) Modifikation des Datenblocks 302 bzw. 303 erfasst werden, indem der Datenblock 302 bzw. 303 mit der Prüfsumme 311 bzw. 312 verglichen wird.
In jedem Datenblock 301-303 können Transaktionen 320 gespei chert sein. Jede Transaktion 320 kann entsprechende Daten be inhalten oder auf entsprechende Daten verweisen, indem ein entsprechender Verweis oder eine entsprechende Zusatzinforma tion oder eine entsprechende Prüfsumme usw. abgespeichert wird .
Die in den Datenblöcken 301-303 gespeicherten Daten (z.B. Transaktionen 320) können beispielsweise Versionsinformatio nen von in einem Datennetz gespeicherter Software oder Daten paketen umfassen. Dadurch schützt die Blockchain 300 vor ei ner unautorisierten Modifikation der Versionsinformationen innerhalb des durch die Blockchain 300 geschützten Datennet zes .
In Fig. 2 ist ein Datennetz 6 dargestellt, an welches eine erfindungsgemäße Vorrichtung 4 angeschlossen ist.
Das Datennetz umfasst mehrere Recheneinheiten 3, welche je weils zumindest eine CPU 1 meist auch eine Speichereinheit bzw. einen Speicher 2 umfassen. Die Recheneinheiten 3 sind miteinander über Datenleitungen 7 verbunden. Die erfindungs gemäße Vorrichtung 4 ist ebenfalls eine Recheneinheit, welche eine CPU 1 und eine Speichereinheit bzw. einen Speicher 2 um- fasst. Die erfindungsgemäße Vorrichtung 4 ist über eine Da tenleitung 7 mit dem Datennetz 6 verbunden oder Bestandteil des Datennetzes 6.
Ein erfindungsgemäßes Verfahren zum Steuern des Datennetzes hinsichtlich eines Einsatzes einer verteilten Datenbank (z.B. einer Blockchain 300) läuft auf der erfindungsgemäßen Vor richtung 4. Das erfindungsgemäße Verfahren erfasst eine Kapa zität von Rechenressourcen der Recheneinheiten 3 des Daten netzes 6. Abhängig von dieser Kapazität von Rechenressourcen steuert die Vorrichtung 4 den Betrieb des Datennetzes 6 hin sichtlich des Einsatzes der verteilten Datenbank 300.
Im dargestellten Fall erkennt die erfindungsgemäße Vorrich tung 4, dass drei Recheneinheiten 3 des Datennetzes 6 ausrei chend freie Kapazitäten aufweisen, um mit diesen drei Rechen einheiten 3 eine verteilte Datenbank 300 zu erzeugen.
In Fig. 3 sind diese drei Recheneinheiten 3 durch eine ge strichelte Linie 5 zusammengefasst, wobei mit dem Bezugszei chen 5 die für die verteilte Datenbank (insbesondere zur Rea lisierung einer Blockchain 300) eingesetzten Recheneinheiten 3 kenntlich gemacht werden. Erfindungsgemäß baut die Vorrich tung 4 mit Hilfe dieser drei Recheneinheiten 3 die verteilte Datenbank 300 auf, in welcher dann erfindungsgemäß Versi onsinformationen der in dem Datennetz 6 gespeicherten Soft ware und Datenpakete in Form einer Blockchain abgespeichert werden. Dadurch sorgt die erfindungsgemäß aufgebaute verteil te Datenbank bzw. Blockchain 300 für eine Datenintegrität des Datennetzes 6.

Claims

Patentansprüche
1. Verfahren zum Steuern eines Datennetzes (6) hinsichtlich eines Einsatzes einer verteilten Datenbank (300), umfassend:
Erfassen einer Kapazität von Rechenressourcen einer Vielzahl von Recheneinheiten (3) des Datennetzes (6), und
Steuern des Betriebs des Datennetzes (6) hinsichtlich des Einsatzes der verteilten Datenbank (300) abhängig von der Kapazität von Rechenressourcen.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass das Steuern des Betriebs des Datennetzes (6) umfasst:
Zuweisen von Rechenaufgaben im Zusammenhang mit der Hin terlegung von Daten (320) in der verteilten Datenbank (300) an ein oder mehrere der Vielzahl von Recheneinheiten (3) .
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
dass das Steuern des Betriebs des Datennetzes (6) umfasst:
Zuweisen von Rechenaufgaben im Zusammenhang mit der In betriebnahme der verteilten Datenbank (300) an ein oder meh rere der Vielzahl von Recheneinheiten (3) .
4. Verfahren nach einem der voranstehenden Ansprüche,
dadurch gekennzeichnet,
dass der Betrieb des Datennetzes (6) abhängig von einer vor gegebenen Korrelation zwischen (i) einer Sicherheit von Daten (320), die in der verteilten Datenbank (300) hinterlegt sind, und (ii) Rechenressourcen zur Hinterlegung der Daten (320) in der verteilten Datenbank (300) gesteuert wird.
5. Verfahren nach Anspruch 4,
dadurch gekennzeichnet,
dass die Sicherheit der Daten (320) durch Veränderung von Konfigurationsparametern von einem oder mehreren Sicherheits merkmalen der verteilten Datenbank (300) bei Hinterlegung der Daten (320) veränderbar ist.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
dass die ein oder mehreren Sicherheitsmerkmale eine Verket tungsprüfsumme (311-313) von sequentiell hinterlegten Daten (320) umfassen.
7. Verfahren nach einem der Ansprüche 4 - 6,
dadurch gekennzeichnet,
dass der Betrieb des Datennetzes (6) abhängig von einem Ver gleich zwischen (i) der anhand der vorbestimmten Korrelation indizierten Sicherheit der Daten (320) bei der erfassten Ka pazität von Rechenressourcen und (ii) einer vorgegebenen Ziel-Sicherheit gesteuert wird.
8. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet,
dass das Verfahren weiter umfasst:
Erfassen einer Netztopologie der Recheneinheiten (3) des Datennetzes ( 6) ,
wobei das Steuern des Betriebs des Datennetzes (3) wei terhin abhängig von der Netztopologie des Datennetzes (6) ist .
9. Verfahren nach Anspruch 8,
dadurch gekennzeichnet,
dass das Steuern des Betriebs des Datennetzes (6) das Anpas sen der Netztopologie umfasst.
10. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet,
dass das Steuern des Betriebs des Datennetzes (6) das Hinzu fügen oder Entfernen von Recheneinheiten (3) aus dem Daten netz (6) umfasst.
11. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet,
dass das Steuern des Betriebs des Datennetzes (6) umfasst: Ausgeben von Benutzeranweisungen über eine Benutzerschnitt stelle, welche die physikalische Anpassung des Datennetzes (6) betreffen.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet,
dass in der verteilte Datenbank (300) Daten (320) hin terlegt werden, welche Betriebsparameter des Datennetzes (6) indizieren .
13. Verfahren nach Anspruch 12,
dadurch gekennzeichnet,
dass die in der verteilten Datenbank (300) hinterlegten Daten (320) Versionierungsinformation von Software der Re cheneinheiten (3) indizieren.
14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet,
dass als Recheneinheiten (3) für die Datenbank (300) multi funktionale Plattformen mit mehreren Kernen eingesetzt wer den .
15. Vorrichtung zum Steuern eines Datennetzes (6) hinsicht lich eines Einsatzes einer verteilten Datenbank (300), wobei die Vorrichtung (4) Rechenmittel (1) und einen An schluss (7) zum Anschließen an das Datennetz (6) umfasst, wobei die Vorrichtung (4) ausgestaltet ist,
um eine Kapazität von Rechenressourcen einer Vielzahl von Re cheneinheiten (3) des Datennetzes (6) zu erfassen, und um den Betrieb des Datennetzes (6) hinsichtlich des Einsatzes der verteilten Datenbank (300) abhängig von der Kapazität von Rechenressourcen zu steuern.
16. Vorrichtung nach Anspruch 15,
dadurch gekennzeichnet,
dass die Vorrichtung (4) zur Durchführung des Verfahrens nach einem der Ansprüche 1-14 ausgestaltet ist.
17. Computerprogrammprodukt, welches ein Programm umfasst und direkt in einen Speicher (2) einer programmierbaren Vorrich tung (4), welche mit einem Datennetz (6) verbindbar ist, lad bar ist, mit Programm-Mitteln, um alle Schritte des Verfah rens nach einem der Ansprüche 1-14 auszuführen, wenn das Pro gramm in der Vorrichtung (4) ausgeführt wird.
18. Elektronisch lesbarer Datenträger mit darauf gespeicher ten elektronisch lesbaren Steuerinformationen, welche derart ausgestaltet sind, dass sie bei Verwendung des Datenträgers in einer Vorrichtung (4), welche mit einem Datennetz (6) ver bindbar ist, das Verfahren nach einem der Ansprüche 1-14 durchführen .
EP19745998.5A 2018-07-25 2019-07-09 Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank Withdrawn EP3797491A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18185507.3A EP3599740A1 (de) 2018-07-25 2018-07-25 Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank
PCT/EP2019/068409 WO2020020634A1 (de) 2018-07-25 2019-07-09 Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank

Publications (1)

Publication Number Publication Date
EP3797491A1 true EP3797491A1 (de) 2021-03-31

Family

ID=63442371

Family Applications (2)

Application Number Title Priority Date Filing Date
EP18185507.3A Withdrawn EP3599740A1 (de) 2018-07-25 2018-07-25 Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank
EP19745998.5A Withdrawn EP3797491A1 (de) 2018-07-25 2019-07-09 Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP18185507.3A Withdrawn EP3599740A1 (de) 2018-07-25 2018-07-25 Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank

Country Status (4)

Country Link
US (1) US20220114276A1 (de)
EP (2) EP3599740A1 (de)
CN (1) CN112425121A (de)
WO (1) WO2020020634A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3627407A1 (de) * 2018-09-18 2020-03-25 Siemens Aktiengesellschaft Verteilte datenbank
US11606426B1 (en) * 2019-10-23 2023-03-14 Architecture Technology Corporation Database access gateway through distributed network nodes
CN111475575B (zh) * 2020-04-09 2021-08-10 腾讯科技(深圳)有限公司 基于区块链的数据同步方法、装置及计算机可读存储介质
CN117056297A (zh) * 2023-06-05 2023-11-14 贵州白山云科技股份有限公司 多版本文件的去中心化存储系统、方法、设备及存储介质
CN119854040B (zh) * 2025-03-19 2025-06-06 深圳市悦道科技有限公司 一种云数据存储的方法、设备和计算机可读存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244607A1 (en) * 2007-03-27 2008-10-02 Vladislav Rysin Economic allocation and management of resources via a virtual resource market
DE102007038763A1 (de) 2007-08-16 2009-02-19 Siemens Ag Verfahren und Vorrichtung zur Sicherung eines Programms gegen eine Kontrollflussmanipulation und gegen einen fehlerhaften Programmablauf
DE102007040343B4 (de) 2007-08-27 2010-12-30 Siemens Ag Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
DE102008018678B4 (de) 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
DE102008061483A1 (de) 2008-12-10 2010-06-24 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102011007572A1 (de) 2011-04-18 2012-10-18 Siemens Aktiengesellschaft Verfahren zur Überwachung eines Tamperschutzes sowie Überwachungssystem für ein Feldgerät mit Tamperschutz
DE102011087804A1 (de) 2011-12-06 2013-06-06 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Entschlüsseln von Daten
DE102011088502B3 (de) 2011-12-14 2013-05-08 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE102012217743B4 (de) 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
DE102012220990B3 (de) 2012-11-16 2014-01-23 Siemens Aktiengesellschaft Verfahren und Anordnung zur sicheren Kommunikation zwischen Netzwerkeinrichtungen in einem Kommunikationsnetzwerk
DE102013200017A1 (de) 2013-01-02 2014-07-03 Siemens Aktiengesellschaft RFID-Tag und Verfahren zum Betreiben eines RFID-Tags
DE102013208152A1 (de) 2013-05-03 2014-11-20 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen von Zufallsbits
DE102013212525A1 (de) 2013-06-27 2014-12-31 Siemens Aktiengesellschaft Datenspeichervorrichtung zum geschützten Datenaustausch zwischen verschiedenen Sicherheitszonen
DE102013222218A1 (de) 2013-10-31 2014-05-22 Siemens Aktiengesellschaft Konstruieren einer Schaltung geeignet zur Erzeugung von Zufallsbits und Schaltung zur Erzeugung von Zufallsbits
DE102013227087A1 (de) 2013-12-23 2015-06-25 Siemens Aktiengesellschaft Gesichertes Bereitstellen eines Schlüssels
DE102014206992A1 (de) 2014-04-11 2015-10-15 Siemens Aktiengesellschaft Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE102014208210A1 (de) 2014-04-30 2015-11-19 Siemens Aktiengesellschaft Ableiten eines gerätespezifischen Wertes
DE102014212488B4 (de) 2014-06-27 2016-02-18 Siemens Aktiengesellschaft Gesichertes Bereitstellen eines Replika-Pseudo-Zufallsrauschcodes an eine Empfängereinheit
DE102014212467B3 (de) 2014-06-27 2015-10-15 Siemens Aktiengesellschaft Bereitstellen eines gesicherten Replika-Pseudo-Zufallsrauschsignals
CN106251144A (zh) * 2015-06-05 2016-12-21 地气股份有限公司 电子货币管理方法及电子货币节点装置
DE102015214267A1 (de) 2015-07-28 2017-02-02 Siemens Aktiengesellschaft Verfahren und System zum Erzeugen eines sicheren Kommunikationskanals für Endgeräte
US10853750B2 (en) * 2015-07-31 2020-12-01 British Telecommunications Public Limited Company Controlled resource provisioning in distributed computing environments
EP3320406B1 (de) 2015-09-21 2019-08-14 Siemens Aktiengesellschaft Freigabe eines verarbeitungsschrittes für ein verarbeitungsobjekt
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
KR101862348B1 (ko) 2016-02-09 2018-05-29 지멘스 악티엔게젤샤프트 프로그램 명령들의 안전한 실행을 위한 방법 및 실행 환경
DE102016219848A1 (de) 2016-10-12 2018-04-12 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Bereitstellen einer gesicherten Kommunikation innerhalb eines echtzeitfähigen Kommunikationsnetzwerkes
DE102016219926A1 (de) 2016-10-13 2018-04-19 Siemens Aktiengesellschaft Verfahren, Sender und Empfänger zum Authentisieren und zum Integritätsschutz von Nachrichteninhalten
US10762564B2 (en) * 2016-11-10 2020-09-01 International Business Machines Corporation Autonomous peer-to-peer energy networks operating on a blockchain
US20170285720A1 (en) * 2017-05-07 2017-10-05 Jigar Jayesh Shah Method and system for mitigating transmission congestion via distributed computing and blockchain technology
CN107832139A (zh) * 2017-09-26 2018-03-23 上海点融信息科技有限责任公司 用于管理区块链节点的计算资源的方法、设备和系统

Also Published As

Publication number Publication date
EP3599740A1 (de) 2020-01-29
CN112425121A (zh) 2021-02-26
WO2020020634A1 (de) 2020-01-30
US20220114276A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
EP3652656B1 (de) Vorrichtungen zum bereitstellen einer menge von kryptographisch geschützten und gefilterten sowie sortierten transaktionsdatensätzen eines gliedes einer blockkette
EP3673623B1 (de) Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP3797491A1 (de) Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank
EP3669498B1 (de) Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP3669285B1 (de) Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP3921996B1 (de) Intrusionserkennung bei computersystemen
EP3637345A1 (de) Verknüpfung von identitäten in einer verteilten datenbank
WO2019063509A1 (de) Verfahren und verteiltes datenbanksystem zum rechnergestützten ausführen eines programmcodes
EP3714575B1 (de) Verfahren und system zum steuern und/oder überwachen von geräten
EP3763089B1 (de) Verfahren und steuersystem zum steuern und/oder überwachen von geräten
WO2020043581A1 (de) Blockbildungs-einrichtung und -verfahren, knoteneinrichtung und blockbestätigungs-verfahren
EP3877935A1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem
EP3718263B1 (de) Verfahren und steuersystem zum steuern und/oder überwachen von geräten
EP3413254A1 (de) Verfahren und vorrichtung zum bereitstellen eines transaktionsdatensatzes
WO2018177664A1 (de) Identifikatoren zur integritätssicherung von digital codierte kopien
WO2020043508A1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem
EP3609148A1 (de) Verfahren und netzwerkknoten zur verarbeitung von messdaten
WO2022022997A1 (de) Kanalbasierte kommunikation in einem iot-netzwerk
WO2020043588A1 (de) Einrichtung und verfahren zum ermitteln einer konsensversion eines transaktionsbuchs und einrichtung und verfahren zum überwachen eines verteilten datenbanksystems
WO2020043430A1 (de) Einrichtung und verfahren zum bereitstellen einer orakel-transaktion in einem verteilten datenbanksystem
WO2020193044A1 (de) Verfahren und steuersystem zum steuern einer ausführung von transaktionen
EP3617976A1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem
DE102020204635A1 (de) Verfahren und Vorrichtung zur kontrollierten Bereitstellung von Daten und kontrollierten Auswertung der bereitgestellten Daten durch eine externe Anordnung
EP3787251A1 (de) Verfahren, kommunikationsvorrichtung und netzwerkapplikation zum geschützten übermitteln von einem datensatz
EP3817315A1 (de) Prüfvorrichtung, vorrichtung und verfahren zum validieren von transaktionen

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20201221

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20220519

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220930