COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR LINKING BLOCKCHAIN ​​TO DIGITAL TWIN

By storing data and processes in digital twin technology on the blockchain, data immutability, security and accessibility issues are solved, and high reliability and automated processing of data are achieved.

JP7653466B2Active Publication Date: 2025-03-28NCHAIN LICENSING AG
View PDF 6 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing digital twin technology faces data immutability, security and accessibility issues, and traditional data storage solutions are prone to loss or damage in case of accidents or damages.

Method used

Blockchain technology is used as a storage system for data and processes. By generating an immutable blockchain transaction history, data is not tampered with and security, and data is automated and multi-party collaboration is achieved through smart contracts.

Benefits of technology

Immutability and security of data are realized, reliability and accessibility of data in case of accidents or damages, and improves the automation and efficiency of data processing through smart contracts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007653466000005
    Figure 0007653466000005
  • Figure 0007653466000006
    Figure 0007653466000006
  • Figure 0007653466000007
    Figure 0007653466000007
Patent Text Reader

Abstract

To provide a method and a system implemented by a computer using block-chain technology as a storage system for data obtained from digital twins.SOLUTION: A block-chain can be used to generate an immutable transaction history of data generated by digital twins. In the event of the occurrence of an error, a failure, an accident, or a calamity, an interested party can access and analyze an immutable data set. A block-chain network can also execute a digital smart contract based on the data received from the digital twins. The present invention may be used in relation to the Bitcoin block-chain or another block-chain protocol.SELECTED DRAWING: Figure 7
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 in nodes of a blockchain network. 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] Today's 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. This in silos approach causes costs and inefficiencies, creates uncertainty, and wastes a lot of time and resources. To make the most of the data generated by sensors and processes, digital twins are very helpful.

