Devices for providing a set of cryptographically secured and filtered and sorted transaction data sets of a block of a blockchain
11184151 · 2021-11-23
Assignee
Inventors
Cpc classification
H04L9/3239
ELECTRICITY
G06F21/6227
PHYSICS
G06F16/2379
PHYSICS
G06F16/28
PHYSICS
H04L2209/805
ELECTRICITY
G06F7/08
PHYSICS
H04L9/0637
ELECTRICITY
International classification
G06F16/90
PHYSICS
G06F16/28
PHYSICS
G06F7/08
PHYSICS
G06F21/62
PHYSICS
H04L9/32
ELECTRICITY
Abstract
Apparatuses for a set of cryptographically protected and filtered and also sorted transaction data records of a link of a blockchain and to a method for forming a set of the sorted transaction data records is provided. One aspect is an apparatus for providing a set of cryptographically protected and filtered transaction data records from a set of integrity-checked and semantically sorted transaction data records of a link of a blockchain, which link is formed in particular using the method of providing at least one such link of a blockchain and coupling to a filtering device that ascertains the set of filtered transaction data records from the set of checked and semantically sorted transaction data records of the blockchain by using a filter criterion, and outputting the ascertained set of filtered transaction data records.
Claims
1. A method for forming a set of cryptographically protected and semantically sorted transaction datasets of a distributed database system from a set of unsorted transaction datasets, the method comprising: a) forming at least one second block of a distributed database system that has been chained or is chained to a first block thereof or a further distributed database system; b) defining at least one search term in the second block or reading at least one previously defined search term that the second block contains; c) selecting a transaction dataset from a set of unsorted transaction datasets, wherein the selected transaction dataset has been checked for integrity; d) assigning the selected transaction dataset to the defined or read search term or to one of the defined or read search terms; e) repeating steps b) to d) until a predefinable number of transaction datasets to be selected is reached and/or the set of unsorted transaction datasets is empty; f) semantically sorting the selected and assigned transaction datasets on a basis of a predefinable sorting criterion, wherein the assigned search terms are put in an order corresponding to the sorting criterion; and g) forming the set of cryptographically protected and semantically sorted transaction datasets using the order.
2. The method as claimed in claim 1, wherein in a case of a plurality of defined or read search terms in the second block, these are arranged in a search tree, wherein the search terms form the nodes of the search tree.
3. The method as claimed in claim 1, wherein a search term is formed from a main term and a plurality of sub-terms, in each case separated by a separation symbol.
4. The method as claimed in claim 3, wherein the search term is arranged hierarchically with a main term in a root node of the search tree as far as a furthest-away subordinate sub-term in a leaf node of the search tree and a separation symbol possibly identifies an edge of the search tree situated between the associated nodes.
5. A device for providing a set of cryptographically protected and filtered transaction datasets from a set of integrity-checked and semantically sorted transaction—datasets of a block of a distributed database system that is formed according to the method as claimed in claim 1, the device comprising: a processor, wherein the processor is configured for providing at least one such block of a distributed database system, wherein the processor is configured for coupling the provision means to a filtering apparatus that determines the set of filtered transaction datasets from the set of checked and semantically sorted transaction datasets of the distributed database system using a filtering criterion, and wherein the processor is configured for providing the determined set of filtered transaction datasets.
6. A filtering apparatus suitable for coupling to the provision means of the device as claimed in claim 1, wherein the processor is configured for determining a set of filtered transaction datasets from the set of integrity-checked and sorted transaction datasets of a distributed database system using the filtering criterion.
7. The filtering apparatus as claimed in claim 6, wherein the filtering criterion is able to be defined using a further search term and/or at least part of the further search term that is identical to the search term in the provided block of the distributed database system or is able to be derived therefrom or is derived therefrom.
8. An access unit comprising a filtering apparatus as claimed in claim 7, wherein the further search term is able to be defined by a device or a plurality of devices of a group and/or is able to be subscribed to such that the transaction datasets assigned to the search term are subscribed to thereby, and only the blocks of the distributed database system that contain the defined and/or subscribed-to transaction datasets are forwarded to the device or the plurality of devices.
9. A communication network arrangement comprising: at least one network node processing a distributed database system and that in each case has a device as claimed in claim 5, one or more devices that are assigned to a group, at least one filtering apparatus as claimed in one of the preceding apparatus claims or at least one access unit as claimed in the preceding access unit claim, and comprising a network infrastructure by way of which the components are able to communicate with one another.
10. The communication arrangement as claimed in claim 9, wherein a publish-subscribe protocol is able to be applied in the network infrastructure, in which the filtering apparatus is configured to allow the one or more devices of the group to subscribe to and/or define search terms.
11. A computer program product, comprising a computer readable hardware storage device having computer readable program code stored therein, said program code executable by a processor of a computer system to implement the method as claimed in claim 1.
Description
BRIEF DESCRIPTION
(1) Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:
(2)
(3)
(4)
(5)
(6) Functionally identical elements are provided with the same reference signs in the figures unless specified otherwise.
DETAILED DESCRIPTION
(7) As already described at the outset,
(8)
(9) The blocks may in each case comprise a hash (function) value, which may serve as root hash value TxR of a hash tree TT, to form their transactions T. The hash tree, also called search tree, is designed such that it contains both a hash value, for example H01, H23, regarding the next node containing the hash values H0 and H1 of the hash tree TT and at least one search term—as shown in
(10) This has the advantage that the transactions of a “search term” are able to be checked efficiently. A node BCN (see
(11) The structure of the tree HT may be fixedly predefined or it may be determined adaptively (per block or over longer periods of time). The structure of the tree HT (that is to say the sorting) may furthermore be published as a transaction in the blockchain. The information is thereby easily able to be evaluated and may possibly be adapted.
(12) It is thereby efficiently possible to evaluate the blockchain transactions even for IoT nodes, for example in the Internet of Things. The transactions regarding a “search term” are accordingly not distributed arbitrarily in the Merkle tree.
(13) According to
(14) The topic or the search term in the example of
(15)
(16) In this case, there may be a 1:1 assignment of the blockchain search term to the Pub Sub topics (further search terms, see above), that is to say the terms are identical. Blockchain search terms may also be assigned to Pub Sub topics and vice versa via a table Tab that may be integrated into the gateway G. This has the advantage that a blockchain infrastructure is easily able to be used by IoT devices or Industry 4.0 devices, for example FD1, FD2, without the devices themselves having to support the blockchain technology. They are able to access blockchains via PubSub protocols that may be used in the IoT environment. A topic (further search term) may be defined and subscribed to by a device for example via a user interface and/or predefined by a device, for example FD3, as projection data (for example application field: Industry 4.0, system: substation, device x in the substation, region: state of Munich, operator: Eon, etc.). To this end, a transaction is assigned to a topic (for example by a (sorting) attribute). A topic may in this case be structured hierarchically (topic tree), for example topic1.topic2.topic3 (also see above). Namespaces may for example be used as a topic in order accordingly to be able to use the group communication for a particular topic. One example is a virtual power plant (VPP) belonging to Eon in the region of the state of Munich (M-state) that has a separate group for the communication of infeed reductions: VPP.eon.M-state-Poing.reduce infeed (see
(17) The sorting criterion or the multiplicity of sorting attributes may be predefined explicitly, for example administratively, or determined implicitly depending on the transaction. A hash value of the smart contract or of part of the smart contract may be formed and used as sorting criterion.
(18) In the communication arrangement (see
(19)
(20) The method in this case comprises the following steps:
(21) S01: forming one or more (second) block(s) of a blockchain that has been chained or is chained to a first block thereof or a further blockchain. As already mentioned above, the first block may be a starting block and/or Genesis block (originating block).
(22) S02: defining at least one search term in the second block or each second block or reading at least one previously defined search term that the second block contains. The search terms have already been explained above;
(23) S03: selecting a transaction dataset from the set M (see for example
(24) S04: assigning the selected transaction dataset to the defined or read search term or to one of the defined or read search terms;
(25) B1: repeating steps S02 to S04 until a predefinable number of transaction datasets to be selected is reached and/or the set of unsorted transaction datasets is empty;
(26) S05: semantically sorting the selected and assigned transaction datasets on the basis of a predefinable sorting criterion, wherein the assigned search terms are put in an order corresponding to the sorting criterion, and
(27) S06: forming the set of cryptographically protected and semantically sorted transaction datasets using the order.
(28) B2: The method is repeated, starting with S01, up to a sufficient length of the blockchain or until a predefinable or predefined number of blocks are formed in the blockchain.
(29) The processes or method sequences described above may be implemented on the basis of instructions that are present in computer-readable storage media or in volatile computer memories (referred to collectively below as computer-readable memories). Computer-readable memories are for example volatile memories such as caches, buffers or RAMs, as well as non-volatile memories such as exchangeable data carriers, hard disks, etc.
(30) The functions or steps described above may in this case be present in the form of at least one set of instructions in/on a computer-readable memory. The functions or steps are in this case not linked to a particular set of instructions or to a particular form of sets of instructions or to a particular storage medium or to a particular processor or to a particular execution scheme, and may be implemented by software, firmware, microcode, hardware, processors, integrated circuits, etc. operating on their own or in any desired combination. In this case, a wide variety of processing strategies may be used, for example series processing using a single processor or multiprocessing or multitasking or parallel processing, etc.
(31) The instructions may be stored in local memories, but it is also possible to store the instructions on a remote system and to access them via a network.
(32) The term “processor”, “central signal processing”, “control unit” or “data evaluation means” as used here comprises processing means in the broadest sense, that is to say for example servers, universal processors, graphics processors, digital signal processors, application-specific integrated circuits (ASICs), programmable logic circuits such as FPGAs, discrete analog or digital circuits and any desired combinations thereof, including all other processing means known to a person skilled in the art or developed in the future. Processors may in this case consist of one or more devices or apparatuses or units. If a processor consists of a plurality of devices, these may be designed or configured so as to process or execute instructions in parallel or sequentially.
(33) Although the present invention has been disclosed in the form of preferred embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.
(34) For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements. The mention of a “unit” or a “module” does not preclude the use of more than one unit or module.