US20200366463A1 - Apparatuses for Providing a Set of Cryptographically Protected, Filtered, and Sorted Transaction Data Records of a Link of a Blockchain - Google Patents
Apparatuses for Providing a Set of Cryptographically Protected, Filtered, and Sorted Transaction Data Records of a Link of a Blockchain Download PDFInfo
- Publication number
- US20200366463A1 US20200366463A1 US16/639,870 US201816639870A US2020366463A1 US 20200366463 A1 US20200366463 A1 US 20200366463A1 US 201816639870 A US201816639870 A US 201816639870A US 2020366463 A1 US2020366463 A1 US 2020366463A1
- Authority
- US
- United States
- Prior art keywords
- transaction
- blockchain
- block
- datasets
- search
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/08—Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present disclosure relates to blockchain technology.
- Various embodiments include devices for providing a set of cryptographically protected and filtered and sorted transaction datasets of a block of a blockchain, methods for forming a set of sorted transaction datasets, communication network arrangements, and associated computer program products.
- FIG. 1 shows one example of such a blockchain.
- a blockchain is generally understood to mean a database whose integrity (security against subsequent manipulation) is ensured by storing the one-way function value PH, also called hash value, of the preceding dataset or block B10 in the respective following block B11, that is to say by cryptographic chaining.
- the protection is given by a multiplicity of trusted nodes BCN, illustrated by way of example in FIG. 3 , in a blockchain network N that performs what is known as mining or validation of blocks.
- a new block for example B11 is formed at regular intervals, for example every 10 minutes, and in the process the hash value PH of an existing block is stored therewith.
- a predefinable number, in the example 4 of transactions for example Tx0, Tx1, Tx2 and Tx3 are selected from a set M of transactions for example Tx0, Tx1, Tx2, Tx3, Tx4, Tx5 and Tx6 and are appended in a hash tree in the form of leaves in any desired order, at best a syntactic order numbered from 0 to 3.
- the use of a Merkle tree or Patricia tree is conventional for example as hash trees.
- the root node TxR of such a hash tree is anchored in a block for example B11.
- the blockchain platform Ethereum supports a freely programmable runtime environment, such that the program code of a blockchain may be created flexibly.
- business logic is stored in the transaction dataset and thus in the blockchain or in a blockchain infrastructure node as program code.
- the transaction to be executed is stored in a (chain) block of the blockchain.
- teachings of the present disclosure provide methods and devices that allow efficient and improved processing of those transactions by the nodes that are relevant to the nodes.
- some embodiments of the teachings here include a method for forming a set of cryptographically protected and semantically sorted transaction datasets of a blockchain from a set of unsorted transaction datasets, comprising the following steps:
- search terms in the second block (B11) are arranged in a search tree (TT), wherein the search terms form the nodes of the search tree.
- some embodiments include an access unit (G) comprising a filtering apparatus as described above, characterized in that the further search term is able to be defined by a device (IoT) or a plurality of devices (IoTC, FD1, FD2, FD3) of a group (AN) 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 blockchain that contain the defined and/or subscribed-to transaction datasets are forwarded to the device or the plurality of devices.
- IoT device
- IoTC FD1, FD2, FD3
- AN group
- what is known as a publish-subscribe protocol is able to be applied in the network infrastructure (N), in which the filtering apparatus is designed to allow the one or more devices of the group to subscribe to and/or define search terms.
- FIG. 1 shows an exemplary embodiment in the form of a blockchain according to the prior art
- FIG. 4 shows a flowchart of a method incorporating teachings of the present disclosure.
- the method may be performed in a computer-assisted manner.
- the terms “perform”, “calculate”, “computer-assisted”, “compute”, “establish”, “generate”, “configure”, “reconstruct”, and the like preferably relate to operations and/or processes and/or processing steps that change and/or generate data and/or convert the data into other data, wherein the data may be represented or be present in particular in the form of physical variables, for example in the form of electrical impulses.
- the expression “computer” should in particular be interpreted as broadly as possible in order in particular to cover all electronic devices having data processing properties.
- Some embodiments include a filtering apparatus suitable for coupling to the provision means of the abovementioned device, characterized by determination means for determining a set of filtered transaction datasets from the set of integrity-checked and sorted transaction datasets of a blockchain using the filtering criterion.
- a computer program (product) containing program commands for a network node processing a blockchain, in particular of the type mentioned at the outset, that is configured by way of the program commands that are suitable for executing the methods as described above.
- the computer program product contains program commands for configuring a creation device, for example a 3 D printer, a computer system, and/or a manufacturing machine suitable for creating processors and/or devices, may additionally be provided.
- the uses, devices and computer program (products) may be designed in accordance with the developments/embodiments of the abovementioned method and the developments/embodiments thereof.
- FIG. 1 shows the blocks, for example a first block B10 and a second block B11, of a blockchain.
- the blocks each comprise a plurality of transactions Tx0 to Tx3.
- the hash value PH which is formed depending on the preceding block, may in particular be a cryptographic hash value that is able to be determined for example by way of SHA2-256, SHA2-384, SHA-3, BLAKE2.
- nodes are depicted proceeding from the node containing H1, containing sub-terms such as for example locations “Vaterstetten”, “Poing” and “Aschheim”. These nodes also each contain a hash value that is not illustrated in FIG. 2 .
- the transactions Tx2, Tx1, and Tx0, Tx3 are shown on the leaves of the Merkle tree, these reaching the Merkle tree at the positions shown therein by being semantically sorted from an unsorted set M (see FIG. 1 ) of transactions.
- the hash tree HT for example Merkle tree, Patricia tree or the like
- search term search term
- the transactions of a “search term” are able to be checked efficiently.
- a node BCN (see FIG. 3 ) may load and check the subregion of the tree HT that contains the transactions of this search term. As a result, it is easy to distinguish between different types of transaction.
- a node that wishes to evaluate only particular types of transaction is able to process, in a targeted manner, that or those parts of the tree HT containing relevant transactions.
- the topic or the search term in the example of FIG. 2 consists of the main term “eon” and further subordinate sub-terms “M-state” and “Poing” and finally with the transaction reference “Reduceinfeed”, with a full stop separation symbol between the terms.
- Such a separation symbol could identify an edge between the nodes “eon” and the nodes “M-state” in the tree TT.
- all of the edges of the tree TT could be marked with separation symbols.
- the gateway G generates, from a message of a publish-subscribe protocol (for example XMPP, MQTT, AMQP, OPC UA PubSub) that is provided by a publisher and that is assigned to a topic, a blockchain transaction, the eway in the opposite direction, a transaction, which is dnet, and which is confirmed in a block that is validated, provide it as a PubSub message to subscribers (devices of a group) as a PubSub message that contains the search term of the blockchain transaction as topic.
- a device (not illustrated) that filters the transactions by way of an integrated or (remote) coupled filtering apparatus may preferably be implemented in the gateway or else in one of the nodes BCN. The filtering may be performed using the publish-subscribe approach described above.
- the topic (further search term) determines a filtering criterion using which the filtered transactions or transaction datasets are able to be provided and forwarded to devices, for example IoT, or other nodes BCN.
- a topic 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 Kunststoff, operator: Eon, etc.).
- 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.
- nodes that are deemed to be trusted are able to code information about the real world into a blockchain transaction and thus make information from the real world accessible to smart contracts in the blockchain (https://blog.ledger.co/hardware-oracles-bridging-the-real-world-to-the-blockchainca97c2fc3e6c#.lu511vbrd).
- FIG. 4 shows a flowchart of an example method incorporating teachings of the present disclosure. Since a blockchain is a decentralized, distributed database, it is normally possible to communicate with one of the multiplicity of identical blockchain nodes, for example BCN in FIG. 3 .
- the example method in this case comprises:
- 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.
- the first block may be a starting block and/or Genesis block (originating block).
- 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.
- 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.
- 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.
- 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.
- 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.
Abstract
Forming a set of protected and sorted transaction datasets of a blockchain may include: a) forming a second block chained to the first block; b) defining a search term in the second block; 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 search term; e) repeating steps b) to d) until a predefined number of transaction datasets to be selected is reached or the set of unsorted transaction datasets is empty; f) semantically sorting the selected and assigned transaction datasets on the basis of a predefined sorting criterion, wherein the assigned search terms are in an order corresponding to the sorting criterion; and g) forming the set of cryptographically protected and semantically sorted transaction datasets using the order.
Description
- This application is a U.S. National Stage Application of International Application No. PCT/EP2018/065299 filed Jun. 11, 2018, which designates the United States of America, and claims priority to EP Application No. 17186826.8 filed Aug. 18, 2017, the contents of which are hereby incorporated by reference in their entirety.
- The present disclosure relates to blockchain technology. Various embodiments include devices for providing a set of cryptographically protected and filtered and sorted transaction datasets of a block of a blockchain, methods for forming a set of sorted transaction datasets, communication network arrangements, and associated computer program products.
- A large number of transactions of different types may be contained in a single blockchain. If a blockchain is used for industrial applications, for example to control a smart energy grid, nodes of the network may have to process a multiplicity of transactions that are irrelevant to them. Blockchain technology or distributed ledger technology is at present a technology that is subject to intense discussion. It is described inter alia at https://en.wikipedia.org/wiki/Blockchain (database).
-
FIG. 1 shows one example of such a blockchain. A blockchain is generally understood to mean a database whose integrity (security against subsequent manipulation) is ensured by storing the one-way function value PH, also called hash value, of the preceding dataset or block B10 in the respective following block B11, that is to say by cryptographic chaining. The protection is given by a multiplicity of trusted nodes BCN, illustrated by way of example inFIG. 3 , in a blockchain network N that performs what is known as mining or validation of blocks. - In the network of nodes participating in a blockchain, a new block for example B11 is formed at regular intervals, for example every 10 minutes, and in the process the hash value PH of an existing block is stored therewith. In this case, a predefinable number, in the example 4, of transactions for example Tx0, Tx1, Tx2 and Tx3 are selected from a set M of transactions for example Tx0, Tx1, Tx2, Tx3, Tx4, Tx5 and Tx6 and are appended in a hash tree in the form of leaves in any desired order, at best a syntactic order numbered from 0 to 3. The use of a Merkle tree or Patricia tree is conventional for example as hash trees. The root node TxR of such a hash tree is anchored in a block for example B11.
- Transactions Tx0, Tx1, Tx2, Tx3 cannot be changed without being noticed once they arise in the blockchain. The validity or the integrity of transactions to be stored in the block is checked in this mining process. The transaction may be executed by way of a transaction dataset. A transaction is understood to mean a reciprocal transmission of virtual or real goods or of a payment (for example by way of Bitcoin or Ethereum) or other information from a sender to a receiver. In the case of Bitcoin, a relatively simple stack-based runtime environment is used in order to check the reliability of a transaction. A transaction in this case comprises the checksum for checking the validity of the transaction.
- The blockchain platform Ethereum supports a freely programmable runtime environment, such that the program code of a blockchain may be created flexibly. In this case, for example, business logic is stored in the transaction dataset and thus in the blockchain or in a blockchain infrastructure node as program code. In this sense, the transaction to be executed is stored in a (chain) block of the blockchain. In this connection, it is accordingly barely possible to draw a distinction between the transaction to be executed and the transaction dataset that is configured for the execution of the transaction.
- In the case of blockchains, it is possible for some nodes to completely validate a block, that is to say check all of the transactions of a block. Since this is burdensome, simple validation nodes that validate only individual transactions are also conceivable. To this end, they should in each case comb through and check the path through the hash tree of the transactions in question.
- In addition to a mining process as proof of work, alternatives are also known, in particular a proof of stake, in which a block is confirmed by a pseudo-randomly but deterministically selected blockchain node, or an access-controlled blockchain (permissioned blockchain). A blockchain-protected and thus cryptographically protected transaction dataset generally comprises program code. The term “smart contract” is understood to mean a program code in which conditions may be defined at the time of creation and evaluated at its runtime, such that particular transactions of a certain (monetary) amount to one particular or several particular receivers may or may not be performed.
- The teachings of the present disclosure provide methods and devices that allow efficient and improved processing of those transactions by the nodes that are relevant to the nodes. For example, some embodiments of the teachings here include a method for forming a set of cryptographically protected and semantically sorted transaction datasets of a blockchain from a set of unsorted transaction datasets, comprising the following steps:
-
- a) forming at least one second block (B11) of a blockchain that has been chained or is chained to a first block (B10) thereof or a further blockchain,
- 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 (Tx0) from the set (M) of unsorted transaction datasets (Tx0 to Tx6), wherein the selected transaction dataset has been checked for integrity,
- d) assigning the selected transaction dataset (Tx0) 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 the 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 (Tx2, Tx1, Tx0, Tx3) using said order.
- In some embodiments, in the case of a plurality of defined or read search terms in the second block (B11), these are arranged in a search tree (TT), wherein the search terms form the nodes of the search tree.
- In some embodiments, a search term is formed from a main term and a plurality of sub-terms, possibly in each case separated by a separation symbol.
- In some embodiments, the search term is arranged hierarchically with the main term in the root node of the search tree as far as a furthest-away subordinate sub-term in the leaf node of the search tree and a separation symbol possibly identifies an edge of the search tree situated between the associated nodes.
- As another example, some embodiments include a device for providing a set of cryptographically protected and filtered transaction datasets from a set of integrity-checked and semantically sorted transaction datasets (Tx2, Tx1, Tx0, Tx3) of a block (B10, B11) of a blockchain that is formed in particular according to the method as described above, having: provision means for providing at least one such block of a blockchain and coupling means 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 blockchain using a filtering criterion, and output means for providing the determined set of filtered transaction datasets.
- As another example, some embodiments include a filtering apparatus suitable for coupling to the provision means of the device as described above, characterized by determination means for determining a set of filtered transaction datasets from the set of integrity-checked and sorted transaction datasets (Tx2, Tx1, Tx0, Tx3) of a blockchain (B11) using the filtering criterion.
- In some embodiments, 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 blockchain or is able to be derived therefrom or is derived therefrom.
- As another example, some embodiments include an access unit (G) comprising a filtering apparatus as described above, characterized in that the further search term is able to be defined by a device (IoT) or a plurality of devices (IoTC, FD1, FD2, FD3) of a group (AN) 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 blockchain that contain the defined and/or subscribed-to transaction datasets are forwarded to the device or the plurality of devices.
- As another example, some embodiments include a communication network arrangement comprising the following components: at least one network node (BCN) processing a blockchain and that in each case has a device as described above, one (IoT) or more devices (IoTC, FD1, FD2, FD3) that are assigned to a group (AN), at least one filtering apparatus as described above or at least one access unit (G) as described above, and a network infrastructure (N) by way of which said components are able to communicate with one another.
- In some embodiments, what is known as a publish-subscribe protocol is able to be applied in the network infrastructure (N), in which the filtering apparatus is designed to allow the one or more devices of the group to subscribe to and/or define search terms.
- As another example, some embodiments include a computer program product containing program commands for a network node (BCN) processing a blockchain and that is configured by way of the program commands that are suitable for executing the method as described above.
- The above-described properties, features, and advantages of the teachings herein and the way in which these are achieved will become clearer and better comprehensible in connection with the following description of the exemplary embodiments that are explained in more detail in connection with the figures. In this case, in each case schematically:
-
FIG. 1 shows an exemplary embodiment in the form of a blockchain according to the prior art; -
FIG. 2 shows an exemplary embodiment incorporating teachings of the present disclosure in one or more transaction dataset(s) incorporated into a block of a blockchain; -
FIG. 3 shows an exemplary embodiment of how the teachings of the present disclosure may be embedded into a network infrastructure; -
FIG. 4 shows a flowchart of a method incorporating teachings of the present disclosure. - Some embodiments of the teachings herein include a method for forming or for generating a set of cryptographically protected and semantically sorted transaction datasets of a blockchain from a set of unsorted transaction datasets, comprising the following steps: a) forming at least one second block of a blockchain that has been chained or is chained to a first block thereof or a further blockchain, 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 the 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 the 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 said order.
- Such methods may be repeated such that it is ultimately possible to form or generate a plurality of blocks beginning with a starting block, which may also be the originating block (Genesis block), wherein each block on its own may accordingly contain a check function of the type mentioned at the outset or sub-functions thereof. “Semantically sorted” as used herein is understood to mean that the sorting depends on the meaning of a search term. In this case, the semantic sorting may, purely randomly, give the same order as in the syntactic sorting mentioned at the outset in the arrangement of said transactions. This is however generally not the case. The order of the arranged transactions normally turns out differently semantically than it does syntactically or even than it does in unsorted form.
- A search term may in this case be formed from a main term and one or more further subordinate sub-terms. A separation symbol, for example “.”, may in each case be inserted between the main term and the sub-terms. In the case of a plurality of defined or read search terms in said second block, these may be arranged in a search tree, e.g. a hash tree, wherein the search terms form the nodes of the search tree. A search term may also be arranged hierarchically with the main term in the root node of the search tree as far as a furthest-away subordinate sub-term in the leaf node of the search tree, wherein a separation symbol possibly identifies an edge of the search tree situated between the associated nodes. The search tree of a block is thus structured on the basis of search terms.
- The method may be performed in a computer-assisted manner. Unless specified otherwise in the following description, the terms “perform”, “calculate”, “computer-assisted”, “compute”, “establish”, “generate”, “configure”, “reconstruct”, and the like preferably relate to operations and/or processes and/or processing steps that change and/or generate data and/or convert the data into other data, wherein the data may be represented or be present in particular in the form of physical variables, for example in the form of electrical impulses. The expression “computer” should in particular be interpreted as broadly as possible in order in particular to cover all electronic devices having data processing properties. Computers may thus for example be personal computers, servers, programmable logic controllers (PLCs), hand-held computer systems, pocket PC devices, mobile radio devices and other communication devices able to process data in a computer-assisted manner, processors and other electronic data processing devices.
- “Computer-assisted” as used in this disclosure may 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 may include, for example, a machine or an electronic circuit. A processor may include a main processor (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 storage unit for storing program commands, etc. A processor may 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). A processor may include a virtualized processor, a virtual machine, or a soft CPU. It may also be for example a programmable processor that is equipped with configuration steps for executing the methods described herein or configured by way of configuration steps such that the programmable processor implements the features of the methods, the components, the modules, the means, or other aspects and/or partial aspects of the teachings herein.
- A “storage unit” may include for example a memory in the form of working memory (random access memory, RAM) or a hard drive. Memory may include for example a processor and/or a storage unit for storing program commands. By way of example, the processor is specifically configured so as to execute the program commands such that the processor thereby executes functions in order to implement or perform the methods herein or a step of the methods.
- A blockchain may be used relatively efficiently by nodes, in particular control computers or devices in an industrial IoT (Internet of Things) environment. Real-time behavior is furthermore improved, since less irrelevant information has to be evaluated by these nodes in terms of content. Nevertheless, a common blockchain platform may be used for a multiplicity of different tasks, as a result of which such a blockchain platform is able to be operated efficiently. The blockchain platform may furthermore be executed on different hardware platforms.
- Some embodiments include 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 blockchain that is formed in one or more of the preceding methods, having:
-
- provision means for providing at least one such block of a blockchain and
- coupling means 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 blockchain using a filtering criterion, and
- output means for providing the determined set of filtered transaction datasets.
- “Providing” in connection with the instant disclosure may be understood to mean for example creating, loading, and/or storing the transaction dataset on or from a data carrier or platform.
- The filtering criterion allows simple filtering of the relevant transactions of a blockchain block. The filtering criterion may be organized such that a node is thus able to process not the entire search tree containing all of the transactions, but is rather able to determine, in a targeted manner, a subtree that contains the transactions relevant thereto.
- The filtering criterion may be designed as a kind of “publish-subscribe” criterion. Publish-subscribe protocols, for example MQTT, XMPP, OPC UA PubSub, may be used. In this case, what are known as publisher nodes publish messages, and subscribers, for example devices of a group, receive messages. Search terms identify topics of messages. A publisher (publication node) specifies the topic (or search term) of a message, and subscribers subscribe to the messages about particular topics. The messages are conveyed for example through a message broker. The search terms are in this case generally hierarchically structured, for example using the abovementioned search tree embodiment.
- Some embodiments include a filtering apparatus suitable for coupling to the provision means of the abovementioned device, characterized by determination means for determining a set of filtered transaction datasets from the set of integrity-checked and sorted transaction datasets of a blockchain using the filtering criterion.
- In some embodiments, the filtering apparatus makes provision for the filtering criterion to be 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 blockchain or is able to be derived therefrom or is derived therefrom. The further search term may be a topic of the type already explained above (publish-subscribe) that is assigned to a search term in the search tree or is possibly identical thereto. The assignment or derivation may then be performed by way of an assignment table (search term—topic).
- In some embodiments, there is an access unit comprising a filtering apparatus of the abovementioned type, characterized in that 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 blockchain that contain the defined and/or subscribed-to transaction datasets are forwarded to the device or the plurality of devices. The access unit is thus a kind of gateway in particular for the devices, e.g. for IoT devices (which are often not able to process blockchains). The further search terms or topics may be defined via a user interface (UI). The search terms may also be predefined as projection data for an industrial system. The device may then subscribe to particular further search terms. The transactions that match the further search term are filtered, and only these are executed for said device or made available to the device.
- In some embodiments, there is a communication network arrangement comprising the following components:
-
- at least one network node processing a blockchain and that in each case has a device of the abovementioned type,
- one or more devices that are assigned to a group,
- at least one filtering apparatus of the abovementioned type or at least one access unit according to the abovementioned type, and
- comprising a network infrastructure by way of which said components are able to communicate with one another.
- A publish-subscribe protocol for example of the type already explained above may be applied in the network infrastructure, in the case of which protocol the filtering apparatus is designed to allow the one or more devices of the group to subscribe to and/or define search terms.
- In some embodiments, the network infrastructure may be such that said components are able to communicate with one another in a wired manner or wirelessly via an air interface. The air interface may be designed in accordance with the GSM, UMT, LTE, 5G, WLAN, Zigbee, Bluetooth or NFC, etc. standard.
- In some embodiments, a computer program (product) containing program commands for a network node processing a blockchain, in particular of the type mentioned at the outset, that is configured by way of the program commands that are suitable for executing the methods as described above. In some embodiments, the computer program product contains program commands for configuring a creation device, for example a 3D printer, a computer system, and/or a manufacturing machine suitable for creating processors and/or devices, may additionally be provided. The uses, devices and computer program (products) may be designed in accordance with the developments/embodiments of the abovementioned method and the developments/embodiments thereof.
- Some embodiments include a provision device for storing and/or providing the computer program product. The provision device is for example a data carrier that stores and/or provides the computer program product. In some embodiments, the provision device is for example a network service, a computer system, a server system, in particular a distributed computer system, a cloud-based computer system and/or virtual computer system that stores and/or provides the computer program product preferably in the form of a data stream.
- This provision takes place for example as a download in the form of a program data block and/or command data block, preferably as a file, in particular as a download file, or as a data stream, in particular as a download data stream, of the complete computer program product. This provision may however also for example take place as a partial download that consists of several parts and is downloaded in particular via a peer-to-peer network or is provided as a data stream. Such a computer program product is read into a system for example using the provision device in the form of the data carrier and executes the program commands such that the method according to the invention is executed on a computer or the creation device is configured such that it creates the block and/or the blockchain.
- In the figures, functionally similar elements are provided with the same reference signs unless specified otherwise.
FIG. 1 shows the blocks, for example a first block B10 and a second block B11, of a blockchain. The blocks each comprise a plurality of transactions Tx0 to Tx3. The hash value PH, which is formed depending on the preceding block, may in particular be a cryptographic hash value that is able to be determined for example by way of SHA2-256, SHA2-384, SHA-3, BLAKE2. -
FIG. 2 shows an exemplary embodiment of the teachings of the present disclosure of one or more transaction dataset(s) incorporated into a block of a blockchain. 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, 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
FIG. 2 —“eon” or “Telecom”. The node containing H0 contains the search term “M-city” and the node containing H1 contains the search term for example as a main term “M-state”. - Further nodes are depicted proceeding from the node containing H1, containing sub-terms such as for example locations “Vaterstetten”, “Poing” and “Aschheim”. These nodes also each contain a hash value that is not illustrated in
FIG. 2 . Possible transaction names—as illustrated inFIG. 2 —“Load shedding”, “Reduce infeed”, which as it were represent the root of a following hash tree HT, in the example formed as a Merkle tree, are provided on the leaves of the hash tree TT. The further nodes of the Merkle tree are not illustrated inFIG. 2 . The transactions Tx2, Tx1, and Tx0, Tx3 are shown on the leaves of the Merkle tree, these reaching the Merkle tree at the positions shown therein by being semantically sorted from an unsorted set M (seeFIG. 1 ) of transactions. In other words, the hash tree HT (for example Merkle tree, Patricia tree or the like) of a block is sorted, that is to say the transactions of a block are sorted. As a result, all of the transactions that meet a common sorting criterion (search term) are located in one branch of the tree. - In some embodiments, the transactions of a “search term” are able to be checked efficiently. A node BCN (see
FIG. 3 ) may load and check the subregion of the tree HT that contains the transactions of this search term. As a result, it is easy to distinguish between different types of transaction. A node that wishes to evaluate only particular types of transaction is able to process, in a targeted manner, that or those parts of the tree HT containing relevant transactions. - The structure of the tree HT may be 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. 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.
- According to
FIG. 3 , a device, for example IoT, that is assigned to a group AN, for example to an energy grid, that has subscribed for example to a topic “eon.M-state.Poing.Reduceinfeed”, then only the transactions Tx0 and Tx1 are filtered from the semantically sorted Merkle tree and possibly executed for this device. - The topic or the search term in the example of
FIG. 2 consists of the main term “eon” and further subordinate sub-terms “M-state” and “Poing” and finally with the transaction reference “Reduceinfeed”, with a full stop separation symbol between the terms. Such a separation symbol could identify an edge between the nodes “eon” and the nodes “M-state” in the tree TT. In the same way, all of the edges of the tree TT could be marked with separation symbols. -
FIG. 3 shows, by way of example, a communication network arrangement comprising nodes BCN that are able to form a blockchain (distributed database) and that are able to communicate with one another via a network infrastructure N that is indicated by the arrows. The abovementioned device IoT is additionally provided. The group AN comprises for example further devices FD1, FD2, FD3 and an IoT controller IoTC that is connected to the device IoT. A gateway G is also provided in the communication arrangement. This may be implemented for example as a server, appliance or as a cloud-based service (for example a specific app for an industrial platform). The gateway G generates, from a message of a publish-subscribe protocol (for example XMPP, MQTT, AMQP, OPC UA PubSub) that is provided by a publisher and that is assigned to a topic, a blockchain transaction, the eway in the opposite direction, a transaction, which is dnet, and which is confirmed in a block that is validated, provide it as a PubSub message to subscribers (devices of a group) as a PubSub message that contains the search term of the blockchain transaction as topic. A device (not illustrated) that filters the transactions by way of an integrated or (remote) coupled filtering apparatus may preferably be implemented in the gateway or else in one of the nodes BCN. The filtering may be performed using the publish-subscribe approach described above. The topic (further search term) determines a filtering criterion using which the filtered transactions or transaction datasets are able to be provided and forwarded to devices, for example IoT, or other nodes BCN. - In some embodiments, there may be a 1:1 assignment of the blockchain search term to the PubSub topics (further search terms, see above), that is to say the terms are identical. Blockchain search terms may also be assigned to PubSub 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
FIG. 2 ). - 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. In the communication arrangement (see
FIG. 3 ) a node BCN may also be formed as a blockchain oracle. By virtue of what are known as blockchain oracles, nodes that are deemed to be trusted are able to code information about the real world into a blockchain transaction and thus make information from the real world accessible to smart contracts in the blockchain (https://blog.ledger.co/hardware-oracles-bridging-the-real-world-to-the-blockchainca97c2fc3e6c#.lu511vbrd). -
FIG. 4 shows a flowchart of an example method incorporating teachings of the present disclosure. Since a blockchain is a decentralized, distributed database, it is normally possible to communicate with one of the multiplicity of identical blockchain nodes, for example BCN inFIG. 3 . - The example method in this case comprises:
- 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).
- 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;
- S03: selecting a transaction dataset from the set M (see for example
FIG. 1 ) of unsorted transaction datasets, wherein the selected transaction dataset has been checked for integrity; and - S04: assigning the selected transaction dataset to the defined or read search term or to one of the defined or read search terms;
- 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;
- 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
- S06: forming the set of cryptographically protected and semantically sorted transaction datasets using said order.
- 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.
- Although the teachings have been described and illustrated in more detail through the exemplary embodiments, the scope of the disclosure is not restricted by the disclosed examples and other variations may be derived therefrom by a person skilled in the art without departing from the scope of protection herein.
- In some embodiments, 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.
- 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.
- 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.
- 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.
Claims (11)
1. A method for forming a set of cryptographically protected and semantically sorted transaction datasets of a blockchain from a set of unsorted transaction datasets, the method comprising:
a) forming a second block of a blockchain chained to a first block of a blockchain;
b) defining a search term in the second block or reading a previously defined search term contained in the second block;
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 search term;
e) repeating steps b) to d) until a predefined 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 the basis of a predefined sorting criterion, wherein the assigned search terms are 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 the case of a plurality of defined or read search terms in the second block, the plurality is arranged in a search tree, wherein the search terms form 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.
4. The method as claimed in claim 3 , wherein the search term is arranged hierarchically with the main term in a root node of the search tree as far as a furthest-away subordinate sub-term in the leaf node of the search tree and a separation symbol 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, the device comprising:
provision means for:
forming a second block of a blockchain chained to a first block of a blockchain;
and
defining a search term in the second block or reading a previously defined search term contained in the second block;
coupling means for coupling the provision means to a filtering apparatus;
filtering means for selecting a transaction dataset from a set of unsorted transaction datasets, wherein the selected transaction dataset has been checked for integrity, assigning the selected transaction dataset to the search term, and semantically sorting the selected and assigned transaction datasets on the basis of a predefined sorting criterion, wherein the assigned search terms are in an order corresponding to the sorting criterion, and determining the set of filtered transaction datasets from the set of checked and semantically sorted transaction datasets of the blockchain using a filtering criterion; and
output means 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 5 , further comprising determination means for determining a set of filtered transaction datasets from the set of integrity-checked and sorted transaction datasets of a blockchain using the filtering criterion.
7. The filtering apparatus as claimed in claim 6 , wherein the filtering criterion is defined using a further search term and/or at least part of the further search term identical to the search term in the provided block of the blockchain 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 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 blockchain 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:
a network node processing a blockchain with device as claimed in claim 5 ,
one or more devices assigned to a group;
a filtering apparatus as claimed in claim 6 ; and
a network infrastructure by way of which said components are able to communicate with one another.
10. The communication arrangement as claimed in claim 9 , wherein:
a publish-subscribe protocol is applied in the network infrastructure; and
the filtering apparatus allows the one or more devices of the group to subscribe to and/or define search terms.
11. (canceled)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17186826.8 | 2017-08-18 | ||
EP17186826.8A EP3444997A1 (en) | 2017-08-18 | 2017-08-18 | Devices to provide a quantity of cryptographically protected and filtered as well as sorted transaction datasets of a link of a block chain |
PCT/EP2018/065299 WO2019034299A1 (en) | 2017-08-18 | 2018-06-11 | Apparatuses for providing a set of cryptographically protected and filtered and also sorted transaction data records of a link of a blockchain |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200366463A1 true US20200366463A1 (en) | 2020-11-19 |
Family
ID=59686770
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/639,870 Abandoned US20200366463A1 (en) | 2017-08-18 | 2018-06-11 | Apparatuses for Providing a Set of Cryptographically Protected, Filtered, and Sorted Transaction Data Records of a Link of a Blockchain |
US16/639,842 Active US11184151B2 (en) | 2017-08-18 | 2018-07-09 | Devices for providing a set of cryptographically secured and filtered and sorted transaction data sets of a block of a blockchain |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/639,842 Active US11184151B2 (en) | 2017-08-18 | 2018-07-09 | Devices for providing a set of cryptographically secured and filtered and sorted transaction data sets of a block of a blockchain |
Country Status (7)
Country | Link |
---|---|
US (2) | US20200366463A1 (en) |
EP (2) | EP3444997A1 (en) |
JP (2) | JP2020531976A (en) |
CN (2) | CN110999214A (en) |
BR (1) | BR112020003304A2 (en) |
ES (1) | ES2878135T3 (en) |
WO (2) | WO2019034299A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200092362A1 (en) * | 2018-09-13 | 2020-03-19 | International Business Machines Corporation | A sparse peer with transient participation |
CN112783983A (en) * | 2021-02-07 | 2021-05-11 | 中国人民解放军国防科技大学 | Self-adaptive consensus method based on major-minor block diagram chain structure block chain account book design |
CN112837156A (en) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | Transaction method and device with fixed execution sequence |
US20210374756A1 (en) * | 2020-05-29 | 2021-12-02 | Mastercard International Incorporated | Methods and systems for generating rules for unseen fraud and credit risks using artificial intelligence |
US11245756B2 (en) | 2018-09-13 | 2022-02-08 | International Business Machines Corporation | Sparse peer with transient participation |
US20220051191A1 (en) * | 2018-09-18 | 2022-02-17 | Siemens Energy Global GmbH & Co. KG | Distributed database |
US11882447B2 (en) | 2018-08-09 | 2024-01-23 | Siemens Aktiengesellschaft | Computer-implemented method and network access server for connecting a network component to a network with an extended network access identifier |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10938578B2 (en) * | 2018-10-18 | 2021-03-02 | Keir Finlow-Bates | System and method for maintaining an integrity of a blockchain using digital certificates |
CN112492006B (en) * | 2018-10-31 | 2023-12-05 | 创新先进技术有限公司 | Node management method and device based on block chain |
US11196567B2 (en) * | 2018-11-26 | 2021-12-07 | Amazon Technologies, Inc. | Cryptographic verification of database transactions |
US10942910B1 (en) | 2018-11-26 | 2021-03-09 | Amazon Technologies, Inc. | Journal queries of a ledger-based database |
KR101997673B1 (en) * | 2018-12-06 | 2019-07-08 | 주식회사 푸시풀시스템 | Digital electronic device based on dual block chain comprising virtual blockchain |
US11868327B2 (en) * | 2019-01-08 | 2024-01-09 | Jiheng ZHANG | Method and apparatus for creating and adding a block based on a directed acyclic graph and building a ledger |
CN110109926B (en) * | 2019-04-25 | 2021-03-16 | 杭州德旺信息技术有限公司 | Ordering device and ordering method for Equihash algorithm data |
US11283595B1 (en) * | 2019-08-29 | 2022-03-22 | Hiro Systems Pbc | Systems and methods for securing cached data stored off-chain in a blockchain-based network |
CN113438219B (en) | 2020-07-08 | 2023-06-02 | 支付宝(杭州)信息技术有限公司 | Playback transaction identification method and device based on blockchain all-in-one machine |
CN111541789A (en) | 2020-07-08 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | Data synchronization method and device based on block chain all-in-one machine |
CN111539829B (en) | 2020-07-08 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | To-be-filtered transaction identification method and device based on block chain all-in-one machine |
CN111541784B (en) | 2020-07-08 | 2021-07-20 | 支付宝(杭州)信息技术有限公司 | Transaction processing method and device based on block chain all-in-one machine |
CN112492002B (en) | 2020-07-08 | 2023-01-20 | 支付宝(杭州)信息技术有限公司 | Transaction forwarding method and device based on block chain all-in-one machine |
CN112256271B (en) * | 2020-10-19 | 2022-11-29 | 中国科学院信息工程研究所 | Block chain intelligent contract safety detection system based on static analysis |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251155B1 (en) * | 2012-05-04 | 2016-02-02 | Paraccel Llc | Maintaining sort order of data in databases |
US10726098B2 (en) * | 2014-01-23 | 2020-07-28 | Dror Samuel Brama | Method, system and program product for transferring genetic and health data |
JP6364132B2 (en) * | 2015-03-31 | 2018-07-25 | ナスダック, インコーポレイテッドNasdaq, Inc. | Blockchain transaction recording system and method |
EP3320457B1 (en) * | 2015-07-10 | 2021-04-07 | Whether Or Knot LLC | System and method for electronic data distribution |
US10346826B2 (en) * | 2015-07-28 | 2019-07-09 | Wesley John Boudville | Blockchain and deep links for mobile apps |
US20170140375A1 (en) | 2015-11-15 | 2017-05-18 | Michael Kunstel | System and Method for Permissioned Distributed Block Chain |
US10013573B2 (en) * | 2015-12-16 | 2018-07-03 | International Business Machines Corporation | Personal ledger blockchain |
EP3394818A4 (en) | 2015-12-21 | 2019-08-14 | Kochava Inc. | Self regulating transaction system and methods therefor |
CN105719185B (en) * | 2016-01-22 | 2019-02-15 | 杭州复杂美科技有限公司 | The data comparison and common recognition method of block chain |
US9979718B2 (en) * | 2016-05-11 | 2018-05-22 | Bank Of America Corporation | System for managing security and access to resource sub-components |
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
US10198325B2 (en) * | 2016-05-24 | 2019-02-05 | Mastercard International Incorporated | Method and system for desynchronization recovery for permissioned blockchains using bloom filters |
CN106100847B (en) * | 2016-06-14 | 2021-10-26 | 惠众商务顾问(北京)有限公司 | Method and device for verifying identity information of asymmetric encryption block chain |
US20180165758A1 (en) * | 2016-12-09 | 2018-06-14 | Cognitive Scale, Inc. | Providing Financial-Related, Blockchain-Associated Cognitive Insights Using Blockchains |
CN106530088B (en) * | 2016-12-19 | 2023-11-17 | 杜伯仁 | Method for trading certificate products based on blockchain security nodes |
US10375105B2 (en) * | 2017-03-03 | 2019-08-06 | International Business Machines Corporation | Blockchain web browser interface |
CN106878000B (en) * | 2017-03-06 | 2020-02-21 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | Alliance chain consensus method and system |
CN106971302A (en) * | 2017-04-17 | 2017-07-21 | 北京工商大学 | A kind of threedimensional model based on block chain technology is really weighed and method of commerce |
US10341105B2 (en) * | 2017-06-07 | 2019-07-02 | At&T Intellectual Property I, L.P. | Blockchain-based social media history maps |
US10664797B2 (en) * | 2017-07-19 | 2020-05-26 | Amazon Technologies, Inc. | Distributed ledger certification |
US10616324B1 (en) * | 2017-07-20 | 2020-04-07 | Architecture Technology Corporation | Decentralized ledger system and method for enterprises |
US11281644B2 (en) * | 2017-07-28 | 2022-03-22 | Hitachi, Ltd. | Blockchain logging of data from multiple systems |
-
2017
- 2017-08-18 EP EP17186826.8A patent/EP3444997A1/en not_active Withdrawn
-
2018
- 2018-06-11 US US16/639,870 patent/US20200366463A1/en not_active Abandoned
- 2018-06-11 WO PCT/EP2018/065299 patent/WO2019034299A1/en active Application Filing
- 2018-06-11 CN CN201880053250.8A patent/CN110999214A/en active Pending
- 2018-06-11 JP JP2020509002A patent/JP2020531976A/en active Pending
- 2018-07-09 US US16/639,842 patent/US11184151B2/en active Active
- 2018-07-09 JP JP2020508984A patent/JP7170712B2/en active Active
- 2018-07-09 WO PCT/EP2018/068475 patent/WO2019034329A1/en unknown
- 2018-07-09 ES ES18746590T patent/ES2878135T3/en active Active
- 2018-07-09 EP EP18746590.1A patent/EP3652656B1/en active Active
- 2018-07-09 BR BR112020003304-9A patent/BR112020003304A2/en not_active IP Right Cessation
- 2018-07-09 CN CN201880067855.2A patent/CN111201754B/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11882447B2 (en) | 2018-08-09 | 2024-01-23 | Siemens Aktiengesellschaft | Computer-implemented method and network access server for connecting a network component to a network with an extended network access identifier |
US20200092362A1 (en) * | 2018-09-13 | 2020-03-19 | International Business Machines Corporation | A sparse peer with transient participation |
US11245756B2 (en) | 2018-09-13 | 2022-02-08 | International Business Machines Corporation | Sparse peer with transient participation |
US20220051191A1 (en) * | 2018-09-18 | 2022-02-17 | Siemens Energy Global GmbH & Co. KG | Distributed database |
US20210374756A1 (en) * | 2020-05-29 | 2021-12-02 | Mastercard International Incorporated | Methods and systems for generating rules for unseen fraud and credit risks using artificial intelligence |
CN112783983A (en) * | 2021-02-07 | 2021-05-11 | 中国人民解放军国防科技大学 | Self-adaptive consensus method based on major-minor block diagram chain structure block chain account book design |
CN112837156A (en) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | Transaction method and device with fixed execution sequence |
Also Published As
Publication number | Publication date |
---|---|
JP2020531976A (en) | 2020-11-05 |
EP3444997A1 (en) | 2019-02-20 |
US11184151B2 (en) | 2021-11-23 |
CN110999214A (en) | 2020-04-10 |
US20200387622A1 (en) | 2020-12-10 |
ES2878135T3 (en) | 2021-11-18 |
WO2019034329A1 (en) | 2019-02-21 |
JP2020531975A (en) | 2020-11-05 |
BR112020003304A2 (en) | 2020-08-25 |
CN111201754B (en) | 2023-08-29 |
CN111201754A (en) | 2020-05-26 |
EP3652656A1 (en) | 2020-05-20 |
WO2019034299A1 (en) | 2019-02-21 |
JP7170712B2 (en) | 2022-11-14 |
EP3652656B1 (en) | 2021-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200366463A1 (en) | Apparatuses for Providing a Set of Cryptographically Protected, Filtered, and Sorted Transaction Data Records of a Link of a Blockchain | |
US20110295855A1 (en) | Graph-Processing Techniques for a MapReduce Engine | |
CN107515878B (en) | Data index management method and device | |
TW202016815A (en) | Method, apparatus and system for executing block chain transaction in parallelized manner | |
CN108055343A (en) | For the method for data synchronization and device of computer room | |
CN107578338B (en) | Service publishing method, device and equipment | |
CN110704438B (en) | Method and device for generating bloom filter in blockchain | |
KR20200062299A (en) | Transaction selection device for selecting blockchain transactions | |
CN104994171A (en) | Distributed storage method and system | |
CN109145053B (en) | Data processing method and device, client and server | |
US10712731B2 (en) | Control device, control method, and non-transitory computer-readable recording medium | |
CN111897623A (en) | Cluster management method, device, equipment and storage medium | |
CN103595769A (en) | Method and device for achieving file uploading through SDK | |
CN112882690B (en) | Application development method and device | |
EP3138019B1 (en) | Validating analytics results | |
CN113077260A (en) | Data access method and device based on block chain and electronic equipment | |
EP2942711B1 (en) | Dynamic generation of proxy connections | |
CN108021448B (en) | Kernel space optimization method and device | |
CN105512168A (en) | Cluster database composite data loading method and apparatus | |
CN109086362A (en) | The management method of multimode project | |
CN114003210A (en) | SDK-based multi-application program adaptation method, device, equipment and medium | |
CN110019008A (en) | Data storage method and device | |
CN110297843B (en) | Data query method and system for B/S system and terminal | |
CN108228708B (en) | Big data ETL system and scheduling method thereof | |
US20190243913A1 (en) | Event table management using type-dependent portions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FALK, RAINER;REEL/FRAME:051845/0674 Effective date: 20200115 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |