CN111295660A - 用于将区块链连接到数字孪生的计算机实现的系统和方法 - Google Patents

用于将区块链连接到数字孪生的计算机实现的系统和方法 Download PDF

Info

Publication number
CN111295660A
CN111295660A CN201880071545.8A CN201880071545A CN111295660A CN 111295660 A CN111295660 A CN 111295660A CN 201880071545 A CN201880071545 A CN 201880071545A CN 111295660 A CN111295660 A CN 111295660A
Authority
CN
China
Prior art keywords
computer
blockchain
implemented method
message
discrete
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880071545.8A
Other languages
English (en)
Other versions
CN111295660B (zh
Inventor
亚历山卓·科瓦奇
朱塞佩·达斯特凡尼斯
西蒙·马蒂奥
帕特里克·蒙特利斯基
史蒂芬·文森特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB1718182.7A external-priority patent/GB201718182D0/en
Priority claimed from GBGB1719212.1A external-priority patent/GB201719212D0/en
Priority claimed from GBGB1804744.9A external-priority patent/GB201804744D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN111295660A publication Critical patent/CN111295660A/zh
Application granted granted Critical
Publication of CN111295660B publication Critical patent/CN111295660B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

描述了一种计算机实现的方法和系统,该方法和系统使用区块链技术作为从数字孪生获得的数据的存储系统。区块链可用于产生数字孪生所生成数据的不可变交易历史。在出现错误、故障、事件或事故的情况下,相关方可以访问并分析不可变的数据集。区块链网络还可以基于从数字孪生接收到的数据执行数字智能合约。本发明可以与比特币区块链或另一种区块链协议结合使用。

Description

用于将区块链连接到数字孪生的计算机实现的系统和方法
技术领域
本说明书总体上涉及适用于在区块链网络的节点中实现的计算机实现的方法和系统。本发明特别适合于,但不限于,与比特币区块链一起使用。本发明还涉及计算机实现的系统中的安全性、完整性和效率。
背景技术
如今,工业资产的设计依赖于各种模型和大量的数据源。数据科学家处理大量数据,而专业团队则独立地创建模型,并针对其特定任务进行分析。最新的信息和计算可能无法立即用于关键决策,这种孤岛式工作方式会导致成本和效率低下,造成不确定性,并且浪费大量时间和资源。为了最大程度地利用传感器和过程产生的数据,数字孪生非常有用。
数字孪生是真实对象、过程或服务的虚拟动态副本,通过它可以进行测试并防止错误或故障。可以创造产品、飞机或汽车的机械部件、生产过程等等的数字孪生。数字孪生可以被视为模拟与实时数据和响应的革命性结合。
模拟过程或系统的行为假定了解在模拟中涉及的所有变量在过去的行为,以及足够大的时间范围,在此时间范围内,观察被测系统,记录所有的输入/输出变量。了解过去是建立良好模拟器的前提。向此过程添加实时信息的可能性可以显著提高整个模拟的精度和准确度,直到反映出系统或过程的确切行为。这种可能性对于工业世界(工业4.0)来说是革命性的,高德纳(Gartner)将数字孪生列为2017年最重要的颠覆性技术之一[http://www.gartner.com/smarterwithgartner/gartners-top-10-technology-trends-2017/]。
图1示出了物理系统的数字孪生的简单示意图。传感器收集关于物理系统的数据,例如,物理系统可以是飞机的部件。历史数据被用来构建数字孪生,随着更多的实时数据被输入到系统,数字孪生进化成模拟该物理系统。数字孪生可用于监控物理系统的参数,评估物理系统的当前状态,预测物理系统的未来状态,并进行测试,以便例如预测物理系统的故障,从而有助于避免故障,例如通过更换部件或以不同方式操作物理系统。
发明内容
如下所述,目前的数字孪生技术已经发现了许多问题。
数字孪生的可靠性和安全性取决于数字孪生所依赖的数据的安全性。理想情况下,数据应该是不可变的,以便在实时操作期间,数字孪生的操作不会被篡改,并且能够正确地反映物理系统的状态。这可能很重要,例如,以防止第三方干扰数据,使得数字孪生不能正确地表示物理系统的实时状态并提供可能导致物理系统中的操作错误或故障的误导信息。
此外,所存储的数据应该是不可变的,以便保留系统性能的准确和可靠的历史记录。这可能很重要,例如,如果物理系统故障,需要检查数据以确认物理系统出现故障的原因,以及物理系统的用户或制造商是否存在任何责任。在某个动作可能依赖于先前动作的执行的过程中,这也是很重要的。在这种情况下,第三方可能会更改所存储的数据,使其看起来像已经执行了特定动作,而实际上并没有,从而错误地触发进一步的动作。
另一个问题是数据对许多相关方的可访问性。各方很可能存在利益冲突,因此,拥有一个安全、不可变的但各方均可访问的中立数据记录是有利的。
还有一个问题是,传统的数据存储方案(例如飞机上的黑匣子记录器)在发生事故时可能会损坏或丢失。
还有另一个问题是,在一个场景中,一旦先前的动作已经完成,就需要进一步的动作,数字孪生可以指示需要进一步的动作,但是不能确保动作被实际执行。例如,数字孪生可以指示某个物理过程已经完成,因此需要进一步的步骤,例如支付物理过程的完成。但是,数字孪生不能确保这种支付被实际进行,因此这种支付依赖于对于过程是值得信任的并支付的一方,或者预先支付,这取决于过程的提供者的可信任度以正确地完成过程。
本发明的某些实施例的目的是通过提供如本文所述的解决方案来解决这些问题。
本申请发明人已经认识到,通过使用区块链技术作为从物理系统和过程(包括使用数字孪生的实时应用)获取的数据的存储系统,可以解决上述问题。从数字孪生产生的数据可以是,例如,与物理系统的一个或多个参数相关联的数据,该数据由监控物理系统的一个或多个参数的一个或多个传感器产生。区块链可用于产生数字孪生所生成数据的不可变交易历史。在出现错误、故障、事件或事故的情况下,相关方可以访问并分析不可变的数据集。这在诸如飞机等安全关键系统中尤为重要。此外,由于区块链提供了数据的分布式存储,因此它不容易损坏或丢失单个存储单元。此外,本申请发明人已经认识到,数字孪生可以成为在区块链网络上实现的数字智能合约的一方。这可以确保区块链网络可以根据数字孪生接收的指示真实物理系统状态的数据来执行步骤。也就是说,区块链网络可用于与涉及并入数字孪生的系统或过程的多方执行数字智能合约。
当需要在相对不频繁的时间段存储相对少量的数据时,当前的区块链技术能够实现上述功能。然而,区块大小限制以及区块大约每10分钟才被并入区块链的事实,意味着标准区块链技术不太适合作为用于实时应用程序的存储系统,在这些应用程序中,所产生的数据量非常大和/或需要以高频率/保真度(例如每秒或每毫秒)存储数据。本文还描述了克服这些问题以便利用区块链作为用于这种实时系统的存储系统的方法。这些方法涉及以下一个或多个:在区块链网络内实现的合适的协议,用于处理来自数字孪生的大量数据;改进的区块链网络架构,用于在区块链网络内处理数据;以及在数字孪生和区块链网络之间提供合适的接口,用于处理来自数字孪生的大量数据。
就在数字孪生和区块链网络之间提供合适的接口以处理来自数字孪生的大量数据而言,可以提供一种计算机实现的方法,该方法包括:
在缓冲器处接收来自数字孪生的数据流;
将数据流转换为离散消息序列;和
将离散消息序列发送到区块链网络的接收节点以用于在区块链中的交易的后续存储,该交易包含与离散消息序列相关联的数据。
通过对消息序列的每个消息进行加密,离散消息序列可以通过安全通道从缓冲器发送到接收节点。可以使用缓冲器和接收节点之间的密钥协商协议来建立这样的安全通道,以生成用于加密和解密每个消息的共享密钥。每次建立安全通道时,可以生成共享密钥的新值。例如,为发送到接收节点的每个离散消息生成共享密钥的新值。
对于发送到接收节点的每个离散消息mi,缓冲器可以计算并存储散列H(mi)。在时间t之后,当已经发送了多个所述离散消息时,缓冲器可以发送消息mh,该消息mh由与直到时间t为止发送的离散消息相关的散列序列组成。缓冲器还可以发送包含消息mh的散列的另一消息mH。可以使用mh和mH在接收节点处验证离散消息序列,其中mh由与直到时间t为止发送的离散消息相关的散列序列组成,并且mH包含消息mh的散列。
这些特征既提供了一种将数据从数字孪生传输到区块链网络的安全方法,又确保以区块链网络更易于处理的形式提供数据。通过由两个安全通道将离散消息序列从缓冲器发送到接收节点,可以提供额外的安全级别。比较器能够验证通过两个安全通道发送的离散消息序列是否一致,并且如果从两个安全通道接收的离散消息序列不同,则接收节点可以拒绝该序列并发送通知以重发离散消息序列。
此外,缓冲器可以初始化计数器,该计数器跟踪发送的离散消息的数量,并且可以例如基于指示在传输时区块链网络的状态的一个或多个参数来确定发送到接收节点的离散消息的数量和/或速率。同样,这有助于数据管理,以确保区块链网络不会数据过载。
还提供了一种用于接收节点的计算机实现的方法,包括:在区块链网络的接收节点处,接收从来自数字孪生的数据流生成的离散消息序列;以及验证离散消息序列以用于在区块链中的交易的后续存储,该交易包含与离散消息序列相关联的数据。交易的存储可以在接收节点中,在区块链网络的另一个节点中,或者分布在区块链网络的多个节点上。例如,在验证后,离散消息序列可以被存储在区块链网络的分布式存储池中。此外,离散消息序列或离散消息序列的散列可以被存储在区块链中。
接收节点可以是公共区块链网络的节点。然而,在修改的接口配置中,接收节点可以是私有区块链网络的节点,并且在将与离散消息序列相关联的数据合并到公共区块链之前,由缓冲器生成的离散消息序列被存储在私有区块链中。在此配置中,对于由缓冲器生成并存储在私有区块链中的每个消息mi,生成散列H(m)并将散列H(m)存储在公共区块链中。
本发明的实施例可以以多种形式提供。例如,可以提供一种包括计算机可执行指令的计算机可读存储介质,该计算机可执行指令在被执行时使一个或多个处理器执行本文描述的方法。还可以提供一种电子设备,其包括:接口设备;连接到该接口设备的一个或多个处理器;以及连接到该一个或多个处理器的存储器,该存储器存储了计算机可执行指令,该计算机可执行指令在被执行时使该一个或多个处理器执本文描述的方法。本文描述的计算机实现的方法也可以在数字孪生、缓冲器、区块链网络节点或包括上述组件的系统中的一个或多个中实现。这些组件可以彼此远离放置,或者可以集成这些组件中的一个或多个。
附图说明
参考本文所述的实施例,本发明的这些和其他方面将变得清晰并得以阐明。现在将仅通过示例并参考附图来描述本发明的实施例,其中:
图1示出了物理系统的数字孪生的简单示意图;
图2示出了商业链的简单示例,其中使用区块链和智能合约为流程设置条件,使各方之间的流程自动化;
图3示出了将数字孪生并入图2的系统中的流程图;
图4示出了区块链作为与飞机相关联的数字孪生的独立存储系统的使用;
图5示出了增量散列过程,该过程可用于存储在给定时间范围内由数字孪生产生的给定量的数据;
图6示出了能够存储由数字孪生产生的大量数据的改进的区块链网络体系结构;
图7示出了使用缓冲器、安全通道和接收器作为在数字孪生和区块链网络之间的接口配置;
图8示出了图7所示的缓冲器的作用,包括将数据流从数字孪生转换成离散消息序列;
图9示出了图7所示的接收器的作用,包括验证通过安全通道从缓冲器接收的消息序列;
图10示出了数字孪生和区块链网络之间的包括第二安全通道和比较器的接口配置的修改版本,以通过验证通过两个安全通道发送的离散消息序列一致来提高安全级别;
图11示出了将接收到的消息存储在分布式散列表中,然后将散列存储到区块链中的步骤;
图12示出了在数字孪生和区块链网络之间的包括私有区块链的接口配置的一部分的修改版本,该私有区块链用于在将数据并入公共区块链之前存储来自数字孪生的数据;和
图13是示出其中可以实现各种实施例的计算环境的示意图。
具体实施方式
在本文中,使用术语“区块链(blockchain)”来包括所有形式的电子的、基于计算机的分布式账本(distributed ledgers)。这些包括但不限于基于共识的区块链和交易链技术、许可及未许可的账本、共享账本及其变型。虽然也已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币账本(bitcoin ledger)。尽管出于方便和说明的目的,本文中涉及的是比特币(bitcoin),但应当指出的是,本发明不限于与比特币区块链一起使用,其他的区块链实施方式和协议也落入本发明的范围内。
区块链是基于共识的电子账本,该账本被实现为由区块组成的基于计算机的分散化的分布式系统,而区块由交易和其他信息组成。就比特币而言,每个交易是对区块链系统中参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块包含前一区块的散列,如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有交易的记录,这些交易自区块链诞生之始被写入区块链。交易包含小程序,这些小程序称为脚本,嵌入至这些交易的输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
为了将交易写入区块链,必须对该交易进行“验证(validated)”。一些网络节点充当矿工,并执行工作以确保每个交易有效,无效交易则被网络拒绝。例如,安装在所述节点上的软件客户端在引用未花费的交易输出(Unspent Transaction Outputs,简称UTXO)的交易上进行验证工作。可通过执行其锁定和解锁脚本来进行验证。如果锁定和解锁脚本的执行评估为真(TRUE),并且如果满足某些特定条件,则该交易有效,可将该交易写入区块链。因此,为了将交易写入区块链,该交易必须:i)由接收交易的节点进行验证——如果交易经验证通过,则该节点将该交易中继到网络中的其他节点;ii)添加到矿工建造的新区块中;iii)被挖掘,即添加到过去交易的公共账本中。当向区块链添加充分数量的区块以使交易实际上不可逆转时,交易被视为已确认。在撰写本说明书时,比特币区块链网络基于包含约2000笔交易的区块大小,大约每10分钟挖掘一个区块。
尽管区块链技术以使用加密货币实现方式而闻名,但数字企业家已经开始探索使用比特币所基于的加密安全系统和可存储在区块链上的数据来实现新系统。如果区块链能够用于不仅仅局限于以加密货币计价的支付的自动化任务和流程,那么将是非常有利的。这类解决方案将能够利用区块链的优势(例如,事件的永久防篡改记录、分布式处理等),同时在这些解决方案的应用中更具通用性。
研究的领域之一是使用区块链来实现“智能合约(smart contract)”。这些智能合约是旨在使机器可读合约或协议条款的执行自动化的计算机程序。与用自然语言编写的传统合约不同,智能合约是一种机器可执行程序,包括可处理输入以产生结果的规则,智能合约可根据这些结果来进行动作。
本说明书描述了区块链与数字孪生的结合使用,以及可选地与智能合约的结合使用。如前所述,数字孪生可以简化供应管理流程,并且可以成为用于安全关键系统(例如飞机和航空航天工业或一般运输)的重要诊断工具。数字孪生和区块链技术结合的潜在应用众多。例如,区块链网络可以用于安全地存储由数字孪生产生的信息,或者用于与包含数字孪生的系统或过程相关的多方执行合约。数字孪生可以有效地充当物理系统和区块链之间的接口,使得可以通过数字孪生获取有关系统或过程的数据并将该数据存储在区块链上,并且区块链可以根据存储在区块链上的一个或多个智能合约基于接收到的数据触发某些动作。
数字孪生产生的实时数据量可以根据被镜像系统的复杂程度而变化。例如,可以构建反映办公室温度的数字孪生。在这种情况下,考虑到房间的温度通常不会突然变化,每分钟(或每5分钟)传输一个温度值是合理的,以便减少待通过网络传输的数据量。在每分钟一个温度值的情况下,数字孪生将每小时记录并传输(实时)60个温度值。
这样的数据量对于在区块链上的存储来说当然是合理的,并且不会产生任何重大问题。然而,如果被镜像的系统是例如飞行中的飞机发动机,或者火车旅途中的火车汽缸,则情况变得更加复杂。在这些示例中,即使每秒传送数值可能也是不够的,并且可能需要保证更高的保真度,例如,每毫秒采样一次(在飞机的情况下非常可能)。此外,记录的变量数量可以变化,且在复杂系统中,可能需要以高保真度记录大量变量。
当考虑将区块链作为用于存储与特定对象或过程相关的信息的可能的主干基础设施时,需要考虑由数字孪生传输的数据的数量和频率,这是重要的前提,需要受到约束。
智能合约,数字孪生和区块链
数字孪生可以被视为与区块链交互的外部对象,例如,作为在区块链上实施的数字合约的参与方。也就是说,数字孪生可以被视为能够记录区块链上的交易并参与一个或多个数字合约的实体。可以提供一种协议,该协议允许代理方:
使用特定领域语言(Domain Specific Languages,简称DSLs)编写金融工具;
将合约执行外包给不受信方;和
公开验证合约执行的正确性。
这种协议利用加密原语,该加密原语确保:
完整性(即,如果协议被正确遵循,那么诚实的验证者将确信输出的有效性)。
可靠性(即,任何欺骗证明者都不能够使诚实的验证者相信输出的真实性是真实的);和
零知识(即,如果输出是有效的,则除了这一事实之外,欺骗验证者一无所知)。
这种协议的主要好处是:
由于参与者之间不需要通信,因此防止了中间人攻击;
由于使用了区块链技术,恶意节点很难篡改数据;和
合约验证并不意味着代码重新执行。网络中的每个节点都不会重复计算。相反,诚实执行的证据被存储在公共区块链中,仅用于验证目的。
实际实例
区块链的出现为自动化涉及多方的过程开辟了新途径,而无需建立昂贵的集中式网络基础设施,并且具有所有参与者都可以访问存储在防篡改记录中的相同数据的巨大优势。此外,区块链技术使智能合约协议能够促进合约的谈判和执行。
让我们考虑一个涉及三方的实际示例,即:(i)超市;(ii)运输公司;和(iii)有机农民。农民出售有机蔬菜,这些蔬菜必须在48小时内食用,如果出售给超市(或一般商店),产品必须在8小时内到达最终目的地,并在运输过程中冷藏保存。图2示出了使用区块链和智能合约为流程设置条件的使各方之间的流程自动化的商业链。
过程中的三个参与方是独立的,并且都参与了价值链。该简单的示例表明,如果在此过程中未考虑任何措施,那么在这种情况下,各方之间的信任是多么重要。在一个简单的世界里,农民了解并信任送货员,确信正如超市合约中规定的要求,用于送货的货车工作正常,货车内的温度将保持在3度以下。农民也相信产品将在最多8小时内交付。与此同时,超市经理了解农民和送货员,并信任他们两人。在没有信任或过去历史的情况下,区块链和数字孪生的结合可以解决该问题。
在货车中使用数字孪生,该数字孪生反映了运输有机蔬菜的环境条件。这样的信息可以储存在区块链中,农民和超市经理都可以验证在运送过程中发生的情况。区块链可以充当整个过程的主干。图3示出了如何在过程中使用区块链的一个简单示例,包括:(i)在运输过程中登记由数字孪生提供的数据;以及(ii)记录不同的交易,以确保所有条件与合约相符。考虑到流程中的所有参与方都可以签署所有交易的情况,场景可以更明确、更复杂。在提议的示例中,超市经理不和农民打交道。该提出的案例非常简单,目的是展示区块链是如何与数字孪生技术交织在一起的。
在图2和图3所示的示例中,数字孪生可以监控货车内的温度和运送时间,以模拟运送过程。然而,在一个更简单的示例中,如果希望仅模拟温度的行为,那么温度传感器可以被定义为此类这种系统的数字孪生。
区块链作为数字孪生的存储系统
本节描述了使用区块链作为数字孪生网络基础设施的关键要素。图4中的场景示出了一个实际的安全关键示例,其中区块链是该基础设施的基本组成部分。在所示的布置中,区块链被用作与飞机相关联的数字孪生的独立存储系统。
飞机是高度复杂的系统,由航空当局和航空公司(对于民用航空)经常进行维护和严格控制。数字孪生镜像了飞机的不同子系统,例如液压泵、制动系统、机翼、起落架等,对于优化维护过程和防止事故方面非常有帮助。区块链产生了由数字孪生所生成数据的不可变交易历史。
万一险些发生事故,或者发生事故的最坏情况,通用航空当局和航空公司都有可能访问存储在区块链上的不可变数据集,并分析整个飞行历史。记录飞机在飞行过程中行为的一组数字孪生将构成一个强大的“飞行记录器”,存储在中立记录(区块链)中,所有对检查数据集感兴趣的人都可以访问。
数据大小和频率问题
如前所述,当需要在相对不频繁的时间段存储相对少量的数据时,当前的区块链技术能够实现上述功能。然而,区块大小限制以及区块大约每10分钟才被并入区块链的事实,意味着标准区块链技术不太适合作为用于实时应用程序的存储系统,在这些应用程序中,所产生的数据量非常大和/或需要以高频率/保真度(例如每秒或每毫秒)存储数据。本说明书提出了两种克服区块链(如今)施加的约束的方法:(i)历史增量散列(可以在当前的比特币网络架构上实现);以及(ii)使用改进的比特币网络架构,该架构适于以更高的速率处理更大量的数据。
历史增量散列
历史增量散列法的想法与区块链的功能密切相关。存储在区块链的信息不是由数字孪生产生的数据,而是在给定时间范围T内产生的给定量数据D的已签名的散列。时间T取决于所分析的系统(例如,当数字孪生正在镜像房间的温度,则时间范围将大于例如当数字孪生正在镜像飞机引擎的功能的时间范围)。存储节点可以是专用节点,并保证在区块链中存储并签名的散列可以提供由数字孪生产生的数据的存在性证明。
图5示出了增量散列过程,该过程可用于存储在给定时间范围内由数字孪生产生的给定量的数据。步骤如下:
1.数字孪生开始以给定的频率f记录数据;
2.数据被记录在私有节点中;
3.在时间T0,节点产生第一散列(H0),该第一散列对在时间T0时由数字孪生记录的数据进行散列:H0=H(D),并在本地和区块链中记录散列;
4.在时间T0+x,每个新散列将与前一个散列相链接(第二散列将与H0相链接,依此类推),产生将被记录在区块链中的散列链。
区块链将包含散列序列,通过该散列序列将有可能重建由数字孪生产生的数据的整个历史,并且有可能由私有节点验证记录信息的真实性。
使用改进的比特币网络架构
第二种解决方案使用改进的比特币网络架构,为比特币网络中的验证、挖掘和存储功能提供专门的节点和协议。我们为比特币网络提出的架构如图6所示,其示出了一个操作图,表明了从用户提交交易直到交易在区块链上结束的步骤。这种架构允许在区块链上存储由数字孪生产生的数据的完整历史,即使数据集很大并且以高频率/保真度产生。
提供了一种系统,其中专用验证节点通过分布式散列表(Distributed HashTable,简称DHT)维护它们之间的交易的共享存储池。这些专用验证节点也可以被称为商家节点(在图6中被称为“M节点”)。M节点旨在关注交易的快速传播。它们可能存储也可能不存储完整的区块链,并且不需要进行挖掘功能。M节点的操作重点是未确认交易的快速验证和传播,尤其是向其他M节点的传播,未确认的交易从这些节点被快速推出到区块链网络中的其他节点。为了促进这一功能,M节点被允许有更多数量的传入连接,以及特别是传出连接,否则这些连接在管理协议下可能被允许用于节点。
专用验证节点接收交易,验证交易,并将交易分配在分布式存储池(也称为存储池)中。验证节点然后向矿工提供服务,该服务为提供有效交易散列的列表。矿工基于这些散列来组装预区块(区块骨架)(Block Skeletons),并尝试解决散列难题。找到难题的解决方案时,获胜的矿工将区块骨架发送回验证节点。该验证节点验证区块并确保区块被存储。最初,验证节点存储区块本身是可能且可行的。当区块大小最终超过大小的某个阈值时,验证节点将:a)扩展自身的存储能力;或b)将存储外包给专门的存储节点。
在上述网络系统中,交易的存储池需要在验证节点之间同步。这涉及交换可逆布隆过滤器查找表(Invertible Bloom filter Lookup Tables,简称IBLTs)(IBLTs-MichaelT.Goodrich,2011)。验证节点通过与矿工和其他验证节点交换IBLTs来保持最新的存储池。将验证和存储功能结合在一起的位置称为新的完整节点,如图6所示。
矿工发送一个包含以下内容的区块骨架(元组)(Tuple):
1.随机数,n
2.IBLT
3.币库交易(Coinbase transaction)
基于此,新的完整节点相应地对交易进行整理,并组装新挖掘的区块。新的完整节点继续将区块存储在自己的存储中,并将骨架传播到其他新的完整节点。
这种解决方案克服了历史增量散列的局限性。增量散列解决方案的主要问题是由于这样一个事实,即由数字孪生产生的数据集将被记录在一个私有节点(或多个私有节点)中,并且区块链只包含与完整数据集的历史相关联的签名数据。这一条件对于许多应用程序(例如销售产品和供应链管理)来说是足够的,而其他应用程序(例如安全关键的应用程序,如飞行历史)需要将完整的数据集记录在分布式区块链账本中。
比特币网络中的单个节点可以被视为提供分布式存储池(Distributed MemoryPool,简称DMP)的节点集群。提出的DMP依赖于分布式散列表(DHT)结构,该结构部署在由诚实节点之间的个体信任关系组成的网络中。节点的连接集建立在路由和应用程序级信息的集合上。信任证书的发布或存储不涉及任何中央机构:每个节点都维护自己信任的对等体的记录。
恶意实体需要加入网络来执行某种形式的攻击。例如,Sybil攻击的重点是创建大量虚假身份以危害系统。连接到网络的Sybil节点可能会中断或延迟合法的路由查询,并散布错误的路由信息。然而,所提出的DHT路由协议具有次线性时间和空间复杂性,并且基于以下假设:
·节点不能区分诚实和恶意节点。
·大多数诚实节点与其他诚实节点具有更多的连接。
·每个节点负责存储关于密钥空间分区的信息。
DHT协议提供了两个主要功能。
·UPDATE()用于构建路由表,并在每个DHT节点插入密钥。
·DHT节点x使用GET(x,k)来查找由密钥k表示的目标键值记录。
每个DHT节点x通常由公钥Px和当前的IP地址addrx来标识。此信息与记录signx(Px,addrx)安全地链接,其中signx()表示具有相应私钥的签名。然后,使用已签名的记录将节点ID存储在DHT中。当节点改变位置或接收到新的IP地址时,新的记录[Px,addrx]必须被存储到DHT中。恶意节点可能会插入错误的键值对。GET方法负责验证返回的键值记录中的签名。
数据路由网络可以用无向图来表示。恶意边缘将恶意节点连接到诚实节点,而诚实边缘连接两个诚实节点。虽然创建任意数量的Sybil身份对于恶意实体来说在计算上是可以承受的,但是创建恶意边缘需要说服诚实节点建立到Sybil控制的身份之一的可信链接。如果没有稀疏切割将诚实区域分成两部分,从诚实节点开始的短暂随机行走很可能在诚实节点结束。这样,该解决方案提供了一种用于提供比特币网络架构的安全方法论,该比特币网络架构能够以高保真度存储由数字孪生产生的大量数据,以便支持区块链网络到数字孪生系统的连接。
接口配置
如果数字孪生正在发送关键信息,例如,正在镜像涉及安全关键操作的设备的机械部分,我们希望确保信息通过安全通道在网络上发送。
在本节中,描述了一个更具体、更详细的协议,该协议使用区块链作为存储由数字孪生产生的信息的认证系统。更具体地,本节描述了用于在数字孪生和区块链网络之间提供合适接口的配置和协议。
图7示出了使用缓冲器、安全通道和接收器作为数字孪生和区块链网络之间的接口配置。为了实现安全通道(B),我们需要考虑发送器、图7中的缓冲器(A)和接收器(C)之间的共享密钥K。前提是密钥K仅对发送器和接收器是已知的。
缓冲器(A)的作用是充当接口,该接口能够将数字孪生连接到安全通道,将产生的数据流S转换为离散消息序列m1,m2,…,mn。使用这种方法,至少部分地解决了处理由数字孪生生成并通过网络发送的大量数据的问题。缓冲器管理由数字孪生产生的所有数据的收集和存储,并且还管理通过安全通道发送数据。图8示出了图7中所示的缓冲器的作用,包括将数据流S从数字孪生转换成离散消息序列m1,m2,…,mn
在离散化数据流S以及生成待在网络上发送的n个消息之后,将为每个消息mi生成密钥K的新值。每次建立安全通道时,例如每次发送消息mi时,在缓冲器和接收器之间使用密钥协商协议来安排唯一的密钥(会话密钥)。缓冲器可以用于决定将发送多少离散消息(例如根据传输时的网络状况),并且将初始化计数器,该计数器将跟踪发送的消息。对于通过通道发送的每个消息mi,缓冲器将计算并存储散列H(mi)。在发送了一定数量的消息之后,在时间t,缓冲器可以发送特殊消息mh,该特殊消息mh由与直到时间t为止发送的消息相关的散列序列组成。此过程帮助接收器检查接收到的离散消息的完整性。消息mh具有以下形式:
mh=H(m1),H(m2),…,H(mn)
最后,发送第三消息mH以结束过程,第三消息mH包含消息的散列,该消息包含散列序列H(mh):
mH=H(mh)
因此,缓冲器发送由安全通道处理的消息序列,然后发送给接收器。
然后,接收器接收并处理消息序列。图9示出了图7所示的接收器的作用,包括验证通过安全通道从缓冲器接收的消息序列。接收器可以使用mh和mH来验证接收到的序列。
为了提高安全级别,可以以第二安全通道和比较器的形式引入额外的冗余层。图10示出了在数字孪生和区块链网络之间的包括第二安全通道(B)和比较器(C)的接口配置的这种修改版本,以通过验证通过两个安全通道发送的离散消息序列一致来提高安全级别。比较器能够验证通过两个安全通道发送的离散消息序列是否一致。如果不是,即从通道A接收的序列不同于从通道B接收的序列,则接收器将不接受该序列,并通知缓冲器请求重发该序列。
在安全通道初始化期间,必须设置密钥和消息号。如Ferguson、Niels等人在《加密工程:设计原理和实际应用》(Cryptography engineering:design principles andpractical applications)(John Wiley&Sons,2011)中所述,导出了四个密钥:(1)加密密钥和(2)将消息从缓冲器发送到接收器的认证密钥,(3)加密密钥和(4)将消息从接收器发送到缓冲器的认证密钥。我们有一个函数f,它有两个输入,密钥(key)和作用(role),f(k,r),输出将是通道S的状态。安全通道的设置可以编码如下:
1.K1E=SHA256(K,Encrypt[Buffer to Receiver])
2.K2E=SHA256(K,Encrypt[Receiver to Buffer])
3.K1A=SHA256(K,Authenticate[Buffer to Receiver])
4.K2A=SHA256(K,Authenticate[Receiver to Buffer])//set the counters tozero
5.Msent=0;
6.Mreceived=0;//define the State S
7.S=(K1E,K2E,K1A,K2A,Msent,Mreceived)
为了发送消息(在由缓冲器操作的离散化过程之后,以便离散化由数字孪生产生的数据流),有必要考虑如上定义的会话状态,并产生加密和认证的消息。
我们有一个函数f1,它有三个输入:状态S;待发送的消息m;和待验证的附加数据d:
f1(S,m,d)
输出o’是待传输到接收器的数据。这可以编码如下:
1.countMessagesSent<n//n is the total number of messages
2.countMessagesSent=countMessagesSent+1
3.c=countMessagesSent//compute authentication
4.auth=HMAC-SHA256(K1A,c+Length(d)+d+m)//+indicates concatenation,Length()returns the length in bytes
5.o=m+auth
6.K=AESK1E(0+c+0)+AESK1E(1+c+0)+…//AES–Advanced Encryption Standard
7.o’=c+o
为了接收消息(在由缓冲器操作的离散化过程之后,以便离散化由数字孪生产生的流),有必要处理在发送消息阶段期间产生的加密和认证的消息以及待认证的附加数据d。为了接收消息,我们有一个函数f2,它具有三个输入:会话状态S;在发送阶段从f1获得的输出o’;和待认证的附加数据d:
f2(S,o’,d)
从f2获得的输出是由缓冲器发送的消息。接收协议可以编码如下:
1.//the output o’received is split into c and o
2.countMessagesSent=countMessagesSent+1
3.c=countMessagesSent
4.K=AESK2E(0+c+0)+AESK2E(1+c+0)+…//AES–Advanced Encryption Standard
5.(re)compute the authentication
6.Verify the authentication
7.If(auth)&&countMessagesRec<n then countMessagesRec++Else delete(k,m)
当接收器接收到所有消息后,有必要将所有消息存储在分布式散列表(DHT)中,然后将散列(以及先前描述的散列历史)存储到区块链中。图11示出了将接收到的消息存储在分布式散列表中并然后将散列存储到区块链中的步骤。步骤如下:
1.Store(mi,DHT)
2.Store(H(mi),DHT)
3.Store(H(mi),Blockchain)
4.Store(mi+1,DHT)
5.Store(H(H(mi)+H(mi+1)),Blockchain)
使得能够使用区块链作为数字孪生的主干的另一种方法基于使用私有区块链,该私有区块链然后可以在公共区块链中被镜像。图12示出了在数字孪生和区块链网络之间的包括私有区块链的接口配置的一部分的修改版本,该私有区块链用于在将数据并入公共区块链之前存储来自数字孪生的数据。
缓冲器的作用如前所述,即使使用私有区块链的解决方案可能需要更少的时间来记录由数字孪生传输的数据,数据流的离散化也有助于简化流程的第二步,即镜像或验证公共区块链上的消息。对于由缓冲器生成并存储在私有链中的每个消息mi,将生成散列H(m)并存储在公共区块链中。
计算环境
图13是示出其中可以实现各种实施例的计算环境的示意图。提供了可用于实践本发明的至少一个实施例的计算设备2600的说明性简化框图。在各种实施例中,计算设备2600可以用于实现以上示出和描述的任何系统。例如,计算设备2600可以配置为用作数据服务器、网络服务器、便携式计算设备、个人计算机或任何电子计算设备。如图13所示,计算设备2600可以包括具有一个或多个级别的高速缓存存储器的一个或多个处理器、以及存储器控制器(统称为2602),该存储器控制器可以用于与包括主存储器2608和持久性存储器2610的存储子系统2606通信。如图所示,主存储器2608可包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子系统2606和高速缓冲存储器2602,可以用于存储信息,诸如与本发明中所描述的交易和区块相关联的细节。处理器2602可用于提供本发明中所描述的任何实施例的步骤或功能。
处理器2602还可以与一个或多个用户界面输入设备2612、一个或多个用户界面输出设备2614以及网络接口子系统2616通信。
总线子系统2604可以提供用于使计算设备2600的各个组件和子系统能够按预期彼此通信的机制。尽管总线子系统2604被图示为单个总线,但是总线子系统的替代实施例可以利用多个总线。
网络接口子系统2616可以提供到其他计算设备和网络的接口。网络接口子系统2616可以用作从计算设备2600从其他系统接收数据以及向其他系统传输数据的接口。例如,网络接口子系统2616可以使数据技术人员能够将设备连接至网络,使得数据技术人员能够在远程位置(例如数据中心)将数据传输到设备并从该设备接收数据。
用户界面输入设备2612可以包括一个或多个用户输入设备,如键盘;诸如集成鼠标、轨迹球、触摸板或绘图板的点击设备;扫描仪;条形码扫描仪;并入到显示器中的触摸屏;诸如语音识别系统、麦克风的音频输入设备;和其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算设备2600的所有可能类型的设备和机制。
一个或多个用户界面输出设备2614可以包括显示器子系统、打印机或诸如音频输出设备等的非视觉显示器。显示器子系统可以是阴极射线管(CRT)、诸如液晶显示器(LCD)、发光二极管(LED)显示器的平板设备、或投影仪,或其他示出设备。通常,术语“输出设备”的使用旨在包括用于从计算设备2600输出信息的所有可能类型的设备和机制。一个或多个用户界面输出设备2614可以用于,例如,呈现用户界面,以有助于用户与执行上述流程及其变化的应用程序进行交互,当这样的交互可以是适当的时。
存储子系统2606可以提供用于存储基本编程和数据构造的计算机可读存储介质,其中,基本编程和数据构造可以提供本发明的至少一个实施例的功能。当由一个或多个处理器执行时,应用程序(程序、代码模区块、指令)可以提供本发明的一个或多个实施例的功能,并且可以存储在存储子系统2606中。这些应用程序模区块或指令可以由一个或多个处理器2602执行。存储子系统2606可以另外提供用于存储根据本发明所使用的数据的存储库。例如,主存储器2608和高速缓冲存储器2602可以为程序和数据提供易失性存储。永久性存储装置2610可以为程序和数据提供永久性(非易失性)存储,并且可以包括闪速存储器、一个或多个固态驱动器、一个或多个磁性硬盘驱动器、一个或多个具有相关联的可移动介质的软盘驱动器、一个或多个具有相关联的可移动介质的光驱(例如CD-ROM或DVD或Blue-Ray)驱动器以及其他类似存储介质。这样的程序和数据可以包括用于执行如本发明中所描述的一个或多个实施例的步骤的程序,以及与如本发明中所描述的与交易和区块相关联的数据。
计算设备2600可以是各种类型,包括便携式计算机设备、平板计算机、工作站或以下描述的任何其他设备。另外,计算设备2600可以包括可以通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接到计算设备2600的另一设备。可以连接到计算设备2600的设备包括多个用于接受光纤连接器的端口。因此,该设备可以用于将光信号转换为电信号,该电信号可以通过将设备连接至计算设备2600的端口进行传输以进行处理。由于计算机和网络的不断变化的性质,对于图13中示出的计算设备2600的描述仅作为旨在说明该设备的优选实施例的具体示例。与图13中描绘的系统相比,许多具有更多或更少组件的其他配置也是可能的。
总结
本说明书描述了如何使用区块链作为数字孪生的独立存储系统。本说明书还描述了如何使用数字智能合约来管理区块链、数字孪生和外部物理系统之间的交互。在需要存储大量数据的情况下,描述了两种解决方案,第一种是基于历史增量散列,其中只有特定的散列被记录在区块链中,而第二种使用分布式存储池和新的完整节点,以使区块链能够成为数字孪生基础设施的完整主干。还描述了用于在数字孪生和区块链网络之间提供合适接口的配置,该区块链网络可以处理大量数据并安全地处理数据。描述了两种主要的解决方案,第一种技术解释了如何构建能够作为数字孪生的接口的基础设施。该解决方案的结构基于历史增量散列,其中只有特定的散列被记录在区块链中。第二种解决方案使用私有区块链(例如,基于BigChainDB(McConaghy,Trent等人,“BigChainDB:可扩展的区块链数据库”,BigChainDB,2016))以及公共区块链中每个区块的镜像。
应当说明的是,上述实施例说明而非限制本发明,在不脱离本发明的由所附权利要求限定的范围的情况下,本领域技术人员将能够设计出许多替代性实施例。在权利要求中,括号中的任何附图标记不应解释为对权利要求的限制。词语“包括(comprising)”和“包括(comprises)”等并非在整体上排除其他元件和步骤的存在,尽管这些元件和步骤并没有在任何权利要求或说明书中列出。在本说明书中,“包括(comprises)”意指“包括(includes)或由......组成(consists of)”,“包括(comprising)”意指“包括(including)或由......组成(consisting of)”。元件的单数引用不意味着排除这些元件的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件,以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的同一个部件来体现。不争的事实是,在相互不同的从属权利要求中列举了某些方法,并不代表这些方法的结合不能获得有益效果。

