Blockchain-Enabled Cyber–Physical Systems: A Review

区块链

点对点网络:区块链运行在一个点对点网络上,没有集中控制或任何可信实体。这消除了系统中任何单点故障的可能性,并将单个节点的损坏/妥协的负面影响降至最低,从而提高了系统的健壮性和可靠性
密码学:密码学是任何安全系统的基础。区块链也不例外。特别是,加密散列(通常称为单向散列函数)被广泛使用(例如用于密钥派生、地址生成和PoW)。此外,公钥密码学用于生成和验证数字签名,这对于确保任何数字交易的可靠性和不可否认性以及用户身份验证都是必不可少的。
基于链的数据结构:在传统的区块链中,这个数据结构(理想情况下)是一个单一的区块链,每个区块只有一个父区块,除了链中的第一个区块,这在比特币中被称为创世区块。这种数据结构就是该技术被称为区块链的原因。一个区块由多个事务组成。通常,块被限制为某种最大大小,这反过来又限制了一个块中可以放置的最大事务数。该参数将直接影响区块链平台的吞吐量。通过将这些块链接在一起,可以很容易地检测出任何块的移除、块的重新排序,以及最重要的任何块的改变。此外,由于区块链网络中存在大量冗余,任何对手几乎不可能破坏放置在上面的记录区块链。这个区块链是安全分布式账本的实现。每个块都有一个预定义的头结构。区块报头由几个非常重要的字段组成。一个是父块的散列值,它有效地将新块链到现有块。另一个是Merkle根,它是当前块中集合的所有交易的加密散列。报头还包含两个字段,以方便PoW。一是难度目标是一个数字。另一个是公告,这是矿工发现的一个随机数(即谜题的解决方案),可以使区块头的哈希值小于难度目标。
工作量证明:这是区块链技术最重要和最独特的贡献。与传统的共识算法不同,传统的共识算法使用选举来确定当前的成员(包括谁应该是主要的)和多轮消息交换来达成共识,当一个预定义的条件满足时,PoW将共识问题转化为一种竞争性的谜题解决游戏,谁先解决了谜题,谁就可以决定下一个方块,并赢得奖励,就像这个人成功开采了一罐金子。这也是为什么参加PoW比赛的人通常被称为矿工。矿工的任务是尽可能快地组装下一个区块,并尝试不同的随机数,使区块头的哈希值小于难度目标值。由于密码散列的性质,人们无法预测哪个随机数将解决这个难题。因此,找到解决方案的唯一方法是多次尝试,直到找到一个。这种谜题设计后来被形式化为一个非交互式零知识证明问题。

信息物理系统(Cyber–Physical Systems)

信息物理系统(CPS,Cyber-Physical Systems)是一个综合计算、网络和物理环境的多维复杂系统,通过3C(Computation、Communication、Control)技术的有机融合与深度协作,实现大型工程系统的实时感知、动态控制和信息服务。我们以Skowroński提出的模型为基础,如图所示,该模型由一个闭环组件和其他网络实体组成。闭环组件包括物理工厂、传感器和物联网,用于测量物理工厂的状态,以及执行器,用于对物理工厂实施更改。传感器数据通常通过有线或无线网络输入网络逻辑,网络逻辑将决定将必要的驱动应用到物理工厂。闭环操作需要及时响应以确保正确性。除了闭环操作(我们将其称为关键路径上的操作,因为它们预计将在预定义的时间限制内完成)之外,CPS还可能从事其他类型的操作,这些操作与非CPS系统非常相似,比如与多个合作伙伴的能源交易。为了保持记录,传感器数据(和驱动决策)通常也被记录下来。
在这里插入图片描述
我们应该注意,CPS的闭环操作也可能发生在单个组织之外。在这样一个多利益相关者部署模型,多个组织可能负责不同的CPS流程。特别是,一些应用程序流程可能使用其他组织提供的计算或物理基础设施。在这样的场景中,一些关键功能可能在一个组织的信任边界之外运行。

由于CPS的任务关键性质,CPS操作必须做到容错和安全,同时要求及时传递消息和处理。跨越多个组织的CPS需要更强的信任级别保证。然而,传统方法存在许多问题,幸运的是,通过将CPS与区块链集成,几乎可以消除所有这些差距。

首先,在多个实体之间实现一组时间敏感操作的原子性是困难的,正如我们在之前的研究中所显示的那样。其次,传统的容错算法由于使用多轮消息交换和需要建立一个稳定的成员关系以达成共识,因而代价昂贵且不可扩展。第三,尽管对于构建一个至关重要的公开密匙加密的安全系统(如身份验证,确保问责和不可抵赖性,如安全套接字层和安全通信),密钥管理一直是一个巨大的挑战,通常将依赖于使用的公钥基础设施(PKI),第四,如果没有一个健壮的去中心化信任平台(如区块链),就很难获得促进多利益相关者协作所需的高度信任。以前关于增强服务可信度的工作通常是针对单个管理域设计的,不能扩展,因此,不能用于CPS中支持多利益相关者协作。

通过与区块链集成,CPS可以提高其安全性、可靠性和信任级别,而无需求助于任何可信任的第三方或集中控制。通过使用许多区块链平台上可用的智能合约,可以很容易地解决一组操作的原子执行上的第一个缺口。在容错方面的第二个差距自然被区块链中的内置冗余所关闭。至于第三个差距,区块链实际上使用了各种聪明的方案来避免依赖证书来将公钥与其所有者关联。在比特币中,公钥实际上包含在已签名的交易中,因此接收者可以随时检索公钥并验证数字签名。在IOTA中,可以从数字签名中获得public,然后验证签名。也许区块链最宝贵的优点是提供了一个信任平台,在这个平台上,所有的交易记录都将以去中心化的方式变得不可变,而这正是消除第四个差距所需要的。

BLOCKCHAIN-ENABLED CPS APPLICATIONS

在这里插入图片描述

BENEFITS OF BLOCKCHAIN FOR CPS

在这里插入图片描述
上图总结了区块链对CPS的好处。根据我们的主观观察,我们将福利分为三个层次。最底层是区块链最广为人知的好处:1)安全性;2)隐私;3)不变性。通过安全性,我们的意思是,将保证放置在区块链上的事务中包含的数据的机密性(如果必要的话)、完整性和可用性。事务创建者可以选择加密其数据,这将保护数据的机密性。

区块链保护数据的完整性和可用性,因为一旦事务包含在一个足够深度的块中,基本上就不能在不被检测到的情况下更改它。实际上,区块链为数据提供了更强的保护,也就是说,不仅数据本身的完整性和可用性得到了保护,而且事务所在的上下文也被确定,任何人都不能因为链结构而更改。这个属性也被称为不变性,以突出传统安全性之外的这种不寻常的保护。区块链提供的隐私保护也超越了机密性属性,如果你选择这样做,可以通过对交易中的数据进行加密来保证。区块链,特别是那些使用UTXO模型进行加密货币余额跟踪的平台,如比特币和IOTA,为发行交易的用户提供了伪匿名保护。
在下一层中,我们列出了使用区块链的两个好处,即容错和互操作性。它们比与安全相关的属性区块链稍不为人所知。按照设计,区块链网络中的许多节点都保留了整个区块链的一个副本。此外,如果区块链平台支持智能合约,如以太坊,智能合约代码将在所有完整节点中运行。这确保了存储在区块链上的所有数据以及智能合约的执行都是容错的。因此,大量冗余度的区块链平台将确保一旦数据和智能合约放在区块链,可以放心,数据和智能合同代码不会被摧毁,如果一些硬盘失败,而且,聪明的合同时被调用时,它将被执行。由于所有数据和智能合约都放置在相同的数据结构(即区块链)上,并且所有相关方都必须采用区块链指定的事务格式,因此出现了在这些方之间进行互操作协作的绝佳机会。由于CPS大量使用异构物联网,这种互操作性对CPS尤其有价值。

在最高层次上,我们列出了一组系统级特征,这些特征对几乎所有分布式系统都很重要,但对CPS更重要:信任、原子性、自动化、数据/服务共享和数据来源,这些关系到服务的整体质量(即信任)、运行时操作(即原子性和自动化)、系统设计(即数据/服务共享)和数据管理(即数据来源)。尽管信任在文献中已经被广泛使用,但这个术语并没有被普遍接受的定义。

