Apparatus and method for inserting device data into a distributed database system
By designing a device that includes communication interface, configuration module, identification module and registration module, the high configuration cost and security problems when inserting device data into a distributed database system are solved, and low-cost, low-management cost and secure data insertion is achieved. , suitable for multiple distributed database systems.
Patent Information
- Application Number
- CN202180030491.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-24
- Filing Date
- 2021-04-21
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-04-21
AI Technical Summary
In industrial environments, when inserting device data into distributed database systems (such as blockchains), there are high configuration consumption and security requirements, especially the physical access of the device is complex and requires hardware modification to meet computing power and security functions. Requirements, resulting in complex connections and high cost.
Design a device, including a communication interface, configuration module, identification module and registration module, by receiving database configuration information and device data, selecting appropriate configuration parameters, generating identification information and registering it with a distributed database system, ensuring that the device data is in a compatible format Insert and provide data protection to avoid physical access needs.
It realizes the low-cost, low management cost and secure insertion of device data into a distributed database system, reducing configuration and management complexity, and can connect to multiple distributed database systems, reducing the security risks of the device.
Smart Images

Figure CN115380509B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an apparatus and a method for inserting device data of a device into a distributed database system. Background Art
[0002] Devices, such as field devices or manufacturing devices, are increasingly networked with one another so that they can exchange data or access data of the devices. In this context, it is desirable to make the device data available in a distributed database, such as a blockchain. Blockchain or "distributed ledger" technology is currently a technology that is being discussed in depth and can be implemented in particular as a distributed database system. The transaction data records (or transactions for short) secured by the blockchain include, for example, program code and / or program instructions, which can also be referred to as so-called "smart contracts".
[0003] However, connecting a device to such a distributed database is often associated with a high configuration effort. Particularly in an industrial environment, due to the large number of devices, the individual configuration for connecting to the distributed database can be very complex. In addition, the problem arises that physical access to these devices often does not exist due to security requirements. However, in order to connect to a distributed database, it may be necessary to modify the hardware of the device in order to, for example, provide the computing power or security functions required by the distributed database system. Summary of the invention
[0004] It is therefore an object of the present invention to provide a cost-effective way of inserting device data into a distributed database system.
[0005] This object is achieved by the measures described in the independent claim. Advantageous developments of the invention are presented in the dependent claims.
[0006] According to a first aspect, the present invention relates to an apparatus for inserting device data of a device into a distributed database system, the apparatus comprising:
[0007] - a first communication interface configured to receive database configuration information from a distributed database system,
[0008] - a second communication interface, which is coupled to the device and is configured to receive device data from the device,
[0009] - A configuration module, the configuration module being set up to:
[0010] - selecting at least one configuration parameter from a set of configuration parameters stored on the configuration module for configuring the data providing module of the device,
[0011] - Check at least one selected configuration parameter according to the database configuration information and output the check result,
[0012] - and configuring the data provision module according to the checking result by means of at least one selected configuration parameter,
[0013] - an identification module configured to provide identification information for the device, wherein the identification information is related to at least a portion of the device data,
[0014] - a registration module configured to register the device with respect to the distributed database system based on the identification information, and
[0015] - A data providing module, which is configured to insert the device data into the distributed database system according to the inspection result and with reference to the identification information.
[0016] Unless otherwise stated in the following description, the terms "execute", "calculate", "computer-aided", "measure", "confirm", "generate", "configure", "reconstruct" and the like preferably relate to actions and / or processes and / or processing steps of changing and / or generating data and / or transforming data into other data, wherein the data may in particular be presented or exist as physical variables.
[0017] In connection with the present invention, "in a computer-aided manner" may be understood, for example, as the implementation of a method in which, in particular, a processor performs at least one method step of the method. For example, "in a computer-aided manner" may also be understood as "in a computer-implemented manner".
[0018] In connection with the present invention, a processor can be understood as a machine or an electronic circuit, for example. The processor can be, in particular, a main processor (Central Processing Unit, CPU), a microprocessor or a microcontroller, for example, a dedicated integrated circuit or a digital signal processor, possibly combined with a storage unit for storing program instructions, etc. The 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 Processor) or a graphics processor GPU (Graphic Processing Unit). The processor can also be understood as a virtualized processor, a virtual machine or a soft CPU. For example, it can also be a programmable processor that is equipped with a configuration step for executing the method according to the present invention, or is configured with a configuration step so that the programmable processor implements the method or module or other aspects and / or sub-aspects of the present invention.
[0019] In connection with the present invention, "module" can be understood as a processor and / or a storage unit for storing program code, for example. For example, the processor is specifically set up to execute program code so that the processor performs functions in order to implement or realize the method according to the present invention or the steps of the method according to the present invention. Each module can also be configured as a separate or independent module, for example. For this reason, the corresponding module can include other elements, for example. These elements are one or more interfaces (for example, database interface, communication interface-such as network interface, WLAN interface) and / or evaluation unit (such as processor) and / or storage unit. With the help of the interface, for example, data can be exchanged (for example, received, transmitted, sent, or provided). With the help of the evaluation unit, for example, data can be compared, checked, processed, distributed or calculated in a computer-aided manner and / or automatically. With the help of the storage unit, for example, data can be stored, retrieved or provided in a computer-aided manner and / or automatically.
[0020] In connection with the present invention, "providing" (especially with respect to data and / or information) can be understood, for example, as providing in a computer-aided manner. The provision is performed, for example, via an interface (e.g. a database interface, a network interface, an interface to a storage unit). Via these interfaces, for example, the corresponding data and / or information can be transmitted and / or sent and / or retrieved and / or received during the provision. In connection with the present invention, "providing" can also be understood, for example, as loading or storing a transaction, for example, with the corresponding data. "Providing" can also be understood, for example, as transmitting (or sending or transmitting) the corresponding data from one node of a blockchain or a distributed database system (or its infrastructure) to another node.
[0021] In connection with the present invention, a "checksum" (e.g., a data block checksum, a data checksum, a node checksum, a transaction checksum, a splicing checksum, etc.) can be understood, for example, as a cryptographic checksum or a cryptographic hash or a hash value, which is formed or calculated, in particular, by means of a cryptographic hash function, about a sub-region of one or more transactions and / or data blocks in a data record and / or data and / or transaction (e.g., a block header of a block of a blockchain or a data block header of a data block of a distributed database system or only a part of a transaction of a data block). The checksum can be, in particular, a checksum / checksums or a hash value / hash values of a hash tree (e.g., a Merkle tree, a Patricia tree). In addition, a "checksum" can also be understood, in particular, as a digital signature or a cryptographic message authentication code. With the help of a checksum, for example, cryptographic protection / manipulation protection of transactions and the data (records) stored therein can be implemented at different levels of a database system. If, for example, a high level of security is required, a checksum is generated and checked, for example, at the transaction level.
[0022] In connection with the present invention, a "block checksum" can be understood as a checksum calculated, for example, on a portion of a data block or on all transactions. The node can then, for example, check / confirm the integrity / authenticity of the corresponding portion of the data block with the aid of the block checksum. Additionally or alternatively, the block checksum can also be formed in particular with respect to the transaction of the preceding data block / leading (Vorgänger) data block of the data block. The block checksum can also be implemented in particular with the aid of a hash tree, such as a Merkle tree or a Patricia tree, wherein the block checksum is in particular the root checksum of a Merkle tree or a Patricia tree or a binary hash tree. In particular, transactions are protected with the aid of other checksums from a Merkle tree or a Patricia tree (for example, when using a transaction checksum), wherein in particular these other checksums are leaves in a Merkle tree or a Patricia tree. The block checksum can therefore, for example, protect transactions by forming a root checksum from these other checksums. The block checksum can in particular be calculated for transactions of a certain data block in a data block. In particular, such a data block checksum can be incorporated into a data block following the determined data block, in order to splice the following data block, for example, with the preceding data block and in particular thereby to make it possible to check the integrity of the distributed database system. Thus, the data block checksum can, for example, assume the function of a splicing checksum or be incorporated into the splicing checksum. The header of a data block, for example a new data block or a data block for which a data block checksum is formed, can, for example, include a data block checksum.
[0023] In connection with the present invention, a "transaction checksum" may be understood as a checksum formed in particular with respect to a transaction of a data block. In addition, for example, the calculation of a data block checksum for the corresponding data block may be accelerated, since, for example, an already calculated transaction checksum may be immediately used as a leaf of a Merkle tree, for example.
[0024] In connection with the present invention, "joint checksum" can be understood as a checksum of a preceding data block of a distributed database system, in particular for a corresponding data block of a distributed database system or for a reference (referenziert). For this purpose, a corresponding joint checksum is formed, in particular, for the corresponding preceding data block. As a joint checksum, for example, a data block checksum or a transaction checksum of a data block (i.e., an existing data block of a distributed database system) can be used to join a new data block with the (existing) data block of a distributed database system. However, for example, it is also possible to form a checksum with respect to the header of a preceding data block or with respect to the entire preceding data block and use the checksum as a joint checksum. This can also be calculated, for example, for a plurality of or all preceding data blocks. For example, it can also be realized that a joint checksum is formed with respect to the header of a data block and a data block checksum. However, the corresponding data blocks of the distributed database system preferably respectively include a joint checksum calculated for the preceding data block (in particular, more preferably, the directly preceding data block) of the corresponding data block or related to the preceding data block. For example, it is also possible that the corresponding splicing checksum is also formed only with respect to a part of the corresponding data block (for example, the preceding data block). This makes it possible, for example, to realize a data block which comprises an integrity-protected part and an unprotected part. Thus, for example, a data block can be realized whose integrity-protected part cannot be changed, while the unprotected part of the data block can also be changed later. "Integrity-protected" is to be understood here in particular to mean that changes to the integrity-protected data can be confirmed with the help of the checksum.
[0025] In connection with the present invention, “joining data blocks of a distributed database system” may be understood, for example, to mean that the data blocks each include information, such as a join checksum, which refers to or quotes one or more other data blocks of the distributed database system.
[0026] In connection with the present invention, "insertion into a distributed database system" etc. can be understood, for example, to mean that in particular a transaction or transactions or a data block with the transactions is transmitted to one or more nodes of the distributed database system. If these transactions are, for example, successfully verified (for example by the one / more nodes), these transactions are spliced, in particular as new data blocks, with at least one existing data block of the distributed database system. For this purpose, the corresponding transactions are, for example, stored in the new data block. In particular, this verification and / or splicing can be performed by a trusted node.
[0027] In connection with the present invention, "a transaction" or "multiple transactions" can be understood, for example, as a smart contract, a data structure or a transaction data record, wherein the transaction data record particularly includes one of the transactions or includes multiple transactions. In connection with the present invention, "a transaction" or "multiple transactions" can also be understood, for example, as data of transactions of data blocks of a blockchain (Blockchain in English). Transactions can particularly include, for example, program instructions for implementing smart contracts. Alternatively, a transaction can be, for example, a data structure that stores data (e.g., control instructions and / or contract data and / or other data, such as video data, user data, measurement data, etc.). In connection with the present invention, a "transaction" can also be, for example, a message or a communication message or be referred to as such a message or communication message, wherein the message, for example, includes a control instruction for operating a device and / or also includes a prerequisite for executing a control instruction (e.g., a pre-given requirement).
[0028] In particular, “storing transactions in data blocks”, “storing transactions” etc. may be understood as direct storage or indirect storage. Direct storage may be understood, for example, in this case, that a corresponding data block of a distributed database system or a corresponding transaction of a distributed database system comprises the corresponding data. Indirect storage may be understood, for example, in this case, that a corresponding data block or a corresponding transaction comprises a checksum for the corresponding data and optionally an additional data record (e.g. a reference or description of a storage location), and that the corresponding data are therefore not directly stored in the data block (or transaction) (i.e., instead of this, only a checksum for these data is stored). In particular, when storing transactions in data blocks, these checksums may be verified, for example, as is explained, for example, under “insertion into a distributed database system”.
[0029] In connection with the present invention, a "program code" (e.g., a smart contract) can be understood, for example, as one or more program instructions, which are in particular stored in one or more transactions. The program code is in particular executable and is executed, for example, by a distributed database system. The program code is preferably executed by the infrastructure of the distributed database system. In connection with the present invention, a "smart contract" can be understood, for example, as an executable program code / program instruction. The smart contract is preferably stored in a transaction of a distributed database system (e.g., a blockchain), for example, in a data block of the distributed database system.
[0030] In connection with the present invention, for example, a “distributed database system”, which can also be referred to as a distributed database, can be understood as a decentralized distributed database (dezentral verteilte Datenbank), a blockchain (Blockchain in English), a distributed ledger, a distributed storage system, a system based on distributed ledger technology (DLT) (DLTS, distributed ledger technology based system), a tamper-proof database system, a cloud (Cloud), a cloud service (Cloud-Service), a blockchain in the cloud or a peer-to-peer (Peer-to-Peer) database. For example, different implementations of a blockchain or a DLTS can also be used, such as a blockchain or a DLTS with a directed acyclic graph (DAG, Directed Acylic Graph), a cryptographic puzzle, a hash graph or a combination of the aforementioned implementation variants. For example, different consensus methods (consensus algorithms in English) can also be implemented. This can be, for example, a consensus method with a cryptographic puzzle, a rumor algorithm (Gossip about Gossip), a virtual voting (Virtual Voting) or a combination of the aforementioned methods (for example, a rumor algorithm combined with a virtual voting). If, for example, a blockchain is used, it can be implemented in particular by means of a Bitcoin-based implementation or an Ethereum-based implementation. A “distributed database system” can also be understood, for example, as a distributed database system whose nodes and / or devices and / or infrastructure are at least partially implemented via the cloud. For example, the corresponding components are implemented as nodes in the cloud (for example, as virtual nodes in a virtual machine).
[0031] A distributed database system can also be, for example, a distributed communication system for exchanging data, which can be, for example, a network or a peer-to-peer network.
[0032] In connection with the present invention, a "data block", which may also be referred to as an "element" or "block" depending on the context and implementation, may be understood, for example, as a data block of a distributed database system (e.g., a blockchain or a peer-to-peer database), which is implemented in particular as a data structure and preferably includes one of the transactions or multiple transactions in the transaction, respectively. In one embodiment, the database (or database system) may be, for example, a DLT-based system (DLTS) or a blockchain, and the data block may be a block of a blockchain or a DLTS. The data block may include, for example, a description of the size of the data block (data size in bytes), a data block header (Block-header in English), a transaction counter, and one or more transactions. The data block header may include, for example, a version, a splicing checksum, a data block checksum, a timestamp, a proof of work (Proof-of-Work Nachweis), and a random number (Nonce) used only once (a one-time value (Einmalwert), a random value, or a counter used for proof of work.
[0033] In connection with the present invention, "blockchain node", "node", "node of a distributed database system", etc. may be understood in particular as an apparatus coupled to, for example, a device (e.g., a field device, a mobile phone), a computer, a smartphone, a client, or a user, wherein the apparatus performs operations on (utilizes) a distributed database system (e.g., a blockchain). In addition, other nodes of a distributed database system may themselves be devices, computers, etc.
[0034] Such a node can, for example, execute transactions of the distributed database system or data blocks thereof, or insert or splice new data blocks with new transactions into the distributed database system with the aid of new data blocks.
[0035] The identification information can provide, in particular, evidence that the corresponding data block has been inserted by a specific node or that it has come from. These devices are, for example, devices of technical systems and / or industrial facilities and / or automation networks and / or manufacturing facilities. In this case, these devices can be, for example, field devices or devices in the Internet of Things.
[0036] Such a device should, for example, be able to access data of a distributed database system or to insert data, but the device may, for example, be too old and neither have the necessary passwords and / or IT security capabilities and / or computing power nor be compatible with the data format of the distributed database system.
[0037] An advantage of the invention is therefore that the proposed device enables the connection of a device to a distributed database system, so that, for example, device data of the device or corresponding integrity-protected data references (e.g. hashes) can be inserted into the distributed database system. In advantageous cases, the connection is carried out in particular with reduced configuration effort and / or reduced management effort and / or with improved security conditions. The device can in particular be connected to more than one distributed database system, so that the device data can in particular be inserted into more than one distributed database system. It is also conceivable that different parts of the device data are inserted into different distributed database systems.
[0038] The device and / or its modules can be implemented in hardware and / or software. The device is coupled to the equipment so that the equipment is supplemented with a function that enables data exchange with a distributed database system. The coupling between the device and the device is carried out via the second communication interface of the device. Preferably, the device includes a corresponding interface so that device data is provided to the second communication interface of the device or sent to the second communication interface of the device. Therefore, the device can be configured as a node of a distributed database system by the device. In other words, the device and the device to be connected are preferably tightly coupled via software and / or hardware components so that the device represents a device in a distributed database.
[0039] For example, the device can be formed with blockchain capabilities by means of the device. Since the device is coupled to the device, no further installation and / or configuration process is required, in particular at the device itself, in order to connect the device to a preconfigured distributed database. In addition, the device is particularly flexible and can be coupled to different devices. In addition, no other interface is required for the device, so that, for example, the risk of attacking the device can be minimized. The device is configured according to database configuration information, such as a network identity, so as to enable the device to be connected to a distributed database. Preferably, the device data is inserted into the distributed database system by the data providing module via a first communication interface. Alternatively, the device may include another communication interface coupled to the data providing module, so that the device data can be inserted into the distributed database system via the other communication interface. In this way, the device is particularly independent of different blockchain technologies.
[0040] In one embodiment of the device, the second communication interface can be configured to provide the device data to the data providing module for insertion into the distributed database system.
[0041] This has the advantage, in particular, that the device data to be inserted into the distributed database system are provided exclusively by the device. The further processing for inserting the device data into the distributed database is performed by the device.
[0042] In another embodiment of the device, the configuration module can be designed to configure the data provision module as a function of at least one selected configuration parameter, so that the data provision module has a configuration suitable for the distributed database system.
[0043] Preferably, the device can be coupled to different types of distributed database systems, such as different blockchain technologies. To this end, suitable configuration parameters are preferably stored on the configuration module to adjust the data providing module so that the data providing module can perform data exchange with the distributed database system.
[0044] Configuration parameters may be, for example, the following parameters or information: access roles, connection profiles and / or allowed password methods. In particular, configuration parameters may include at least one rule describing in which format device data must be provided in order to insert the device data into the distributed database system.
[0045] In another embodiment of the device, the data providing module may be configured to convert the device data into a database-specific format according to the database configuration information and insert the device data into the distributed database system in this manner.
[0046] Thus, the device data is placed by the means in a format compatible with the distributed database system. Thus, the device configuration of the device itself does not have to be changed. For example, data can be provided so that it can be inserted as part of the blockchain. For example, device data can be coupled to a transaction and thus inserted into the distributed database system.
[0047] In another embodiment of the device, the identification module may be configured to provide identification information according to database configuration information.
[0048] Thus, for a distributed database system, the identity of a device and thus of an apparatus coupled to the device can be determined based on its configuration. The identity is in particular coupled to the access rights of the device or the apparatus.
[0049] In another embodiment of the device, the first communication interface may be configured to receive data via a network connected to the device and to detect availability of the distributed database system based on the received data, wherein the distributed database system is implemented via the network.
[0050] In this way, it can be determined based on the data of the connected network whether the distributed database system is available, and the device can insert the device data into the distributed database system.
[0051] In another embodiment of the device, the identification module can be configured as:
[0052] - transmitting the identification information to an identification management unit coupled via a network for issuing a certificate based on the identification information, and
[0053] - receiving a certificate issued by the identity management unit for registering the device with the distributed database system.
[0054] In another embodiment of the device, the registration module can be designed to register the device based on the certificate.
[0055] Preferably, based on the identification information, a request for certificate issuance is sent to an identification management unit, such as a certification authority, wherein the identification management unit is preferably assigned to the distributed database system. The identification management unit can in particular issue and / or revoke certificates and / or issue, revoke and / or verify identity information. Once the identification management unit issues, signs and transmits back a valid certificate for the device based on the identification information, the registration module can register the device for the distributed database. Therefore, the device can access the distributed database via the device.
[0056] In another embodiment, the apparatus may include a management module configured to receive at least one program instruction from a distributed database system based on identification information and provide the program instruction to a data providing module, wherein the program instruction includes at least one rule for inserting device data into the distributed database system.
[0057] In another embodiment of the device, the data providing module may be configured to insert the device data into the distributed database system according to rules of program instructions.
[0058] The program instructions may in particular be smart contracts. The management module is preferably configured to receive smart contracts and corresponding rule sets for the device or the equipment. In particular, the program instructions may be associated with identification information of the equipment. This ensures that only data for which the equipment connected to the device has authorization is exchanged with the distributed database system. Furthermore, this ensures that only smart contracts relevant to the equipment connected to the device are received.
[0059] In another embodiment of the device, the data providing module may be configured to operate a distributed database system according to a registration of the device.
[0060] Therefore, once the device is registered for the distributed database system according to the device data, the device can exchange the data of the device or insert data with the distributed database system. In other words, the device or the equipment is established as a node of the distributed database by registration.
[0061] In another embodiment of the device, the distributed database system can be implemented as a blockchain.
[0062] According to another aspect, the present invention relates to a computer-implemented method for inserting device data of a device into a distributed database system, comprising the steps of:
[0063] - Receive database configuration information of distributed database systems,
[0064] - receive device data from the device,
[0065] - selecting at least one configuration parameter from a set of configuration parameters stored for configuring a data providing module of the device,
[0066] - Check at least one selected configuration parameter according to the database configuration information and output the check result,
[0067] - configuring the data provision module with the aid of at least one selected configuration parameter as a function of the checking result,
[0068] - provide identification information for the device,
[0069] - registering the device with the distributed database system based on identification information, wherein the identification information is related to at least a portion of the device data, and
[0070] - Insert equipment data into the distributed database system based on inspection results and reference identification information.
[0071] Furthermore, the invention relates to a computer program product which can be directly loaded into a programmable computer, said computer program product comprising program code portions which, when the program is executed by a computer, cause the computer to carry out the steps of the method according to the invention.
[0072] The computer program product may be provided or delivered, for example, on a storage medium, such as a memory card, a USB stick, a CD-ROM, a DVD, a non-volatile / persistent storage medium (Non-transitory storage medium in English), or may be provided or delivered in the form of a file that can be downloaded from a server in a network. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] Exemplary embodiments of the device according to the invention and of the method according to the invention are represented by way of example in the drawings and are explained in more detail with the aid of the following description.
[0074] Figure 1 An embodiment of an apparatus for inserting device data of a device into a distributed database system according to the present invention is shown; and
[0075] Figure 2An embodiment of a method for inserting device data of a device into a distributed database system according to the present invention is shown.
[0076] Parts that correspond to one another are provided with the same reference symbols in all the figures. DETAILED DESCRIPTION
[0077] In particular, the exemplary embodiments below merely show exemplary implementation possibilities of how such an implementation, in particular according to the teaching of the present invention, may look, since it is not possible and not suitable or necessary for an understanding of the present invention to enumerate all of these implementation possibilities.
[0078] All possibilities for implementing the invention which are customary in the prior art are naturally also known to the (relevant) person skilled in the art after becoming aware of the method claim(s), so that a separate disclosure in the description is in particular not necessary.
[0079] Figure 1 A first embodiment of the present invention is shown. An apparatus 100 according to the present invention is shown, which is coupled to a device FG via a connection K. The apparatus 100 is set up to insert device data D1 of the device FG into a distributed database system. The distributed database system can be, for example, a blockchain BC (English Blockchain). The apparatus 100 can couple the device FG in particular to more than one distributed database system. It is also conceivable that device data or parts of device data are inserted into more than one coupled distributed database system by means of the apparatus.
[0080] Alternatively, the apparatus 100 may also be implemented as a part of the device FG. Thus, the apparatus 100 may be implemented, for example, within a protected environment of the device, such as in a secure element of a processor of the device, or as a separate chip of the device or as a separate software component.
[0081] The device FG may be, for example, a field device, a manufacturing device, a sensor, a programmable controller (PLC), a programmable automation controller (PAC), or a medical device. In particular, the device FG may not have a function for inserting the device data D1 into the distributed database system.
[0082] exist Figure 1A network NW is further shown, via which a plurality of devices are connected. The blockchain BC is implemented via this network infrastructure NW. Nodes BCN of the blockchain are shown. Nodes BCN are, for example, other devices. Preferably, the blockchain comprises a plurality of nodes BCN. The device 100 enables the device data of a device FG to be inserted into the blockchain BC, i.e. in particular one or more transactions or data blocks with their transactions to be transmitted to one or more nodes BCN of the blockchain BC. If such a transaction is successfully verified, for example by one of the nodes BCN, the transaction can be stored as a new data block together with at least one existing data block of the blockchain BC.
[0083] The device 100 is connected to a distributed database system via a communication connection C so that data exchange can be achieved. The device includes a first communication interface 101, which is set up to receive data via a communication connection C, a network NW, and detect the availability of a blockchain or another distributed database system based on the received data. In addition, the first communication interface 101 is set up to receive or derive database configuration information D2 from the received data once a distributed database system, such as a blockchain BC, is detected. The database configuration information includes in particular information about the technical type of the detected blockchain BC. The database configuration information can also be information about the genesis block, the startup node, peer information or the smart contract address. Therefore, the device 100 can in particular detect more than one distributed database system or different distributed database systems, couple to these distributed database systems and insert device data of the device.
[0084] The device 100 further comprises a second communication interface 102, which is coupled to the device FG via a wireless or wired connection K. If the device 100 is implemented as part of the device FG, the connection K can in particular also be a data bus. The second communication interface 102 is configured to receive device data D1 of the device via the connection K. The device data can in particular be raw data of the device, data derived from the device data or processed data, such as average data or selected data.
[0085] The apparatus 100 further comprises a configuration module 103 and a data providing module 106. The configuration module 103 is configured to configure the data providing module 106. To this end, the configuration module 103 is configured to select at least one configuration parameter from a set of configuration parameters stored on the configuration module 103 for configuring the data providing module 106.
[0086] Preferably, a plurality of configuration parameters are stored on the configuration module 103, and the configuration parameters respectively enable the device 100 to be connected to the distributed database system. At least one selected configuration parameter is checked according to the received database configuration information D2 by means of the checking unit of the configuration module. In particular, it is checked whether at least one selected configuration parameter is designed to configure the data providing module 106 so that the data providing module has a configuration suitable for the detected blockchain BC. In other words, at least one configuration parameter matching the configuration of the blockchain BC or the corresponding distributed database system is found for the data providing module 106. If the check results in a positive check result, that is, if at least one selected configuration parameter matches the configuration of the blockchain BC, the data providing module is therefore configured so that the data providing module has a configuration suitable for connecting to the blockchain BC. If the check result is negative, at least one additional configuration parameter can be selected and checked. Therefore, a suitable configuration for the data providing module 106 can be determined iteratively.
[0087] The device further comprises an identification module 104, which is configured to provide identification information ID for the device 100. The identification information ID is in particular related to at least a part of the device data D1. For example, a part of the device data may include device-specific identification data of the device. Thus, the identification information ID of the device 100 is associated with the device identity. The identification module 104 can in particular be configured to generate and provide the identification information ID in addition based on the received database configuration information D2. Thus, the device 100 can be additionally identified based on the distributed database system.
[0088] The identification module 104 can be particularly configured to transmit the generated identification information ID to an identification management unit CA coupled via a network NW. The identification management unit CA can be understood as a providing device for providing and verifying an identity. The identification management unit can be particularly understood as a certification authority. In other words, the identification management unit CA can be, for example, configured to provide an identity for a device or apparatus, i.e., register or register a device or apparatus for a distributed database system.
[0089] The identification management unit CA is preferably part of the blockchain and is set up to issue and / or revoke certificates suitable for registering devices for the blockchain BC. In this way, the identification management unit CA can issue a certificate CERT for the device 100 based on the identification information ID and transmit it back to the identification module 104. The device 100 further includes a registration module 105, which registers the device 100 for the distributed database system based on the identification information ID. In particular, the registration module 105 can register the device with the help of the certificate CERT.
[0090] Once the device 100 is registered for the blockchain BC, i.e., according to a successful registration of the device 100 by the registration module 105, the device data D1 can be inserted into the blockchain with reference to the identification information ID by means of the data providing module 106. In this way, the device data can be spliced with a block of the blockchain BC, for example. By referring to the identification information ID, the device data D1 is in particular integrity protected. For example, the identification information ID is assigned to the device data D1 or added to these device data.
[0091] The data provision module 106 is preferably connected to the second communication interface 102 so that the data provision module can receive the device data D1 therefrom. The data provision module 106 is preferably configured to convert the device data D1 into a database-specific format, for example coupled to a transaction, according to the database configuration information D2, and insert it into the blockchain BC in this way. The data provision module 106 is preferably connected to the first communication interface 101 so that the insertion of the device data D1 into the blockchain can also be carried out via the first communication interface 101. In addition, the data provision module 106 can implement cryptographic protection for transactions or device data, for example by means of a checksum.
[0092] The device 100 may further include a management module 107, which is set up to receive at least one program instruction from the blockchain BC according to the identification information ID. The program instruction can be a smart contract in particular, which includes at least one rule for inserting device data into the blockchain BC. The management module 107 is preferably coupled to the data providing module 106 and provides the received program instruction to the data providing module. Therefore, the data providing module 106 can insert the device data D1 into the blockchain according to the program instruction. In other words, the management module receives rules, such as smart contracts, based on the identification information ID assigned to the device FG, wherein the rules control the data exchange with the blockchain. The received program instruction is associated with the node identity ID, so as to obtain only program instructions suitable for the device FG in particular. For example, the device FG can be a temperature sensor, and only the smart contract about temperature measurement is assigned to the temperature sensor.
[0093] The modules of the device 100 are particularly advantageously connected to one another in such a way that they can exchange information or data with one another.
[0094] Figure 2 A second embodiment of the present invention is shown as a flow chart. The steps of the method according to the present invention for inserting device data D1 of a device into a distributed database system are shown. The method can be implemented by means of, for example, Figure 1 The explanation is carried out by the device according to the invention.
[0095] In a first step S1, database configuration information of a distributed database system is received via a network coupled to the device. Preferably, a network request (ping) is performed by the device to other devices of the network in advance to check the availability of the distributed database system. Once the other device receives the request, the other device can authenticate the device and provide access to the distributed database system.
[0096] In the next step S2, device data is received from the device. Preferably, only device data that should be provided for the distributed database system is received.
[0097] In the next step S3, at least one configuration parameter for configuring the data providing module of the device is selected from the set of stored configuration parameters. Next, in step S4, at least one selected configuration parameter is checked according to the database configuration information, that is, for example, a compatibility check of at least one configuration parameter is performed according to the configuration of the distributed database system, and the check result is output. In the case of a positive check result Y, as the next step S5, the data providing module is configured according to at least one selected configuration parameter. In the case of a negative check result N, step S3 is repeatedly selected until at least one suitable configuration parameter is found. If no suitable configuration parameter is found, the configuration process and / or registration process is terminated or not performed, steps S6 and S7. In this case, for example, an error message can be output.
[0098] In step S6, identification information is generated for the device, the identification information being related to at least a portion of the device data. Based on the identification information, the device is registered with the distributed database system in step S7.
[0099] Once the data provision module has been configured and the device has been registered for the distributed database system, the device data are inserted into the distributed database system with reference to the identification information in step S8. For example, the identification information is assigned to the device data so that the device data inserted into the distributed database system can be unambiguously assigned to the device. The insertion of the device data can be controlled in particular according to a smart contract, which is preferably received from the distributed database system according to the identification information.
[0100] All described and / or depicted features can be advantageously combined with one another within the scope of the invention. The invention is not restricted to the described exemplary embodiments.
Claims
1. An apparatus (100) for inserting device data (D1) of a device (FG) into a distributed database system (BC), comprising: - a first communication interface (101), the first communication interface being configured to receive database configuration information (D2) from the distributed database system, - a second communication interface (102), which is coupled to the device and is configured to receive device data from the device, - a configuration module (103), wherein the configuration module is configured to: - selecting at least one configuration parameter from a set of configuration parameters stored on said configuration module for configuring a data providing module of said device, - checking the at least one selected configuration parameter according to the database configuration information (D2) and outputting a checking result, - and configuring the data providing module according to the checking result by means of the at least one selected configuration parameter, - an identification module (104), which is configured to provide identification information (ID) for the device (100), wherein the identification information is related to at least a part of the device data, - a registration module (105), the registration module being configured to register the device (100) with respect to the distributed database system (BC) according to the identification information (ID), and - a data providing module (106), the data providing module being configured to insert the device data into the distributed database system according to the inspection result and with reference to the identification information (ID), The identification module (104) is configured as follows: - transmitting the identification information (ID) to an identification management unit (CA) coupled via a network for issuing a certificate (CERT) according to the identification information; and - receiving a certificate (CERT) issued by the identity management unit (CA) for registering the device with respect to the distributed database system, and The registration module (105) is configured to register the device according to the certificate (CERT). 2 . The device according to claim 1 , wherein the second communication interface ( 102 ) is configured to provide the device data ( D1 ) to the data providing module ( 106 ) for insertion into the distributed database system (BC).
3. The device according to any one of the preceding claims 1 to 2, wherein the configuration module (103) is configured to configure the data provision module (106) with the aid of the at least one selected configuration parameter so that the data provision module has a configuration suitable for the distributed database system. 4 . The device according to claim 1 , wherein the data providing module ( 106 ) is configured to convert the device data ( D1 ) into a database-specific format according to the database configuration information ( D2 ) and insert the converted data into the distributed database system in this manner.
5. The device according to any one of the preceding claims 1 to 2, wherein the identification module (104) is configured to provide the identification information (ID) according to the database configuration information (D2).
6. The device according to any one of the preceding claims 1 to 2, wherein the first communication interface (101) is configured to receive data via a network (NW) connected to the device and detect the availability of the distributed database system based on the received data, wherein the distributed database system (BC) is implemented via the network.
7. The apparatus according to any one of claims 1 to 2, comprises a management module (107), which is configured to receive at least one program instruction from the distributed database system based on the identification information (ID) and provide the program instruction to the data providing module, wherein the program instruction includes at least one rule for inserting device data into the distributed database system.
8. The apparatus according to claim 7, wherein the data providing module (106) is configured to insert the device data (D1) into the distributed database system according to rules of the program instructions.
9. The device according to any one of the preceding claims 1 to 2, wherein the data providing module (106) is configured to control the distributed database system (BC) as a function of a registration of the device.
10. The device according to any one of the preceding claims 1 to 2, wherein the distributed database system (BC) is implemented as a blockchain.
11. A computer-implemented method for inserting device data (D1) of a device (FG) into a distributed database system (BC), comprising the following steps: - receiving (S1) database configuration information of the distributed database system, - receiving (S2) device data from the device, - selecting (S3) at least one configuration parameter from a set of configuration parameters stored for configuring a data providing module of the device, - checking (S4) the at least one selected configuration parameter according to the database configuration information and outputting a checking result, - configuring ( S5 ) the data provision module according to the checking result by means of the at least one selected configuration parameter, - providing (S6) identification information for the device, wherein the identification information is related to at least a part of the device data, - registering (S7) the device with respect to the distributed database system according to the identification information, and - inserting (S8) the device data into the distributed database system with reference to the identification data according to the inspection result, wherein the identification information (ID) is transmitted to an identification management unit (CA) coupled via a network for issuing a certificate (CERT) according to the identification information; and - receiving a certificate (CERT) issued by the identity management unit (CA) for registering the device with respect to the distributed database system, and Therein the device is registered according to the certificate (CERT).
12. A computer program product directly loadable into a programmable computer, the computer program product comprising program code portions adapted to execute the steps of the method according to claim 11.