Claims (25)

1.一种用于区块链网络的计算机实现的方法,所述计算机实现的方法包括:
在缓冲器处接收来自数字孪生的数据流;
将所述数据流转换为离散消息序列;和
将所述离散消息序列发送到区块链网络的接收节点以用于在区块链中的交易的后续存储,所述交易包含与所述离散消息序列相关联的数据。
2.根据权利要求1所述的计算机实现的方法,
其中通过对消息序列的每个消息进行加密,将所述离散消息序列通过安全通道从所述缓冲器发送到所述接收节点。
3.根据权利要求2所述的计算机实现的方法,
其中使用所述缓冲器和所述接收节点之间的密钥协商协议来建立所述安全通道,以生成用于加密和解密每个消息的共享密钥。
4.根据权利要求3所述的计算机实现的方法,
其中每次建立所述安全通道时,生成所述共享密钥的新值。
5.根据权利要求3或4所述的计算机实现的方法,
其中为发送到所述接收节点的每个离散消息生成所述共享密钥的新值。
6.根据任一前述权利要求所述的计算机实现的方法,
其中所述缓冲器确定发送到所述接收节点的离散消息的数量和/或速率。
7.根据权利要求6所述的计算机实现的方法,
其中所述缓冲器基于指示传输时所述区块链网络的状态的一个或多个参数来确定发送到所述接收节点的离散消息的数量和/或速率。
8.根据任一前述权利要求所述的计算机实现的方法,
其中所述缓冲器初始化计数器,所述计数器跟踪发送的离散消息的数量。
9.根据任一前述权利要求所述的计算机实现的方法,
其中对于发送到所述接收节点的每个离散消息mi,所述缓冲器计算并存储散列H(mi)。
10.根据权利要求9所述的计算机实现的方法,
其中,在时间t之后,当已经发送了多个离散消息时,所述缓冲器发送消息mh,所述消息mh由与直到时间t为止发送的所述离散消息相关的散列序列组成。
11.根据权利要求10所述的计算机实现的方法,
其中所述缓冲器发送包含所述消息mh的散列的另一消息mH
12.根据任一前述权利要求所述的计算机实现的方法,
其中所述离散消息序列通过两个安全通道从所述缓冲器发送到所述接收节点。
13.一种用于区块链网络的计算机实现的方法,所述计算机实现的方法包括:
根据任一前述权利要求所述的计算机实现的方法,在区块链网络的接收节点处接收由来自数字孪生的数据流生成的离散消息序列;和
验证所述离散消息序列以用于在区块链中交易的后续存储,所述交易包含与所述离散消息序列相关联的数据。
14.根据权利要求13所述的计算机实现的方法,
其中使用mh和mH在所述接收节点处验证所述离散消息序列,其中所述mh由与直到时间t为止发送的所述离散消息相关的散列序列组成,且所述mH包含所述消息mh的散列。
15.根据权利要求13或14所述的计算机实现的方法,
其中通过两个安全通道接收所述离散消息序列,由此比较器能够验证通过所述两个安全通道发送的所述离散消息序列是否一致,并且其中如果从所述两个安全通道接收的所述离散消息序列不同,则所述接收节点拒绝所述序列并发送通知以重发所述离散消息序列。
16.根据权利要求13至15中任一项所述的计算机实现的方法,
其中,在验证后,所述离散消息序列被存储在所述区块链网络的分布式存储池中。
17.根据权利要求13至16中任一项所述的计算机实现的方法,
其中所述离散消息序列的散列被存储在所述区块链中。
18.根据任一前述权利要求所述的计算机实现的方法,
其中所述接收节点是公共区块链网络的节点。
19.根据权利要求1至17中任一项所述的计算机实现的方法,
其中所述接收节点是私有区块链网络的节点,并且在将与所述离散消息序列相关联的数据合并到公共区块链之前,由所述缓冲器生成的离散消息序列被存储在私有区块链中。
20.根据权利要求19所述的计算机实现的方法,
其中对于由所述缓冲器生成并存储在所述私有区块链中的每个消息mi,生成散列H(m)并存储在所述公共区块链中。
21.一种包括计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时使一个或多个处理器执行权利要求1至20中任一项所述的方法。
22.一种电子设备,包括:
接口设备;
一个或多个处理器,连接到所述接口设备;
存储器,连接到所述一个或多个处理器,所述存储器存储了计算机可执行指令,所述计算机可执行指令在被执行时使所述一个或多个处理器执行权利要求1至20中任一项所述的方法。
23.一种缓冲器,所述缓冲器用于执行权利要求1至12中任一项所述的方法。
24.一种区块链网络的节点,所述节点用于执行权利要求13至20中任一项所述的方法。
25.一种系统,包括数字孪生、权利要求23所述的缓冲器和权利要求24所述的区块链网络的节点。
CN201880071545.8A 2017-11-02 2018-10-23 用于将区块链连接到数字孪生的计算机实现的系统和方法 Active CN111295660B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1718182.7 2017-11-02
GBGB1718182.7A GB201718182D0 (en) 2017-11-02 2017-11-02 Computer-implemented system and method
GB1719212.1 2017-11-20
GBGB1719212.1A GB201719212D0 (en) 2017-11-20 2017-11-20 Computer-implemented system and method
GBGB1804744.9A GB201804744D0 (en) 2018-03-23 2018-03-23 Computer-implemented system and method
GB1804744.9 2018-03-23
PCT/IB2018/058259 WO2019087008A1 (en) 2017-11-02 2018-10-23 Computer-implemented systems and methods for linking a blockchain to a digital twin

