COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR LINKING A BLOCKCHAIN ​​TO A SET OF DIGITAL TWINS

By employing blockchain technology to store data from digital twins, the challenges of data immutability, security, and accessibility are addressed, resulting in enhanced reliability and efficiency for digital twin applications.

JP7649595B2Active Publication Date: 2025-03-21NCHAIN LICENSING AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023210680
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-03-23
Filing Date
2023-12-14
Publication Date
2025-03-21
Estimated Expiration
2038-10-23

AI Technical Summary

Technical Problem

Current digital twin technologies face challenges in ensuring data immutability, security, and accessibility, particularly in real-time applications, which can lead to operational errors, data loss, and inefficiencies.

Method used

Utilizing blockchain technology as a storage system for data from digital twins, which generates an immutable transaction history, ensures data integrity, and provides secure, distributed storage, while also enabling the implementation of digital smart contracts.

Benefits of technology

This approach enhances the reliability and security of digital twins by ensuring data immutability and accessibility, reducing the risk of operational errors, and improving efficiency in managing large data sets from multiple digital twins.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007649595000001
    Figure 0007649595000001
  • Figure 0007649595000002
    Figure 0007649595000002
  • Figure 0007649595000003
    Figure 0007649595000003
Patent Text Reader

Abstract

To provide a computer-implemented method and system, which use the blockchain technology as a storage system for data acquired from a set of digital twins.SOLUTION: A blockchain can be used to generate an immutable transaction history of data produced by a set of digital twins. In case of an error or failure, parties of interest can then access and analyze an immutable record of data. The invention may be used in conjunction with the Bitcoin blockchain or another blockchain protocol.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This specification relates generally to computer-implemented methods and systems suitable for implementation with blockchain networks. The present invention is particularly, but not exclusively, suitable for use with the Bitcoin blockchain. The present invention also relates to security, integrity, and efficiency in computer-implemented systems. [Background technology]

[0002] Industrial assets are designed relying on various models and a huge number of data sources. Data scientists work with huge amounts of data while specialized teams generate models and perform analysis separately for their own research. Most current information and calculations may not be immediately available for critical decisions. Such in silos research methods cause costs and inefficiencies, generate uncertainty, and waste a huge amount of time and resources.

[0003] A digital twin is a virtual dynamic copy of a real object, process or service that can be tested and prevented from errors or failures. It is possible to generate digital twins of products, mechanical parts of aircraft or vehicles, production processes, etc. Digital twins can be understood as a revolutionary combination of simulation and real-time data and responses.

[0004] The behavior of a simulation of a process or system presupposes knowledge of how all variables involved in the simulation have behaved in the past, and a sufficiently large time frame during which the system under test is observed and all input / output variables are recorded. Having past knowledge is essential to build a good simulator. The possibility of adding real-time information to this process can dramatically improve the accuracy and precision of the entire simulation, up to the point of mirroring the exact behavior of the system or process.

[0005] Figure 1 shows a simple schematic of a digital twin for a physical system. Sensors collect data about the physical system, which could be, for example, parts of an aircraft. The historical data is used to build a digital twin, which then develops a simulation of the physical system as more real-time data is fed into the system. The digital twin can be used to monitor parameters of the physical system, evaluate the current state of the physical system, predict the future state of the physical system, and perform tests and predict failures as mentioned above. Summary of the Invention

[0006] As discussed below, a number of problems have been identified with current digital twin technology.

[0007] The reliability and security of a digital twin depends on the security of the data on which it relies. The data should ideally be immutable so that the operation of the digital twin cannot be tampered with during real-time operation and correctly reflects the state of the physical system. This can be important, for example, to prevent third parties from tampering with the data and causing the digital twin to not correctly represent the real-time state of the physical system. This can result in the digital twin providing erroneous information that can lead to operational errors or failures in the physical system.

[0008] Furthermore, the stored data should be immutable so that an accurate and reliable historical record of the system's performance is kept. This may be important, for example, when a physical system fails and the data needs to be examined to see why the physical system failed, and where liability exists on the part of the user or manufacturer of the physical system. This may also be important in processes where certain actions may depend on the execution of earlier steps. In this case, a third party may modify the stored data to make it appear as if a certain action has been performed, and thus erroneously trigger further actions when in fact it has not.

[0009] A further problem is that of accessibility of the data to each of multiple interested parties, who may have conflicting interests, and therefore it is advantageous to have an accurate and unbiased record of the data that is accessible by all parties, yet secure and immutable.

