Computer-implemented system and method for combining blockchain technology with digital twins

By storing the data generated by digital twins on the blockchain network, combining historical incremental hashing and improved blockchain architecture, the reliability and security of digital twin data are solved, and the immutability and high accessibility of data are achieved. Sex, suitable for the needs of real-time applications.

CN119203495APending Publication Date: 2024-12-27NCHAIN HLDG LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411201019.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-03-23
Filing Date
2018-10-23
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The reliability and security of digital twins depend on the security of data. Traditional data storage solutions may be damaged or lost in the event of an accident. Standard blockchain technology is not suitable for high-frequency data storage in real-time applications and cannot effectively ensure data. Immutability and accessibility.

Method used

By receiving and storing data generated by digital twins at nodes of the blockchain network, using blockchain to provide immutable transaction history and distributed storage, combining historical incremental hashing and improved blockchain network architecture to ensure data Authenticity and reliability, and execute digital smart contracts when needed.

Benefits of technology

It realizes data security, immutability and high accessibility, avoids the corruption or loss of traditional storage solutions, and overcomes the limitations of blockchain technology on high-frequency storage, which is suitable for the needs of real-time applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119203495A_ABST
    Figure CN119203495A_ABST
Patent Text Reader

Abstract

A computer-implemented method and system is described that uses blockchain technology as a storage system for data obtained from digital twins. The blockchain may be used to generate an immutable transaction history of data generated by the digital twins. In the event of an error, failure, event or accident, the relevant party may access and analyze the immutable data set. The blockchain network may also perform a digital smart contract based on data received from the digital twins.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application with Chinese application number 201880071544.3 (PCT international application number PCT / IB2018 / 058256), application date October 23, 2018, and named "Computer-implemented systems and methods for combining blockchain technology with digital twins". Technical Field

[0002] The present specification generally relates to computer-implemented methods and systems suitable for implementation in a node of a blockchain network. Background Art

[0003] Today, the design of industrial assets relies on various models and a large number of data sources. Data scientists process large amounts of data, while specialized teams create models and analyze them for their specific tasks separately. The latest information and calculations may not be easily available for critical decisions. This siloed way of working leads to costs and inefficiencies, creates uncertainty, and wastes a lot of time and resources. In order to maximize the use of data generated by sensors and processes, digital twins are very useful.

[0004] A digital twin is a virtual, dynamic replica of a real object, process or service, which allows testing and prevention of errors or failures. Digital twins can be created of products, mechanical parts of aircraft or cars, production processes, and more. A digital twin can be seen as a revolutionary combination of simulation with real-time data and responses.

[0005] Simulating the behavior of a process or system assumes knowledge of how all variables involved in the simulation behaved in the past and over a sufficiently large timeframe, during which the system under test is observed and all input / output variables are recorded during the observation. Knowledge of the past is a prerequisite for building a good simulator. The possibility of adding real-time information to this process can significantly increase the precision and accuracy of the entire simulation until the exact behavior of the system or process is reflected. This possibility is revolutionary for the industrial world (Industry 4.0), and Gartner lists digital twins as one of the most important disruptive technologies for 20172 / 15

[0006] [http: / / www.gartner.com / smarterwithgartner / gartners-top-10-technology-trends-2

[0007] 017 / ].

[0008] Figure 1A simple schematic diagram of a digital twin of a physical system is shown. Sensors collect data about a physical system, which may be, for example, a component of an aircraft. Historical data is used to build a digital twin, which evolves to simulate 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, assess the current state of the physical system, predict the future state of the physical system, and perform tests to, for example, predict failures of the physical system, thereby helping to avoid failures, such as by replacing components or operating the physical system differently. Summary of the invention

[0009] As described below, a number of issues have been identified with current digital twin technology.

[0010] The reliability and security of digital twins depends on the security of the data on which the digital twins rely. Ideally, the data should 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 may be important, for example, to prevent third parties from interfering with the data so that the digital twin does not correctly represent the real-time state of the physical system and provides misleading information that could lead to operational errors or failures in the physical system.

[0011] Furthermore, the data stored should be immutable so that an accurate and reliable history of system performance is preserved. This may be important, for example, if a physical system fails and the data needs to be examined to confirm why the physical system failed and whether there is any liability on the part of the user or manufacturer of the physical system. This is also important in processes where an action may depend on the execution of a previous action.

[0012] In this case, a third party could alter the stored data to make it appear that an action has been performed when in fact it has not, thereby falsely triggering further actions.

[0013] Another issue is the accessibility of the data to each of the several parties involved. The parties may well have conflicting interests, so it is advantageous to have a neutral data record that is secure, immutable, but accessible to all parties.

[0014] There’s also the issue that traditional data storage solutions, such as the black box recorders on airplanes, can be damaged or lost in the event of an accident.

[0015] Yet another problem is that in a scenario where a further action is required once a previous action has been completed, the digital twin may indicate that a further action is required, but cannot ensure that the action is actually performed. For example, the digital twin may indicate that a physical process has been completed, and therefore further steps are required, such as payment for completing the physical process. However, the digital twin cannot ensure that such payment is actually performed, and therefore relies on one party to the process being trusted to pay, or to pay in advance, which depends on the trustworthiness of the process provider to complete the process correctly.

[0016] It is an aim of certain embodiments of the present invention to address these problems by providing a solution as described herein.

[0017] The inventors have recognized that the above problems can be solved by using blockchain technology as a storage system for data acquired from physical systems and processes, including real-time applications using digital twins. For example, blockchain can be used to generate an immutable transaction history of data generated by digital twins. In the event of errors, failures, incidents, or accidents, the immutable data set can be accessed and analyzed by interested parties. This is particularly important in safety-critical systems such as aircraft. In addition, because blockchain provides distributed storage of data, it is not susceptible to damage or loss of a single storage unit.

[0018] Current blockchain technology is capable of this when a relatively small amount of data needs to be stored in a relatively infrequent period of time. However, the block size limit and the fact that blocks are only incorporated into the blockchain approximately every 10 minutes means 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 the data needs to be stored at a high frequency / fidelity (e.g., every second or millisecond). Methods for overcoming these issues in order to utilize blockchain as a storage system for such real-time systems are also described herein.

[0019] Furthermore, the inventors have recognized that a digital twin can be a party to a digital smart contract implemented on a blockchain network. This can ensure that the blockchain network can execute steps based on data received by the digital twin that indicates the state of the real physical system. That is, the blockchain network can be used to execute digital smart contracts with multiple parties related to the system or process that incorporates the digital twin.

[0020] In view of the above, a computer-implemented method for a blockchain network is provided, the computer-implemented method comprising:

[0021] Receiving data at a node of the blockchain network, wherein the data is generated by the digital twin or derived from data generated by the digital twin; and

[0022] Store this data in the blockchain.

[0023] The data stored in the blockchain can be associated with a given amount of data generated by the digital twin within a given time frame. For example, the data generated by the digital twin can be recorded in a node of the blockchain network, and at time t, the node can generate a first hash of the data and record the hash locally and in the blockchain. New hashes can be generated at regular intervals to produce a hash chain recorded in the blockchain. The hash chain in the blockchain can be used to verify the authenticity of the data recorded in the node.

[0024] Alternatively, the data stored in the blockchain may include data generated by the digital twin, thereby providing a history of the data generated by the digital twin in the blockchain, such as a complete history. In this regard, the computer-implemented method may include the following steps:

[0025] receiving transactions that include data generated by the digital twin;

[0026] Verifying the transaction at a transaction verification node in the blockchain network;

[0027] Maintaining a distributed, decentralized storage of verified transactions with other transaction verification nodes in the blockchain network; and

[0028] Distribute data corresponding to verified transactions to the blockchain network for processing (e.g. mining).

[0029] This method of processing transactions can handle large amounts of data from digital twins using a blockchain network.

[0030] The method may further include:

[0031] Receiving processed data (e.g., mining data) corresponding to the verified transaction from the blockchain network;

[0032] Assembling blocks based on the processed data (eg, mined data); and

[0033] The assembled blocks are sent to a storage entity for storage on the blockchain.

[0034] This method of constructing and storing blocks enables large data blocks to be assembled and stored on the blockchain.

[0035] The present invention may provide a computer-implemented method for a blockchain network, the computer-implemented method comprising:

[0036] receiving data at a node of the blockchain network, wherein the data is generated by a digital twin or derived from data generated by the digital twin; and,

[0037] storing said data in a blockchain;

[0038] wherein the data stored in the blockchain includes data generated by the digital twin, thereby providing a historical record of data generated by the digital twin in the blockchain;

[0039] receiving a transaction, the transaction including data generated by the digital twin;

[0040] Verifying the transaction at a transaction verification node in the blockchain network;

[0041] Maintaining a storage pool of verified transactions with other transaction verification nodes in the blockchain network through a distributed hash table; and,

[0042] distributing data corresponding to the verified transaction hash to the blockchain network for processing;

[0043] receiving processed data corresponding to the verified transaction hash from the blockchain network;

[0044] assembling a preliminary block based on the processed data;

[0045] 5 / 15

[0046] Sending the prepared block to the transaction verification node;

[0047] Verifying the preliminary block by the verification node; and,

[0048] The prepared block is stored on the blockchain network.

[0049] Optionally, the aforementioned “processing” mentioned in distributing data corresponding to the verified transaction hash to the blockchain network for processing may include: mining, or adding the transaction to a public ledger of past transactions. Optionally, the aforementioned processed data may be mining data, data involving adding the transaction to a public ledger of past transactions.

[0050] Optionally, the pre-block includes a random number (n), an invertible Bloom filter lookup table (IBLT), and a coinbase transaction.

[0051] Optionally, the transaction verification node maintains the latest storage pool by exchanging the reversible Bloom filter lookup table with a network node (which may be a network node performing the processing, such as a mining node) and the other transaction verification nodes.

[0052] Optionally, the aforementioned storing of the prepared block includes: storing on the storage capacity of the verification node, or outsourcing the storage to a storage node.

[0053] The data generated from the digital twin can be data associated with one or more parameters of the physical system, the data being generated by one or more sensors that monitor the one or more parameters of the physical system. In addition, the blockchain network can be used to execute digital smart contracts based on the data received from the digital twin.

[0054] Embodiments of the present invention may be provided in a variety of forms. For example, a computer-readable storage medium including computer-executable instructions may be provided, which, when executed, causes one or more processors to perform the methods described herein. An electronic device may also be provided, comprising: an interface device; one or more processors connected to the interface device; and a memory connected to the one or more processors, the memory having computer-executable instructions stored thereon, which, when executed, causes one or more processors to perform the methods described herein. In addition, a node of a blockchain network may also be provided, which is used to perform the methods described herein.

[0055] In addition to the above, a digital twin may be provided that is used to:

[0056] receiving data representing a state of the system; and

[0057] The received data or data derived from the received data is sent from the digital twin to the blockchain network.

[0058] A system may also be provided, comprising a digital twin and a blockchain network node as described herein.

[0059] A system may also be provided, comprising a digital twin and an electronic device as described herein, wherein the digital twin is configured to: receive data representing a system state; and, send the received data or data derived from the received data from the digital twin to a blockchain network. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] These and other aspects of the invention will become apparent and elucidated with reference to the embodiments described herein. Embodiments of the invention will now be described by way of example only and with reference to the accompanying drawings, in which:

[0061] Figure 1 A simple schematic diagram showing a digital twin of a physical system;

[0062] Figure 2 A simple example of a business chain is shown, where blockchain and smart contracts are used to set conditions for processes and automate processes between parties;

[0063] Figure 3Shows the incorporation of digital twins into Figure 2 Flowchart of the system;

[0064] Figure 4 shows the use of blockchain as an independent storage system for a digital twin associated with an aircraft;

[0065] Figure 5 An incremental hashing process is shown that can be used to store a given amount of data generated by a digital twin within a given time frame;

[0066] Figure 6 An improved blockchain network architecture capable of storing the large amounts of data generated by digital twins is shown; and

[0067] Figure 7 A schematic diagram of a computing environment is shown in which various embodiments may be implemented. DETAILED DESCRIPTION

[0068] In this document, the term "blockchain" is used to include all forms of electronic, computer-based distributed ledgers. These include, but are not limited to, consensus-based blockchain and transaction chain technologies, permissioned and unpermissioned ledgers, shared ledgers, and their variations. It should be noted that the present invention is not limited to use with a specific blockchain, and other blockchain implementations and protocols also fall within the scope of the present invention.

[0069] A blockchain is a consensus-based electronic ledger implemented as a decentralized, distributed computer-based system consisting of blocks, which consist of transactions and other information. Each transaction can be a data structure that encodes the transfer of control of digital assets between participants in a blockchain system and includes at least one input and at least one output. Each block contains a hash of the previous block, so that the blocks are linked together to create a permanent, unchangeable record of all transactions that have been written to the blockchain since its inception. Transactions contain small programs, called scripts, embedded in the inputs and outputs of the transaction, which specify how and who can access the output of the transaction. These scripts can be written using a stack-based scripting language.

[0070] In order for a transaction to be written to the blockchain, it must be "validated". Some network nodes perform work to ensure that each transaction is valid, and invalid transactions are rejected by the network. For example, the software client installed on the node performs validation work on transactions that reference unspent transaction outputs (UTXOs). Validation can be performed by executing its locking and unlocking scripts. If the execution of the locking and unlocking scripts evaluates to true (TRUE), and certain specific conditions are met, then the transaction is valid and can be written to the blockchain. Therefore, in order for a transaction to be written to the blockchain, the transaction must: i) be validated by the node that receives the transaction - if the transaction is validated, the node relays the transaction to other nodes in the network; ii) be added to a new block constructed by the network nodes; iii) be mined, that is, added to the public ledger of past transactions. A transaction is considered confirmed when a sufficient number of blocks have been added to the blockchain to make the transaction effectively irreversible.

[0071] Digital entrepreneurs have begun exploring the use of cryptographically secure systems and data that can be stored on blockchains to implement new systems. It would be extremely beneficial if blockchains could be used to automate tasks and processes. Such solutions would be able to leverage the benefits of blockchains (e.g., permanent tamper-proof records of events, distributed processing, etc.) while being more versatile in the application of such solutions.

[0072] One area of ​​research is the use of blockchain to implement “smart contracts.” These smart contracts are computer programs designed to automatically execute the terms of a machine-readable contract or agreement. Unlike traditional contracts written in a natural language, a smart contract is a machine-executable program that includes rules that process inputs to produce results, and the smart contract can perform actions based on those results.

[0073] This specification describes the use of blockchain in combination with digital twins, and optionally with smart contracts. As previously mentioned, digital twins can simplify supply management processes and can be an important diagnostic tool for safety-critical systems, such as aircraft and aerospace industries or general transportation. 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 a digital twin, or to execute contracts involving multiple parties related to a system or process that incorporates a digital twin. A digital twin can effectively act as an interface between a physical system and a blockchain, such that data about a system or process can be obtained through a digital twin and stored in a blockchain, and the blockchain can trigger certain actions based on the received data according to one or more smart contracts stored on the blockchain.

[0074] 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 built that reflects the temperature of an office. In this case, given that the temperature of a room does not usually change suddenly, it makes sense to transmit one temperature value every minute (or every 5 minutes) in order to reduce the amount of data transmitted over the network. With one temperature value per minute, the digital twin will record and transmit 60 temperature values ​​per hour (in real time).

[0075] Such an amount of data is certainly reasonable for storage on a blockchain and does not create any major problems. However, if the system being mirrored is, for example, an airplane engine in flight, or a train cylinder on a train journey, the situation becomes more complicated. In these examples, even transmitting values ​​every second may not be enough, and a higher fidelity may need to be guaranteed, for example, sampling once every millisecond (very likely in the case of an airplane). Furthermore, the number of variables recorded can vary, and in complex systems, a large number of variables may need to be recorded with high fidelity.

[0076] When considering blockchain as a possible backbone infrastructure for storing information related to a specific object or process, it is important to consider the amount and frequency of data transmitted by the digital twin as constraints that must be met.

[0077] Smart contracts, digital twins and blockchain

[0078] A digital twin can be considered an external object that interacts with a blockchain, for example, as a party to a digital contract implemented on the blockchain. That is, a digital twin can be considered an entity that is able to record transactions on the blockchain and participate in one or more digital contracts. A protocol can be provided that allows the agent to:

[0079] Writing financial instruments using Domain Specific Languages ​​(DSLs);

[0080] Outsourcing contract execution to untrusted parties; and

[0081] Publicly verify the correctness of contract execution.

[0082] This protocol uses cryptographic primitives to ensure that:

[0083] Completeness (i.e., if the protocol is followed correctly, then an honest verifier will be confident of the validity of the output).

[0084] Soundness (i.e., no cheating prover can convince an honest verifier that the output is genuine); and

[0085] Zero-knowledge (i.e., if the output is valid, then a cheating verifier knows nothing other than that fact).

[0086] The main benefits of this protocol are:

[0087] Since no communication between participants is required, man-in-the-middle attacks are prevented;

[0088] Due to the use of blockchain technology, it is difficult for malicious nodes to tamper with data; and

[0089] Contract verification does not mean code re-execution. The computation is not replicated by every node in the network. Instead, evidence of honest execution is stored on the public blockchain for verification purposes only.

[0090] Examples

[0091] The advent of blockchain has opened up new avenues for automating processes involving multiple parties without the need to build expensive centralized network infrastructure, and with the huge advantage that all participants have access to the same data stored in a tamper-proof record. In addition, blockchain technology enables smart contract protocols to facilitate the negotiation and execution of contracts.

[0092] Let us consider an example involving three parties, namely: (i) a supermarket; (ii) a transport company; and (iii) an organic farmer. The farmer sells organic vegetables, which must be consumed within 48 hours, and if sold to a supermarket (or general store), the product must reach the final destination within 8 hours and be kept refrigerated during transportation. Figure 2 A business chain is shown in which blockchain and smart contracts are used to set conditions for processes and automate processes between parties.

[0093] The three parties involved in the process are independent and all participate in the value chain. This simple example shows how important trust between the parties is in this scenario if no measures are taken into account in the process. In a simple world, the farmer knows and trusts the delivery person, is confident that the van used for delivery is working properly and the temperature inside the van will be kept below 3 degrees, as required in the contract with the supermarket. The farmer also trusts that the product will be delivered within a maximum of 8 hours. At the same time, the supermarket manager knows the farmer and the delivery person and trusts both of them. In the absence of trust or past history, the combination of blockchain and digital twins can solve this problem.

[0094] Digital twins are used on trucks to reflect the environmental conditions in which organic vegetables are transported. This information can be stored in the blockchain, and both farmers and supermarket managers can verify what happened during the delivery process. The blockchain can serve as the backbone of the entire process. Figure 3A simple example of how blockchain can be used in a process is shown, consisting of: (i) registering the data provided by the digital twin during transport; and (ii) recording the different transactions to ensure that all conditions are in compliance with the contract. The scenario can be more explicit and complex, taking into account the case where all parties involved in the process can sign all transactions. In the example presented, the supermarket manager does not deal with the farmer. The case presented is very simple and aims to show how blockchain is intertwined with digital twin technology.

[0095] exist Figure 2 and Figure 3 In the example shown, the digital twin can monitor the temperature inside the truck and the delivery time to simulate the delivery process. However, in a simpler example, if one wishes to simulate the behavior of only the temperature, then a temperature sensor can be defined as a digital twin of such a system.

[0096] Blockchain as a storage system for digital twins

[0097] This section describes the key elements of using blockchain as a digital twin network infrastructure. Figure 4 The scenario in shows a practical safety-critical example where blockchain is an essential component of the infrastructure. In the arrangement shown, blockchain is used as an independent storage system for the digital twin associated with the aircraft.

[0098] Aircraft are highly complex systems that are frequently maintained and tightly controlled by aviation authorities and airlines (for civil aviation). Digital twins that mirror different subsystems of an aircraft, such as hydraulic pumps, brake systems, wings, landing gear, etc., are extremely helpful in optimizing maintenance processes and preventing accidents. Blockchain generates an immutable history of data transactions generated by digital twins.

[0099] In the event of a near miss, or worst case scenario of an accident, both general aviation authorities and airlines will have the potential to access the immutable dataset stored on the blockchain and analyze the entire flight history. A set of digital twins recording the behavior of the aircraft during flight will constitute a powerful "flight recorder" stored in a neutral record (the blockchain) accessible to all those interested in examining the dataset.

[0100] Data size and frequency issues

[0101] As previously mentioned, current blockchain technology is capable of performing the above functions when relatively small amounts of data need to be stored in relatively infrequent time periods. 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 the data needs to be stored at a high frequency / fidelity (e.g., every second or millisecond). This specification proposes two methods to overcome the constraints imposed by blockchain (today): (i) historical incremental hashing (which can be implemented on some current network architectures); and (ii) using an improved network structure that is suitable for processing larger amounts of data at higher rates.

[0102] History incremental hashing

[0103] The idea of ​​historical incremental hashing is closely related to the functionality of blockchain. The information stored in the blockchain is not the data generated by the digital twin, but the signed hash of a given amount of data D generated within a given time frame T. The time T depends on the system being analyzed (for example, if the digital twin is mirroring the temperature of a room, the time frame will be larger than if the digital twin is mirroring the functionality of an aircraft engine). The storage nodes can be dedicated nodes that ensure that the hash stored and signed in the blockchain can provide proof of existence of the data generated by the digital twin.

[0104] Figure 5 The incremental hashing process is explained, which can be used to store a given amount of data generated by a digital twin within a given time frame. The steps are as follows:

[0105] 1. The digital twin starts recording data at a given frequency f;

[0106] 2. Data is recorded in private nodes;

[0107] 3. At time T0, the node generates a first hash (H0) that hashes the data recorded by the digital twin H0=H(D) at time T0, and records the hash locally and in the blockchain;

[0108] 4. At time T0+x, each new hash will be linked to the previous hash (the second hash will be linked to H0, and so on), producing a chain of hashes that will be recorded in the blockchain.

[0109] The blockchain will contain a sequence of hashes, through which it will be possible to reconstruct the entire history of the data generated by the digital twin, and it will be possible to verify the authenticity of the recorded information by private nodes.

[0110] Improved use of blockchain network architecture

[0111] The second solution uses an improved blockchain network architecture to provide specialized nodes and protocols for verification, mining, and storage functions in the blockchain network. The architecture we proposed for the blockchain network is as follows Figure 6 , which shows an operational diagram showing the steps from a user submitting a transaction to the transaction ending on the blockchain. This architecture allows the full history of data generated by a digital twin to be stored on the blockchain, even if the data set is large and generated at high frequency / fidelity.

[0112] A system is provided in which dedicated verification nodes maintain a shared storage pool of transactions between themselves through a distributed hash table (DHT). These dedicated verification nodes may also be referred to as merchant nodes (in Figure 6 M-nodes are designed to focus on the rapid propagation of transactions. They may or may not store the full blockchain and are not required to perform mining functions. The operation of M-nodes is focused on the rapid verification and propagation of unconfirmed transactions, especially to other M-nodes, from which unconfirmed transactions are quickly pushed out to other nodes in the blockchain network. To facilitate this function, M-nodes are allowed a greater number of incoming connections, and especially outgoing connections, than might otherwise be allowed to a node under the Governing Protocol.

[0113] Dedicated validating nodes receive transactions, validate them, and distribute them across a distributed storage pool (also known as a storage pool). The validating nodes then provide a service to the network nodes, i.e., a list of validated transaction hashes. Based on these hashes, the network nodes assemble pre-blocks (aka Block Skeletons) and attempt to solve hash puzzles. When a solution to the puzzle is found, the winning network node sends the block skeleton back to the validating node. The validating node validates the block and ensures that the block is stored. Initially, it is possible and feasible for the validating nodes to store the blocks themselves. When the block size eventually exceeds a certain size threshold, the validating nodes will either: a) expand their own storage capabilities; or b) outsource storage to dedicated storage nodes.

[0114] In the above network system, the storage pool of transactions needs to be synchronized between the verification nodes. This involves exchanging Invertible Bloom filter Lookup Tables (IBLTs) (IBLTs-Michael T.Goodrich, 2011). The verification node keeps the latest storage pool by exchanging IBLTs with network nodes and other verification nodes. The place where the verification and storage functions are combined is called a new full node, such as Figure 6 shown.

[0115] Network nodes send a block skeleton (Tuple) containing the following:

[0116] 1. Random number, n

[0117] 2.IBLT

[0118] 3. Coinbase transaction

[0119] Based on this, the new full node sorts the transactions accordingly and assembles a new block (e.g., a newly mined block). The new full node then proceeds to store the block in its own storage and propagates the skeleton to other new full nodes.

[0120] This solution overcomes the limitations of historical incremental hashing. The main problem with the incremental hashing solution is due to the fact that the dataset produced by the digital twin will be recorded in a private node (or multiple private nodes), and the blockchain will only contain signed data associated with the history of the full dataset. This condition is sufficient for many applications (such as selling products and supply chain management), while other applications (such as safety-critical such as flight history) will require the full set of data to be recorded in a distributed blockchain ledger.

[0121] A single node in a blockchain network can be viewed as a cluster of nodes that provides a distributed memory pool (DMP). The proposed DMP relies on a distributed hash table (DHT) structure deployed in a network consisting of individual trust relationships between honest nodes. The connection set of nodes is built on a collection of routing and application-level information. No central authority is involved in the issuance or storage of trust certificates: each node maintains a record of its own trusted peers.