Publications (2)

Publication Number Publication Date
CN111295660A true CN111295660A (zh) 2020-06-16
CN111295660B CN111295660B (zh) 2024-05-28

Family

ID=

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189908A (zh) * 2022-05-24 2022-10-14 安世亚太科技股份有限公司 一种基于网络数字孪生体的随机攻击生存性评估方法
CN115314513A (zh) * 2022-06-16 2022-11-08 北京邮电大学 基于区块链的信任孪生方法及相关设备
CN115484032A (zh) * 2022-09-13 2022-12-16 中国联合网络通信集团有限公司 数字孪生数据安全存储方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801938A (en) * 1994-10-03 1998-09-01 Nasser Kalantery Data processing method and apparatus for parallel discrete event simulation
US20160292672A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160321654A1 (en) * 2011-04-29 2016-11-03 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US20170083907A1 (en) * 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20170154331A1 (en) * 2015-11-30 2017-06-01 ShapeShift Systems and methods for improving security in blockchain-asset exchange
CN106815526A (zh) * 2016-12-27 2017-06-09 苏州春禄电子科技有限公司 一种基于区块链技术的安全型数据库存储系统
CN107103054A (zh) * 2017-04-12 2017-08-29 北京航空航天大学 一种私有区块链的智能合约异步执行存储系统与实现方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801938A (en) * 1994-10-03 1998-09-01 Nasser Kalantery Data processing method and apparatus for parallel discrete event simulation
US20160321654A1 (en) * 2011-04-29 2016-11-03 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US20160292672A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20170083907A1 (en) * 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20170154331A1 (en) * 2015-11-30 2017-06-01 ShapeShift Systems and methods for improving security in blockchain-asset exchange
CN106815526A (zh) * 2016-12-27 2017-06-09 苏州春禄电子科技有限公司 一种基于区块链技术的安全型数据库存储系统
CN107103054A (zh) * 2017-04-12 2017-08-29 北京航空航天大学 一种私有区块链的智能合约异步执行存储系统与实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANGRISH, A 等: "A flexible data schema and system architecture for the virtualization of manufacturing machines (VMM)", JOURNAL OF MANUFACTURING SYSTEMS, vol. 45, pages 236 - 247 *
MAKERS: "IOTA and its practical application in the automotive industry", Retrieved from the Internet <URL:https://www.youtube.com/watch?v=SVTOHdrsJ-U> *
袁勇;王飞跃;: "区块链技术发展现状与展望", 自动化学报, no. 04, pages 482 - 494 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189908A (zh) * 2022-05-24 2022-10-14 安世亚太科技股份有限公司 一种基于网络数字孪生体的随机攻击生存性评估方法
CN115189908B (zh) * 2022-05-24 2024-05-14 安世亚太科技股份有限公司 一种基于网络数字孪生体的随机攻击生存性评估方法
CN115314513A (zh) * 2022-06-16 2022-11-08 北京邮电大学 基于区块链的信任孪生方法及相关设备
CN115314513B (zh) * 2022-06-16 2023-09-19 北京邮电大学 基于区块链的信任孪生方法及相关设备
CN115484032A (zh) * 2022-09-13 2022-12-16 中国联合网络通信集团有限公司 数字孪生数据安全存储方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2023126499A (ja) 2023-09-07
JP2023107918A (ja) 2023-08-03
EP3704606A1 (en) 2020-09-09
JP7297742B2 (ja) 2023-06-26
KR20200081391A (ko) 2020-07-07
KR20200081394A (ko) 2020-07-07
KR102606945B1 (ko) 2023-11-29
SG11202004053SA (en) 2020-05-28
KR102575120B1 (ko) 2023-09-07
US20200295942A1 (en) 2020-09-17
JP7405745B2 (ja) 2023-12-26
US20240080196A1 (en) 2024-03-07
SG11202004052RA (en) 2020-05-28
US11722302B2 (en) 2023-08-08
US20200295936A1 (en) 2020-09-17
JP2021501935A (ja) 2021-01-21
WO2019087008A1 (en) 2019-05-09
CN111295659A (zh) 2020-06-16
JP2024015396A (ja) 2024-02-01
EP3704607A1 (en) 2020-09-09
WO2019087006A1 (en) 2019-05-09
US20230318836A1 (en) 2023-10-05
US20200295919A1 (en) 2020-09-17
KR102586278B1 (ko) 2023-10-11
US11652634B2 (en) 2023-05-16
SG11202004051QA (en) 2020-05-28
JP2021502018A (ja) 2021-01-21
EP3704605A1 (en) 2020-09-09
WO2019087007A1 (en) 2019-05-09
JP2021502017A (ja) 2021-01-21
KR20200081395A (ko) 2020-07-07
CN111316279A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
JP7297742B2 (ja) ブロックチェーンをデジタルツインにリンクするための、コンピュータにより実施されるシステム及び方法
CN111464518B (zh) 一种跨链通信数据的发送、验证方法及装置
AU2020414467B2 (en) Partially-ordered blockchain
KR102120703B1 (ko) 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치
AU2019380381A1 (en) Smart logistics management using blockchain
CN111461881A (zh) 数据管理方法、装置、计算机设备及存储介质
CN114362961B (zh) 基于区块链的账户恢复方法、装置、设备及存储介质
CN111295660B (zh) 用于将区块链连接到数字孪生的计算机实现的系统和方法
CN113826369A (zh) 对计算机系统的入侵识别
CN111162970B (zh) 在区块链系统中测试去中心化应用服务器的方法及装置
US20240070167A1 (en) Tracing data in complex replication system
US20230412393A1 (en) Multisignature Custody of Digital Assets
Alexandridis Improving access security and throughput of blockchain-based Internet of things infrastructure
Rajendar et al. A Comprehensive and Secure Trustless Blockchain Framework for Autonomous Vehicles
CN117335976A (zh) 基于区块链的密钥处理方法、装置、设备、介质及产品
CN116828034A (zh) 一种基于区块链的sdwan配置同步方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant