EP3877935A1 - Method for operating a distributed database system, distributed database system, and industrial automation system - Google Patents

Method for operating a distributed database system, distributed database system, and industrial automation system

Info

Publication number
EP3877935A1
EP3877935A1 EP19812694.8A EP19812694A EP3877935A1 EP 3877935 A1 EP3877935 A1 EP 3877935A1 EP 19812694 A EP19812694 A EP 19812694A EP 3877935 A1 EP3877935 A1 EP 3877935A1
Authority
EP
European Patent Office
Prior art keywords
transaction
data
signature
database system
distributed database
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.)
Pending
Application number
EP19812694.8A
Other languages
German (de)
French (fr)
Inventor
Markus Dichtl
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
Original Assignee
Siemens AG
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 filed Critical Siemens AG
Publication of EP3877935A1 publication Critical patent/EP3877935A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • 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/3247Cryptographic 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 involving digital signatures
    • 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

Definitions

  • the present invention relates to a method for operating a distributed database system, such as a block chain (blockchain) with the aid of networked node devices.
  • a database system is particularly suitable for use in an industrial automation network.
  • entries are cryptographically secured. For example, it is common to digitally sign transactions or entries according to a specified standard.
  • the cryptographic method for securing the respective database entries for persons or participants is based on elliptic curve cryptography (ECC) with a specific key length, namely 256 bits.
  • ECC elliptic curve cryptography
  • ECDSA Elliptic Curve Digital Signature Algorithm
  • a method for operating a distributed database system with distributed node devices for providing linked data blocks.
  • the data blocks can in particular be provided in the manner of a block chain.
  • the data blocks document transactions between participants, transactions between participants being secured with the aid of corresponding transaction data and a cryptographic signature process. The procedure is for everyone
  • Transaction defines the cryptographic signature method for securing the respective transaction, wherein a signature information identifying the specified cryptographic signature method is part of the transaction data or part of an execution request for the transaction.
  • signature data is calculated for each transaction according to the specified cryptographic signature method over at least part of the transaction data. ten or its hash value, and the signature data is added to the transaction data.
  • the cryptographic signature creates a cryptographic link or coupling between the participant and a requested transaction or the respective data entry and thereby meets certain security requirements.
  • An example of a security level is, for example, a key length.
  • the operation of the database system becomes more flexible and secure. It is possible to change the security level of the signature process over the life of the database system and to adapt it to the progress of cryptanalysis.
  • the security level can be the average number of elementary operations which the most efficient known algorithm requires in order to determine the secret information. With a security level of 80 bits, an attacker 2 has to perform 80 elementary operations to find the private key. You can then say that the security level is 80 bits. Other measures for the respective security level, such as a key length or a parameter of elliptical curves, are also conceivable.
  • the security level is determined by using a specific cryptographic signature procedure, for example, for all future transactions as long as no new cryptographic signature procedure is established, in particular with increased security.
  • a specific cryptographic signature procedure for example, for all future transactions as long as no new cryptographic signature procedure is established, in particular with increased security.
  • no transaction can be carried out without specifying the signature information, for example in the manner of a reference, pointers, program codes for the signature to be used procedure and / or a parameter for the signature procedure.
  • the signature information has a program code for performing the specified cryptographic signature method.
  • the cryptographic signature process can be implemented as executable code and stored in the database system.
  • a possible implementation of the method provides for one or more smart contracts that trigger a corresponding cryptographic or different cryptographic signature method.
  • variants of the method provide that a predefinable cryptographic signature method in the manner of a smart contract is provided for or in the distributed database system.
  • the signature information has a pointer to a program code for executing the specified cryptographic signature method.
  • the signature information is digitally signed using the defined cryptographic signature method.
  • a hash value for the signature information can first be generated, and then the hash value can be digitally signed using the specified cryptographic signature method. The signed and / or hashed signature information is then added to the transaction data.
  • the respective signature is preferably part of a transaction or transaction request or the transaction data.
  • a new cryptographic signature process can be defined for all subsequent transactions to secure the respective transaction. In particular, this only occurs if a specified proportion of participants in a change transaction under fertilizes the currently specified cryptographic signature procedure.
  • all participants in the database system must agree. It is also possible to use a predetermined necessary majority, e.g. two thirds or 50% to determine to change the signature process.
  • a group of participants can agree on a specific digital signature method for transactions among participants in the group and can determine future transactions.
  • the cryptographic signature method to be used is determined for a certain period of time. It is also conceivable to define the signature method for a maximum number of transactions, it having to be redetermined after the period or the number of transactions.
  • a new specified signature method must have a higher cryptographic security level than the currently specified signature method.
  • the respective cryptographic signature method links a cryptographic key pair to one another, with each participant being assigned a valid key pair.
  • the signature method can be implemented with elliptic curve cryptography (ECC).
  • the security level of an ECC is essentially determined by the key length.
  • the security level of the specified cryptographic signature procedure can be the key length used.
  • the cryptographic signature method can be implemented on the basis of an elliptic curve cryptography (ECC), and the signature information has, for example, the key length for the ECC, in particular as the number of bits.
  • the cryptographic signature method is preferably implemented on the basis of post-quantum cryptography (PQC).
  • PQC post-quantum cryptography
  • the definition of a PQC method enables protection against attacks with the help of quantum computers, which may be able to decrypt asymmetric cryptosystems that have been used up to now. Therefore, during the operation of the distributed database, a previous cryptographic signature method can be replaced by a new signature method that is more robust with regard to quantum computer attacks.
  • XMSS is particularly suitable as a signature method.
  • the interlinked data blocks which document transactions between participants, comprise data blocks which are secured with the aid of different cryptographic signature methods.
  • a block chain operated with the aid of the proposed method can include transactions with signatures of different security levels. Old data records that are endangered and documented in data blocks can be saved by transferring them to newer data blocks that are protected according to the currently defined signature procedure.
  • the cryptographic signature method in particular, cryptographically links a cryptographic key pair to one another.
  • a current key pair can then be assigned to each subscriber. In embodiments, it is ensured that there is exactly one participant for each key pair. In principle, participants can also have several key pairs.
  • At least one of the following steps is also carried out for each participant:
  • a digital signature key can also be assigned by the respective subscriber himself. For example, a participant generates the key pair that he uses.
  • the linked data blocks document transactions relating to a resource, in particular a cryptocurrency.
  • a security level of the cryptographic signature process is then determined in particular as a function of a value or an amount of the resource documented in the context of the transaction.
  • the transaction security can be adjusted to the value of the transaction.
  • the linked data blocks can document transactions relating to a resource, in particular a cryptocurrency, and the transaction is carried out by checking the signature in the transaction data by checking bodies. A quantity of the managed resource is then to be transferred to the verification instances for the verification, the quantity depending on the calculation effort of the Signature verification depends.
  • Network devices that provide computing power for the cryptographic calculations in accordance with the specified signature method can be used as the checking entity. For example, the greater the calculation effort, the greater the transaction costs are determined. This can be used to prevent denial of service attacks in particular.
  • operation beyond the above-mentioned steps is performed in accordance with a known block chain algorithm.
  • Ethereum IOTA or Bitcoin variations are conceivable.
  • a distributed database system which comprises a plurality of node devices for providing interconnected data blocks, which are linked in particular in the manner of a block chain.
  • Each node device is set up to document transactions between participants in accordance with a predetermined block chain algorithm, the block chain algorithm causing the node devices to carry out a method described above and below.
  • a node device which is set up in such a way that it can be used as a node device in a distributed database system and operates in accordance with the block chain algorithm as described above and below.
  • an industrial automation network with a distributed database system as described above and below is proposed, the database system being set up for documenting and controlling transactions for field devices in the automation network.
  • field devices which are provided with addresses can be considered as subscribers.
  • Such field devices can generate sensor data or control data, which can be fe of the node devices can be stored distributed. Since only digitally signed transaction inquiries are used to carry out transactions, the security of such industrial automation networks can be improved.
  • the field devices can also represent node devices themselves in the database system.
  • 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.
  • a transaction record (or short transaction) protected by a blockchain includes e.g. B.
  • Program code which can also be referred to as a so-called "smart contract”.
  • the respective unit for example a node, a computing unit or control unit, can be implemented in terms of hardware and / or software.
  • the respective unit can be designed as a device or as part of a device, for example as a computer or as a microprocessor or as a control computer of a vehicle.
  • the respective unit can be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object.
  • a computer program product is proposed which causes the execution of the method as explained above on one or more program-controlled devices.
  • a computer program product such as a computer program means, for example as a storage medium, e.g.
  • Memory card USB stick, CD-ROM, DVD, or also in the form of a downloadable file from a server in a network. This can be done for example in a wireless communication network by transferring a corresponding file with the computer program product or the computer program means.
  • the terms “perform”, “calculate”, “computer-aided”, “calculate”, “determine”, “generate”, “configure”, “reconstruct” and the like preferably on 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 or being able to be present in particular as physical quantities, for example as electrical impulses.
  • the expression “computer” should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties .
  • Computers can thus be, for example, personal computers, servers, programmable logic controllers (PLCs), handheld computer systems, pocket PC devices, mobile radio devices and other communication devices which can process data with computer support, 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 in particular 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.
  • a processor can also be, 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 that can be configured with configuration steps tion of the method according to the invention is configured or is configured with configuration steps in such a way that the programmable processor realizes the features according to the invention of the method, the component, the modules, or other aspects and / or partial aspects of the invention.
  • 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” can be understood to mean, for example, a processor and / or a memory unit for storing program instructions.
  • the processor is specifically designed to execute the program instructions in such a way that the processor executes functions in order to carry out the inventive
  • a module can, for example, also be a node of the distributed database system which, for example, implements the specific functions / features of a corresponding module
  • the corresponding modules can, for example, comprise further elements, which are, for example, one or more interfaces (eg database interfaces, communication interfaces - eg network interface, WLAN interface) and / or egg ne evaluation unit (e.g. B. a processor) and / or a storage unit.
  • interfaces e.g. database interfaces, communication interfaces - eg network interface, WLAN interface
  • egg ne evaluation unit e.g. B. a processor
  • data can be exchanged using the interfaces (e.g.
  • 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 (computer-assisted) storage of a corresponding piece of information or a corresponding date in a data structure / data record (which, for example, in turn in a storage unit is stored) can be understood.
  • a first date is assigned a second date using a memory address or a unique identifier (UID), in which e.g. 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
  • Provision in particular with regard to data and / or information, can be understood in connection with the invention to mean, for example, computer-assisted provision.
  • the provision is carried out, for example, via an interface (for example a database interface, a network interface, an interface to a storage unit)
  • This interface can be used, for example, to transmit and / or send and / or retrieve and / or receive corresponding data and / or information.
  • “providing” can also be understood, for example, to mean loading or storing, for example a transaction with corresponding data. This can be done, for example, on or from a memory module. “Providing” can also be used, for example, to transfer (or sending or transmitting) corresponding data from one node to another Nodes of the block chain or of the distributed database system (or their infrastructure) can be understood.
  • 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”, for example a data block checksum, a data checksum, a node checksum, a transaction checksum, a chaining checksum or the like, can be understood in the context of the invention, for example, to be a cryptographic checksum or cryptographic hash or hash value, which in particular by means of cryptographic hash function via a data record and / or data and / or one or more of the transactions and / or a partial area of a data block (e.g. the block header of a block of a block chain or data block header of a data block of the distributed database system or only a part the transactions of a data block) are formed or calculated.
  • a cryptographic checksum or cryptographic hash or hash value which in particular by means of cryptographic hash function via a data record and / or data and / or one or more of the transactions and / or a partial area of a data block (e.g. the block header of a block of a block chain or data block header of a data block
  • 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 cryptographic message authentication code can be understood.
  • a checksum or hash value (s) of a hash tree eg Merkle Baum, Patricia-Baum
  • a digital signature or cryptographic message authentication code can be understood.
  • a cryptographic one can be made at 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 block level (e.g. over the entire data block or only over part of the data block and / or part of the transactions).
  • a “data block checksum” can be understood to mean a checksum which for example, it is calculated over part or all of the transactions in a data block.
  • a node can then, for example, check / determine the integrity / authenticity of the corresponding part of a data block using the data block checksum.
  • the data block checksum can in particular also have been formed via transactions of a previous data block / predecessor data block of the data block.
  • the data block checksum can in particular also be implemented by means of a hash tree, for example a Merkle tree [1] or a Patricia tree, the data block checksum in particular the root checksum of the Merkle tree or a Patricia tree or of a binary hash tree.
  • transactions are secured by means of further checksums from the Merkle tree or Patricia tree (e.g. using the transaction checksums), the further checksums in particular being leaves in the Merkle tree or Patricia tree.
  • 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 in particular be calculated for transactions of a specific data block of the data blocks.
  • such a data block checksum can be included in a subsequent data block of the specific data block in order to chain this subsequent data block, for example, with its previous data blocks and in particular thus to make it possible to check the integrity of the distributed database system.
  • the data block checksum can, for example, take on the function of the chaining checksum or be 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 check sum was formed) can comprise, for example, the data block check sum.
  • Transaction checksum can be understood in connection with the invention as a checksum that 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, for example, transaction checksums that have already been calculated immediately as sheets z.
  • B. a Merkle tree can be used.
  • a “chaining checksum” can be understood to mean a checksum which is determined or is referenced in particular for a respective data block of the distributed database system with the aid of the preceding data block of the distributed database system (in the specialist literature in particular) often referred to as "previous block hash”) [1].
  • a corresponding chaining checksum is formed, in particular for the corresponding preceding data block.
  • a chaining checksum or, for example, the data block checksum of a data block (that is, an existing data block of the distributed database system) can be used as the chaining checksum in order to chain a new data block with an (existing) data block of the distributed database system.
  • a checksum is also possible, for example, for a checksum to be formed via a header of the preceding data block or over the entire previous data block and to be used as a chaining checksum. This can also be calculated for several or all of the previous data blocks, for example. For example, it is also possible to form the chaining checksum via the header of a data block and the data block checksum.
  • a respective data block of the distributed database system preferably comprises a chaining checksum, which was calculated for a previous data block, in particular even more preferably the immediately preceding data block, of the respective data block or refer to it. It is also possible, for example, for a corresponding chaining checksum to be formed only over part of the corresponding data block (e.g. previous data block).
  • a data block can be realized which comprises an integrity-protected part and an unprotected part. That would leave
  • a data block can be realized whose integrity-protected part cannot be changed and whose unprotected part can also be changed later.
  • 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. be a corresponding data block checksum of a data block (with the corresponding data) of another database or 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, 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 (e.g. 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 transaction, which in particular indicates a storage location where the data can be called up. This is particularly advantageous in order to keep the data size of the block chain or the distributed database system as small as possible.
  • security-protected can be understood to mean, for example, protection that is implemented in particular by a cryptographic method. For example, this can be done by using the distributed database system for the provision or transmission or transmission of corresponding data / transactions reali be Siert. this is preferably achieved by a combination of different (cryptographic) checksum by usammen felmen felmen felmen felmen felmen felmen feline this particular synergy Z to improve in play, the safety or the cryptographic assurance regarding data on the transactions.
  • with ande ren words may in particular “Security-protected” in connection with the invention also means “cryptographically protected” and / or “manipulation-protected”, wherein “manipulation-protected” can also be referred to as “integrity-protecting”.
  • chaining / of data blocks of a distributed database system can be understood, for example, to mean that data blocks each comprise information (for example, chaining checksum) which refer to another data block or to several other data blocks of the distributed database system or reference these [1] [4] [5].
  • information for example, chaining checksum
  • “Inserting into the distributed database system” and the like can be understood in connection with the invention, for example, that in particular a transaction or the transactions or a data block with its transactions to one or more nodes of a distributed database. Systems is transmitted. If, for example, these transactions are successfully validated (e.g. by the node (s)), these transactions are linked in particular as a new data block with at least one existing data block of the distributed database system [1] [4] [5]. For this purpose, the corresponding transactions are stored in a new data block, for example. In particular, this validation and / or chaining can be carried out by a trustworthy node (for example a mining node, a block chain oracle or a block chain platform).
  • a trustworthy node for example a mining node, a block chain oracle or a block chain platform.
  • a block chain platform can be understood to mean a block chain as a service, as is proposed 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 specifies which node, for example, has linked the corresponding data block to at least one other data block of the distributed database system.
  • transaction or “transactions” can be understood to mean, for example, a smart contract [4] [5], a data structure or a transaction data record, each of which in particular comprises one of the transactions or more 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 include a program code that, for example, implements a smart contract.
  • a transaction can also be understood to mean a tax transaction and / or confirmation transaction.
  • a transaction can be, for example, a data structure, the data saves (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 number of program commands that are stored in particular in one or more transactions.
  • the program code can be executed in particular and becomes, for example 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 carried out by the infrastructure of the distributed Database system [4] [5], where, for example, a virtual machine is implemented by the infrastructure of the distributed database system.
  • a "smart contract" can be understood in connection with the invention as an executable program code, for example [4] [5] (see in particular the definition of "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 executed in the same way as is explained in the definition of "program code", in particular in connection with the invention.
  • “Proof-of-work proof” can be understood in connection with the invention to mean, for example, solving a computation-intensive task that is to be solved in particular depending on the data block content / content of a specific transaction [1] [4] [5 Such a computationally intensive task is also referred to as a cryptographic puzzle, for example.
  • DAG Directed Acylic Graph
  • cryptographic puzzles hash graphs or a combination of the implementation variants mentioned [6] [7]
  • Different consensus algorithms can also be implemented, for example a consensus procedure using a cryptographic puzzle, gossip about gossip, virtual voting or
  • 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 nodes or devices in the Cloud (eg as a virtual node in a virtual machine) can be implemented using VM goods, Amazon Web Services or Microsoft Azure, for example. Due to the high flexibility of the implementation variants explained, partial aspects of the implementation variants mentioned can also be combined with one another are used, for example, by using a hash graph as a block chain, the block chain itself being able to be blockless, for example.
  • DAG Directed Acylic Graph
  • transactions or blocks or nodes of the graph are connected to one another via directed edges.
  • Acyclic means in particular that there are no loops when the graph is run through.
  • 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). If it is, for example, a publicly distributed database system, this means that new nodes and / or devices without credentials or without authentication or without credentials or without credentials can join or be accepted by the distributed database system. In such a case, in particular, the operators of the nodes and / or devices can remain anonymous.
  • 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 implemented in particular as a data structure and preferably comprises one of the transactions or more of the transactions in one implementation.
  • the database or the database system
  • DLTS DLT-based system
  • a data block can, for example, give information about 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 contain a version, a chaining checksum, a data Ten-block checksum, a time stamp, a proof-of-work proof and a nonce (one-time value, random value or counter that is used for the proof-of-work proof) include [1] [4] [5].
  • a data block can, for example, also be 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. In particular, the functionalities of the blocks of a block chain and the transactions are combined with one another in such a way that, for. B.
  • 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 once” [3]).
  • a nonce denotes individual numbers or one Letter combination, which is preferably used once in the respective context (e.g. transaction, data transfer).
  • Previous data blocks of a (certain) data block of the distributed database system can be understood in connection with the invention, for example, the data block of the distributed database system, which in particular comprises immediately precedes a (certain) data block.
  • “previous data blocks of a (certain) data block of the distributed database system” can also be understood to mean, in particular, all data blocks of the distributed database system that precede the specific data block.
  • the chaining checksum or the transaction checksum can only be used, for example, only via the one directly preceding the particular data block Data block (or their transactions) or over all data blocks preceding the first data block (or their transactions) are formed.
  • a “block chain node”, “node”, “node of a distributed database system” and the like can be understood in connection with the invention to mean, for example, devices (for example field devices, mobile telephones), computers, smartphones, 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 by means of 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 trustworthy 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 are, for example, devices of a technical system and / or industrial plant and / or an automation network and / or a manufacturing plant, which are in particular also a node of the distributed database system.
  • 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. to execute their computer-implemented functionality.
  • a “block chain oracle” and the like can be understood to mean, for example, nodes, devices or computers which are considered to be reliable data.
  • the data obtained from nodes known as a “block chain oracle” are, for example, correct or not viewed as manipulated because such nodes have a security module that has, for example, software protection mechanisms (e.g. cryptographic procedures), mechanical protection devices (e.g. a lockable housing) or electrical protection devices (e.g. Tamper protection or a protection system that deletes the data of the security module in the event of improper use / treatment of the block chain oracle.
  • the security module can, for example, include cryptographic keys that are used to calculate the checksums (e.g. transaction checksums or Node checksums) are necessary.
  • a “computer” or a “device” can include, for example, a computer (system), a client, a smart phone, a device or a server, each of which is arranged outside the block chain or is not a participant in the distributed database system (e.g. 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 can also be understood to mean a node of the distributed database system.
  • a device can be understood to mean 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 from nodes (e.g. by means of
  • Smart contracts and / or blockchain oracles who controlled. 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 example. B. by means of a smart contract, which is stored in particular in a transaction of the distributed database system.
  • Fig. 1 shows a schematic representation of an embodiment of an industrial automation network with a distributed database system
  • Fig. 2 schematically shows an embodiment of a block chain
  • Fig. 3 shows a flow diagram for a method for operating a block chain
  • Fig. 4 shows schematically another embodiment of a block chain.
  • 1 shows a schematic representation of an embodiment of an industrial automation network in which a distributed database system is used.
  • 1 shows a distributed database system in the manner of a block chain 1, which is illustrated in FIG. 2 in more detail.
  • the distributed database system 1 here comprises networked node devices 2-6.
  • Knot devices 2 - 6 include, for example, computers with blockchain clients or field devices and mobile end devices. In the illustrated embodiment, for example, sensor data from field devices 11, 12,
  • a transaction for a subscriber for example a sensor device 11, can consist in documenting or storing a sensor value.
  • subscriber is understood to mean any entity for which an assigned information is entered within the distributed database system 1.
  • information can be stored by a transaction within the block chain BC.
  • a general subscriber 8 is Darge on the left.
  • the participants 8 In order to carry out transactions within a block chain BC, the participants 8 must use block chains
  • identification data can be identified, e.g. B. be a network address.
  • Public keys of a key and lock pair are often also used as block chain identification dates. This is indicated in FIG. 1 with a private key SK and a public key PUB for the subscriber 8.
  • the keys SK, PUB are linked to one another via a cryptographic process and serve to cryptographically secure transactions in the block chain BC. Transactions between participants or changes to database entries caused by the data blocks explained in the following are protected by a cryptographic security procedure in the manner of signed data blocks.
  • a block chain BC is indicated schematically in FIG. 2.
  • data blocks Bi are generated one after the other, the successive data blocks, which are designated in FIG. 1 Bi, Bi + 1 and Bi-1, being cryptographically linked to one another.
  • the data block Bi + 1 which is the most recent in time in FIG. 2 and which, like the other previous data blocks Bi and Bi-1, comprises header data HD, hashed data block data BH and transaction data TD, is linked to the previous data block Bi. by writing a hash value of the previous data block Bi. This is marked in FIG. 2 by the curved arrows with the addition "hash". All data - in particular the transaction history of the block chain BC - are included in the hash value formation of the previous data block, so that undetected manipulation of data, in particular transaction data, is very unlikely.
  • the node devices 2 - 6 check that the computer capacity is available to determine whether the pending transactions contradict the previous transaction history or not. For example, a transaction is confirmed if the majority of the node devices classify the transaction as being free of contradictions with regard to the transaction history.
  • step S1 a transaction request is generated by a participant 8. For example, a credit for an amount of a cryptocurrency is to be made for a specific network address which is assigned to the respective subscriber 8.
  • the transaction request must be signed using a cryptographic key and an associated cryptographic signature method.
  • the cryptographic signature method to be used is defined for each transaction (step S2).
  • an ECDSA procedure with a 160-bit module can be used to save computing power.
  • an ECDSA procedure with a 256-bit module is used, for example. If a 256-bit module no longer appears to be sufficiently secure in the future, a 320-bit module will be defined for transactions in database system 1.
  • Each transaction request, or an execution request for the transaction contains signature information to determine the cryptographic signature method.
  • the signature Information identifies the signature method to be used, for example by specifying a key length.
  • the signed transaction request is then checked with the aid of a public key in accordance with the defined key length and the associated procedure, eg ECDSA.
  • the network address of the subscriber can be digitally signed as a block chain identification date together with the requested transaction.
  • the certification authority 9 (cf. FIG. 1) generates a pair of a public verification key PUB and a private cryptographic key SK as digital signature keys in accordance with the specified cryptographic signature method Assigned to 8 participants.
  • step S3 the transaction request is provided or signed with the signature using the defined cryptographic signature method, which is identified by the signature information.
  • the execution of the signing process can be implemented in the manner of a smart contract as executable program code, the signature information representing, for example, a pointer or pointer to the code.
  • step S4 transactions are carried out in step S4 on the basis of the signed transaction data.
  • a new data block is created using the specified cryptographic procedure. Due to the transaction-dependent definition of the signature information or the cryptographic signature method, the block chain BC can have data blocks with different digital signatures.
  • Blocks Bi-1 to Bi + 2 have been generated over time t.
  • time t * the cryptographic signature procedure used was changed.
  • the cryptographic security of the transactions was guaranteed using a signature SIG1.
  • the signature procedure for the transactions after time t * has been changed.
  • the subsequent blocks Bi + 1, Bi + 2 contain signatures SIG2, which have a stronger cryptographic security level than the signature process for SIG1.
  • the participants in the block chain BC have agreed, for example by majority vote, to use a longer key length than before from time t *.
  • the flexible determination or determination of the signature process can ensure that a for the
  • the proposed method for operating a block chain in which transactions are carried out using digitally signed transaction data, is suitable for building security-relevant databases. This can affect sensor and control data of an automation network, for example. It is also conceivable to use it as a digital land register or to prove certain safety properties of products. Because the cryptographic link to the participant, for example a real or legal person, can be flexibly adapted, a permanently secure operation can be achieved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for operating a distributed database system (1) having distributed node devices (2 - 6) for providing interlinked data blocks (Bi), in particular in the style of a blockchain (BC), that document transactions between subscribers (8), wherein transactions (TD) between subscribers (8) are protected by means of transaction data and a cryptographic signature process, involves the cryptographic signature process being defined for each transaction in order to protect the respective transaction, wherein signature information identifying the defined cryptographic signature process is part of the transaction or part of a performance request for the transaction. For each transaction, signature data are then calculated using the defined cryptographic signature process for at least some of the transaction data or the hash value thereof, and the signature data are added to the transaction data.

Description

Beschreibung description
Verfahren zum Betreiben eines verteilten Datenbanksystems, verteiltes Datenbanksystem und Industrieautomatisierungssys tem Method for operating a distributed database system, distributed database system and industrial automation system
Die vorliegende Erfindung betrifft ein Verfahren zum Betrei ben eines verteilten Datenbanksystems, wie zum Beispiel einer Blockkette (Blockchain) mit Hilfe vernetzter Knoten- Einrichtungen. Ein solches Datenbanksystem eignet sich insbe sondere zum Einsatz in einem Industrieautomatisierungsnetz werk. Um Dateneinträge oder Transaktionen innerhalb einer Blockkette durchführen und dokumentieren zu können, werden solche Einträge kryptographisch abgesichert. Es ist zum Bei spiel gängig, Transaktionen oder Einträge nach einem vorgege benen Standard digital zu signieren. The present invention relates to a method for operating a distributed database system, such as a block chain (blockchain) with the aid of networked node devices. Such a database system is particularly suitable for use in an industrial automation network. In order to be able to carry out and document data entries or transactions within a block chain, such entries are cryptographically secured. For example, it is common to digitally sign transactions or entries according to a specified standard.
Bei der bekannten Blockkette Bitcoin, die eine Kryptowährung verwaltet, können Teilnehmer oder Nutzer über geldwerte Ein träge in der Bitcoin-Blockkette mit Hilfe ihrer privaten kryptografischen Schlüssel verfügen. Das kryptographische Verfahren zur Absicherung der jeweiligen Datenbankeinträge für Personen bzw. Teilnehmern, basiert auf Elliptische- Kurven-Kryptographie (Elliptic Curve Cryptography : ECC) mit einer bestimmten Schlüssellänge, nämlich 256 Bits. Die With the well-known block chain Bitcoin, which manages a cryptocurrency, participants or users can have monetary entries in the Bitcoin block chain with the help of their private cryptographic keys. The cryptographic method for securing the respective database entries for persons or participants is based on elliptic curve cryptography (ECC) with a specific key length, namely 256 bits. The
Schlüssellänge der eingesetzten ECDSA-Signaturen (Elliptic Curve Digital Signature Algorithm: ECDSA) wurde so gewählt, dass ein manipulierender Angriff unwahrscheinlich bis unmög lich ist. Da zukünftige Rechnerleistungen, die für Angriffe auf solche verteilten Datenbanksysteme genutzt werden können, nicht absehbar sind, ist fraglich, ob die Bitcoin-Blockkette langfristig mit einem geeigneten Sicherheitsniveau ausgestat tet ist. The key length of the ECDSA signatures used (Elliptic Curve Digital Signature Algorithm: ECDSA) was chosen so that a manipulative attack is improbable to impossible. Since future computer services that can be used to attack such distributed database systems are not foreseeable, it is questionable whether the Bitcoin block chain will be equipped with an appropriate security level in the long term.
Für die Bitcoin-Blockkette ist vorgesehen, dass die letzten Bitcoins im Jahr 2130 entstehen sollen. Es ist mit großer Wahrscheinlichkeit anzunehmen, dass zu diesem Zeitpunkt el liptische Kurven mit einem 256-Bit-Modul keine angemessene Sicherheit mehr bieten werden. Die Zweifel an der langfristi gen Sicherheit dieser Kurven werden verstärkt durch die aktu ellen Fortschritte der Quantencomputer. Ein denkbarer Quan tencomputer mit einer ausreichenden Zahl von Quanten-Bits könnte alle üblichen, auf elliptischen Kurven beruhende Kryp- toverfahren in Polynomzeit brechen. For the bitcoin blockchain, it is planned that the last bitcoins will be created in 2130. It is highly probable that elliptic curves with a 256-bit module are not adequate at this point Security will offer more. The doubts about the long-term security of these curves are reinforced by the current advances in quantum computers. A conceivable quantum computer with a sufficient number of quantum bits could break all the usual cryptographic methods based on elliptic curves in polynomial time.
Es ist insofern wünschenswert, die Sicherheit und Robustheit von verteilten Datenbanksystemen gegenüber kryptoanalytischen Angriffen möglichst hoch und flexibel zu halten. In this respect, it is desirable to keep the security and robustness of distributed database systems as high and flexible as possible against cryptoanalytic attacks.
Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, einen verbesserten Betrieb von verteilten Datenbanksystemen, insbesondere von Blockketten, zu ermögli chen . Against this background, it is an object of the present invention to enable improved operation of distributed database systems, in particular of block chains.
Die Aufgabe wird durch die in den unabhängigen Ansprüchen an gegebenen Merkmale gelöst. In den abhängigen Ansprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt. The object is achieved by the features given in the independent claims. Advantageous developments of the invention are shown in the dependent claims.
Demgemäß wird ein Verfahren zum Betreiben eines verteilten Datenbanksystems mit verteilten Knoten-Einrichtungen zum Be reitstellen von miteinander verknüpften Datenblöcken bereit gestellt. Die Datenblöcke können insbesondere in der Art ei ner Blockkette bereitgestellt werden. Die Datenblöcke doku mentieren Transaktionen zwischen Teilnehmern, wobei Transak tionen zwischen Teilnehmern mit Hilfe von entsprechenden Transaktionsdaten und einem kryptografischen Signaturverfah ren abgesichert werden. Bei dem Verfahren wird für jede Accordingly, a method is provided for operating a distributed database system with distributed node devices for providing linked data blocks. The data blocks can in particular be provided in the manner of a block chain. The data blocks document transactions between participants, transactions between participants being secured with the aid of corresponding transaction data and a cryptographic signature process. The procedure is for everyone
Transaktion das kryptografischen Signaturverfahrens zum Absi chern der jeweiligen Transaktion festgelegt, wobei eine das festgelegte kryptografische Signaturverfahren identifizieren de Signaturinformation Teil der Transaktionsdaten oder Teil einer Durchführungsanfrage für die Transaktion ist. Transaction defines the cryptographic signature method for securing the respective transaction, wherein a signature information identifying the specified cryptographic signature method is part of the transaction data or part of an execution request for the transaction.
Es erfolgt insbesondere für jede Transaktion ein Berechnen von Signaturdaten nach dem festgelegten kryptografischen Sig naturverfahren über zumindest einen Teil der Transaktionsda- ten oder deren Hashwert, und die Signaturdaten werden zu den Transaktionsdaten hinzugefügt. In particular, signature data is calculated for each transaction according to the specified cryptographic signature method over at least part of the transaction data. ten or its hash value, and the signature data is added to the transaction data.
Die kryptografische Signatur schafft eine kryptographische Bindung oder Kopplung zwischen dem Teilnehmer und einer ange fragten Transaktion oder dem jeweiligen Dateneintrag und ge nügt dabei bestimmten Sicherheitsanforderungen. Ein Beispiel für ein Sicherheitsniveau ist beispielsweise eine Schlüssel länge . The cryptographic signature creates a cryptographic link or coupling between the participant and a requested transaction or the respective data entry and thereby meets certain security requirements. An example of a security level is, for example, a key length.
Durch die Festlegung des im Rahmen - vorzugsweise - jeder Transaktionsdurchführung oder -Bestätigung anzuwendenden kryptografische Signaturverfahrens wird der Betrieb des Da tenbanksystems flexibler und sicherer. Es wird ermöglicht, das Sicherheitsniveau des Signaturverfahren über die Lebens dauer des Datenbanksystems zu ändern und an den Fortschritt der Kryptoanalyse anzupassen. By defining the cryptographic signature procedure to be used in the context of - preferably - every transaction or confirmation, the operation of the database system becomes more flexible and secure. It is possible to change the security level of the signature process over the life of the database system and to adapt it to the progress of cryptanalysis.
Als Sicherheitsniveau kann bei Sicherheitsverfahren, die auf einer geheimen Information, wie zum Beispiel einem kryptogra- phischen privaten Schlüssel, basieren, die mittlere Anzahl der elementaren Operationen gelten, die der effizienteste be kannte Algorithmus benötigt, um die geheime Information zu ermitteln. Bei einem Sicherheitsniveau von 80 Bit, muss ein Angreifer 280 elementare Operationen durchführen, um den pri vaten Schlüssel zu finden. Man kann dann sagen, dass Sicher heitsniveau ist 80 Bit. Es sind auch andere Maße für das je weilige Sicherheitsniveau, wie eine Schlüssellänge oder ein Parameter elliptischer Kurven, denkbar. In the case of security methods which are based on secret information, such as, for example, a cryptographic private key, the security level can be the average number of elementary operations which the most efficient known algorithm requires in order to determine the secret information. With a security level of 80 bits, an attacker 2 has to perform 80 elementary operations to find the private key. You can then say that the security level is 80 bits. Other measures for the respective security level, such as a key length or a parameter of elliptical curves, are also conceivable.
Die Festlegung des Sicherheitsniveaus durch Verwendung eines bestimmten kryptografischen Signaturverfahrens erfolgt zum Beispiel für alle zukünftige Transaktionen solange kein neues kryptografische Signaturverfahren, insbesondere mit erhöhter Sicherheit festgelegt wird. Vorzugsweise kann ohne Angabe der Signaturinformation, beispielsweise in der Art eines Verwei ses, Pointers, Programmcodes für das anzuwendende Signatur- verfahren und/oder eines Parameters für das Signaturverfahren keine Transaktion durchgeführt werden. The security level is determined by using a specific cryptographic signature procedure, for example, for all future transactions as long as no new cryptographic signature procedure is established, in particular with increased security. Preferably, without specifying the signature information, for example in the manner of a reference, pointers, program codes for the signature to be used procedure and / or a parameter for the signature procedure, no transaction can be carried out.
In Ausführungsformen weist die Signaturinformation einen Pro grammcode zur Durchführung des festgelegten kryptografischen Signaturverfahrens auf. Das kryptografische Signaturverfahren kann als ausführbarer Code implementiert werden und in dem Datenbanksystem gespeichert vorliegen. Eine mögliche Imple mentierung des Verfahrens sieht einen oder mehrere Smart- Contracts vor, der ein entsprechendes kryptografisches oder verschiedene kryptografische Signaturverfahren veranlasst. Insofern sehen Varianten des Verfahrens vor, dass ein vorgeb- bares kryptografisches Signaturverfahren in der Art eines Smart-Contracts für das bzw. in dem verteilten Datenbanksys tem bereitgestellt wird. In embodiments, the signature information has a program code for performing the specified cryptographic signature method. The cryptographic signature process can be implemented as executable code and stored in the database system. A possible implementation of the method provides for one or more smart contracts that trigger a corresponding cryptographic or different cryptographic signature method. In this respect, variants of the method provide that a predefinable cryptographic signature method in the manner of a smart contract is provided for or in the distributed database system.
Denkbar ist auch, dass die Signaturinformation einen Zeiger auf einen Programmcode zur Durchführung des festgelegten kryptografischen Signaturverfahrens aufweist. It is also conceivable that the signature information has a pointer to a program code for executing the specified cryptographic signature method.
Bei einer Ausführungsform des Verfahrens erfolgt ein digita les Signieren der Signaturinformation mit Hilfe des festge legten kryptografischen Signaturverfahrens. Alternativ kann zunächst ein Hashwert für die Signaturinformation erzeigt werden, und anschließend ein digitales Signieren des Hashwer- tes mit Hilfe des festgelegten kryptografischen Signaturver fahrens erfolgen. Es wird anschließend die signierte und/oder gehashten Signaturinformation an die Transaktionsdaten ange fügt . In one embodiment of the method, the signature information is digitally signed using the defined cryptographic signature method. Alternatively, a hash value for the signature information can first be generated, and then the hash value can be digitally signed using the specified cryptographic signature method. The signed and / or hashed signature information is then added to the transaction data.
Die jeweilige Signatur ist vorzugsweise Teil einer Transakti on oder Transaktionsanfrage bzw. der Transaktionsdaten. The respective signature is preferably part of a transaction or transaction request or the transaction data.
Es kann beispielsweise in einer Änderungstransaktion für alle Folgetransaktionen ein neues kryptografisches Signaturverfah ren zum Absichern der jeweiligen Transaktion festgelegt wird. Die erfolgt insbesondere nur dann, falls ein vorgegebener An teil von Teilnehmern einer Änderungstransaktion unter Anwen- düng des aktuell festgelegten kryptografisches Signaturver fahren zustimmt. For example, in a change transaction, a new cryptographic signature process can be defined for all subsequent transactions to secure the respective transaction. In particular, this only occurs if a specified proportion of participants in a change transaction under fertilizes the currently specified cryptographic signature procedure.
In Ausführungsformen müssen alle Teilnehmer des Datenbanksys tems zustimmen. Es ist auch möglich, eine vorgegebene notwen dige Mehrheit, z.B. zwei Drittel oder 50%, zur Änderung des Signaturverfahrens zu bestimmen. In embodiments, all participants in the database system must agree. It is also possible to use a predetermined necessary majority, e.g. two thirds or 50% to determine to change the signature process.
In Ausführungsformen kann sich eine Gruppe von Teilnehmern für Transaktionen unter Teilnehmern der Gruppe auf ein be stimmtes digitales Signaturverfahren einigen und für zukünf tige Folgetransaktionen festlegen. In embodiments, a group of participants can agree on a specific digital signature method for transactions among participants in the group and can determine future transactions.
In Ausführungsformen wird die anzuwendende kryptografische Signaturverfahren für einen bestimmten Zeitraum festgelegt. Denkbar ist ferner das Signaturverfahren für eine maximale Anzahl von Transaktionen festzulegen, wobei es nach Ablauf des Zeitraums oder der Transaktionszahl neu bestimmt werden muss . In embodiments, the cryptographic signature method to be used is determined for a certain period of time. It is also conceivable to define the signature method for a maximum number of transactions, it having to be redetermined after the period or the number of transactions.
In Ausführungsformen muss ein neues festgelegtes Signaturver fahren ein höheres kryptografisches Sicherheitsniveau haben als das aktuell festgelegte Signaturverfahren. In embodiments, a new specified signature method must have a higher cryptographic security level than the currently specified signature method.
In Ausführungsformen verknüpft das jeweilige kryptografische Signaturverfahren ein kryptographisches Schlüsselpaar mitei nander, wobei jedem Teilnehmer ein geltendes Schlüsselpaar zugeordnet ist. Alternativ oder zusätzlich kann das Signatur verfahren mit Elliptische-Kurven-Kryptographie (ECC) imple mentiert werden. In embodiments, the respective cryptographic signature method links a cryptographic key pair to one another, with each participant being assigned a valid key pair. Alternatively or additionally, the signature method can be implemented with elliptic curve cryptography (ECC).
Bei ECC werden diskrete Logarithmusprobleme betrachtet und die Kurvenparameter festgelegt. Das Sicherheitsniveau einer ECC wird dabei im Wesentlichen durch die Schlüssellänge be stimmt. Auf ein verteiltes Datenbanksystem und die kryptogra- phische Bindung von Dateneinträgen an Teilnehmer bezogen kann das Sicherheitsniveau des festlegten kryptografischen Signa turverfahrens die verwendete Schlüssellänge sein. Das kryptografisches Signaturverfahren kann auf der Basis ei ner Elliptische-Kurven-Kryptographie (ECC) implementiert sein, und die Signaturinformation weist zum Beispiel die Schlüssellänge für die ECC, insbesondere als Anzahl der Bits, auf . With ECC, discrete log problems are considered and the curve parameters are defined. The security level of an ECC is essentially determined by the key length. In relation to a distributed database system and the cryptographic binding of data entries to participants, the security level of the specified cryptographic signature procedure can be the key length used. The cryptographic signature method can be implemented on the basis of an elliptic curve cryptography (ECC), and the signature information has, for example, the key length for the ECC, in particular as the number of bits.
Vorzugsweise ist das kryptografisches Signaturverfahren auf der Basis einer Post-Quanten-Kryptographie (PQC) implemen tiert. Die Festlegung auf ein PQC-Verfahren ermöglichst den Schutz vor Angriffen mit Hilfe von Quantencomputern, die mög licherweise bislang eingesetzte asymmetrische Kryptosysteme entschlüsseln können. Daher kann während des Betriebs der verteilten Datenbank ein bisheriges kryptografisches Signa turverfahren durch ein neues im Hinblick auf Quantencomputer angriffe robusteres Signaturverfahren ersetzt werden. Denkbar ist insbesondere die Festlegung auf ein Verfahren nach dem Standard RFC 8391 in der Version zum Zeitpunkt des Anmeldeta ges dieser Patentanmeldung. Als Signaturverfahren kommt ins besondere XMSS in Frage. The cryptographic signature method is preferably implemented on the basis of post-quantum cryptography (PQC). The definition of a PQC method enables protection against attacks with the help of quantum computers, which may be able to decrypt asymmetric cryptosystems that have been used up to now. Therefore, during the operation of the distributed database, a previous cryptographic signature method can be replaced by a new signature method that is more robust with regard to quantum computer attacks. In particular, it is conceivable to specify a method according to the RFC 8391 standard in the version at the time of filing this patent application. XMSS is particularly suitable as a signature method.
In Ausführungsformen ist vorgesehen, dass die miteinander verknüpften Datenblöcke, welche Transaktionen zwischen Teil nehmern dokumentieren, Datenblöcke umfassen, welche mit Hilfe von unterschiedlichen kryptografischen Signaturverfahren ab gesichert sind. In embodiments it is provided that the interlinked data blocks, which document transactions between participants, comprise data blocks which are secured with the aid of different cryptographic signature methods.
Insbesondere eine mit Hilfe des vorgeschlagenen Verfahrens betriebene Blockkette kann Transaktionen mit Signaturen ver schiedener Sicherheitsniveaus umfassen. Alte gefährdete in Datenblöcken dokumentierte Dateneinträge können durch Über tragung an neuere Datenblöcke, die gemäß dem aktuell festge legten Signaturverfahren geschützt werden, gerettet werden. In particular, a block chain operated with the aid of the proposed method can include transactions with signatures of different security levels. Old data records that are endangered and documented in data blocks can be saved by transferring them to newer data blocks that are protected according to the currently defined signature procedure.
Das kryptografische Signaturverfahren verknüpft insbesondere ein kryptographisches Schlüsselpaar miteinander kryptogra- phisch-Jedem Teilnehmer kann dann ein aktuelles Schlüsselpaar zugeordnet werden. In Ausführungsformen wird sichergestellt, dass zu jedem Schlüsselpaar genau ein Teilnehmer vorliegt. Grundsätzlich können Teilnehmer auch über mehrere Schlüssel paare verfügen. The cryptographic signature method, in particular, cryptographically links a cryptographic key pair to one another. A current key pair can then be assigned to each subscriber. In embodiments, it is ensured that there is exactly one participant for each key pair. In principle, participants can also have several key pairs.
In Ausführungsformen des Verfahrens wird für jeden Teilnehmer ferner zumindest einer der folgenden Schritte durchgeführt: In embodiments of the method, at least one of the following steps is also carried out for each participant:
Zuweisen eines digitalen Signaturschlüssels an den Teil nehmer, wobei der digitale Signaturschlüssel dem aktuell festgelegten kryptografischen Signaturverfahren entspricht; digitales Signieren einer Transaktionsanfrage des Teil nehmers mit Hilfe des dem Teilnehmer zugewiesenen digitalen Signaturschlüssels zum Erzeugen einer digital signierten Transaktionsanfrage; und Assigning a digital signature key to the subscriber, the digital signature key corresponding to the currently defined cryptographic signature method; digitally signing a transaction request from the subscriber using the digital signature key assigned to the subscriber to generate a digitally signed transaction request; and
Bestätigen der Transaktion, falls die digitale Signatur als gültig erkannt wird, und falls die Transaktion mit einer Transaktionshistorie der Blockkette als verteiltes Datenbank system widerspruchsfrei ist. Confirm the transaction if the digital signature is recognized as valid and if the transaction with a transaction history of the block chain as a distributed database system is free of contradictions.
Das Zuweisen eines digitalen Signaturschlüssels kann auch durch den jeweiligen Teilnehmer selbst erfolgen. Beispiels weise erzeugt ein Teilnehmer das von ihm genutzte Schlüssel paar . A digital signature key can also be assigned by the respective subscriber himself. For example, a participant generates the key pair that he uses.
In Ausführungsformen dokumentieren die verknüpften Datenblö cke Transaktionen zu einer Ressource, insbesondere einer Kryptowährung . Ein Sicherheitsniveau des kryptografischen Signaturverfahrens wird dann insbesondere in Abhängigkeit von einem Wert oder einer Menge der im Rahmen der Transaktion do kumentierten Ressource festgelegt wird. Insofern kann die Transaktionssicherheit an den Wert der Transaktion angepasst werden . In embodiments, the linked data blocks document transactions relating to a resource, in particular a cryptocurrency. A security level of the cryptographic signature process is then determined in particular as a function of a value or an amount of the resource documented in the context of the transaction. In this respect, the transaction security can be adjusted to the value of the transaction.
Bei dem Verfahren können die verknüpften Datenblöcke Transak tionen zu einer Ressource, insbesondere einer Kryptowährung, dokumentieren, und eine Durchführung der Transaktion erfolgt durch ein Überprüfen der Signatur in den Transaktionsdaten durch Prüfungsinstanzen. Für das Überprüfen ist dann eine Menge der verwalteten Ressource an die Überprüfungsinstanzen abzuführen, wobei die Menge von dem Berechnungsaufwand der Signaturüberprüfung abhängt. Als Überprüfungsinstanz können Netzwerkeinrichtungen eingesetzt werden, die Rechenleistung für die kryptografischen Berechnungen gemäß dem festgelegten Signaturverfahren bereitstellen . Je größer der Berechnungs aufwand ist, desto größer werden beispielsweise die Transak tionskosten bestimmt. Dadurch kann insbesondere Denial-of- Service-Angriffen vorgebeugt werden. In the method, the linked data blocks can document transactions relating to a resource, in particular a cryptocurrency, and the transaction is carried out by checking the signature in the transaction data by checking bodies. A quantity of the managed resource is then to be transferred to the verification instances for the verification, the quantity depending on the calculation effort of the Signature verification depends. Network devices that provide computing power for the cryptographic calculations in accordance with the specified signature method can be used as the checking entity. For example, the greater the calculation effort, the greater the transaction costs are determined. This can be used to prevent denial of service attacks in particular.
In Ausführungsformen erfolgt ein Betrieb über die oben ge nannten Schritte hinaus gemäß einem bekannten Blockketten- Algorithmus. Denkbar sind zum Beispiel Ethereum-, IOTA- oder Bitcoin-Abwandlungen . In embodiments, operation beyond the above-mentioned steps is performed in accordance with a known block chain algorithm. For example, Ethereum, IOTA or Bitcoin variations are conceivable.
Es wird ferner ein verteiltes Datenbanksystem vorgeschlagen, welches mehrere Knoten-Einrichtungen zum Bereitstellen von miteinander verknüpften Datenblöcken umfasst, welche insbe sondere in der Art einer Blockkette verknüpft sind. Jede Kno ten-Einrichtung ist eingerichtet, gemäß einem vorgegebenen Blockkettenalgorithmus Transaktionen zwischen Teilnehmern zu dokumentieren, wobei der Blockkettenalgorithmus die Durchfüh rung eines zuvor und im Folgenden beschriebenen Verfahrens durch die Knoten-Einrichtungen veranlasst. A distributed database system is also proposed, which comprises a plurality of node devices for providing interconnected data blocks, which are linked in particular in the manner of a block chain. Each node device is set up to document transactions between participants in accordance with a predetermined block chain algorithm, the block chain algorithm causing the node devices to carry out a method described above and below.
Es wird insbesondere eine Knoten-Einrichtung vorgeschlagen, welche derart eingerichtet ist, dass sie als Knoten- Einrichtung in einem verteilten Datenbanksystem einsetzbar ist und gemäß dem Blockketten-Algorithmus arbeitet, wie es zuvor und im Folgenden beschrieben wird. In particular, a node device is proposed which is set up in such a way that it can be used as a node device in a distributed database system and operates in accordance with the block chain algorithm as described above and below.
Weiterhin wird ein Industrie-Automatisierungsnetzwerk mit ei nem verteilten Datenbanksystem wie zuvor und im Folgenden be schrieben vorgeschlagen, wobei das Datenbanksystem zum Doku mentieren und Steuern von Transaktionen für Feldgeräte in dem Automatisierungsnetzwerk eingerichtet ist. Furthermore, an industrial automation network with a distributed database system as described above and below is proposed, the database system being set up for documenting and controlling transactions for field devices in the automation network.
Es lassen sich insbesondere Feldgeräte, welche mit Adressen versehen sind als Teilnehmer betrachten. Solche Feldgeräte können Sensordaten oder Steuerdaten erzeugen, welche mit Hil- fe der Knoten-Einrichtungen verteilt abgespeichert werden. Da lediglich nach dem aktuellen digitalen signierte Transakti onsanfragen zur Durchführung von Transaktionen verwendet wer den, kann die Sicherheit von derartigen Industrie- Automatisierungsnetzwerken verbessert werden. Die Feldgeräte können auch selbst Knoten-Einrichtungen in dem Datenbanksys tem darstellen. In particular, field devices which are provided with addresses can be considered as subscribers. Such field devices can generate sensor data or control data, which can be fe of the node devices can be stored distributed. Since only digitally signed transaction inquiries are used to carry out transactions, the security of such industrial automation networks can be improved. The field devices can also represent node devices themselves in the database system.
Die Technologie von Blockketten (engl. Blockchains) bzw. The technology of block chains or blockchains
"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."Distributed Ledgers" is currently an intensely discussed technology that can be implemented in particular as a distributed database system. In addition to applications for decentralized payment systems (e.g. Bitcoin), new applications are being developed in the financial industry. In particular, transactions between companies can be realized without manipulation or a clearing house.
Dies ermöglicht neue Geschäftsmodelle ohne einen vertrauens würdigen Vermittler, es reduziert die Transaktionskosten, und es können flexibel neue digitale Dienste angeboten werden, wobei üblicherweise keine dafür speziell eingerichtete Infra struktur und Vertrauensbeziehungen eingerichtet wird. Ein durch eine Blockchain geschützter Transaktionsdatensatz (oder kurz Transaktion) umfasst z. B. Programmcode, der auch als sogenannter „Smart Contract" bezeichnet werden kann. This enables new business models without a trustworthy intermediary, reduces transaction costs, and new digital services can be offered flexibly, usually without a specially set up infrastructure and trust relationships. A transaction record (or short transaction) protected by a blockchain includes e.g. B. Program code, which can also be referred to as a so-called "smart contract".
Die jeweilige Einheit, zum Beispiel ein Knoten, eine Rechen einheit oder Steuerungseinheit, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann die jeweilige Ein heit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor oder als Steu errechner eines Fahrzeuges ausgebildet sein. Bei einer soft waretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Rou tine, als Teil eines Programmcodes oder als ausführbares Ob jekt ausgebildet sein. Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer oder mehrerer programmgesteuerten Einrich tungen die Durchführung des wie oben erläuterten Verfahrens veranlasst . The respective unit, for example a node, a computing unit or control unit, can be implemented in terms of hardware and / or software. In a hardware implementation, the respective unit can be designed as a device or as part of a device, for example as a computer or as a microprocessor or as a control computer of a vehicle. In a software implementation, the respective unit can be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object. Furthermore, a computer program product is proposed which causes the execution of the method as explained above on one or more program-controlled devices.
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm- Mittel, kann beispielsweise als Speichermedium, wie z.B. A computer program product, such as a computer program means, for example as a storage medium, e.g.
Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form ei ner herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertra gung einer entsprechenden Datei mit dem Computerprogrammpro dukt oder dem Computerprogramm-Mittel erfolgen. Memory card, USB stick, CD-ROM, DVD, or also in the form of a downloadable file from a server in a network. This can be done for example in a wireless communication network by transferring a corresponding file with the computer program product or the computer program means.
Die für die vorgeschlagene Vorrichtung beschriebenen Ausfüh rungsformen und Merkmale gelten für das vorgeschlagene Ver fahren entsprechend. The embodiments and features described for the proposed device apply accordingly to the proposed method.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der je weiligen Grundform der Erfindung hinzufügen. Further possible implementations of the invention also include combinations of features or embodiments described above or below with reference to the exemplary embodiments that are not explicitly mentioned. The person skilled in the art will also add individual aspects as improvements or additions to the respective basic form of the invention.
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfin dung sind Gegenstand der Unteransprüche sowie der im Folgen den beschriebenen Ausführungsbeispiele der Erfindung. Im Wei teren wird die Erfindung anhand von bevorzugten Ausführungs formen unter Bezugnahme auf die beigelegten Figuren näher er läutert . Further advantageous embodiments and aspects of the inven tion are the subject of the dependent claims and the embodiments of the invention described below. In Wei teren the invention is based on preferred embodiments with reference to the accompanying figures, he explained.
Sofern es in der nachfolgenden Beschreibung nicht anders an gegeben ist, beziehen sich die Begriffe "Durchführen", "Be rechnen", "rechnergestützt", "Rechnen", "Feststellen" , "Gene rieren", "Konfigurieren", "Rekonstruieren" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verar beitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Da ten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impul se. Insbesondere sollte der Ausdruck "Computer" möglichst breit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbeitungseigenschaften abzudecken. Compu ter können somit beispielsweise Personal Computer, Server, speicherprogrammierbare Steuerungen (SPS) , Handheld-Computer- Systeme, Pocket-PC-Geräte, Mobilfunkgeräte und andere Kommu nikationsgeräte, die rechnergestützt Daten verarbeiten kön nen, Prozessoren und andere elektronische Geräte zur Daten verarbeitung sein. Unless otherwise stated in the following description, the terms “perform”, “calculate”, “computer-aided”, “calculate”, “determine”, “generate”, “configure”, “reconstruct” and the like preferably on 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 or being able to be present in particular as physical quantities, for example as electrical impulses. In particular, the expression “computer” should be interpreted as broadly as possible, in particular to cover all electronic devices with data processing properties . Computers can thus be, for example, personal computers, servers, programmable logic controllers (PLCs), handheld computer systems, pocket PC devices, mobile radio devices and other communication devices which can process data with computer support, processors and other electronic devices for data processing .
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. In the context of the invention, “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.
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 A processor can be understood in connection with the invention, for example, a machine or an electronic circuit device. A processor can in particular 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. A processor can also be, 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
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. processor, engl. Digital Signal Processor) or a graphics processor GPU (Graphic Processing Unit). A processor can also be understood to mean a virtualized processor, a virtual machine or a soft CPU. For example, it can also be a programmable processor that can be configured with configuration steps tion of the method according to the invention is configured or is configured with configuration steps in such a way that the programmable processor realizes the features according to the invention of the method, the component, the modules, or other aspects and / or partial aspects of the invention.
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. 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.
Unter einem „Modul" kann im Zusammenhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbefehlen verstanden werden. Bei spielsweise ist der Prozessor speziell dazu eingerichtet, die Programmbefehle derart auszuführen, damit der Prozessor Funk tionen ausführt, um das erfindungsgemäße Verfahren oder einen Schritt des erfindungsgemäßen Verfahrens zu implementieren oder realisieren. Ein Modul kann beispielsweise auch ein Kno ten des verteilten Datenbanksystems sein, der beispielsweise die spezifischen Funktionen/Merkmale eines entsprechenden Mo duls realisiert. Die jeweiligen Module können beispielsweise auch als separate bzw. eigenständige Module ausgebildet sein. Hierzu können die entsprechenden Module beispielsweise weite re Elemente umfassen. Diese Elemente sind beispielsweise eine oder mehrere Schnittstellen (z. B. Datenbankschnittstellen, Kommunikationsschnittstellen - z. B. Netzwerkschnittstelle, WLAN-Schnittstelle) und/oder eine Evaluierungseinheit (z. B. ein Prozessor) und/oder eine Speichereinheit. Mittels der Schnittstellen können beispielsweise Daten ausgetauscht (z.In the context of the invention, a “module” can be understood to mean, for example, a processor and / or a memory unit for storing program instructions. For example, the processor is specifically designed to execute the program instructions in such a way that the processor executes functions in order to carry out the inventive To implement or implement the method 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, implements the specific functions / features of a corresponding module For this purpose, the corresponding modules can, for example, comprise further elements, which are, for example, one or more interfaces (eg database interfaces, communication interfaces - eg network interface, WLAN interface) and / or egg ne evaluation unit (e.g. B. a processor) and / or a storage unit. For example, data can be exchanged using the interfaces (e.g.
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. B. received, transmitted, sent or provided who). Using the evaluation unit, data can be compared, checked, processed, assigned or calculated, for example in a computer-assisted and / or automated manner. By means of the storage unit, data can be stored, called up or made available, for example, computer-aided and / or automatically. Under “include”, in particular with regard to data and / or information, in connection with the invention, for example, a (computer-assisted) storage of a corresponding piece of information or a corresponding date in a data structure / data record (which, for example, in turn in a storage unit is stored) can be understood.
Unter „zuordnen", insbesondere in Bezug auf Daten und/oder Informationen, kann im Zusammenhang mit der Erfindung bei spielsweise eine rechnergestützte Zuordnung von Daten Under “assign”, in particular with regard to data and / or information, in connection with the invention, for example, a computer-assisted assignment of data
und/oder Informationen verstanden werden. Beispielsweise wird einem ersten Datum hierzu mittels einer Speicheradresse oder eines eindeutigen Identifizierers (engl, unique identifier (UID) ) ein zweites Datum zugeordnet, in dem z. B. das erste Datum zusammen mit der Speicheradresse oder des eindeutigen Identifizierers des zweiten Datums zusammen in einem Daten satz gespeichert wird. and / or information can be understood. For example, a first date is assigned a second date using a memory address or a unique identifier (UID), in which e.g. B. the first date is stored together with the memory address or the unique identifier of the second date together in a data set.
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. “Provision”, in particular with regard to data and / or information, can be understood in connection with the invention to mean, for example, computer-assisted provision. The provision is carried out, for example, via an interface (for example a database interface, a network interface, an interface to a storage unit) This interface can be used, for example, to transmit and / or send and / or retrieve and / or receive corresponding data and / or information.
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. In connection with the invention, “providing” can also be understood, for example, to mean loading or storing, for example a transaction with corresponding data. This can be done, for example, on or from a memory module. “Providing” can also be used, for example, to transfer (or sending or transmitting) corresponding data from one node to another Nodes of the block chain or of the distributed database system (or their infrastructure) can be understood.
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. In the context of the invention, 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.
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 A “checksum”, for example a data block checksum, a data checksum, a node checksum, a transaction checksum, a chaining checksum or the like, can be understood in the context of the invention, for example, to be a cryptographic checksum or cryptographic hash or hash value, which in particular by means of cryptographic hash function via a data record and / or data and / or one or more of the transactions and / or a partial area of a data block (e.g. the block header of a block of a block chain or data block header of a data block of the distributed database system or only a part the transactions of a data block) are formed or calculated. 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 cryptographic message authentication code can be understood. By means of the checksums, for example, a cryptographic one can be made at different levels of the database system
Schutz/Manipulationsschutz für die Transaktionen und die da rin gespeicherten Daten (sätze) realisiert werden. Ist bei spielsweise eine hohe Sicherheit gefordert, werden beispiels weise die Prüfsummen auf Transaktionsebene erzeugt und über prüft. Ist eine weniger hohe Sicherheit gefordert, werden beispielsweise die Prüfsummen auf Blockebene (z. B. über den ganzen Datenblock oder nur über einen Teil des Datenblocks und/oder einen Teil der Transaktionen) erzeugt und überprüft. 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 block level (e.g. over the entire data block or only over part of the data block and / or part of the transactions).
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. In the context of the invention, a “data block checksum” can be understood to mean a checksum which for example, it is calculated over part or all of the transactions in a data block. A node can then, for example, check / determine the integrity / authenticity of the corresponding part of a data block using the data block checksum. Additionally or alternatively, the data block checksum can in particular also have been formed via transactions of a previous data block / predecessor data block of the data block. The data block checksum can in particular also be implemented by means of a hash tree, for example a Merkle tree [1] or a Patricia tree, the data block checksum in particular the root checksum of the Merkle tree or a Patricia tree or of a binary hash tree. In particular, transactions are secured by means of further checksums from the Merkle tree or Patricia tree (e.g. using the transaction checksums), the further checksums in particular being leaves in the Merkle tree or Patricia tree. 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 in particular be calculated for transactions of a specific data block of the data blocks. In particular, such a data block checksum can be included in a subsequent data block of the specific data block in order to chain this subsequent data block, for example, with its previous data blocks and in particular thus to make it possible to check the integrity of the distributed database system. As a result, the data block checksum can, for example, take on the function of the chaining checksum or be 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 check sum was formed) can comprise, for example, the data block check sum.
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. “Transaction checksum” can be understood in connection with the invention as a checksum that is formed in particular via a transaction of a data block. In addition, for example, a calculation of a data block checksum for a corresponding data block can be accelerated, since for this purpose, for example, transaction checksums that have already been calculated immediately as sheets z. B. a Merkle tree can be used.
Unter einer „Verkettungsprüfsumme" kann im Zusammenhang mit der Erfindung eine Prüfsumme verstanden werden, die insbeson dere für einen jeweiligen Datenblock des verteilten Daten banksystems unter Zuhilfenahme des vorhergehenden Datenblocks des verteilten Datenbanksystems ermittelt wird oder oder auf einen solchen referenziert wird (in der Fachliteratur insbe sondere häufig als „previous block hash" bezeichnet) [1] . Hierfür wird insbesondere für den entsprechenden vorhergehen den Datenblock eine entsprechende Verkettungsprüfsumme gebil det. Als Verkettungsprüfsumme kann beispielsweise eine Trans aktionsprüfsumme oder die Datenblockprüfsumme eines Daten blocks (also ein vorhandener Datenblock des verteilten Daten banksystems) verwendet werden, um einen neuen Datenblock mit einem (vorhandenen) Datenblock des verteilten Datenbanksys tems zu verketten. Es ist beispielsweise aber auch möglich, dass eine Prüfsumme über einen Header des vorhergehenden Da tenblocks oder über den gesamten vorhergehenden Datenblock gebildet wird und als Verkettungsprüfsumme verwendet wird. Dies kann beispielsweise auch für mehrere oder alle vorherge henden Datenblöcke berechnet werden. Es ist beispielsweise auch realisierbar, dass über den Header eines Datenblocks und der Datenblockprüfsumme die Verkettungsprüfsumme gebildet wird. Ein jeweiliger Datenblock des verteilten Datenbanksys tems umfasst jedoch vorzugsweise jeweils eine Verkettungs prüfsumme, die für einen vorhergehenden Datenblock, insbeson dere noch bevorzugter den direkt vorhergehenden Datenblock, des jeweiligen Datenblockes berechnet wurde bzw. sich auf diesen beziehen. Es ist beispielsweise auch möglich, dass ei ne entsprechende Verkettungsprüfsumme auch nur über einen Teil des entsprechenden Datenblocks (z. B. vorhergehenden Da tenblock) gebildet wird. Hierdurch kann beispielsweise ein Datenblock realisiert werden, der einen integritätsgeschütz ten Teil und einen ungeschützten Teil umfasst. Damit ließe sich beispielsweise ein Datenblock realisieren, dessen integ- ritätsgeschützter Teil unveränderlich ist und dessen unge schützter Teil auch noch später verändert werden kann. Unter integritätsgeschützt ist dabei insbesondere zu verstehen, dass eine Veränderung von integritätsgeschützten Daten mit tels einer Prüfsumme feststellbar ist. In the context of the invention, a “chaining checksum” can be understood to mean a checksum which is determined or is referenced in particular for a respective data block of the distributed database system with the aid of the preceding data block of the distributed database system (in the specialist literature in particular) often referred to as "previous block hash") [1]. For this purpose, a corresponding chaining checksum is formed, in particular for the corresponding preceding data block. A chaining checksum or, for example, the data block checksum of a data block (that is, an existing data block of the distributed database system) can be used as the chaining checksum in order to chain a new data block with an (existing) data block of the distributed database system. However, it is also possible, for example, for a checksum to be formed via a header of the preceding data block or over the entire previous data block and to be used as a chaining checksum. This can also be calculated for several or all of the previous data blocks, for example. For example, it is also possible to form the chaining checksum via the header of a data block and the data block checksum. However, a respective data block of the distributed database system preferably comprises a chaining checksum, which was calculated for a previous data block, in particular even more preferably the immediately preceding data block, of the respective data block or refer to it. It is also possible, for example, for a corresponding chaining checksum to be formed only over part of the corresponding data block (e.g. previous data block). In this way, for example, a data block can be realized which comprises an integrity-protected part and an unprotected part. That would leave For example, a data block can be realized whose integrity-protected part cannot be changed and whose unprotected part can also be changed later. In this context, integrity-protected means in particular that a change in integrity-protected data can be determined by means of a checksum.
Die Daten, die beispielsweise in einer Transaktion eines Da tenblocks gespeichert werden, können insbesondere auf unter schiedliche Weise bereitgestellt werden. Anstelle der Daten, z. B. Nutzerdaten wie Messdaten oder Da The data, which are stored, for example, in a transaction of a data block, can in particular be provided in different ways. Instead of the data, e.g. B. user data such as measurement data or 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. ten / ownership of assets, for example, 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. be a corresponding data block checksum of a data block (with the corresponding data) of another database or 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.
Zusätzlich kann die entsprechende Transaktion noch einen Ver weis oder eine Angabe zu einem Speicherort (z. B. eine Adres se eines Fileservers und Angaben, wo die entsprechenden Daten auf dem Fileserver zu finden sind; oder eine Adresse einer anderen verteilten Datenbank, welche die Daten umfasst) um fassen. Die entsprechenden Daten könnten dann beispielsweise auch in einer weiteren Transaktion eines weiteren Datenblocks des verteilten Datenbanksystems bereitgestellt werden (z. B. wenn die entsprechenden Daten und die zugehörigen Prüfsummen in unterschiedlichen Datenblöcken umfasst sind) . Es ist bei spielsweise aber auch denkbar, dass diese Daten über einen anderen Kommunikationskanal (z. B. über eine andere Datenbank und/oder einen kryptographisch gesicherten Kommunikationska nal) bereitgestellt werden. Auch kann beispielsweise zusätzlich zu der Prüfsumme ein Zu- satzdatensatz (z. B. ein Verweis oder eine Angabe zu einem Speicherort) in der entsprechenden Transaktion abgelegt sein, der insbesondere einen Speicherort angibt, wo die Daten abge rufen werden können. Das ist insbesondere dahingehend vor teilhaft, um eine Datengröße der Blockkette oder des verteil ten Datenbanksystems möglichst gering zu halten. In addition, 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, 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). For example, it is also conceivable that this data is made available via another communication channel (e.g. via another database and / or a cryptographically secured communication channel). In addition to the checksum, for example, an additional data record (for example a reference or an indication of a storage location) can also be stored in the corresponding transaction, which in particular indicates a storage location where the data can be called up. This is particularly advantageous in order to keep the data size of the block chain or the distributed database system as small as possible.
Unter „sicherheitsgeschützt" kann im Zusammenhang mit der Er findung beispielsweise ein Schutz verstanden werden, der ins besondere durch ein kryptographisches Verfahren realisiert wird. Beispielsweise kann dies durch eine Nutzung des ver teilten Datenbanksystems für das Bereitstellen oder Übertra gen oder Senden von entsprechenden Daten/Transaktionen reali siert werden. Dies wird vorzugsweise durch eine Kombination der verschiedenen ( kryptographischen) Prüfsummen erreicht, indem diese insbesondere synergetisch Zusammenwirken, um bei spielsweise die Sicherheit bzw. die kryptographische Sicher heit für die Daten der Transaktionen zu verbessern. Mit ande ren Worten kann insbesondere unter „sicherheitsgeschützt" im Zusammenhang mit der Erfindung auch „kryptographisch ge schützt" und/oder „manipulationsgeschützt" verstanden werden, wobei „manipulationsgeschützt" auch als „integritätsge schützt" bezeichnet werden kann. In the context of the invention, “security-protected” can be understood to mean, for example, protection that is implemented in particular by a cryptographic method. For example, this can be done by using the distributed database system for the provision or transmission or transmission of corresponding data / transactions reali be Siert. this is preferably achieved by a combination of different (cryptographic) checksum by usammenwirken this particular synergy Z to improve in play, the safety or the cryptographic assurance regarding data on the transactions. with ande ren words may in particular “Security-protected” in connection with the invention also means “cryptographically protected” and / or “manipulation-protected”, wherein “manipulation-protected” can also be referred to as “integrity-protecting”.
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] . In the context of the invention, “chaining / of data blocks of a distributed database system” can be understood, for example, to mean that data blocks each comprise information (for example, chaining checksum) which refer to another data block or to several other data blocks of the distributed database system or reference these [1] [4] [5].
Unter „Einfügen in das verteilte Datenbanksystem" und der gleichen kann im Zusammenhang mit der Erfindung beispielswei se verstanden werden, dass insbesondere eine Transaktion bzw. die Transaktionen oder ein Datenblock mit seinen Transaktio nen an einen oder mehrere Knoten eines verteilten Datenbank- Systems übermittelt wird. Werden diese Transaktionen bei spielsweise erfolgreich validiert (z. B. durch den/die Kno ten) , werden diese Transaktionen insbesondere als neuer Da tenblock mit mindestens einem vorhandenen Datenblock des ver teilten Datenbanksystems verkettet [1] [4] [5] . Hierzu werden die entsprechenden Transaktionen beispielsweise in einem neu en Datenblock gespeichert. Insbesondere kann dieses Validie ren und/oder Verketten durch einen vertrauenswürdigen Knoten (z. B. einen Mining Node, einen Blockketten-Orakel oder eine Blockketten-Plattform) erfolgen. Insbesondere kann dabei un ter einer Blockketten-Plattform eine Blockkette als Dienst (engl. Blockkette als Service) verstanden werden, wie dies insbesondere durch Microsoft oder IBM vorgeschlagen wird. Insbesondere können ein vertrauenswürdiger Knoten und/oder ein Knoten jeweils eine Knoten-Prüfsumme (z. B. eine digitale Signatur) in einem Datenblock hinterlegen (z. B. in denen von ihnen validierten und erzeugten Datenblock, der dann verket tet wird) , um insbesondere eine Identifizierbarkeit des Er- stellers des Datenblockes zu ermöglichen und/oder eine Iden tifizierbarkeit des Knotens zu ermöglichen. Dabei gibt diese Knoten-Prüfsumme an, welcher Knoten beispielsweise den ent sprechenden Datenblock mit mindestens einem anderen Daten block des verteilten Datenbanksystems verkettet hat. “Inserting into the distributed database system” and the like can be understood in connection with the invention, for example, that in particular a transaction or the transactions or a data block with its transactions to one or more nodes of a distributed database. Systems is transmitted. If, for example, these transactions are successfully validated (e.g. by the node (s)), these transactions are linked in particular as a new data block with at least one existing data block of the distributed database system [1] [4] [5]. For this purpose, the corresponding transactions are stored in a new data block, for example. In particular, this validation and / or chaining can be carried out by a trustworthy node (for example a mining node, a block chain oracle or a block chain platform). In particular, a block chain platform can be understood to mean a block chain as a service, as is proposed in particular by Microsoft or IBM. In particular, 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 specifies which node, for example, has linked the corresponding data block to at least one other data block of the distributed database system.
Unter „Transaktion" bzw. „Transaktionen" können im Zusammen hang mit der Erfindung beispielsweise ein Smart-Contract [4] [5], eine Datenstruktur oder ein Transaktionsdatensatz ver standen werden, der insbesondere jeweils eine der Transaktio nen oder mehrere Transaktionen umfasst. Unter „Transaktion" bzw. „Transaktionen" können im Zusammenhang mit der Erfindung beispielsweise auch die Daten einer Transaktion eines Daten blocks einer Bockkette (engl. Blockchain) verstanden werden. Eine Transaktion kann insbesondere einen Programmcode umfas sen, der beispielsweise einen Smart-Contract realisiert. Bei spielsweise können im Zusammenhang mit der Erfindung unter Transaktion auch eine Steuertransaktion und/oder Bestäti gungstransaktion verstanden werden. Alternativ kann eine Transaktion beispielsweise eine Datenstruktur sein, die Daten speichert (z. B. die Steuerbefehle und/oder Vertragsdaten und/oder andere Daten wie Videodaten, Nutzerdaten, Messdaten etc . ) . In the context of the invention, “transaction” or “transactions” can be understood to mean, for example, a smart contract [4] [5], a data structure or a transaction data record, each of which in particular comprises one of the transactions or more transactions. In the context of the invention, “transaction” or “transactions” can also be understood to mean, for example, the data of a transaction of a data block of a block chain. In particular, a transaction can include a program code that, for example, implements a smart contract. For example, in connection with the invention, a transaction can also be understood to mean a tax transaction and / or confirmation transaction. Alternatively, a transaction can be, for example, a data structure, the data saves (e.g. the control commands and / or contract data and / or other data such as video data, user data, measurement data, 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. In particular, “storing transactions in data blocks”, “storing transactions” and the like is to be understood as direct storage or indirect storage. 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). In particular, when storing transactions in data blocks, these checksums can be validated, for example, as is explained, for example, under “inserting into the distributed database system”.
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. In the context of the invention, a “program code” (for example a smart contract) can be understood to mean, for example, a program command or a number of program commands that are stored in particular in one or more transactions. The program code can be executed in particular and becomes, for example 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 carried out by the infrastructure of the distributed Database system [4] [5], where, for example, a virtual machine is implemented by the infrastructure of the distributed database system. A "smart contract" can be understood in connection with the invention as an executable program code, for example [4] [5] (see in particular the definition of "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. For example, the smart contract can be executed in the same way as is explained in the definition of "program code", in particular in connection with the invention.
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. “Proof-of-work proof” can be understood in connection with the invention to mean, for example, solving a computation-intensive task that is to be solved in particular depending on the data block content / content of a specific transaction [1] [4] [5 Such a computationally intensive task is also referred to as a cryptographic puzzle, for example.
Unter einem „verteilten Datenbanksystem", das beispielsweise auch als verteilte Datenbank bezeichnet werden kann, kann im Zusammenhang mit der Erfindung beispielsweise eine dezentral verteilte Datenbank, eine Blockkette (engl. Blockchain) , ein Distributed Ledger, ein verteiltes Speichersystem, ein Dis- tributed Ledger Technology (DLT) based System (DLTS) , ein revisionssicheres Datenbanksystem, eine Cloud, ein Cloud- Service, eine Blockkette in einer Cloud oder eine Peer-to- Peer Datenbank verstanden werden. Es können auch beispiels weise unterschiedliche Implementierungen einer Blockkette o- der eines DLTS verwendet werden. Es kommt z. B. eine Blockket te oder ein System auf Basis der DLT, das mit einem Directed Acylic Graph (DAG) , kryptographischen Puzzles, Hashgraphen oder einer Kombination aus den genannten Implementierungsva rianten [6] [7] arbeitet. Auch können beispielsweise unter schiedliche Konsensusverfahren (engl, consensus algorithms) implementiert werden. Dies kann beispielsweise ein Konsensus verfahren mittels eines kryptographischen Puzzles, Gossip about Gossip, Virtual Voting oder eine Kombination der ge- nannten Verfahren sein (z. B. Gossip about Gossip kombiniert mit Virtual Voting) [6] [7] . Es sind insbesondere Proof-of- Stake, Proof-of-Authority oder Proof-of-State Varianten neben der Proof-of-Work-Implementierung zur Transaktionsvalidierung bekannt. Wird beispielsweise eine Blockkette verwendet, so kann diese insbesondere mittels einer Bitcoin-basierten Rea lisierung oder einer Ethereum-basierten Realisierung umge setzt werden [1] [4] [5] . Unter einem „verteilten Datenbanksys tem" kann beispielsweise auch ein verteiltes Datenbanksystem verstanden werden, von dem zumindest ein Teil seiner Knoten und/oder Geräte und/oder Infrastruktur durch eine Cloud rea lisiert sind. Beispielsweise sind die entsprechenden Kompo nenten als Knoten/Geräte in der Cloud (z. B. als virtueller Knoten in einer virtuellen Maschine) realisiert. Dies kann beispielsweise mittels VM-Ware, Amazon Web Services oder Microsoft Azure erfolgen. Aufgrund der hohen Flexibilität der erläuterten Implementierungsvarianten, können insbesondere auch Teilaspekte der genannten Implementierungsvarianten mit einander kombiniert werden, indem z. B. ein Hashgraph als Blockkette verwendet wird, wobei die Blockkette selbst z. B. auch blocklos sein kann. In the context of the invention, a “distributed database system”, which can also be referred to as a distributed database, for example, can include a decentrally distributed database, a blockchain, a distributed ledger, a distributed storage system, or a distributed ledger Technology (DLT) based system (DLTS), an audit-proof database system, a cloud, a cloud service, a block chain in a cloud or a peer-to-peer database can also be understood, for example different implementations of a block chain or a DLTS can be used, for example, a block chain or a system based on the DLT that uses a Directed Acylic Graph (DAG), cryptographic puzzles, hash graphs or a combination of the implementation variants mentioned [6] [7] Different consensus algorithms can also be implemented, for example a consensus procedure using a cryptographic puzzle, gossip about gossip, virtual voting or a combination of the mentioned procedures (eg Gossip about Gossip combined with Virtual Voting) [6] [7]. Proof-of-stake, proof-of-authority or proof-of-state variants in addition to the proof-of-work implementation for transaction validation are known in particular. If, for example, a block chain is used, this can be implemented in particular by means of a Bitcoin-based implementation or an Ethereum-based implementation [1] [4] [5]. 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. For example, the corresponding components are nodes or devices in the Cloud (eg as a virtual node in a virtual machine) can be implemented using VM goods, Amazon Web Services or Microsoft Azure, for example. Due to the high flexibility of the implementation variants explained, partial aspects of the implementation variants mentioned can also be combined with one another are used, for example, by using a hash graph as a block chain, the block chain itself being able to be blockless, for example.
Wird beispielsweise ein Directed Acylic Graph (DAG) verwendet sind insbesondere Transaktionen oder Blöcke oder Knoten des Graphen miteinander über gerichtete Kanten miteinander ver bunden. Dies bedeutet insbesondere, dass (alle) Kanten (im mer) die gleiche Richtung haben, ähnlich wie dies z. B. bei der Zeit ist. Durch den eindeutigen, azyklischen Verlauf der Kanten wird die zeitliche Aufeinanderfolge der beteiligten Transaktionen eindeutig und beweissicher festgelegt. Azyk lisch bedeutet dabei insbesondere, dass es keine Schleifen bei einem Durchlaufen des Graphen gibt. For example, if a Directed Acylic Graph (DAG) is used, transactions or blocks or nodes of the graph are connected to one another via directed edges. This means in particular that (all) edges (always) have the same direction, similar to z. B. is at the time. Due to the clear, acyclic course of the edges, the chronological sequence of the transactions involved is clearly and reliably determined. Acyclic means in particular that there are no loops when the graph is run through.
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. 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). If it is, for example, a publicly distributed database system, this means that new nodes and / or devices without credentials or without authentication or without credentials or without credentials can join or be accepted by the distributed database system. In such a case, in particular, the operators of the nodes and / or devices can remain anonymous.
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. If 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.
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. 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.
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 Under "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 implemented in particular as a data structure and preferably comprises one of the transactions or more of the transactions in one implementation. In one implementation, for example, the database (or the database system) can be a DLT-based system (DLTS) or a block chain and a data block is a block of the block chain or the DLTS A data block can, for example, give information about the size (data size in bytes) of the data block, a data block header, a transaction counter and one or more
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. Transactions include [1]. For example, the data block header can contain a version, a chaining checksum, a data Ten-block checksum, a time stamp, a proof-of-work proof and a nonce (one-time value, random value or counter that is used for the proof-of-work proof) include [1] [4] [5]. A data block can, for example, also be 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. In particular, the functionalities of the blocks of a block chain and the transactions are combined with one another in such a way that, for. B. the transactions themselves secure the sequence or chain of transactions (of the distributed database system) (in particular, they are stored in a security-protected manner). For this purpose, for example, the transactions themselves can be linked with one another by means of a chaining checksum, in that a separate checksum or the transaction checksum of one or more transactions serves as the chaining checksum, which is also saved in the corresponding new transaction when a new transaction is stored in the distributed database system. In such an embodiment, 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.
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. In the context of the invention, “nonce” can be understood to mean, for example, a cryptographic nonce (abbreviation for: “used only once” [2] or “number used once” [3]). In particular, a nonce denotes individual numbers or one Letter combination, which is preferably used once in the respective context (e.g. transaction, data transfer).
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. “Previous data blocks of a (certain) data block of the distributed database system” can be understood in connection with the invention, for example, the data block of the distributed database system, which in particular comprises immediately precedes a (certain) data block. Alternatively, “previous data blocks of a (certain) data block of the distributed database system” can also be understood to mean, in particular, all data blocks of the distributed database system that precede the specific data block. As a result, the chaining checksum or the transaction checksum can only be used, for example, only via the one directly preceding the particular data block Data block (or their transactions) or over all data blocks preceding the first data block (or their transactions) are formed.
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. A “block chain node”, “node”, “node of a distributed database system” and the like can be understood in connection with the invention to mean, for example, devices (for example field devices, mobile telephones), computers, smartphones, 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 by means of 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 For example, a node that has additional security measures (e.g. firewalls, access restrictions to the node or similar similar) to prevent manipulation of the knot. Alternatively or additionally, for example, when a new data block is chained to the distributed database system, a trustworthy node can store a node checksum (e.g. a digital signature or a certificate) in the new data block. In particular, 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) are are, for example, devices of a technical system and / or industrial plant and / or an automation network and / or a manufacturing plant, which are in particular also a node of the distributed database system. 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. For example, nodes can also include at least one processor in order to, for. B. to execute their computer-implemented functionality.
Unter einem „Blockketten-Orakel" und dergleichen können im Zusammenhang mit der Erfindung beispielsweise Knoten, Geräte oder Rechner verstanden werden, die als zuverlässige Daten quellen gelten. Die von als "Blockketten-Orakel" geltenden Knoten erhaltenen Daten werden beispielsweise als richtig o- der nicht manipuliert angesehen, weil solche Knoten über ein Sicherheitsmodul verfügen, das beispielsweise mittels Soft- ware-Schutzmechanismen (z. B. kryptographische Verfahren), mechanische Schutzeinrichtungen (z. B. ein abschließbares Ge häuse) oder elektrische Schutzeinrichtungen verfügt (z. B. Tamper-Schutz oder ein Schutzsystem, das die Daten des Si cherheitsmoduls bei einer unzulässigen Nutzung/Behandlung des Blockketten-Orakel löscht umfasst) . Das Sicherheitsmodul kann dabei beispielsweise kryptographische Schlüssel umfassen, die für die Berechnung der Prüfsummen (z. B. Transaktionsprüfsum men oder Knotenprüfsummen) notwendig sind. In the context of the invention, a “block chain oracle” and the like can be understood to mean, for example, nodes, devices or computers which are considered to be reliable data. The data obtained from nodes known as a “block chain oracle” are, for example, correct or not viewed as manipulated because such nodes have a security module that has, for example, software protection mechanisms (e.g. cryptographic procedures), mechanical protection devices (e.g. a lockable housing) or electrical protection devices (e.g. Tamper protection or a protection system that deletes the data of the security module in the event of improper use / treatment of the block chain oracle. The security module can, for example, include cryptographic keys that are used to calculate the checksums (e.g. transaction checksums or Node checksums) are necessary.
Unter einem „Rechner" oder einem „Gerät" kann im Zusammenhang mit der Erfindung beispielsweise ein Computer ( System) , ein Client, ein Smart-Phone, ein Gerät oder ein Server, die je weils außerhalb der Blockkette angeordnet sind bzw. kein Teilnehmer des verteilten Datenbanksystems (z. B. der Block kette) sind (also keine Operationen mit dem verteilten Daten banksystem durchführen oder diese nur abfragen, ohne jedoch Transaktionen durchzuführen, Datenblöcke einfügen oder Proof- of-Work-Nachweise berechnen), verstanden werden. Alternativ kann insbesondere auch unter einem Rechner ein Knoten des verteilten Datenbanksystems verstanden werden. Mit anderen Worten kann insbesondere unter einem Gerät ein Knoten des verteilten Datenbanksystems verstanden werden oder auch ein Gerät außerhalb der Blockkette bzw. des verteilten Datenbank systems verstanden werden. Ein Gerät außerhalb des verteilten Datenbanksystems kann beispielsweise auf die Daten (z. B. Transaktionen oder Steuertransaktionen) des verteilten Daten banksystems zugreift und/oder von Knoten (z. B. mittels In the context of the invention, a “computer” or a “device” can include, for example, a computer (system), a client, a smart phone, a device or a server, each of which is arranged outside the block chain or is not a participant in the distributed database system (e.g. 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). Alternatively, in particular, a computer can also be understood to mean a node of the distributed database system. With others In particular, a device can be understood to mean 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 from nodes (e.g. by means of
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. Smart contracts and / or blockchain oracles) who controlled. 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 example. B. by means of a smart contract, which is stored in particular in a transaction of the distributed database system.
[1] Andreas M. Antonopoulos "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", O'Reilly Media, December 2014 [1] Andreas M. Antonopoulos "Mastering Bitcoin: Unlocking Digital Cryptocurrencies", O'Reilly Media, December 2014
[2] Roger M. Needham, Michael D. Schroeder "Using encryption for authentication in large networks of Computers" ACM: Com munications of the ACM. Band 21, Nr. 12 Dezember 1978, [2] Roger M. Needham, Michael D. Schroeder "Using encryption for authentication in large networks of Computers" ACM: Communications of the ACM. Volume 21, No. 12 December 1978,
[3] Ross Anderson "Security Engineering. A Guide to Building Dependable Distributed Systems" Wiley, 2001 [3] Ross Anderson "Security Engineering. A Guide to Building Dependable Distributed Systems" Wiley, 2001
[4] Henning Diedrich „Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations", CreateSpace Independent Publishing Platform, 2016 [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" [5] "The Ethereum Book Proj ect / Mastering Ethereum"
https://github.com/ethereumbook/ethereumbook, Stand 5.10.2017 https://github.com/ethereumbook/ethereumbook, as of October 5, 2017
[6] Leemon Baird "The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance", Swirlds Tech Report SWIRLDS-TR-2016-01, 31.5.2016 [6] Leemon Baird "The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance", Swirlds Tech Report SWIRLDS-TR-2016-01, May 31, 2016
[7] Leemon Baird "OverView of Swirlds Hashgraph", 31.5.2016 [8] Blockchain Oracles https : //blockchainhub . net/blockchain- oracles/ [7] Leemon Baird "OverView of Swirlds Hashgraph", May 31, 2016 [8] Oracle's blockchain https: // blockchainhub. net / blockchain oracles /
Die für das vorgeschlagene verteilte Datenbanksystem be schriebenen Ausführungsformen und Merkmale gelten für das vorgeschlagene Verfahren zum Betreiben eines verteilten Da tenbanksystems entsprechend. The embodiments and features described for the proposed distributed database system apply accordingly to the proposed method for operating a distributed database system.
Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der je weiligen Grundform der Erfindung hinzufügen. Further possible implementations of the invention also include combinations of features or embodiments described above or below with reference to the exemplary embodiments that are not explicitly mentioned. The person skilled in the art will also add individual aspects as improvements or additions to the respective basic form of the invention.
Weitere vorteilhafte Ausgestaltungen und Aspekte der Erfin dung sind Gegenstand der Unteransprüche sowie der im Folgen den beschriebenen Ausführungsbeispiele der Erfindung. Im Wei teren wird die Erfindung anhand von Ausführungsformen unter Bezugnahme auf die beigelegten Figuren näher erläutert. Further advantageous embodiments and aspects of the inven tion are the subject of the dependent claims and the embodiments of the invention described below. In Wei teren the invention is explained in more detail by means of embodiments with reference to the accompanying figures.
Fig . 1 zeigt eine schematische Darstellung einer Ausfüh rungsform eines Industrieautomatisierungsnetzwerks mit einem verteilten Datenbanksystem; Fig. 1 shows a schematic representation of an embodiment of an industrial automation network with a distributed database system;
Fig . 2 zeigt schematisch eine Ausführungsform einer Block kette ; Fig. 2 schematically shows an embodiment of a block chain;
Fig . 3 zeigt ein Ablaufdiagramm für ein Verfahren zum Be treiben einer Blockkette; und Fig. 3 shows a flow diagram for a method for operating a block chain; and
Fig. 4 zeigt schematisch eine weitere Ausführungsform ei ner Blockkette. Fig. 4 shows schematically another embodiment of a block chain.
In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist. Die Fig. 1 zeigt eine schematische Darstellung einer Ausfüh rungsform eines Industrie-Automatisierungsnetzwerkes, bei dem ein verteiltes Datenbanksystem eingesetzt wird. Dazu ist in der Fig. 1 ein verteiltes Datenbanksystem in der Art einer Blockkette 1 dargestellt, welche in der Fig. 2 näher illus triert ist. Das verteilte Datenbanksystem 1 umfasst dabei miteinander vernetzte Knoten-Einrichtungen 2 - 6. In the figures, elements that are the same or have the same function have been provided with the same reference symbols, unless stated otherwise. 1 shows a schematic representation of an embodiment of an industrial automation network in which a distributed database system is used. 1 shows a distributed database system in the manner of a block chain 1, which is illustrated in FIG. 2 in more detail. The distributed database system 1 here comprises networked node devices 2-6.
Die Knoten-Einrichtungen sind an ein Netzwerk 7 gekoppelt und können grundsätzlich Daten miteinander austauschen. Als Kno ten-Einrichtungen 2 - 6 kommen beispielsweise Rechner mit Blockketten-Clients oder auch Feldgeräte sowie mobile Endge räte in Frage. In dem dargestellten Ausführungsbeispiel kön nen beispielsweise Sensordaten, die von Feldgeräten 11, 12,The node devices are coupled to a network 7 and can in principle exchange data with one another. Knot devices 2 - 6 include, for example, computers with blockchain clients or field devices and mobile end devices. In the illustrated embodiment, for example, sensor data from field devices 11, 12,
13 eines Industrie-Automatisierungsnetzwerks 10 erzeugt wer den, abgespeichert werden. Das Abspeichern erfolgt in der Art von Transaktionen zwischen Teilnehmern. Beispielsweise kann eine Transaktion für einen Teilnehmer, beispielsweise eine Sensoreinrichtung 11, darin bestehen, einen Sensorwert zu do kumentieren bzw. abzuspeichern. Unter "Teilnehmer" wird im Folgenden jede Entität verstanden, zu der eine zugewiesene Information innerhalb des verteilten Datenbanksystems 1 ein getragen ist. Analog kann eine Information durch eine Trans aktion innerhalb der Blockkette BC abgelegt werden. 13 of an industrial automation network 10 generated who are saved. Saving takes place in the form of transactions between participants. For example, a transaction for a subscriber, for example a sensor device 11, can consist in documenting or storing a sensor value. In the following, “subscriber” is understood to mean any entity for which an assigned information is entered within the distributed database system 1. Similarly, information can be stored by a transaction within the block chain BC.
In der Fig. 1 ist ein allgemeiner Teilnehmer 8 links darge stellt. Um Transaktionen innerhalb einer Blockkette BC durch zuführen, müssen die Teilnehmer 8 über Blockketten In Fig. 1, a general subscriber 8 is Darge on the left. In order to carry out transactions within a block chain BC, the participants 8 must use block chains
identifizierungsdaten identifiziert werden, die kann z. B. eine Netzwerkadresse sein. Häufig werden auch öffentliche Schlüssel eines Schlüssel-Schloss-Paares als Blockketten identifizierungsdatum verwendet. Dies ist in der Fig. 1 mit einem privaten Schlüssel SK und einem öffentlichen Schlüssel PUB für den Teilnehmer 8 angedeutet. Die Schlüssel SK, PUB sind über ein kryptografisches Verfahren miteinander ver knüpft und dienen dazu, Transaktionen in der Blockkette BC kryptografisch abzusichern. Transaktionen zwischen Teilneh mern oder Änderungen von Datenbankeinträgen, welche durch die im weiteren erläuterten Datenblöcke dokumentiert werden, sind dabei durch ein kryptografisches Sicherheitsverfahren in der Art von signierten Datenblöcken geschützt. identification data can be identified, e.g. B. be a network address. Public keys of a key and lock pair are often also used as block chain identification dates. This is indicated in FIG. 1 with a private key SK and a public key PUB for the subscriber 8. The keys SK, PUB are linked to one another via a cryptographic process and serve to cryptographically secure transactions in the block chain BC. Transactions between participants or changes to database entries caused by the data blocks explained in the following are protected by a cryptographic security procedure in the manner of signed data blocks.
In der Fig. 2 ist schematisch eine Blockkette BC angedeutet. Bei einer Blockkette BC werden Datenblöcke Bi nacheinander erzeugt, wobei die aufeinanderfolgenden Datenblöcke, welche in der Fig. 1 Bi, Bi+1 und Bi-1 bezeichnet sind, kryptogra- phisch miteinander verknüpft sind. Beispielsweise wird der zeitlich in der Fig. 2 aktuellste Datenblock Bi+1, der - wie auch die übrigen vorhergehenden Datenblöcke Bi und Bi-1 - Header-Daten HD, gehashte Datenblockdaten BH und Transakti onsdaten TD umfasst, mit dem vorhergehenden Datenblock Bi verknüpft, indem ein Hashwert des vorhergehenden Datenblocks Bi eingeschrieben ist. Dies ist in der Fig. 2 jeweils durch die geschwungenen Pfeile mit dem Zusatz "Hash" gekennzeich net. Bei der Hashwertbildung des jeweils vorhergehenden Da tenblock gehen alle Daten - insbesondere die Transaktionshis torie der Blockkette BC - ein, so dass eine unbemerkte Mani pulation von Daten, insbesondere von Transaktionsdaten, sehr unwahrscheinlich ist. A block chain BC is indicated schematically in FIG. 2. In a block chain BC, data blocks Bi are generated one after the other, the successive data blocks, which are designated in FIG. 1 Bi, Bi + 1 and Bi-1, being cryptographically linked to one another. For example, the data block Bi + 1 which is the most recent in time in FIG. 2 and which, like the other previous data blocks Bi and Bi-1, comprises header data HD, hashed data block data BH and transaction data TD, is linked to the previous data block Bi. by writing a hash value of the previous data block Bi. This is marked in FIG. 2 by the curved arrows with the addition "hash". All data - in particular the transaction history of the block chain BC - are included in the hash value formation of the previous data block, so that undetected manipulation of data, in particular transaction data, is very unlikely.
Bei der Erzeugung eines neuen Datenblocks, der angefragte Transaktionen zwischen Teilnehmern dokumentieren soll, prüfen die Knoten-Einrichtungen 2 - 6, die Rechnerkapazität zur Ver fügung stellen, ob die anstehenden Transaktionen im Wider spruch zur bisherigen Transaktionshistorie stehen oder nicht. Beispielsweise wird eine Transaktion bestätigt, wenn die Mehrheit der Knoten-Einrichtungen die Transaktion im Hinblick auf die Transaktionshistorie als widerspruchsfrei einstufen. When creating a new data block that is intended to document requested transactions between participants, the node devices 2 - 6 check that the computer capacity is available to determine whether the pending transactions contradict the previous transaction history or not. For example, a transaction is confirmed if the majority of the node devices classify the transaction as being free of contradictions with regard to the transaction history.
Er erfolgt daher eine kryptografisch abgesicherte Verkettung, wobei bei jeder Transaktion ein kryptografisches Signaturver fahren zum Einsatz kommt. Bei konventionellen Bockketten wird beim Start der Blockkette ein bestimmtes kryptografisches Verfahren ausgewählt und für die Lebensdauer derselben einge setzt . Bei dem vorgeschlagenen Verfahren zum Betreiben der verteil ten Datenbank 1 ist das für die Absicherung eingesetzte Sig naturverfahren - beispielsweise durch Angabe eines vollstän digen Parametersatzes, der das anzuwendende Signaturverfahren eindeutig charakterisiert, wobei insbesondere die jeweilige Schlüssellänge - flexibel für jede Transaktion festlegbar. Denkbar ist auch ein Link auf solche das kryptografische Sig naturverfahren identifizierende Parameterdaten oder auf aus führbaren Programmcode, der die Signaturberechnung implemen tiert. Dadurch kann auch das kryptografische Sicherheitsni veau der Blockkette den jeweils aktuellen Anforderungen ange passt werden. Dies ist schematisch in der Fig. 3 angedeutet, die in einem Betriebsverfahren für das verteilte Datenbank system nach Fig. 1 in der Art einer Blockkette nach Fig. 2 ablaufende Verfahrensschritte darstellt. It is therefore cryptographically secured chaining, with a cryptographic signature process being used for every transaction. In conventional block chains, a specific cryptographic method is selected at the start of the block chain and used for the life of the block chain. In the proposed method for operating the distributed database 1, the signature method used for the protection can be flexibly defined for each transaction, for example by specifying a complete parameter set that uniquely characterizes the signature method to be used, in particular the respective key length. A link to such parameter data that identifies the cryptographic signature method or to executable program code that implements the signature calculation is also conceivable. As a result, the cryptographic security level of the block chain can also be adapted to the current requirements. This is indicated schematically in FIG. 3, which in an operating method for the distributed database system according to FIG. 1 represents method steps taking place in the manner of a block chain according to FIG. 2.
Im Schritt S1 wird von einem Teilnehmer 8 eine Transaktions anfrage erzeugt. Beispielweise soll für eine bestimmte Netz werkadresse, die dem jeweiligen Teilnehmer 8 zugewiesen ist, eine Gutschrift über einen Betrag einer Kryptowährung erfol gen. Die Transaktionsanfrage muss mit Hilfe eines kryptogra- fischen Schlüssels und einem zugehörigen kryptografischen Signaturverfahren signiert werden. In step S1, a transaction request is generated by a participant 8. For example, a credit for an amount of a cryptocurrency is to be made for a specific network address which is assigned to the respective subscriber 8. The transaction request must be signed using a cryptographic key and an associated cryptographic signature method.
Beim Betrieb des verteilten Datenbanksystems 1 wird das anzu wendende kryptografische Signaturverfahren bei jeder Transak tion festgelegt (Schritt S2). Für weniger sicherheitsrelevan te Transaktionen kann zum Beispiel ein ECDSA-Verfahren mit 160 Bit Modul zum Einsatz kommen, um Rechenleistung zu spa ren. Bei nach derzeitigem Stand sicherheitsrelevanten Trans aktionen wird beispielsweise ein ECDSA-Verfahren mit Modul 256 Bit eingesetzt. Sollte zukünftig ein 256 Bit-Modul nicht mehr ausreichend sicher erscheinen, wird für Transaktionen im Datenbanksystem 1 ein Modul von 320 Bit festgelegt. When the distributed database system 1 is operated, the cryptographic signature method to be used is defined for each transaction (step S2). For less security-relevant transactions, for example, an ECDSA procedure with a 160-bit module can be used to save computing power. For transactions that are currently relevant, an ECDSA procedure with a 256-bit module is used, for example. If a 256-bit module no longer appears to be sufficiently secure in the future, a 320-bit module will be defined for transactions in database system 1.
Zur Festlegung des kryptografischen Signaturverfahrens ent hält jede Transaktionsanfrage, bzw. eine Durchführungsanfrage für die Transaktion, eine Signaturinformation. Die Signatur- Information identifiziert das anzuwendende Signaturverfahren beispielsweise durch Angabe einer Schlüssellänge. Die Prüfung der signierten Transaktionsanfrage erfolgt dann mit Hilfe ei nes öffentlichen Schlüssels gemäß der festgelegten Schlüssel länge und dem zugehörigen Verfahren, z.B. ECDSA. Each transaction request, or an execution request for the transaction, contains signature information to determine the cryptographic signature method. The signature Information identifies the signature method to be used, for example by specifying a key length. The signed transaction request is then checked with the aid of a public key in accordance with the defined key length and the associated procedure, eg ECDSA.
Beim Betrieb der Blockkette BC durch das verteilte Datenbank system 1 kann die Netzwerkadresse des Teilnehmers als Block- ketten-Identifizierungsdatum zusammen mit der angefragten Transaktion digital signiert werden. Beispielsweise erzeugt die Zertifizierungsstelle 9 (vgl. Fig. 1) ein Paar eines öf fentlichen Verifikationsschlüssels PUB und eines privaten kryptographischen Schlüssel SK als digitalen Signaturschlüs sel gemäß dem festgelegten kryptografischen Signaturverfah ren. Der öffentliche Schlüssel PUB wird zum Beispiel mit Hil fe eines digitalen Zertifikats dem Teilnehmer 8 zugeordnet. When the block chain BC is operated by the distributed database system 1, the network address of the subscriber can be digitally signed as a block chain identification date together with the requested transaction. For example, the certification authority 9 (cf. FIG. 1) generates a pair of a public verification key PUB and a private cryptographic key SK as digital signature keys in accordance with the specified cryptographic signature method Assigned to 8 participants.
In Schritt S3 wird somit unter Anwendung des festgelegten kryptografischen Signaturverfahrens, welches durch die Signa turinformation identifiziert wird, die Transaktionsanfrage mit der Signatur versehen bzw. signiert. Die Ausführung des Signierverfahrens kann dabei in der Art eines Smart-Contracts als ausführbarer Programmcode implementiert sein, wobei die Signaturinformation beispielsweise ein Zeiger bzw. Pointer auf den Code darstellt. In step S3, the transaction request is provided or signed with the signature using the defined cryptographic signature method, which is identified by the signature information. The execution of the signing process can be implemented in the manner of a smart contract as executable program code, the signature information representing, for example, a pointer or pointer to the code.
In der Folge erfolgt das Durchführen von Transaktionen im Schritt S4 auf der Basis der signierten Transaktionsdaten. Es wird ein neuer Datenblock unter Anwendung des festgelegten kryptografischen Verfahrens erzeugt. Aufgrund der transakti onsabhängigen Festlegung der Signaturinformation bzw. des kryptografischen Signaturverfahrens kann die Blockkette BC Datenblöcke mit unterschiedlichen digitalen Signaturen auf weisen . Subsequently, transactions are carried out in step S4 on the basis of the signed transaction data. A new data block is created using the specified cryptographic procedure. Due to the transaction-dependent definition of the signature information or the cryptographic signature method, the block chain BC can have data blocks with different digital signatures.
Dies ist in der Fig. 4 angedeutet. Es sind Blöcke Bi-1 bis Bi+2 über die Zeit t erzeugt worden. Zum Zeitpunkt t* wurde das eingesetzte kryptografische Signaturverfahren verändert. Bis zum Block Bi ist die kryptografische Absicherung der Transaktionen über eine Signatur SIG1 gewährleistet worden.This is indicated in FIG. 4. Blocks Bi-1 to Bi + 2 have been generated over time t. At time t *, the cryptographic signature procedure used was changed. Up to block Bi, the cryptographic security of the transactions was guaranteed using a signature SIG1.
Da beispielsweise die für Kryptoanalysen abrufbare Rechen leistung über die Zeit t zugenommen hat und das jeweilige kryptografische Signaturverfahren für SIG1 nicht mehr als ausreichend sicher erachtet wurde, hat man das Signaturver fahren für die Transaktionen nach der Zeit t* geändert. Die Folgeblöcke Bi+1, Bi+2 enthalten Signaturen SIG2, die ein stärkeres kryptografisches Sicherheitsniveau haben als das Signaturverfahren für SIG1. Die Teilnehmer der Blockkette BC haben sich zum Beispiel per Mehrheitsentscheid darauf ver ständigt, ab dem Zeitpunkt t* eine größere Schlüssellänge zu verwenden als zuvor. For example, since the computing power available for cryptanalysis has increased over time t and the respective cryptographic signature procedure for SIG1 was no longer considered to be sufficiently secure, the signature procedure for the transactions after time t * has been changed. The subsequent blocks Bi + 1, Bi + 2 contain signatures SIG2, which have a stronger cryptographic security level than the signature process for SIG1. The participants in the block chain BC have agreed, for example by majority vote, to use a longer key length than before from time t *.
Durch die flexible Festlegung bzw. Bestimmung des Signatur verfahrens kann sichergestellt werden, dass ein für die The flexible determination or determination of the signature process can ensure that a for the
Transaktion adäquates Sicherheitsniveau erreicht wird. Inso fern eignet sich das vorgeschlagene Verfahren zum Betreiben einer Blockkette, bei der Transaktionen mithilfe digital sig nierter Transaktionsdaten durchgeführt werden, zum Aufbau von sicherheitsrelevanten Datenbanken. Dies kann zum Beispiel Sensor- und Steuerdaten eines Automatisierungsnetzwerks be treffen. Denkbar ist ebenso die Nutzung als digitales Grund buch oder für den Nachweis von bestimmten Sicherheitseigen schaften von Produkten. Weil die kryptografische Bindung an den Teilnehmer, beispielsweise eine reale oder juristische Person, flexibel anpassbar ist wird, kann ein dauerhaft si cherer Betrieb erzielt werden. Transaction adequate security level is reached. In this respect, the proposed method for operating a block chain, in which transactions are carried out using digitally signed transaction data, is suitable for building security-relevant databases. This can affect sensor and control data of an automation network, for example. It is also conceivable to use it as a digital land register or to prove certain safety properties of products. Because the cryptographic link to the participant, for example a real or legal person, can be flexibly adapted, a permanently secure operation can be achieved.
Bei den vorgeschlagenen Verfahren zum Betreiben verteilter Datenbanksysteme werden insbesondere die zuvor genannten As pekte im Hinblick auf Blockketten, wie Smart-Contracts , Prüf summen und dergleichen berücksichtigt. Obwohl die Erfindung anhand einer einfachen Blockkette erläutert wurde, können die zuvor beschriebenen Varianten von Distributed Ledgers auch mit anderen Varianten von verteilten Datenbanken betrieben werden. Insgesamt werden die Sicherheit und Zuverlässigkeit von Transaktionen zwischen Teilnehmern verbessert, da eine flexible Anpassung des kryptografischen Sicherheitsniveaus ermöglicht wird. In the proposed method for operating distributed database systems, the aforementioned aspects with regard to block chains, such as smart contracts, checksums and the like, are taken into account in particular. Although the invention was explained using a simple block chain, the previously described variants of distributed ledgers can also be operated with other variants of distributed databases. Overall, the security and reliability of transactions between participants are improved as a result flexible adaptation of the cryptographic security level is made possible.
5 5

Claims

Patentansprüche Claims
1. Verfahren zum Betreiben eines verteilten Datenbanksystems (1) mit verteilten Knoten-Einrichtungen (2 - 6) zum Bereit stellen von miteinander verknüpften Datenblöcken (Bi) , insbe sondere in der Art einer Blockkette (BC) , welche Transaktio nen zwischen Teilnehmern (8) dokumentieren, wobei Transaktio nen (TD) zwischen Teilnehmern (8) mit Hilfe von Transaktions daten und einem kryptografischen Signaturverfahren abgesi chert werden, mit den Schritten: 1. A method for operating a distributed database system (1) with distributed node devices (2-6) for providing linked data blocks (Bi), in particular in the manner of a block chain (BC), which transactions between participants (8 ) document, whereby transactions (TD) between participants (8) are secured with the help of transaction data and a cryptographic signature procedure, with the steps:
für jede Transaktion, Festlegen des kryptografischen Sig naturverfahrens (S2) zum Absichern der jeweiligen Transakti on, wobei eine das festgelegte kryptografische Signaturver fahren identifizierende Signaturinformation Teil der Transak tion oder Teil einer Durchführungsanfrage für die Transaktion ist ; for each transaction, defining the cryptographic signature method (S2) for securing the respective transaction, wherein signature information identifying the specified cryptographic signature method is part of the transaction or part of an execution request for the transaction;
für jede Transaktion, Berechnen von Signaturdaten nach dem festgelegten kryptografischen Signaturverfahren über zu mindest einen Teil der Transaktionsdaten oder deren Hashwert; und for each transaction, calculating signature data according to the specified cryptographic signature procedure for at least part of the transaction data or its hash value; and
Hinzufügen der Signaturdaten zu den Transaktionsdaten. Add the signature data to the transaction data.
2. Verfahren nach Anspruch 1, wobei die Signaturinformation einen Programmcode zur Durchführung des festgelegten krypto grafischen Signaturverfahrens aufweist. 2. The method according to claim 1, wherein the signature information comprises a program code for performing the specified cryptographic signature method.
3. Verfahren nach Anspruch 1 oder 2, wobei die Signaturinfor mation einen Zeiger auf einen Programmcode zur Durchführung des festgelegten kryptografischen Signaturverfahrens auf weist. 3. The method according to claim 1 or 2, wherein the signature information has a pointer to a program code for performing the specified cryptographic signature method.
4. Verfahren nach einem der Ansprüche 1 - 3, ferner umfas 4. The method according to any one of claims 1-3, further comprising
send : send:
digitales Signieren der Signaturinformation mit Hilfe des festgelegten kryptografischen Signaturverfahrens; und digitally signing the signature information using the specified cryptographic signature method; and
Anfügen der signierten Signaturinformation an die Trans aktionsdaten . Append the signed signature information to the transaction data.
5. Verfahren nach einem der Ansprüche 1 - 3, ferner umfas send : 5. The method according to any one of claims 1-3, further comprising:
Erzeugen eines Hashwertes für die Signaturinformation; und Generating a hash value for the signature information; and
digitales Signieren des Hashwertes mit Hilfe des festge legten kryptografischen Signaturverfahrens; und digitally signing the hash value using the defined cryptographic signature procedure; and
Anfügen der signierten und gehashten Signaturinformation an die Transaktionsdaten. Append the signed and hashed signature information to the transaction data.
6. Verfahren nach einem der Ansprüche 1 - 5, wobei in einer Änderungstransaktion für alle Folgetransaktionen (Bi+1, Bi+2) ein neues kryptografisches Signaturverfahren zum Absichern der jeweiligen Transaktion festgelegt wird, falls ein vorge gebener Anteil von Teilnehmern (8) einer Änderungstransaktion unter Anwendung des aktuell festgelegten kryptografisches Signaturverfahren zustimmt. 6. The method according to any one of claims 1-5, wherein in a change transaction for all subsequent transactions (Bi + 1, Bi + 2), a new cryptographic signature method for securing the respective transaction is determined if a predetermined proportion of participants (8) one Approves the change transaction using the currently defined cryptographic signature process.
7. Verfahren nach einem der Ansprüche 1 - 6, wobei ein vor- gebbares kryptografisches Signaturverfahren in der Art eines Smart-Contracts (SC) für das bzw. in dem verteilten Daten banksystem (1) bereitgestellt wird. 7. The method according to any one of claims 1-6, wherein a predefinable cryptographic signature method in the manner of a smart contract (SC) for or in the distributed database system (1) is provided.
8. Verfahren nach einem der Ansprüche 1 - 7, wobei die mitei nander verknüpften Datenblöcke (Bi) , welche Transaktionen zwischen Teilnehmern (8) dokumentieren, Datenblöcke umfassen, welche mit Hilfe von unterschiedlichen kryptografischen Sig naturverfahren (SIG1, SIG2) abgesichert sind. 8. The method according to any one of claims 1-7, wherein the interlinked data blocks (Bi), which document transactions between participants (8), comprise data blocks which are secured with the aid of different cryptographic signature methods (SIG1, SIG2).
9. Verfahren nach einem der Ansprüche 1 - 8, wobei das kryp- tografisches Signaturverfahren ein kryptographisches Schlüs selpaar (SK, PUB) miteinander kryptographisch verknüpft und jedem Teilnehmer (8) ein aktuelles Schlüsselpaar (SK, PUB) zugeordnet ist. 9. The method according to any one of claims 1-8, wherein the cryptographic signature method a cryptographic key pair sel (SK, PUB) cryptographically linked and each participant (8) is assigned a current key pair (SK, PUB).
10. Verfahren nach einem der Ansprüche 1 - 9, wobei das kryp- tografisches Signaturverfahren auf der Basis einer Post- Quanten-Kryptographie (PQC) implementiert. 10. The method according to any one of claims 1-9, wherein the cryptographic signature method is implemented on the basis of post-quantum cryptography (PQC).
11. Verfahren nach einem der Ansprüche 1 - 10, wobei für je den Teilnehmer (8) die Schritte durchgeführt werden: 11. The method according to any one of claims 1-10, wherein the following steps are carried out for each participant (8):
Zuweisen eines digitalen Signaturschlüssels (SK) an den Teilnehmer (8), wobei der digitale Signaturschlüssel (SK) dem aktuell festgelegten kryptografischen Signaturverfahren ent spricht ; Assigning a digital signature key (SK) to the subscriber (8), the digital signature key (SK) corresponding to the currently defined cryptographic signature method;
digitales Signieren (S3) einer Transaktionsanfrage des Teilnehmers (8) mit Hilfe des dem Teilnehmer (8) zugewiesenen digitalen Signaturschlüssels (SK) zum Erzeugen einer digital signierten Transaktionsanfrage; und digitally signing (S3) a transaction request from the subscriber (8) using the digital signature key (SK) assigned to the subscriber (8) to generate a digitally signed transaction request; and
Bestätigen (S4) der Transaktion, falls die digitale Sig natur (SK) als gültig erkannt wird, und falls die Transaktion mit einer Transaktionshistorie der Blockkette (BC) als ver teiltes Datenbanksystem (1) widerspruchsfrei ist. Confirming (S4) the transaction if the digital signature (SK) is recognized as valid and if the transaction with a transaction history of the block chain (BC) as a distributed database system (1) is free of contradictions.
12. Verfahren nach einem der Ansprüche 1 - 11, wobei die ver knüpften Datenblöcke (Bi) Transaktionen zu einer Ressource, insbesondere einer Kryptowährung, dokumentieren, und ein Si cherheitsniveau des kryptografischen Signaturverfahrens in Abhängigkeit von einem Wert oder einer Menge der im Rahmen der Transaktion dokumentierten Ressource festgelegt wird. 12. The method according to any one of claims 1-11, wherein the linked data blocks (Bi) document transactions to a resource, in particular a cryptocurrency, and a security level of the cryptographic signature method depending on a value or an amount of the transaction documented resource.
13. Verfahren nach einem der Ansprüche 1 - 12, wobei die ver knüpften Datenblöcke (Bi) Transaktionen zu einer Ressource, insbesondere einer Kryptowährung, dokumentieren, und eine Durchführung der Transaktion durch ein Überprüfen der Signa tur in den Transaktionsdaten durch Prüfungsinstanzen erfolgt, und für das Überprüfen eine Menge der verwalteten Ressource an die Überprüfungsinstanzen abzuführen ist, welche von dem Berechnungsaufwand der Signaturüberprüfung abhängt. 13. The method according to any one of claims 1-12, wherein the linked data blocks (Bi) document transactions to a resource, in particular a cryptocurrency, and the transaction is carried out by checking the signature in the transaction data by auditors, and for verifying a lot of the managed resource is to be transferred to the verifying bodies, which depends on the computation effort of the signature verification.
14. Verteiltes Datenbanksystem (1) mit mehreren Knoten- Einrichtungen (2 - 6) zum Bereitstellen von miteinander ver knüpften Datenblöcken (Bi) , insbesondere in der Art einer Blockkette (BC) , wobei jede Knoten-Einrichtung (2 - 6) einge richtet ist, gemäß einem vorgegebenen Blockkettenalgorithmus Transaktionen zwischen Teilnehmern (8) zu dokumentieren, wo bei der Blockkettenalgorithmus die Durchführung eines Verfah- rens nach einem der Ansprüche 1 - 13 durch die Knoten- Einrichtungen (2 - 6) veranlasst. 14. Distributed database system (1) with a plurality of node devices (2-6) for providing linked data blocks (Bi), in particular in the manner of a block chain (BC), each node device (2-6) being set up is to document transactions between participants (8) in accordance with a predetermined block chain algorithm, where the block chain algorithm is used to carry out a process rens according to one of claims 1-13 by the node devices (2-6).
15. Industrie-Automatisierungsnetzwerk (10) mit einem ver- teilten Datenbanksystem (1) nach Anspruch 14 zum Dokumentie ren und Steuern von Transaktionen für Feldgeräte (11 - 13) . 15. Industrial automation network (10) with a distributed database system (1) according to claim 14 for documenting and controlling transactions for field devices (11-13).
EP19812694.8A 2018-12-21 2019-11-13 Method for operating a distributed database system, distributed database system, and industrial automation system Pending EP3877935A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18215152.2A EP3671599A1 (en) 2018-12-21 2018-12-21 Distributed database system, industry automation system and method for operating a distributed database system
PCT/EP2019/081118 WO2020126236A1 (en) 2018-12-21 2019-11-13 Method for operating a distributed database system, distributed database system, and industrial automation system

Publications (1)

Publication Number Publication Date
EP3877935A1 true EP3877935A1 (en) 2021-09-15

Family

ID=64755423

Family Applications (2)

Application Number Title Priority Date Filing Date
EP18215152.2A Withdrawn EP3671599A1 (en) 2018-12-21 2018-12-21 Distributed database system, industry automation system and method for operating a distributed database system
EP19812694.8A Pending EP3877935A1 (en) 2018-12-21 2019-11-13 Method for operating a distributed database system, distributed database system, and industrial automation system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP18215152.2A Withdrawn EP3671599A1 (en) 2018-12-21 2018-12-21 Distributed database system, industry automation system and method for operating a distributed database system

Country Status (4)

Country Link
US (1) US20220067727A1 (en)
EP (2) EP3671599A1 (en)
CN (1) CN113508407A (en)
WO (1) WO2020126236A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3958071A1 (en) * 2020-08-19 2022-02-23 Siemens Aktiengesellschaft Systems and method for digitally authenticating usage data of an automation system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100361375B1 (en) * 2000-04-14 2002-11-18 한국정보인증주식회사 A method for embodying a intelligent security client/server system for transaction security
CN1601490A (en) * 2003-09-26 2005-03-30 刘任 Information security authentication and method for its encrypting device
CN101241505B (en) * 2008-02-01 2013-08-21 张建中 Method, device and system for creating, deploying and operating marker language
CN101290674A (en) * 2008-04-03 2008-10-22 北京工业大学 Bank check anti-counterfeiting method based on small mode number digital signing and reliable platform module
CN104426886B (en) * 2013-09-05 2018-06-01 国家广播电影电视总局广播科学研究院 A kind of digital media content guard method and device, server, terminal
US9948467B2 (en) * 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
CN107426250A (en) * 2017-09-12 2017-12-01 大唐广电科技(武汉)有限公司 A kind of industrial digital information network platform based on block chain
US11570003B2 (en) * 2017-10-04 2023-01-31 Jintai Ding Quantumproof blockchain
KR20200099149A (en) * 2017-12-15 2020-08-21 엔체인 홀딩스 리미티드 Computer-implemented system and method for approving blockchain transactions with low entropy password
CN108229958A (en) * 2017-12-27 2018-06-29 浙商银行股份有限公司 A kind of accounts receivable system and method based on block chain technology
US11005664B2 (en) * 2018-04-16 2021-05-11 R3 Ltd. Blockchain post-quantum signature scheme
CN108737114A (en) * 2018-06-19 2018-11-02 天津中兴云链技术有限公司 A kind of endorsement method and device of the block catenary system based on quantum key distribution
US10708046B1 (en) * 2018-11-08 2020-07-07 Nxgen Partners Ip, Llc Quantum resistant blockchain with multi-dimensional quantum key distribution

Also Published As

Publication number Publication date
US20220067727A1 (en) 2022-03-03
WO2020126236A1 (en) 2020-06-25
EP3671599A1 (en) 2020-06-24
CN113508407A (en) 2021-10-15

Similar Documents

Publication Publication Date Title
EP3652656B1 (en) Devices to provide a quantity of cryptographically protected and filtered as well as sorted transaction datasets of a link of a block chain
EP3673623B1 (en) Method and control system for controlling and/or supervising of devices
EP3595267B1 (en) Method, devices and system for exchanging data between a distributed database system and devices
EP3382616A1 (en) Method and device for computer-assisted provision of a secure digital twin
EP3388994A1 (en) Method and apparatus for computer-assisted testing of a blockchain
EP3777088B1 (en) Method and system for controlling a release of a resource
EP3763089B1 (en) Method and control system for controlling and/or supervising of devices
WO2019063509A1 (en) Method and distributed database system for computer-aided execution of a program code
EP3830781A1 (en) Linking identities in a distributed database
EP3718263B1 (en) Method and control system for controlling and/or supervising of devices
WO2022022992A1 (en) Digital twin-based process control in an iot network
EP3723007B1 (en) Method and control system for controlling an execution of transactions
EP3877935A1 (en) Method for operating a distributed database system, distributed database system, and industrial automation system
EP3714575B1 (en) Method and control system for controlling and/or supervising of devices
EP3618348B1 (en) Distributed database system, industry automation system and method for operating a distributed database system
EP3797491A1 (en) Controlling a data network with respect to a use of a distributed database
EP3617976A1 (en) Method for operating a distributed database system, distributed database system, and industrial automation
WO2022022997A1 (en) Channel-based communication in an iot network
WO2020043430A1 (en) Device and method for providing an oracle transaction in a distributed database system
EP3627755A1 (en) Method for secure communication in a communication network having a plurality of units with different security levels
EP3817315A1 (en) Test device, device and method for validating transactions
EP3786831A1 (en) Method and device for testing a dataset
EP3828798A1 (en) Device and method for forming blocks of data
WO2020193044A1 (en) Method and control system for controlling the execution of transactions
EP3829103A1 (en) Device and method for forming blocks of data

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: 20210607

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

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)