[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 included in the simulation have behaved in the past, and a sufficiently large time frame in which the system under test is observed, where 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. This possibility is revolutionary for the industrial world (Industry 4.0), and Gartner has classified Digital Twin as one of the most important disruptive technologies of 2017 [http: / / www.gartner.com / smarterwithgartner / gartners-top-10-technology-trends-2017 / ].

[0005] Figure 1 shows a simple schematic of a digital twin for a physical system. Sensors collect data about the physical system, which may 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, perform tests to, for example, predict failures of the physical system, and help avoid failures, for example by replacing parts or by operating the physical system in a different way.

[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, causing the digital twin to not correctly represent the real-time state of the physical system and provide erroneous information that could result in the misoperation or failure of 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 a neutral 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 an aircraft's 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. Summary of the Invention

[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 inventors of the present invention have realized that the aforementioned problems can be solved by using blockchain technology as a storage system for data and processes acquired from a physical system, including real-time applications using a digital twin. The 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. The blockchain can be used to generate an immutable transaction history of the 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, the blockchain provides distributed storage of data, making it less susceptible to damage or loss of individual storage units. Still further, the inventors of the present invention have realized that the digital twin allows parties to implement 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, the 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, e.g., every second or every millisecond. Approaches to overcome these problems are also described herein to utilize blockchain as a storage system for real-time systems. The approaches include one or more of: a suitable protocol implemented within the blockchain network to process the huge amount of data from the digital twin; a modified blockchain network architecture to process data within the blockchain network; and providing a suitable interface between the digital twin and the blockchain network to process the huge amount of data from the digital twin.

[0015] In view of providing a suitable interface between a digital twin and a blockchain network for processing large amounts of data from the digital twin, a computer-implemented method may be provided, comprising the steps of receiving a data stream from the digital twin in a buffer, converting the data stream into a sequence of individual messages, and transmitting the sequence of individual messages to a receiving node of the blockchain network for later recording a transaction in the blockchain, the transaction including data associated with the sequence of individual messages.

[0016] The sequence of individual messages can be sent from the buffer to the receiving node over a secure channel by encrypting each message in the sequence of messages. The secure channel can be established using a key negotiation protocol between the buffer and the receiving node to generate a shared key for encrypting and decrypting each message. A new value of the shared key can be generated each time the secure channel is established. For example, a new value of the shared key is generated for each individual message sent to the receiving node.

[0017] Each individual message m sent to the receiving node i For each, the buffer is hashed by H(m i After a time t when a number of individual messages have been sent, the buffer contains a message m consisting of a sequence of hashes associated with the individual messages sent up to time t. h The buffer can hold messages m h A further message m H A sequence of individual messages can be sent at the receiving node as m h and m H It can be verified using m h consists of a sequence of hashes associated with the individual messages sent up to time t, and m H is a message h Contains a hash of.

[0018] Both of these features provide a secure means of transmitting data from the digital twin to the blockchain network and ensure that the data is provided in a form that can be more quickly processed by the blockchain network. An additional level of security can be provided by transmitting the sequence of individual messages from the buffer to the receiving node over two secure channels. A comparator can verify whether the sequences of individual messages sent over the two secure channels match, and if the sequences of individual messages received from the two secure channels differ, the receiving node can reject the sequence and send a notification to resend the sequence of individual messages.

[0019] Additionally, the buffer can initialize a counter that tracks the number of individual messages sent, and can determine the number and / or rate of individual messages to send to a receiving node based, for example, on one or more parameters indicative of the state of the blockchain network at the time of sending. Again, this can assist with data management, ensuring that the blockchain network is not overloaded with data.

[0020] Also provided is a computer-implemented method for a receiving node, the method including: receiving, at a receiving node of a blockchain network, a sequence of individual messages generated from a data stream from a digital twin; and verifying the sequence of individual messages for later recording a transaction in the blockchain, the transaction including data associated with the sequence of individual messages. Storage of the transaction may be at the receiving node, at another node of the blockchain network, or distributed across multiple nodes in the blockchain network. For example, after verification, the sequence of individual messages may be stored in a distributed memory pool of the blockchain network. Additionally, the sequence of individual messages, or a hash of the sequence of individual messages, may then be stored in the blockchain.

[0021] The receiving node may be a node of a public blockchain network. However, in a modified interface configuration, the receiving node is a node of a private blockchain network, and the sequence of individual messages generated by the buffer is stored in a private blockchain before data associated with the sequence of individual messages is included in the public blockchain. In this configuration, each message m generated by the buffer and stored in the private blockchain is i For m, a hash H(m) is generated and stored on the public blockchain.

[0022] 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 the above components. The components may be located remotely from each other, or one or more of the components may be integrated. [Brief description of the drawings]

[0023] The above and other aspects of the invention will be apparent from and will be taught with reference to the embodiments described herein, which are described hereinafter, by way of example only, and with reference to the accompanying drawings, in which: [Figure 1] A simple schematic diagram of a digital twin for a physical system is shown. [Diagram 2]We present a simple example of a commerce chain with an automated process between parties using blockchain and smart contracts that set the terms of the process. [Diagram 3] A diagram of the process of incorporating a digital twin into the system in Figure 2 is shown. [Figure 4] Demonstrates the use of blockchain as an independent storage system for a digital twin associated with an aircraft. [Diagram 5] We present an incremental hashing procedure that can be used to store a given amount of data generated by a digital twin within a given time frame. [Figure 6] We present a modified blockchain network architecture capable of storing the vast amounts of data generated by digital twins. [Figure 7] We demonstrate the use of buffers, secure channels, and receivers as interface configurations between digital twins and blockchain networks. [Figure 8] The role of the buffer shown in Figure 7 includes converting the data stream from the digital twin into a sequence of individual messages. [Figure 9] The role of the receiver shown in FIG. 7 includes verifying the sequence of messages received from the buffer over the secure channel. [Figure 10] A modified version of the interface configuration between the digital twin and the blockchain network is shown, which includes a second secure channel and a comparator that increases the level of security by verifying that sequences of individual messages sent over the two secure channels match. [Figure 11] It shows the steps of storing received messages in a distributed hash table and then storing the hash in the blockchain. [Figure 12]FIG. 1 shows a modified version of a portion of the interface configuration between a digital twin and a blockchain network, including a private blockchain that stores data from the digital twin prior to incorporating the data in the public blockchain. [Figure 13] FIG. 1 illustrates a schematic diagram of a computing environment in which various embodiments can be implemented. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] 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.

[0025] 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 the case of Bitcoin, 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, and 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.

[0026] In order for a transaction to be written to the blockchain, it must be verified. Some network nodes, acting as miners, perform work to ensure that each transaction is verified, and invalid transactions are rejected from the network. For example, a software client installed on the node performs this verification work for transactions that reference unspent transaction outputs (UTXOs). The verification 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 verified 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 to be confirmed when a sufficient number of blocks have been added to the blockchain to make the transaction practically 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.

[0027] 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.).

[0028] One area of ​​research is the use of blockchains 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 may be written in natural language, smart contracts are machine-executable programs that contain rules that can process inputs to produce outcomes, which can then perform actions dependent on the outcomes.

[0029] 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 diagnostics for safety-critical systems (e.g., aircraft and aerospace industry or transportation in general). There are many possible 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 in the blockchain, and the blockchain can trigger certain actions based on the received data according to one or more smart contracts stored in the blockchain.

[0030] 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 may be configured to mirror the temperature in an office. In this case, given that room temperatures do not usually change rapidly, it may be reasonable to send temperature values ​​every minute (or every 5 minutes) to reduce the amount of data sent over the network. In the case of minute-by-minute temperature values, the digital twin would record and send (in real time) 60 temperature values ​​every hour.

[0031] Such amounts of data are of course reasonable for recording on a blockchain and do not pose any major problems. However, the situation becomes more complicated if the mirrored system is, for example, an engine of an aircraft in flight, or a cylinder of a train while it is moving. In these examples, sending values ​​every second may not be sufficient and it may be necessary to guarantee a higher fidelity, for example a sample every millisecond (which is exactly what can happen in the case of an aircraft). Also, the number of variables recorded may vary. In complex systems, there may be a requirement to record a huge number of variables with high fidelity.

[0032] The need to consider the volume and frequency of data transmitted by a digital twin is an important constraint when considering blockchain as a possible backbone infrastructure for storing information related to a particular object or process.

[0033] <Smart Contracts, Digital Twins, and Blockchain> A digital twin can be thought of as an external object that interacts with the blockchain, for example as a party involved in a digital contract implemented on the blockchain. That is, a digital twin can be thought of as an entity that can record transactions on the blockchain and participate in one or more digital contracts. Protocols can be provided that allow agents to compose financial instruments using domain specific languages ​​(DSLs), outsource the execution of contracts to untrusted parties, and publicly verify the correctness of contract execution.

[0034] Such protocols make use of cryptographic primitives that guarantee integrity (i.e., if the protocol is followed correctly, an honest verifier is confident of the validity of the output); soundness (i.e., a dishonest prover cannot convince an honest verifier that the output is authentic); and zero knowledge (i.e., if the output is valid, a dishonest verifier cannot learn anything from this fact).

[0035] The fundamental advantages of such a protocol are that no communication between participants is required, thus preventing man-in-the-middle attacks, the use of blockchain technology makes it difficult for malicious nodes to tamper with data, and contract validation does not involve code re-execution: computations are not replicated by each node in the network. Instead, proofs of honest execution are stored on the public blockchain and are used only for validation purposes.

[0036] <Real-life example> The advent of blockchain has opened up new possibilities for automating processes involving multiple parties, without the need to set up expensive centralized network infrastructure, and with the major benefit that all participants have access to the same data stored in tamper-resistant records. Furthermore, blockchain technology allows smart contract protocols to facilitate the negotiation and execution of contracts.

[0037] Consider a real-world example involving three parties: (i) a supermarket, (ii) a transport company, and (iii) an organic farmer. The farmer sells organic vegetables that must be consumed within 48 hours, and when sold to the supermarket (or store in general), the goods must remain refrigerated during transportation and reach their final destination within 8 hours. Figure 2 includes a commerce chain with an automated process between the parties using blockchain and smart contracts that set the terms of the process.

[0038] The three parties involved in the process are independent and all are part of the value chain. This simple example shows how important trust between the parties is in this scenario, if no metrics were considered in the process. In a simple world, the farmer knows and trusts the delivery man, who ensures that the truck used for the delivery works properly and that the temperature inside the truck is kept below 3 degrees as required in the contract specified by the supermarket. The farmer also trusts the fact that the goods will be delivered within a maximum of 8 hours. At the same time, the supermarket manager knows and trusts both the farmer and the delivery man. In the absence of trust or history, the combination of blockchain and digital twins can solve the problem.

[0039] A digital twin is used in the loading bay to mirror the environmental conditions in which the organic vegetables are transported. Such information can be stored in the blockchain, allowing both the farmer and the supermarket manager to verify what happened during the delivery. The blockchain can act as the backbone of the whole process. Figure 3 shows a simple example of how blockchain can be used in a process that includes (i) registering the data provided by the digital twin during the delivery, and (ii) recording the different transactions to ensure that all conditions are met in the contract. The scenario can be made clearer and more complex if we consider the case where all parties involved in the process can sign all transactions. In the proposed example, the supermarket manager does not trade with the farmer. The proposed example is very simple and the purpose is to show how blockchain can be interwoven with digital twin technology.

[0040] In the example shown in Figures 2 and 3, the digital twin mirrors both the temperature in the pallet and the time of delivery to mimic the delivery process. However, in a simpler example, if it is desired to mimic only the temperature behavior, a temperature sensor can be defined as the digital twin for such a system.

[0041] <Blockchain as a storage system for digital twins> This chapter describes the use of blockchain as a key element of a digital twin network infrastructure. The scenario in Figure 4 shows a real-world safety-critical example where blockchain is a fundamental component of the infrastructure. The illustrated configuration uses blockchain as an independent storage system for the digital twin associated with an aircraft.

[0042] Aircraft are highly complex systems that undergo frequent maintenance activities and tight control by both aviation authorities and airlines (e.g., civil aviation). A digital twin mirroring the different subsystems of an aircraft, e.g., hydraulic pumps, braking systems, wings, landing gear, etc., can be very useful in optimizing maintenance processes and in preventing accidents. Blockchain creates an immutable transaction history of the data generated by the digital twin.

[0043] In the worst case scenario, in case of an oversight or accident, both general aviation authorities and airlines can access the immutable dataset stored in the blockchain and analyze the entire history of the flight. An array of digital twins recording the aircraft's behavior during flight could constitute a powerful "flight recorder" stored in a neutral record (the blockchain) accessible by all parties interested in examining the dataset.

[0044] <Data size and frequency issues> As mentioned above, 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, the 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. This specification describes two approaches to overcome the (current) limitations imposed by blockchain: (i) incremental hashing of history (which may be implemented in the current Bitcoin network architecture); and (ii) the use of a modified blockchain network architecture adapted to handle larger amounts of data at a higher rate.

[0045] <incremental hash of history> The idea of ​​incremental hashing of history is strictly linked to the functioning of the blockchain. The information stored in 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. The time T depends on the system under analysis (for example, if the digital twin is mirroring the room temperature, the time window is larger than if the digital twin is mirroring the functioning of an aircraft engine, for example). The storage nodes can be dedicated nodes with the evidence that the hash signed and stored in the blockchain can provide proof of the existence of the data generated by the digital twin.

[0046] Figure 5 illustrates an incremental hashing procedure that can be used to store a given amount of data generated by a digital twin in a given time frame. The steps are as follows: (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: H0 = H(D) at time T0, and records the hash both locally and on the blockchain; (4) At time T0+x, every new hash is linked to the previous hash (the second hash is linked to H0, and so on), generating a chain of hashes that are recorded in the blockchain.

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

[0048] <Use of modified Bitcoin network architecture> The second solution uses a modified Bitcoin network architecture to provide dedicated nodes and protocols for validating, mining, and storing functions in the Bitcoin network. Our proposed architecture for the Bitcoin network is shown in Figure 6, which shows an operational diagram illustrating the steps from the moment a user submits a transaction until the transaction is finished on the blockchain. This architecture allows storing the complete history of data generated by a digital twin on the blockchain, even when the dataset is large and generated with high frequency / fidelity.

[0049] A system is provided in which special validator nodes maintain a shared memory pool of transactions among themselves through a distributed hash table (DHT). These dedicated validator nodes may also be called merchant nodes (represented as "M nodes" in FIG. 6). M nodes are designed with a focus on fast propagation of transactions. They may or may not store the complete blockchain, and are not required to perform mining functions. The operational focus of M nodes is the fast validation and propagation of unconfirmed transactions, particularly to other M nodes, from which unconfirmed transactions are quickly pushed out to other nodes in the blockchain network. To achieve this function, M nodes are allowed a large number of input and especially output connections that may otherwise be allowed to nodes under the governance protocol.

[0050] Dedicated validator nodes receive transactions, validate them, and assign them to a distributed memory pool (also called a memo pool). Validator nodes then offer their service of providing a list of valid transaction hashes to miners. Miners build pre-blocks (block skeletons) based on these hashes and attempt to solve the hash puzzle. Once a solution to the puzzle is found, the winning miner sends the block skeleton back to the validator node. The validator node then validates the block and ensures that it is stored. Initially, it is possible and convenient for the validator node to store the block itself. When block sizes eventually exceed a certain size threshold, the validator nodes either (a) exceed their own storage capabilities or (b) outsource storage to dedicated storage nodes.

[0051] In the above network system, the memorization pool of transactions needs to be synchronized between validating nodes. This involves exchanging Invertible Bloom filter Lookup Tables (IBLTs - Michael T. Goodrich, 2011). Validating nodes keep their memorization pool up to date by exchanging IBLTs with miners and other validating nodes. When the validation and memorization functions are combined, this is called a new full node as in Figure 6.

[0052] A miner submits a block skeleton (tuple) consisting of (1) a nonce n; (2) an IBLT; and (3) a Coinbase transaction.

[0053] Based on this, the new full nodes order transactions accordingly and assemble a newly mined block. The new full nodes then proceed to store the block in their own memory and propagate the skeleton to other new full nodes.

[0054] This solution overcomes the limitations of incremental hashing of history. The main problem with incremental hashing solutions stems from the fact that the dataset generated by the digital twin may be recorded in one private node (or multiple private nodes) and the blockchain may only contain signature data associated with the history of the full dataset. While this condition is sufficient for many applications, e.g., selling goods and supply chain management, other safety-critical applications, e.g., flight history, may require the full dataset to be recorded in the distributed blockchain ledger.

[0055] Individual nodes in the Bitcoin network can be viewed as a cluster of nodes that provide a distributed memory pool (DMP). The proposed DMP relies on a distributed hash table (DHT) structure deployed in a network that consists of individual trust relationships between honest nodes. The set of nodes' connections is built on top of a collection of routing and application level information. No central authority is involved in releasing or storing trust proofs, and each node maintains a record of its own trusted peers.

[0056] Malicious entities need to join the network to carry out some form of attack. For example, Sybil attacks focus on generating a large number of fake identities to compromise the system. Sybil nodes connected to the network can interrupt or delay legitimate routing queries and spread false routing information. However, the proposed DHT routing protocol has sublinear time and space complexity and is based on the following assumptions: (1) Nodes cannot distinguish between honest and malicious nodes; (2) A majority of honest nodes have more connections to other honest nodes; (3) Each node is responsible for storing information about its partition of the key space.

[0057] The DHT protocol serves two main functions: UPDATE() is used at each DHT node to build the routing table and insert the keys. · GET(x,k) is used by a DHT node x to find the target key-value record represented by key k.

[0058] Each DHT node x typically has a public key P x and the current IP address addr x This information is identified by the record sign x (Px ,addr x ) to securely link the x () represents a signature with the corresponding private key. The node ID is then stored in the DHT using the signed record. When a node changes location or receives a new IP address, it creates a new record [P x ,addr x ] must be stored in the DHT. A malicious node may insert an incorrect key-value pair. The GET method is responsible for verifying the signature in the returned key-value record.

[0059] The data routing network can be represented by an undirected graph. A malicious edge connects a malicious node to an honest node, while an honest edge connects two honest nodes. Generating any number of Sybil identities is available to a malicious node, but generating a malicious edge requires convincing an honest node to establish a trusted link to one of the Sybil-controlled identities. If there is no small gap separating the honest domain in two, a short random walk starting from an honest node may end up at an honest node. Thus, the present solution provides a secure way to provide a Bitcoin network architecture capable of storing with high fidelity the vast amount of data generated by the digital twin to support the coupling of blockchain networks with digital twin systems.

[0060] <Interface configuration> If the digital twin is transmitting sensitive information, for example mirroring mechanical pieces of equipment relevant to safety-critical operations, we want to ensure that the information is sent over the network through secure channels.

[0061] In this section, more specific detailed protocols are described for using blockchain as a secure system for storing information generated by digital twins. In particular, this section describes architectures and protocols that provide a suitable interface between digital twins and blockchain networks.

[0062] Figure 7 shows the use of a buffer, a secure channel, and a receiver as an interface configuration between a digital twin and a blockchain network. To implement the secure channel (B), we need to consider a shared key K between the sender, the buffer (A) in Figure 7, and the receiver (C). The key K needs to be known only to the sender and the receiver.

[0063] The role of the buffer (A) is to act as an interface that can connect the digital twin to a secure channel, and transfer the generated data stream S to individual messages m 1 ,m 2 ,...,m n , which is a sequence of individual messages m. With this approach, the problem of handling very large amounts of data generated by the digital twin and transmitted over the network is at least partially solved. The buffer manages the collection and storage of all data generated by the digital twin, and also manages the transmission of the data over a secure channel. Figure 8 shows how the data stream S from the digital twin is transformed into a sequence of individual messages m 1 ,m 2 ,...,m n The role of the buffer shown in FIG. 7 is shown, including the step of converting the

[0064] After discretization of the data stream S and generation of the n messages to be transmitted over the network, a new value of the key K is assigned to each message m i The key generation protocol is performed every time a secure channel is established between the buffer and the receiver, for example, for a message m iEach time m is sent, a unique key (session key) is required to be constructed. The buffer can be configured to determine how many individual messages are sent (e.g., according to the network conditions at the time of transmission) and to initialize a counter that keeps track of the messages sent. Each individual message m sent over the channel i For each, the buffer is hashed by H(m i After a certain number of messages have been sent, at time t, the buffer is filled with a particular message m consisting of the sequence of hashes associated with the messages sent up to the particular time t. h This procedure aids the receiver in checking the integrity of the individual messages received. h has the following form: m h =H(m 1 ),H(m 2 ),...,H(m n )

[0065] Finally, to complete the procedure, a third message m H The third message m H is a sequence of hashes H(m h ) contains the hash of the message: m H =H(m h )

[0066] The buffer thus transmits a sequence of messages which are processed and then transmitted over a secure channel to a receiver.

[0067] The receiver then receives and processes the sequence of messages. Figure 9 illustrates the role of the receiver shown in Figure 7, including the step of verifying the sequence of messages received from the buffer over the secure channel. The received sequence is h and m H This can be verified by the receiver using

[0068] To improve the level of security, an additional layer of redundancy can be introduced in the form of a second secure channel and a comparator. Figure 10 shows such a modified version of the interface configuration between the digital twin and the blockchain network, including a second secure channel (B) and a comparator (C), which improves the level of security by verifying that the sequences of the individual messages sent over the two secure channels match. The comparator can verify whether the sequences of the individual messages sent over the two secure channels match. If there is no match, i.e., if the sequence received from channel A is different from the sequence received from channel B, the receiver does not accept the sequence and signals the buffer to resend the sequence.

[0069] During the secure channel initialization, we need to set both the key and the message number. As explained in Ferguson, Niels, et al., Cryptography engineering: design principles and practical applications, John Wiley & Sons, 2011, four keys are derived: (I) encryption key and (II) authentication key for sending messages from the buffer to the receiver, (III) encryption key and (IV) authentication key for sending messages from the receiver to the buffer. We have a function f with two inputs, key and role, namely f(k,r), and the output is the state of the channel S. The secure channel setup may be encoded as follows:

number

[0070] In order to send a message (after the discretization process performed by the buffer to discretize the data stream generated by the Digital Twin), it is necessary to consider the session state defined above and generate an encrypted and authenticated message. We consider a function f with three inputs: a state S; a message m to be sent; and additional data d to be authenticated. 1 , that is, f 1 (S,m,d).

[0071] The output o' is the data to be transmitted to the receiver. It may be encoded as follows:

number

[0072] To receive a message (after the discretization process performed by the buffer to discretize the stream generated by the digital twin), we need to process the encrypted authenticated message generated during the message transmission phase, as well as the additional data to be authenticated. To receive a message, we need three inputs: the session state S; 1 and additional data d to be authenticated. 2 , that is, f 2 (S,o',d).

[0073] f 2 The output obtained from is the message sent by the buffer. The receive protocol may be encoded as follows:

number

[0074] Once all messages are received by the receiver, they need to be stored in a distributed hash table (DHT) and then the hash (and the history of hashes as mentioned before) are stored in the blockchain. Figure 11 shows the steps of storing received messages in a distributed hash table and then storing the hash in the blockchain. The steps are as follows:

number

[0075] A different approach that allows using blockchain as a backbone for digital twins is based on the use of a private blockchain that can be mirrored in a public blockchain. Figure 12 shows a modified version of part of the interface configuration between the digital twin and the blockchain network, including a private blockchain that stores data from the digital twin before incorporating the data in the public blockchain.

[0076] The role of the buffer is as mentioned above, and even if the solution with the private blockchain requires less time to record the data sent by the digital twin, the discretization of the stream helps to simplify the second step of the process, the mirroring or authentication of the messages on the public blockchain. Each message m generated by the buffer and stored on the private chain i For m, a hash H(m) is generated and stored on the public blockchain.

[0077] <Computing environment> FIG. 13 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. 13, 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.

[0078] 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 .

[0079] 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.

[0080] 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.

[0081] 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.

[0082] 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.

[0083] 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.

[0084] 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 may be connected to the computing device 2600 through one or more ports (e.g., USB, headphone jack, optical connector, etc.). A device that may 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. 13 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. 13.

[0085] <Summary> This specification described how to use blockchain as an independent storage system for digital twins. This specification also described how digital smart contracts can be used to manage the interaction between blockchain, digital twins, and external physical systems t. When large amounts of data need to be stored, two solutions were described. The first solution is based on incremental hashing of history where only certain hashes are recorded in the blockchain, and the second solution provides the use of distributed memory pools and new full nodes to enable blockchain as a complete backbone of digital twin infrastructure. Also described was a configuration to provide a suitable interface between digital twins and blockchain networks that can handle large amounts of data and process data securely. Two main solutions were described, and the first technique explained how to build an infrastructure that can act as an interface for digital twins. The structure of the solution is based on incremental hashing of history where only certain hashes are recorded in the blockchain. The second solution uses a private blockchain, for example based on BigChainDB (McConaghy, Trent, et al., “BigchainDB: a scalable blockchain database.”, BigChainDB, 2016) and mirroring each block in the public blockchain.

[0086] 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, the computer-implemented method comprising: receiving a data stream from the digital twin in a buffer; converting the data stream into a sequence of individual messages; sending the sequence of individual messages to a receiving node of a blockchain network for later recording a transaction in a blockchain, the transaction including data associated with the sequence of individual messages, the receiving node being a special validating node; Including, For each individual message m i sent to the receiving node, the buffer computes and stores a hash H(m i ); After a time t when a number of individual messages have been transmitted, the buffer transmits a message m h consisting of a sequence of hashes associated with the individual messages transmitted up to said time t; The buffer transmits a further message m H that includes a hash of the message m h .

2. The computer-implemented method of claim 1 , wherein a new value of the shared key is generated each time a secure channel is established.

3. 3. The computer-implemented method of claim 1 or 2, wherein a new value of the shared key is generated for each individual message sent to the receiving node.

4. The computer-implemented method of claim 1 , wherein the buffer determines the number and / or rate at which individual messages are sent to the receiving node.

5. 5. The computer-implemented method of claim 4, wherein the buffer determines the number and / or rate of individual messages to be sent to the receiving node based on one or more parameters indicative of a state of the blockchain network at the time of sending.

6. The computer-implemented method of claim 1 , wherein the buffer initializes a counter that tracks the number of individual messages sent.

7. The computer-implemented method of claim 1 , wherein the sequence of individual messages is transmitted from the buffer to the receiving node over two secure channels.

8. 8. A computer readable storage medium comprising computer executable instructions that, when executed, configure one or more processors to perform the method of any one of claims 1 to 7.

9. 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 the method of claim 1; An electronic device comprising:

10. A buffer, the buffer configured to perform the method of claim 1.

11. A node of a blockchain network, the node being configured to perform the method of claim 1.

12. A system comprising a digital twin, a buffer as claimed in claim 10, and a node of a blockchain network as claimed in claim 11.

Citation Information

Patent Citations

  • Data sending device, data reception equipment and data transmission equipment

    JP1999177623A

  • Encryption processing system utilizing data duplication

    JP2006279179A

  • Signature verifying method and reception device

    JP2009081564A

  • Virtual model simulation method and virtual model simulation device

    JP2016503524A

  • Data management for connected devices

    JP2017504850A