[0122] Malicious entities need to join the network to perform some form of attack. For example, the Sybil attack focuses on creating a large number of false identities to compromise the system. Sybil nodes connected to the network may 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:

[0123] ●Nodes cannot distinguish between honest and malicious nodes.

[0124] ●Most honest nodes have more connections with other honest nodes.

[0125] Each node is responsible for storing information about key space partitions.

[0126] The DHT protocol provides two main functions.

[0127] UPDATE() is used to build the routing table and insert the key in each DHT node.

[0128] DHT node x uses GET(x, k) to find the target key-value record represented by key k.

[0129] Each DHT node x is usually represented by a public key P x and the current IP address addr x This information is recorded with the sign x (P x ,addr x ) secure link, where sign 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, a new record [P x ,addr x ] must be stored in the DHT. Malicious nodes may insert incorrect key-value pairs. The GET method is responsible for verifying the signature in the returned key-value record.

[0130] 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. While creating an arbitrary number of Sybil identities is computationally affordable for a malicious entity, creating a malicious edge requires convincing an honest node to establish a trusted link to one of the identities controlled by the Sybil. Without a sparse cut that divides the honest region into two parts, a short random walk starting from an honest node is likely to end at an honest node. In this way, the solution provides a secure method for providing a blockchain network architecture that is capable of storing large amounts of data generated by digital twins with high fidelity in order to support the connection of blockchain networks to digital twin systems.

[0131] Computing Environment

[0132] Figure 7 A schematic diagram of a computing environment in which various embodiments may be implemented is shown. An illustrative simplified block diagram of a computing device 2600 that may be used to practice at least one embodiment of the present invention is provided. In various embodiments, the computing device 2600 may be used to implement any of the systems shown and described above. For example, the computing device 2600 may be used as a data server, a network server, a portable computing device, a personal computer, or any electronic computing device. Figure 7As shown, computing device 2600 may include one or more processors with one or more levels of cache memory and a memory controller (collectively referred to as 2602) that may communicate with a storage subsystem 2606 including a main memory 2608 and a permanent memory 2610. As shown, main memory 2608 may include dynamic random access memory (DRAM) 2618 and read-only memory (ROM) 2620. Storage subsystem 2606 and cache memory 2602 may be used to store information, such as details associated with transactions and blocks described in the present invention. Processor 2602 may be used to provide the steps or functions of any embodiment described in the present invention.

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

[0134] The bus subsystem 2604 may provide a mechanism for enabling the various components and subsystems of the computing device 2600 to communicate with each other as intended. Although the bus subsystem 2604 is illustrated as a single bus, alternative embodiments of the bus subsystem may utilize multiple busses.

[0135] The network interface subsystem 2616 can provide an interface to other computing devices and networks. The network interface subsystem 2616 can be used as an interface to receive data from other systems of the computing device 2600 and to transmit data to other systems. For example, the network interface subsystem 2616 can enable a data technician to connect the device to a network, so that the data technician can transfer data to and receive data from the device at a remote location (e.g., a data center).

[0136] The 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 drawing tablet, etc.; a scanner; a barcode scanner; a touch screen integrated into a display; an audio input device, such as a voice recognition system, a microphone, etc.; and other types of input devices. In general, the use of the term "input device" is intended to include all possible types of devices and mechanisms for inputting information into the computing device 2600.

[0137] 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. The display subsystem may be a cathode ray tube (CRT), a liquid crystal display (LCD), a light emitting diode (LED) display, or a flat panel device such as a projector, or other display device. In general, the 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. One or more user interface output devices 2614 may be used to display a user interface to facilitate user interaction with the application executing the process and its variations when appropriate.

[0138] The storage subsystem 2606 may provide a computer-readable storage medium for storing basic programming and data structures, wherein the basic programming and data structures may provide the functionality of at least one embodiment of the present invention. When executed by one or more processors, applications (programs, code modules, instructions) may provide the functionality of one or more embodiments of the present invention and 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 may additionally provide a repository for storing data used by the present invention. For example, the main memory 2608 and the cache memory 2602 may provide volatile storage for programs and data. The permanent storage 2610 may provide permanent (non-volatile) storage for programs and data, and may include flash memory, one or more solid-state drives, one or more disk drives, one or more floppy disk drives with associated removable media, one or more optical disk drives (e.g., CD-ROM or DVD or Blue-Ray) with associated removable media, and other similar storage media. Such programs and data may include programs for performing the steps of one or more embodiments as described in the present invention, and data associated with transactions and blocks as described in the present invention.