[0010] A further problem is that traditional data storage solutions, such as aircraft black box recorders, can be damaged or lost in the event of an accident.

[0011] A further problem is the scenario where a further action is required once a previous action is completed; the digital twin can indicate that a further action is required, but cannot guarantee that it will actually be performed. For example, the digital twin may indicate that a particular physical process has been completed, and therefore require a further step, such as payment for the completion of the physical process. However, the digital twin cannot guarantee that such a payment will actually be made, and therefore must trust the parties to the process to pay, or rely on the trustworthiness of the provider of the process to pay up front, to properly complete the process.

[0012] The aim of certain embodiments of the present invention is to solve the above mentioned problems by providing a solution as described herein.

[0013] The aforementioned problems can be solved using blockchain technology as a storage system for data acquired from a physical system and processes, including real-time applications using digital twins. Data generated from a digital twin can be, for example, data associated with one or more parameters of the physical system generated by one or more sensors monitoring one or more parameters of the physical system. Blockchain can be used to generate an immutable transaction history of data generated by the digital twin. In the event of an error, failure, accident, or disaster, interested parties can access and analyze the immutable data set. This can be particularly important in safety-critical systems such as aircraft. Furthermore, blockchain provides distributed storage of data, making it less susceptible to damage or loss of individual storage units. Still further, data from the digital twin can be utilized in the implementation of digital smart contracts on the blockchain network. This can ensure that steps can be performed according to data received by the digital twin that indicates the state of the physical system by the blockchain network. That is, the blockchain network can be used to execute digital smart contracts with multiple parties involved in a system or process incorporating a digital twin.

[0014] Current blockchain technology can meet the aforementioned functions when a relatively small amount of data needs to be stored in a relatively infrequent time period. However, block size limitations and the fact that blocks are only incorporated into the blockchain approximately every 10 minutes mean that standard blockchain technology is not well suited as a storage system for real-time applications where the amount of data generated is very large and / or there is a requirement to store data with high frequency / fidelity, for example every second or every millisecond. An approach that overcomes these problems is described herein to utilize blockchain as a storage system for real-time systems.

[0015] The embodiments of the present invention may be provided in various forms. For example, a computer-readable storage medium may be provided that includes computer-executable instructions that, when executed, configure one or more processors to perform the methods described herein. An electronic device may also be provided, the electronic device including an interface device, one or more processors coupled to the interface device, and a memory coupled to the one or more processors, the memory storing computer-executable instructions that, when executed, configure the one or more processors to perform the methods described herein. The computer-implemented methods described herein may also be implemented in one or more of a digital twin, a buffer, a blockchain network node, or a system including a combination of the above components. The components may be located remotely from each other, or one or more of the components may be integrated.

[0016] As described in the detailed description, a computer-implemented method is provided for a blockchain network, the computer-implemented method including receiving data from a set of digital twins, storing the data in an accessible distributed storage system, calculating a digest of a data structure representing a condensed version of the data received from the set of digital twins, and transmitting the digest for storage on a blockchain.

[0017] In the detailed description, an embodiment is described in which the distributed storage system includes a distributed hash table and the digest of the data structure is the root of a Merkle tree derived from the data received from the set of digital twins. However, the method may also be implemented using a different cryptographic function with an associated digest of a data structure that represents a compressed version of the data received from the set of digital twins.

[0018] A data structure (e.g., a Merkle tree) can be configured to identify in which node of a distributed storage system (e.g., a distributed hash table) data is stored. Furthermore, the data structure can be stored in an accessible distributed storage system. Furthermore, the digest of the data structure (e.g., the root of a Merkle tree) can be sent to a buffer before being transferred for storage on the blockchain, and the buffer can select a sampling frequency for the information represented by the digest of the data structure. The buffer can generate a message including the information of the digest and send the message through a secure channel for storage on the blockchain. A receiver can receive the message from the buffer and access the distributed storage system to verify the message. After verification, the receiver can then send the digest of the data structure for storage on the blockchain.

[0019] According to a particular configuration, a second data structure may be provided having a second digest derived from the data received from the set of digital twins (e.g., a second Merkle tree having a second root derived from the data received from the set of digital twins). The digest from each data structure may be stored in an accessible distributed storage system. Further, the digest from each data structure may be stored in a buffer. The buffer may then access the distributed storage system with both digests to check if the digests are the same, and if so, the buffer may send one of the digests for storage on the blockchain. Otherwise, if the digests are found to be different, the digests may be verified to detect which digital twin is not responding.

[0020] A computer-readable storage medium is provided that contains computer-executable instructions that, when executed, configure one or more processors to perform the methods described herein.

[0021] Also provided is an electronic device including an interface device, one or more processors coupled to the interface device, and a memory coupled to the one or more processors, the memory storing computer-executable instructions that, when executed, configure the one or more processors to perform a method described herein.

[0022] There is provided a system configured to perform the method described herein, the system including: a set of digital twins; an accessible distributed storage system that stores data from the set of digital twins; a processor that calculates a digest of a data structure representing a condensed version of the data received from the set of digital twins; and a transmitter that transmits the digest for storage on a blockchain.

[0023] The present invention differs from prior art related to digital twins in that it is specifically directed to a blockchain method of managing data streams from a set of digital twins rather than a single digital twin. The inventive concept includes receiving data from a set of digital twins, storing the data in an accessible distributed storage system, computing a digest of a data structure representing a condensed version of the data received from the set of digital twins, and transmitting the digest for storage on a blockchain.

[0024] In the described embodiment, the distributed storage system comprises a distributed hash table and the digest of the data structure is the root of a Merkle tree derived from the data received from the set of digital twins. That is, a common Merkle tree structure is used for the set of digital twins, rather than a separate Merkle tree for each digital twin. The present invention provides a solution to the problem of handling huge amounts of data from digital twins, while also allowing the data to be securely verified. In the present case, the solution allows managing huge amounts of data from a set of digital twins, while compressing the amount of data that needs to be stored on a blockchain, and also allowing the data to be verified. This is in contrast to the prior art, as briefly discussed below.

[0025] US2017 / 0284674 discloses a digital twin system, but does not disclose storing data from such a digital twin system on a blockchain, let alone in the specific manner described herein.

[0026] CN105812126 discloses acquiring human physiological data and storing the data on a blockchain, but does not disclose a method for processing data from a set of digital twins as described herein.

[0027] Carlo Gutierrez's article "Boeing Improves Operations with Blockchain and the Internet of Things" discloses the use of digital twins and storing data on a blockchain. However, this article only provides a relatively high level overview and does not disclose details on how to actually accomplish this. Again, there is no disclosure of a method for processing data from a set of digital twins as described herein.

[0028] Burkhard Blechschmidt's paper "Digital Twin on Blockchain, Enabling the Circular Economy" is another high-level paper on applications involving digital twins and blockchain, but again, there are no details on how to actually accomplish this, and certainly no disclosure of methods for processing data from a set of digital twins as described herein.

[0029] The paper "3D Opportunity for Blockchain" by Trouton et al. also discloses the use of blockchain in conjunction with digital twins to manage system data. Again, there are no details on how the system is configured to process and store the data. In particular, there is no disclosure of a method for processing data streams from a set of digital twins as described herein.

[0030] The paper "Implementing First Industry 4.0 Use Cases with DAG Tangle - Machine Tagging for Digital Twins" by Stocker also discloses the use of blockchain methods combined with digital twins to manage data. Again, there are no details on how the system is configured to process and store the data. In particular, there is no disclosure of a method for processing data from a set of digital twins as described herein. [Brief description of the drawings]

[0031] BRIEF DESCRIPTION OF THE DRAWINGS Aspects of the invention will be apparent from and taught with reference to the embodiments described herein. [Figure 1] A simple schematic diagram of a digital twin for a physical system is shown. [Diagram 2] Here is an example of a Merkle tree: [Diagram 3]Here are two different Merkle trees: [Figure 4] Shown is a system that includes four digital twins, a Merkle tree with a root derived from data from the four digital twins, and the blockchain where the root is stored. [Diagram 5] It illustrates the use of blockchain as proof of existence of data generated by a digital twin; the system is similar to that shown in Figure 4, with the modification that the data from the digital twin is stored in a distributed hash table and a second dual Merkle tree is provided to provide degeneracy if the connection between the digital twin and the blockchain network fails. [Figure 6] 1 shows the parties involved in a Merkle tree-based protocol for incremental hashing of history. [Figure 7] 1 shows the steps involved in a Merkle tree-based protocol for incremental hashing of history. [Figure 8] 1 shows the steps involved in a Merkle tree-based protocol for incremental hashing of history. [Figure 9] FIG. 5 illustrates a mirrored or duplicated Merkle tree that provides for degeneracy in the event that the connection between the digital twin and the blockchain network fails. [Figure 10] Mirrored routes and steps for verification are provided to check the reliability of transmission and maintain consistent data. [Figure 11] FIG. 1 illustrates a schematic diagram of a computing environment in which various embodiments can be implemented. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0032] In this specification, we use the term "blockchain" to encompass all forms of electronic, computer-based, distributed ledgers. These include, but are not limited to, consensus-based blockchain and transaction chain technologies, permissioned and permissionless ledgers, shared ledgers, and variations thereof. Although other blockchain implementations have been proposed and developed, the most widely known application of blockchain technology is the Bitcoin ledger. Bitcoin may be referred to herein for convenience and illustrative purposes, but it should be noted that the present invention is not limited to use with the Bitcoin blockchain, and alternative blockchain implementations and protocols are within the scope of the present invention.

[0033] A blockchain is a consensus-based electronic ledger implemented as a computer-based decentralized distributed system, composed of blocks, which in turn are composed of transactions and other information. In Bitcoin's case, each transaction is a data structure that encodes the transfer of control of a digital asset between participants in the blockchain system and contains at least one input and at least one output. Each block contains a hash of the previous block. These blocks are strung together to create a permanent, immutable record of all transactions written to the blockchain since origin. Transactions contain small programs, known as scripts, that embed their inputs and outputs and specify how and by whom the transaction's outputs are accessible. In the Bitcoin platform, these scripts are written using a stack-based scripting language.

[0034] In order for a transaction to be written to the blockchain, it must be validated. Some network nodes, acting as miners, perform work to ensure that each transaction is validated, and invalid transactions are rejected from the network. For example, a software client installed on the node performs this validation work for transactions that reference unspent transaction outputs (UTXOs). Validation may be performed by executing its lock and unlock scripts. If the execution of the lock and unlock scripts evaluates to TRUE, and if certain other conditions are met, the transaction is valid and the transaction may be written to the blockchain. Thus, for a transaction to be written to the blockchain, it must (i) be validated by the node that received the transaction, and if the transaction is valid, the node relays the transaction to other nodes in the network, (ii) be added to a new block constructed by miners, and (iii) be mined, i.e., added to the public ledger of past transactions. A transaction is considered approved once a sufficient number of blocks have been added to the blockchain to make the transaction truly irreversible. At the time of writing, the Bitcoin blockchain network is based on a block size containing approximately 2000 transactions, and blocks are mined approximately every 10 minutes.

[0035] Although blockchain technology is most widely known for its use in implementing cryptocurrencies, digital entrepreneurs are beginning to exploit the use of both the cryptographic security system on which Bitcoin is based and the data that can be stored on the blockchain to implement new systems. It would be highly advantageous if blockchain could be used to automate tasks and processes that are not limited to what in cryptocurrencies are called payments. Such solutions could make their uses more diverse while taking advantage of the benefits of blockchain (e.g. permanence, tamper resistance of the record of events, decentralized processing, etc.).

[0036] One area of ​​research is the use of blockchain-based computer programs for the implementation of "smart contracts". These are computer programs designed to automate the execution of the terms of a machine-readable contract or agreement. Unlike traditional contracts, which are written in natural language, smart contracts are machine-executable programs that contain rules that can process inputs to generate outcomes, which in turn cause actions to be performed depending on the outcomes.

[0037] This document describes the use of blockchain in combination with digital twins and optionally also in combination with the use of smart contracts. As mentioned above, digital twins can simplify supply management processes and can be important diagnostic tools for safety-critical systems (e.g., aircraft and aviation industry or transportation in general). There are many potential applications for the combination of digital twins and blockchain technology. For example, a blockchain network can be used to securely store information generated by the digital twin or to execute contracts with multiple involved parties related to the system or process that incorporates the digital twin. The digital twin can effectively act as an interface between the physical system and the blockchain. As a result, data related to the system or process can be obtained by the digital twin and stored on the blockchain, and the blockchain can trigger certain actions based on the received data according to one or more smart contracts stored on the blockchain.

[0038] The amount of real-time data generated by a digital twin can vary depending on the complexity of the system being mirrored. For example, a digital twin can be configured to mirror the temperature in an office. In this case, given that room temperatures do not usually have rapid changes, it may be reasonable to send temperature values ​​every minute (or every 5 minutes) to reduce the amount of data sent over the network. If temperature values ​​are every minute, then the digital twin will record and send (in real time) 60 temperature values ​​every hour.

[0039] Such amounts of data are of course feasible for storage on a blockchain and do not pose any major problems. However, the situation becomes more complicated if the system being mirrored is, for example, an engine of an aircraft in flight, or a cylinder of a train in motion. In these examples, sending a value every second may not be enough and it may be necessary to guarantee a higher fidelity, for example a sample every millisecond (which is exactly what happens in the case of an aircraft). Also, the number of variables recorded varies and complex systems may require recording a huge number of variables with high fidelity.

[0040] The need to consider the amount and frequency of data transmitted by a digital twin is an important premise that entails when considering blockchain as a possible backbone infrastructure for storing information related to a particular object or process. The amount of data generated by digital twins is very large, and therefore managing such a huge amount of data can become very challenging when trying to interface the digital twin structure with a blockchain. Described herein is an improved protocol based on Merkle trees and having the following characteristics: (1) We propose a solution that allows to store the very large amount of information generated by a set of digital twins in a DHT (distributed hash table) and to store the corresponding values ​​of the roots of the Merkle trees in a public blockchain. (2) We propose the use of Merkle trees as evidence of the existence of data produced by a set of digital twins, and as a way to identify which nodes in the DHT contain actual data. (3) We propose the concept of mirrored Merkle trees to introduce an additional layer of security and reliability of data transmitted from the buffer to the receiver.

[0041] <Merkle tree> A hash function is a one-way function that takes an input and produces a fixed-length output. A well-designed hash function relies on the property that no two inputs will produce the same output (a collision) with a high probability. A hash can therefore be thought of as a unique identifier for a given piece of content.

[0042] For example, a file F can be stored in a peer-to-peer network by splitting it into small chunks and distributing them across the network. The peers involved in this process are required to provide sufficient bandwidth and disk space. Furthermore, the peers are anonymous and untrusted. Therefore, it can be dangerous to accept F from a peer without first verifying that the content is legitimate.

[0043] Merkle trees have unique properties that allow them to efficiently verify data across a network of peers. A Merkle tree is a binary tree whose nodes store hashes instead of pieces of data, as shown in Figure 2. Leaf nodes store a hash of a piece of data, and parent nodes store a hash of the concatenation of their left and right children.

[0044] A fundamental property is that to compare two Merkle trees, the only element that needs to be checked is the root, as shown in Figure 3. The two Merkle trees are different because the two roots R and S are different. Thus, the two trees represent two different data sets, e.g. {a,b,c,d} on the left and {a,b,c,e} on the right.

[0045] <incremental hash of history> The information stored on the blockchain is not the data generated by the digital twin, but a signed hash of a given amount of data D generated within a given time window T.

[0046] The incremental hashing of history is based on the following steps: (1) The digital twin starts recording data with a given frequency f; (2) Data is recorded on private nodes; (3) At time T0, the node generates a first hash (H0) by hashing the data recorded by the digital twin: at time T0, (H0) = H(D), and records the hash both locally and on the blockchain; (4) At time T0+x, every new hash is linked with the previous hash (the second hash is linked with H0, and so on), producing a chain of hashes that are recorded on the blockchain.

[0047] The blockchain contains a sequence of hashes that can be used to reconstruct the entire history of data generated by a digital twin and to verify the authenticity of information recorded by private nodes.

[0048] Additionally, if the digital twin is transmitting important information, for example mirroring mechanical parts of equipment related to safety-critical operations, the information should be sent over the network through secure channels.

[0049] <Blockchain used as proof of existence> The properties of Merkle trees can be exploited to make the process of storing and validating data collected from digital twins connected to complex systems (e.g., aircraft) more efficient. Indeed, instead of storing as many hashes as there are digital twins, it is possible to store just the root of the Merkle tree that represents the system under observation (SUO), as shown in Figures 4(a)-(c).

[0050] Figure 4(a) shows a system under observation monitored by four digital twins {a,b,c,d} that mimic specific parts of an aircraft. The digital twins generate data at a given rate. The data is stored in a private node (or nodes) and their hash is used to calculate the root (Figure 4(b)). The only information stored on the blockchain is the root of the Merkle tree (Figure 4(c)). This means that the amount of information generated by an array of digital twins does not impact the storage requirements for the blockchain. Note also that the frequency used to generate each timestamp (root of the Merkle tree) depends on the application.

[0051] In this way, we can use Merkle trees and digital twins to build on-chain proofs of the existence of generated data. Figures 5(a) and 5(b) show the use of the blockchain as proof of existence of data generated by a digital twin. Data stored on the blockchain (Figure 5(b)) can be used to prove the existence of a data set generated by the digital twin and stored in a distributed hash table (DHT) as shown in Figure 5(a) at a particular time. The recorded hash can also be used to identify which nodes in the DHT contain specific information.

[0052] In the next chapter, we propose an improved protocol for storing data generated by digital twins using (single or combined) Merkle trees.

[0053] A Merkle-tree based protocol for incremental hashing of history. We propose an optimized solution based on Merkle trees and incremental hashing of history to use blockchain as a guaranteed system for storing information generated by an array of digital twins.

[0054] Figure 6 shows the scheme of the parties involved in one solution. To implement the secure channel, we need to generate a shared key K between the sender (the buffer in case (A) of Figure 6) and the receiver, which needs to be known only to the sender and the receiver. The role of the buffer is to act as an interface connecting the Merkle tree representing the set of digital twins to the secure channel. During this process, a data stream S, consisting of the raw data generated by the digital twins and the hashes of the Merkle trees, is generated and sent as individual messages {m1,m2,...,m n}. The buffer takes care of collecting, storing and transmitting all the generated data. After discretization of S and generation of the n required messages, the key K i A new value of i The key generation protocol is performed every time a secure channel is established between a buffer and a receiver, for example for a message m i is used to construct a unique key (session key) each time a message is sent. The buffer determines how many individual messages are sent, depending for example on the network conditions at the time of transmission.

[0055] Each individual message m sent through a channel i For each, the buffer is hashed by H(m i ) is calculated and stored in the buffer. h =H(m1),H(m2),...,H(m n ), and m H =H(m h ) and the procedure is completed. The receiver h and m H The receiver receives a sequence of messages that can be verified using

[0056] <Protocol> The solution described in the previous chapter works when the set of digital twins mirroring the SUO is limited to or related to processes / systems that do not generate large amounts of data. When the SUO is characterized by a huge number of digital twins, or when the set of digital twins mirrors a complex system described by a large number of variables that require large amounts of data, the transmission of both messages (including raw data) and the associated Merkle tree roots at a given time may be inefficient. In this chapter, we propose a protocol characterized by (i) direct storage of raw data on the DHT, and (ii) computation, transmission, and storage of the associated Merkle tree roots on the blockchain.

[0057] The proposed protocol is based on the following steps, which are illustrated in Figure 7: (1)(a) Data (continuously) provided by a set of digital twins mirroring the system is stored in the (b) DHT. (2)(a) A Merkle tree is used to link together all digital twins that mirror the system. Only the root of the tree is transmitted and stored on the blockchain. (3) During step (b), the buffer is responsible for selecting the sampling frequency of the information represented by the root of the Merkle tree, the frequency depending on the system under control and the desired resolution. (4) The message generated by the buffer in step (b) is (c) transmitted over a secure channel and received by a recipient in step (d). (5) The receiver has access to the DHT, which stores the data generated by the set of digital twins. The DHT can be used to verify the integrity of the information. The DHT used is a private platform; therefore, unauthorized users cannot access the information stored within the DHT. (6) As a final step, a hash of the root of the Merkle tree is stored on the blockchain.

[0058] (b) The receiver acts as an interface between the SUO and the blockchain. Because the number of received Merkle tree roots can be very large, and considering network latency, it is necessary to temporarily store the received information before it is published on the blockchain. Furthermore, the receiver can verify that a given root is correct and represented by a given Merkle tree by: Message h and m H By checking; By accessing the relevant DHT.

[0059] FIG. 8 shows the steps involved in a Merkle tree-based protocol for incremental hashing of history.

[0060] While the aforementioned approach allows for the management of large volumes of data from a set of digital twins, one possible problem can be the resulting inconsistent data due to a failure of the connection between the digital twins and the network. In the next chapter, we describe an improved solution to improve the reliability and security of the protocol.

[0061] <Mirrored Merkle Tree> To improve the reliability of step B of the transmission protocol, i.e., to evaluate whether the root of the Merkle tree is correctly stored in the buffer, we propose a dual structure as shown in Figure 9.

[0062] The two hashes of the root of the Merkle tree, R and R', are stored in the DHT and a buffer that can be used to verify whether the digital twin array is providing consistent data. A cache system is added to the buffer to check the consistency of the root of the Merkle tree.

[0063] The buffer contains three sets of routes: a cached set, an acknowledged set, and an unacknowledged set. The following steps describe the additional parts of the protocol. · The cache set contains the pair of roots generated by the mirrored tree, i.e. R and R'. · The buffer can be accessed in the DHT using the routes R and R'. If R and R' successfully access the DHT, the two routes are the same, i.e. route R is transferred to the approved set. · If access to the DHT by R and R' is unsuccessful, then the root R is transferred to the unauthorized set.

[0064] Routes in the approved set are forwarded through the network, while routes in the unapproved set are verified to discover which digital twins are not responding correctly. Figure 10 shows the mirrored routes and the steps for verification.

[0065] <Computing environment> FIG. 11 is a schematic diagram illustrating a computing environment in which various embodiments can be implemented. A simplified block diagram of a computing device 2600 that can be used to implement at least one embodiment of the present disclosure is provided. In various embodiments, the computing device 2600 may be used to implement any of the illustrated systems described above. For example, the computing device 2600 may be configured for use as a data server, a web server, a portable computing device, a personal computer, or any electronic computing device. As shown in FIG. 11, the computing device 2600 may include one or more processors with one or more levels of cache memory and memory controller (collectively labeled 2602) that may be configured to communicate with a storage subsystem 2606 that includes a main memory 2608 and a permanent storage device 2610. The main memory 2608 may include a dynamic random access memory (DRAM) 2618 and a read only memory (ROM) 2620 as shown. The storage subsystem 2606 and the cache memory 2602 may be used for storage of information such as details associated with transactions and blocks as described in this disclosure. The processor 2602 may be utilized to provide the steps or functions of any embodiment as described in this disclosure.

[0066] The processor 2602 may also communicate with one or more user interface input devices 2612 , one or more user interface output devices 2614 , and a network interface subsystem 2616 .

[0067] Bus subsystem 2604 may provide a mechanism that allows the various components and subsystems of computing device 2600 to communicate with each other as intended. Although bus subsystem 2604 is illustrated generally as a single bus, alternative embodiments of the bus subsystem may utilize multiple buses.

[0068] The network interface subsystem 2616 may provide an interface to other computing devices and networks. The network interface subsystem 2616, in some embodiments, may act as an interface to receive data from and transmit data to other systems in the computing device 2600. For example, the network interface subsystem 2616 may allow a data technician to connect the device to a network so that the data technician can send data to and receive data from the device without being in a remote location, such as a data center.

[0069] User interface input devices 2612 may include one or more user input devices, such as a keyboard, a pointing device such as an integrated mouse, trackball, touchpad, or graphics tablet, a scanner, a barcode scanner, a touch screen integrated into a display, a voice recognition system, an audio input device such as a microphone, and other types of input devices. In general, use of the term "input device" is intended to include all possible types of devices and mechanisms for inputting information into computing device 2600.

[0070] The one or more user interface output devices 2614 may include a display subsystem, a printer, or a non-visual display such as an audio output device, etc. The display subsystem may include a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, or a flat-panel device such as a projection or other display device. In general, use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from the computing device 2600. The one or more user interface output devices 2614 may be used, for example, to present a user interface and facilitate user interaction with applications that perform the processes and transformations described herein, when such interaction is appropriate.

[0071] The storage subsystem 2606 may provide a computer-readable storage medium that stores basic programming and data structures that provide the functionality of at least one embodiment of the present disclosure. Applications (e.g., programs, code modules, instructions) that, when executed by one or more processors, provide the functionality of one or more embodiments of the present disclosure may be stored in the storage subsystem 2606. These application modules or instructions may be executed by one or more processors 2602. The storage subsystem 2606 also provides a repository for storing data used in accordance with the present disclosure. For example, the main memory 2608 and the cache memory 2602 may provide volatile storage for programs and data. The permanent storage device 2610 may provide permanent (non-volatile) storage of programs and data and may include a magnetic hard disk drive, one or more floppy disk drives associated with removable media, one or more optical drives (e.g., CD-ROM, or DVD, or Blue-Ray) drives associated with removable media, and other similar storage media. Such programs and data may include programs for performing the steps of one or more embodiments described in this disclosure, and data associated with the transactions and blocks described in this disclosure.

[0072] The computing device 2600 may be of various types, including a portable computing device, a tablet computer, a workstation, or any other device described below. Additionally, the computing device 2600 may include another device that can be connected to the computing device 2600 through one or more ports (e.g., USB, headphone jack, optical connector, etc.). A device that can be connected to the computing device 2600 may include multiple ports configured to receive optical fiber connectors. The device may thus be configured to convert optical signals into electrical signals that are transmitted to the computing device 2600 through the ports connecting the devices for processing. Due to the ever-changing nature of computers and networks, the description of the computing device 2600 shown in FIG. 11 is intended only as a specific example for purposes of describing a preferred embodiment of the device. Many other configurations are possible having more or fewer components than the system shown in FIG. 11.