在本文中,我们使用信任来指系统对其用户的承诺的保证级别,例如安全性和隐私。通过使用区块链,特别是健壮的公共区块链(也称为无许可区块链)来保护其核心操作和数据,系统可以为用户提供比仅使用传统技术更强的信任级别。

以前,由于可能的硬件故障和网络攻击,很难确保网络上多方之间的一组操作的原子性。通过使用支持智能合约的区块链平台(如以太坊),操作的原子性(即全部或不执行操作)现在可以成为可能。与区块链集成的一个密切相关的好处是自动化,因为智能合约可用于可靠地自动化应用程序功能。

数据来源是指数据项的所有权、保管或位置的年表可以完全记录的属性,它可以直接基于区块链提供的不变性属性实现,它对于满足政府法规、进行法医研究、,让使用者对CPS提供的服务质素更有信心。在某些情况下,数据来源也称为端到端可跟踪性
此外,区块链可以鼓励和促进跨多个组织的数据和服务共享,因为它强制采用了一种标准的通信和数据存储方式(即互操作性),并具有内置的实时微支付能力。

BLOCKCHAIN-ENABLED OPERATIONS IN CPS

在这里插入图片描述

在本节中,我们将对CPS中支持区块链的操作进行更深入的讨论。我们首先试图确定用于支持各种CPS应用的常见和基本关键操作,并建立它们与区块链带来的好处的关系。然后,我们将这些操作按照与区块链技术的潜在弱点相关的两个维度进行分类,即时间敏感性和吞吐量需求
A.基本操作及其与CPS应用和区块链效益的关系
我们将文献中报道的操作浓缩为9个基本操作:1)传感数据采集;2)数据通信;3)数据存储;4)指挥和控制;5)协调;6)访问控制;7)身份管理;8) 数据使用评估;9)软件管理上图总结了它们与不同类型CPS应用和区块链效益的关系。尽管在文献中并没有明确提到或暗示所有的CPS应用程序的基本操作,但我们相信它们适用于所有的CPS应用程序。
在基本操作中,前五个是最基本的,在图中用浅绿色表示。对于所有的CPS应用来说,感知数据采集是一个必不可少的步骤,尽管一些论文没有明确提到它对于某些应用,如汽车和供应链。在任何网络系统中,数据通信都是不可避免的,通过与区块链的集成,可以保证数据通信的安全性,而不依赖于任何集中的实体,如PKI一旦获取了数据,通常会直接或间接地在区块链上记录(即数据存储),以实现持久性、取证和/或审计。指挥-控制操作也是CPS应用中任何闭环控制的关键步骤。在任何网络系统中,不可避免地要在多个参与者(例如,客户机、服务器和合作伙伴)之间进行协调。

其余四个是更高级别的操作。身份管理在任何网络系统中都是一个挑战,对于依赖物联网和/或无线传感器收集数据并传输数据的CPS应用程序来说,这尤其具有挑战性。这类系统曾受到各种身份相关攻击,如Sybil和欺骗攻击。访问控制是确保任何系统安全性的另一个重要步骤。软件管理主要包括软件模块处理、软件集成、软件传输、软件补丁管理和软件配置管理。loT设备和大型系统的软件配置和补丁都面临着网络更新的更大挑战。另一方面,服务质量对客户和服务提供者都很重要。最好有一种客观的方法来根据记录的数据(即数据使用的评估)来评估服务质量,而不是依靠用户的主观意见。

接下来,我们将详细说明每个基本操作如何从区块链的使用中受益。对于传感数据采集,区块链通过其识别每个参与者的方法提供了一种保护loT设备所有者隐私的方法。这使得参与者都是伪匿名的。此外。所有消息都由数字签名保护(如果需要,可选加密),而不需要PKI,这保护了消息的完整性。这种机制也保证了数据通信的安全性。由于使用了与blockchair平台要求相同的格式,区块链alsc的使用为物联网设备之间的互操作性提供了机会。当数据存储在区块链(即数据存储)时,它们受到安全和隐私的保护,其方式与传感数据获取和数据通信相同。此外,区块链确保一旦数据被记录,它们就不能被更改,也就是说,它们成为不可变的。不仅如此,不同数据项之间的关系可以跟踪,因为记录在blockchair中的所有数据都是完全有序的和有时间戳的。这确保了一个更高级别的属性,称为数据来源,它指的是建立由不可变数据反映的事件序列的能力。

指挥控制和协调非常相似,它们都将根据预定义的应用逻辑与CPS中的多个实体交互。前者用于闭环控制回路,后者不用于闭环控制回路。我们之所以区别这两者,主要是因为它们对时间的要求可能截然不同。除了增强的安全性之外,这两个操作都可以从区块链和智能合约中的内置冗余提供的区块链的容错、原子性和自动化属性中获益。

区块链可以通过几种方式显著增强身份管理。一种是为每个物联网设备创建一个唯一的标识符,并将该标识符放置在区块链上,其中基于sram的物理不可克隆功能可用于生成设备的唯一数字指纹,作为设备标识符。通过将提交的设备id与存储在区块链上的设备id进行比较,每个物联网设备都被认证。另一种方法是在用户发出的所有事务中包含标识断言信息。用户声誉和用户之间的关系是通过检查区块链中记录的以前的事务来建立的。还有一些工作旨在开发一个去中心化的身份验证框架。

访问控制一直是任何网络系统的一个挑战,特别是在使用大量物联网设备时。通过使用智能合约,在多个实体之间自动实现访问控制。区块链可以通过记录所有重要的软件管理决策来促进软件管理。通过使用区块链来存储关键信息(例如每个版本或补丁的安全散列值),一个汽车可以确保正确的补丁应用到正确的设备。除了记录信息外,智能合约还可以用于自动化打补丁和配置过程。所有这些都有助于增加问责性、标准一致性和可审计性。区块链还可以加强以数据为便利的服务质量评估。Maiti提出通过区块链上记录的采矿交易来评估CPS提供的优质服务,增加了评估结果的可信度。

信任和数据/服务共享是使用区块链的高级好处。信任级别将在所有关键操作中增加(图中没有显示,以避免混乱)。数据/服务共享的好处是巨大的,可以实现新型CPS,特别是那些跨多个组织的CPS。
B.基于时间和吞吐量需求的基本操作分类
如下图所示,我们分类的操作基于两个维度,一个是时间敏感,一个是吞吐量需求,因为这两个尺寸是高度相关的CPS和区块链操作(尽管方向相反)。
在这里插入图片描述
在底层有三个不在CPS关键路径上的操作,包括数据使用的评估、软件管理和标识管理数据使用的评估当一个人想要选择最好的服务时是有用的。因为它可以离线完成(通过挖掘区块链的事务),并且它不会生成任何放置在区块链上的事务,它对时间不敏感,并且对区块链没有吞吐量要求。软件管理并没有强加显著的吞吐量需求,因为放置在区块链上的事务数量是相当的有限的。当相应的事务被放置在区块链上时,这样的操作也可能有很高的容错性。类似地,身份管理方案依赖于使用区块链将相关信息记录为事务。然而,考虑到软件更改的频率远低于与身份相关的更改和验证,软件管理对时间的敏感性较低,并且与身份相比,对区块链的吞吐量要求较低管理。

另一方面,数据存储指的是在区块链上持久化事务,这发生得更频繁。因此,它可能需要更高的吞吐量,而大多数当前区块链平台可能难以满足需求。幸运的是,当到达率暂时高于区块链吞吐量时,可以想象在区块链上排队记录消息。因此,时序灵敏度不如其他操作高,包括访问控制、数据通信、协调、传感数据采集、指挥控制等。尽管如此,数据存储操作将比软件管理和身份管理具有更高的时间敏感性,因为在区块链上放置交易的长时间延迟将最终影响CPS关键路径上的操作

一些论文指出了使用智能合约自动化loT设备的访问控制逻辑的价值。访问控制是数据通信/协调的一部分,但需要提前仔细计划。因为访问控制只发生在一个实体在通信会话期间请求访问某些资源时(通常是第一次),时间敏感性和吞吐量需求可能略低于平均数据通信/协调命令

如果区块链用于保护感知消息(例如,用于系统状态监控),操作将成为CPS的关键路径的一部分,这是非常时间敏感的。吞吐量要求也高于数据存储因为在这种情况下排队可能是不可接受的。也就是说,由于传感器的冗余性,只要能够及时收集到足够的部分数据,系统的状态仍然可以得到相当准确的估计。因此,状态监控的时间敏感性不像命令控制和某些形式的数据通信那么高。此外,传感数据采集可能有其他考虑,如数据聚合。

数据通信是指使用区块链帮助保护CPS不同组件之间的所有通信形式。这将包括那些在关键路径上的,以及那些不需要实时保证的。通过使用区块链,许多形式的网络攻击“可能被击败,如人在中间的攻击和西比尔攻击,如数据通信与传感数据采集、数据存储和指挥控制操作有很强的重叠。协调在时间和吞吐量方面有相当相似的需求,因为它要与多个合作伙伴通信。

指挥控制操作直接位于CPS的关键路径上,因此具有最高的时间敏感性。由于驱动命令是周期性的,并且发送给有限数量的执行器,因此对吞吐量的要求并不高。指挥和控制比数据通信更复杂,因为它可能需要与多个执行器协调,这就要求操作的原子性。这正是智能合约可以提供巨大帮助的地方。在此之前,确保此场景中的原子操作非常具有挑战性,正如我们之前研究过的。

最后但并非最不重要的一点是,人们可能想知道为什么不将身份验证标识为一个单独的基本操作。这是因为身份验证被集成到区块链中的通信协议中。而在传统的分布式系统设计中,客户端通常会在相互的客户端-服务器身份验证之后与服务器或对等实体建立会话,并且每次会话都要进行一次身份验证。而在锁链中就不是这样了,在锁链中,所有的交互都是基于每条消息(即每笔交易),客户端通过其地址进行识别,并通过其数字签名进行验证。

开放的研究问题和未来的工作

在CPS闭环操作中采用区块链有两个明显的挑战:1)在区块链达成共识的长期拖延2)区块链的吞吐量有限。一些研究提出解决这两个问题通过使用许可区块链,共识决策是由一群精心选择的验证者和一个轻量级的共识算法来执行的,而不是POW。虽然在大多数情况下,这种方法确实可以大幅缩短共识时间并提高吞吐量,但由于Internet环境的异步性,并非所有情况下都是如此,这是区块链文献中很少承认的事实。此外,这样做会降低去中心化的程度,以及放在区块链上的数据的不变性程度,这最终会降低整个系统的信任级别。有人可能会说,使用区块链的最大优势是帮助系统抵御各种网络攻击,但如果使用这样一个经过许可的区块链,就会失去这种优势。

解决延迟共识问题的一个更有前途的方法是利用特定CPS的语义,并在需要做出决策时估计系统的状态。类似的方法可以应用于医疗CPS,其中可以预定义跨不同医疗设备的故障安全状态。如果不能在截止日期前达成共识,整个医疗CPS将切换到故障安全状态。

区块链的有限吞吐量是众所周知的,人们已经做出了很大的努力来解决这个问题。一种很有前途的方法是使用侧链存储支付通道指很大一部分事务在主区块链的其他地方被记录下来,或者没有经过协商过程(而是在支付通道中执行)。在这种方案中,有关存储在主链之外的事务或支付通道的建立的关键信息存储在主链上。基本上,放在主区块链上的少量数据保护了链下事务的安全性。

智能合约的价值已经得到了广泛的认可。我们相信智能合约有更大的潜力来提高CPS的技术水平。此外,为了帮助实现跨多个组织或实体的一组操作的原子性,我们设想智能合约可以运行机器学习/人工智能算法,从而实现不可能实现的智能决策

区块链和CPS集成所面临的一个具有挑战性的问题是垃圾输入和垃圾输出问题。虽然区块链使它存储的数据安全且不可变,但它将提供给平台的任何数据。这对于非货币性交易尤其值得关注,这主要是CPS的情况。如果有可能使用智能合约(运行一些机器学习或基于规则的算法)来检查提交的数据的内容,并在内容被认为有问题时拒绝或生成警报,这将是一个有趣的探索。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值