[0139] The computing device 2600 may be of various types, including a portable computer 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 via one or more ports (e.g., USB, headphone jack, lightning connector, etc.). The device that can be connected to the computing device 2600 includes a plurality of ports for accepting fiber optic connectors. Thus, the device may be used to convert optical signals into electrical signals that may be transmitted through the port connecting the device to the computing device 2600 for processing. Due to the ever-changing nature of computers and networks, Figure 7 The computing device 2600 described in the foregoing is merely a specific example to illustrate a preferred embodiment of the device. Figure 7Many other configurations are possible having more or fewer components than the system depicted.

[0140] Summarize

[0141] This specification describes how to use blockchain as an independent storage system for digital twins. This specification also describes how to use digital smart contracts to manage the interactions between blockchain, digital twins and external physical systems. In cases where large amounts of data need to be stored, two solutions are described, the first one is based on historical incremental hashing, where only specific hashes are recorded in the blockchain, while the second one uses distributed storage pools and new full nodes to make the blockchain the complete backbone of the digital twin infrastructure.

[0142] It should be noted that the above embodiments illustrate rather than limit the present invention, and those skilled in the art will be able to design many alternative embodiments without departing from the scope of the present invention as defined by the appended claims. In the claims, any reference numerals in brackets shall not be interpreted as limiting the claims. The words "comprising" and "comprises" and the like do not exclude the presence of other elements and steps as a whole, even though these elements and steps are not listed in any claim or specification. In this specification, "comprises" means "includes or consists of...", and "comprising" means "including or consists of...". The singular reference of an element does not mean to exclude the plural reference of these elements, and vice versa. The present invention can be implemented by means of hardware comprising several different elements, and by means of a suitably programmed computer. In a device claim that lists several methods, several of these methods can be embodied by the same component of hardware. The indisputable fact that certain measures are listed in mutually different dependent claims does not mean that the combination of these measures cannot achieve beneficial effects.

Claims

1. A computer-implemented method for a blockchain network, the computer-implemented method comprising: receiving data at a node of the blockchain network, wherein the data is generated by a digital twin or derived from data generated by the digital twin; and storing said data in a blockchain; wherein the data stored in the blockchain includes data generated by the digital twin, thereby providing a historical record of data generated by the digital twin in the blockchain; receiving a transaction, the transaction including data generated by the digital twin; Verifying the transaction at a transaction verification node in the blockchain network; Maintaining a storage pool of verified transactions with other transaction verification nodes in the blockchain network through a distributed hash table; and distributing data corresponding to the verified transaction hash to the blockchain network for processing; receiving processed data corresponding to the verified transaction hash from the blockchain network; assembling a preliminary block based on the processed data; Sending the prepared block to the transaction verification node; Verifying the preliminary block by the verification node; and The prepared block is stored on the blockchain network.

2. The computer-implemented method of claim 1, in, The pre-block includes a random number (n), an invertible bloom filter lookup table (IBLT), and a coinbase transaction.

3. The computer-implemented method of claim 1, in, The transaction verification node maintains an up-to-date storage pool by exchanging reversible Bloom filter lookup tables with network nodes and the other transaction verification nodes.

4. A computer-implemented method according to any preceding claim, in, Storing the prepared block includes: storing on the storage capacity of the verification node, or outsourcing the storage to a storage node.

5. A computer-implemented method according to any preceding claim, in, The data generated from the digital twin is data associated with one or more parameters of the physical system, the data being produced by one or more sensors monitoring the one or more parameters of the physical system.

6. A computer-implemented method according to any preceding claim, in, The blockchain network executes digital smart contracts based on data received from the digital twin.

7. A computer-readable storage medium comprising computer-executable instructions, which when executed cause one or more processors to perform the method of any one of claims 1 to 6.

8. An electronic device comprising: Interface devices; one or more processors, the one or more processors connected to the interface device; A memory connected to the one or more processors, the memory storing computer executable instructions, which, when executed, cause the one or more processors to perform the method of any one of claims 1 to 6.

9. A node of a blockchain network, wherein the node is used to execute the method according to any one of claims 1 to 6.

10. A digital twin for: receiving data representing a state of the system; and The received data or data derived from the received data is sent from the digital twin to a blockchain network.

11. A system comprising the digital twin as claimed in claim 10 and the blockchain network node as claimed in claim 9.