[0073] <Summary> Here we have proposed a solution based on the use of Merkle trees for storing the data generated by an array of digital twins.

[0074] The main problem with using public blockchains to store information generated by digital twins is that the volume of data generated by digital twins is very large, and storing such large data sets in public distributed ledgers may not be possible given the technical limitations imposed by their structure.

[0075] In this specification, (1) We described a solution that allows storing the very large amount of information generated by a set of digital twins in a DHT (distributed hash table) and storing the corresponding values ​​of the roots of the Merkle trees in a public blockchain. (2) We described the use of Merkle trees as evidence of the existence of data produced by a set of digital twins, and as a way to identify which nodes in the DHT contained actual data. (3) We describe the concept of mirrored Merkle trees to introduce an additional layer of security and reliability of data transmitted from the buffer to the receiver.

[0076] It should be noted that the above-described embodiments illustrate, rather than limit, the invention, and that those skilled in the art can devise many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs in parentheses are not intended to limit the claims. The terms "comprising" and "including" and the like do not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In this specification, "comprising" means "having or consisting of" and "comprising" means "comprising or consisting of". A singular reference of an element does not exclude a plural reference of such an element. Vice versa. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain means are recited in mutually different dependent claims does not indicate that a combination of these means cannot be used to advantage.

Claims

1. 1. A computer-implemented method for a blockchain network, the computer-implemented method comprising: receiving data from a set of digital twins; storing said data in an accessible distributed storage system comprising at least one node; calculating a first digest of a first data structure representing a version of the data received from the set of digital twins; computing a second digest of a second data structure further representing a version of the data received from the set of digital twins; transmitting either the first digest or the second digest for storage on a blockchain; Including, 1. A computer-implemented method, wherein the first digest and the second digest are sent to a buffer before being transferred for storage on the blockchain, the buffer selecting a sampling frequency for information represented by the first digest and the second digest.

2. 2. The computer-implemented method of claim 1, wherein the first data structure and the second data structure are configured to identify on which node of the accessible distributed storage system the data is stored.

3. 3. The computer-implemented method of claim 1 or 2, wherein at least one of the first data structure and the second data structure is stored in the accessible distributed storage system.

4. 2. The computer-implemented method of claim 1, wherein the buffer generates a message including at least one of the first digest and the second digest and transmits the message over a secure channel for storage on the blockchain.

5. 5. The computer-implemented method of claim 4, wherein a recipient receives the message from the buffer and accesses the distributed storage system to verify the message.

6. 6. The computer-implemented method of claim 5, wherein after verification, the recipient transmits either the first digest or the second digest for storage on the blockchain.

7. 7. The computer-implemented method of claim 1, wherein the buffer accesses the distributed storage system with the first digest and the second digest to see if the digests are the same, and if so, the buffer sends one of the digests for storage on a blockchain.

8. 8. The computer-implemented method of claim 7, wherein if the first digest and the second digest are found to be different, the digests are verified to detect which digital twins are non-responsive.

9. 9. The computer-implemented method of claim 1, wherein the distributed storage system includes a distributed hash table, and each of the first digest and the second digest is the root of a Merkle tree derived from the data received from the set of digital twins.

10. 10. A computer readable storage medium comprising computer executable instructions that, when executed, configure one or more processors to perform a method according to any one of claims 1 to 9.

11. 1. An electronic device comprising: An interface device; one or more processors coupled to the interface device; a memory coupled to the one or more processors, the memory storing computer executable instructions that, when executed, configure the one or more processors to perform a method according to any one of claims 1 to 9; An electronic device comprising:

12. A system configured to carry out the method according to any one of claims 1 to 9, said system comprising: A set of digital twins, an accessible distributed storage system that stores data from the set of digital twins; a processor for computing a digest of a data structure; a transmitter that transmits the digest for storage on the blockchain; A system including:

Citation Information

Patent Citations

  • Authenticated down-sampling of time-series data

    JP2016208490A

  • Systems and methods for certification of data units and / or certification verification

    US20170250815A1

  • A method and system for securing computer software using a distributed HASH table and a blockchain

    WO2017145009A1