# A Review on the Application of Blockchain to the Next Generation


Fernández-Caramés T M, Fraga-Lamas P. A Review on the Application of Blockchain for the Next Generation of Cybersecure Industry 4.0 Smart Factories[J]. arXiv preprint arXiv:1902.09604, 2019.

DOI: [10.1109/ACCESS.2019.2908780](https://doi.org/10.1109/ACCESS.2019.2908780)

## Abstract

工业4.0是一个旨在通过使用一些最新技术改进现代工厂运作方式的概念，例如用于创建工业物联网（IIoT），机器人或大数据应用的技术。其中一种技术是区块链，它能够为不同的工业领域增加信任，安全性和去中心化特性。本文重点分析使用区块链和智能合约开发工业4.0应用时产生的好处和挑战。此外，本文还对工业4.0技术中最相关的基于区块链的应用进行了全面的回顾。因此，其目的是为未来的工业4.0开发人员提供详细指南，以确定区块链如何增强下一代网络工业应用的网络安全。

<!--more-->

## Introduction

工业4.0代表了传统工厂向实际智能工厂发展的下一步，这些工厂旨在提高资源管理效率，并高度灵活地适应不断变化的生产要求[1]。工业4.0背后的概念首先由德国政府在2011年定义[2] [3]。虽然工业4.0的想法部分类似于工业物联网（IIoT）[4]，互联网+ [5]或中国制造2025 [6]，但许多行业都在积极拥抱工业4.0。

工业4.0的基础之一在于从价值链的不同部分收集尽可能多的数据。这种数据收集应该以快速有效的方式进行，以便在工厂中使用。数据收集可以通过部署在工厂、供应商或客户处的拥有获取，存储，处理和交换信息功能的系统来执行。

为了提供这种级别的连接，工业4.0范式提出可利用相关支持在工厂和互联网上分布的多个工业设备之间自主通信的技术。此类技术包括3D打印，增强现实（AR），工业网络物理系统（ICPS），IIoT或边缘计算，这些技术和其他相关工业4.0技术都包含在图1中。重要的是要注意工业业4.0范式促进了这些技术的应用，使工厂通信体系结构从当前的云或以Internet服务为中心的体系结构演变为涉及工业流程的所有实体以如点对点网络交换信息的体系结构（图2说明了这种演变）。

![图1 主要的工业4.0技术](https://ieeexplore.ieee.org/mediastore_new/IEEE/content/media/6287639/8600701/8678753/fraga1-2908780-small.gif)

图2 通信架构演变：从现代工厂到工业4.0智能工厂

![](https://ieeexplore.ieee.org/mediastore_new/IEEE/content/media/6287639/8600701/8678753/fraga2-2908780-small.gif)

在工业环境中应用最有前景的技术之一是区块链，它源于比特币[7]，允许创建能够跟踪和存储大量用户和设备执行的交易的分布式应用程序（DApps）.

2017年，Gartner预测区块链技术的商业价值将在2025年增长到略高于1760亿，到2030年将增加到3.1万亿。区块链可以为不同领域增加价值并发展现有的互联网，从而实现从互联网信息'到'价值互联网'的转型和创建真正的点对点共享经济[8]。尽管如此，本文的重点是分析区块链处理当前工业场景面临的一些最相关挑战的能力，包括：

- 分布式应用程序。特别适用于具有中等和大型用户和计算负载的工业4.0应用程序，因为它们依赖于昂贵的集中式服务器，这些服务器的部署和维护成本也很高[9]，[10]。此外，许多工业公司向中间商支付这种集中式解决方案的费用
- 由于安全问题或上传新软件/固件而更新工业4.0系统（如IIoT设备）非常常见。在某些情况下，更新过程需要在遍布大型工厂的多个设备中手动执行任务。因此，有必要找到一种方法来简化这些繁琐和低效的任务，并将软件更新同时分发给尽可能多的智能设备，同时保持完整性和安全性以避免恶意固件更新。
- 在大多数行业中，信任收集数据的真实性以及与某些合作伙伴，服务提供商，制造商，供应商甚至政府进行的交易都是必要的。由于这些原因，需要一种提供透明度，验证问责制和增加信任的机制的技术。此外，请注意，由于需要信任收集的值来替换受信任的第三方[11]，因此应实施其他安全机制，尤其是在硬件级别[12]。
- 与第三方公司交换的数据对于某些企业来说是关键，因此它们应受到保护和匿名化。IIoT设备收集的数据也是如此，这些数据应该得到保护并且对非授权方保密。
- 许多工业公司也依赖于闭源代码，这增加了信任缺失，因为它实际上对代码的工作方式并不透明。因此，为了提供信任和安全性，必须培养开源方法。尽管如此，应该强调的是，开源代码也可能存在漏洞和攻击，但是，由于许多开发人员已对其进行验证，因此不易受到恶意修改。
- 提高运营效率和提高竞争力，确保长期可持续性。区块链可能会降低两项关键成本：验证和网络成本。前者与以低成本方式验证交易属性的能力有关，而后者与不需要传统中间人的操作能力相关。

> 即分布式应用，软件/固件更新，可审计，对第三方的隐私保护，降成本

区块链可以处理大多数先前的挑战，区块链充当存储所有已执行交易的分类账。此类交易经过验证（即，根据区块链政策，它们被视为“合法”，因此它们不是恶意的，不会在用户之间造成不一致），然后通过称为完整节点的计算机添加到区块链中，这些计算机遵循共识协议（即，完整节点就是否将信息添加到区块链达成一致）。

在像比特币这样的加密货币的情况下，验证任务由矿工执行，矿工是充当审计每个交易的会计的计算设备。这样的验证过程是必不可少的，因为它为拜占庭将军问题[13]提供了一个分布式的解决方案，它显示了当实体间缺乏信任时，如何在不同的实体（将军）之间达成协议来做某事（战斗计划）。关于区块链技术内部工作的详细描述超出了本文的范围，但感兴趣的读者可以在[14]  -  [15] [16]中找到关于区块链基础知识的更多信息。

关于区块链在不同领域的应用，最近有一些综述。例如，在[17]中提供了关于将区块链应用于物联网的基础知识的广泛描述。同样，在[18]中详细介绍了为创建和部署基于区块链的IoT应用程序而执行的体系结构和可能的优化。其他文章的重点是区块链应用于特定的工业4.0技术，如大数据[19]，特定行业[20]  -  [21] [22]或能源效率等[23]。还值得一提的是[24]和[25]中提出的系统，它们分析了文献中提议使用区块链时所涉及的主题。具体而言，[24]中提出的审查重点是确定是否可以采用区块链和P2P来促进分散和私有设计的物联网，而在[25]中，目标是了解研究主题，挑战和未来方向从技术角度看区块链技术。

与前面提到的综述不同，这项工作提出了区块链的综合方法，以便设想其对工业4.0技术革命的潜在贡献，并应对当今的挑战。本文包括以下文稿，这些文章在撰写时尚未在文献中共同发现。首先，分析区块链的开发，部署和优化所涉及的最相关方面，以及区块链可为工业4.0技术带来的优势和实际限制。其次，研究了影响基于区块链的工业4.0应用优化的基本参数的影响。第三，提供了有关工业4.0应用的区块链技术的最新和最相关研究的综述。最后，本文提供了多项建议，目的是指导未来的研究人员和开发人员在部署下一代工业应用程序之前需要解决的一些问题。

本文的其余部分结构如下。第二部分回顾了与基于区块链的工业4.0应用设计相关的不同方面。第三部分详细介绍了针对各种工业4.0技术的最相关的基于区块链的实用应用。第四部分总结了在工业4.0应用中使用区块链时出现的主要挑战。最后，第五节得出结论。

> Introduction部分有用内容不多

## On the Use of Blockchain for Industry 4.0 Applications

### A. 评估在工业4.0应用中使用区块链的必要性

区块链可以为多个工业领域带来许多好处，它也可以成为工业4.0应用的一个非常有用的工具。但是，区块链并不总是解决每个问题的最佳选择。例如，在私有网络中，传统数据库对许多应用来讲已经足够快速和强大。此外，已经有其他技术与区块链起到同样的作用（即创建一个解决双花问题的无信任分布式网络），这对许多工业4.0应用来说很方便，特别是对于IIoT应用或小额支付。例如，Tangle是有向无环图（DAG）的实现，可用于对不同类型的信息进行建模。Tangle不使用区块，它不需要矿工，提供没有网络费用的高速交易，并且看似拥有无限的可扩展性。IOTA目前是工业领域中最受欢迎的DAG项目。一旦IOTA交易被广播到网络，该节点的两个先前交易必须被批准，并且网络节点将需要确保批准的交易不冲突。在IOTA系统中，需要少量的工作量证明（PoW）来验证其他两个交易，但它可以忽略不计。IOTA的架构（称为Tangle）使其具有高效，可扩展和轻量级的特点。此外，IOTA还可以与区块链进行通信，从而实现区块链之间的协作。事实上，IOTA项目甚至可以用作完成智能合约的实现。然而，Tangle也有缺点：

- 该技术不像区块链那样经过验证和测试，因为它没有那么多用户和开发人员。
- Tangle无法提供真正的DApp功能或图灵完备的解决方案。
- 它可能不太安全（例如，与区块链的51％攻击界限相比，它的界限是34％）。
- IOTA使用协调节点来解决阻碍分布式的同步问题。

> 私有网络中为什么需要区块链，相比于分布式数据库，公有区块链，DAG都各有什么优势，这决定了一个确定的场景是否需要使用区块链

因此，在决定是否应使用区块链而不是之前提到的替代技术之前，应确定在工业4.0应用中需要的功能。实际上，一些作者提出了确定何时使用区块链的一般框架[26]，但是有一些特定的工业4.0应用的功能需要详细分析

`信任` 首先，当在应用程序中需要分布式部署时（即，当通过在计算机的P2P网络上而不是在单个机器上运行来增强这种应用时），区块链可能是有用的。并非每种工业4.0技术都需要分布式，但有些技术可能会从中受益，尤其是当存在不受信任的集中式系统时。在某些对特定提供商，银行甚至政府机构都没有信任的行业中会出现这种情况。如果不同实体之间存在信任，则不需要区块链。

`支付` 必须付款时需要信任。此外，支付系统的存在可用于使许多系统任务自动化，从而加速各方之间的交易。可以通过传统的支付系统进行支付，但它们通常有两个缺点：它们通常涉及比公共区块链更高的交易费用，并且必须几乎盲目地信任它们，而不质疑它们的安全性，道德或内部策略。

`审计` 信任和透明度也是创建公共交易日志的原因。这些日志包括可以公开暴露的某些带时间戳的信息（即，它可以被与区块链交互的所有实体仔细检查）。一些工业4.0应用严格遵循这种方法，并存储每个执行的交易，以便能够执行审计，保持准确的可追溯性记录或使用大数据技术或预测分析[27] [28]。值得一提的是，这些功能传统上由数据库提供，其安全性至关重要，特别是当它们通过互联网访问并因此公开暴露于对其可用性或数据隐私的攻击时。

`通信` 工业4.0应用可能需要的另一个相关特征是需要使用P2P通信来在工业过程中涉及的不同方之间交换数据。这在某些IIoT架构中非常常见，这些架构的节点在它们之间协作以检测特定事件或执行任务[29]。重要的是要强调P2P通信并不总是提供通信的最佳替代方案，并且有一些工业4.0开发人员在分析替代通信方法。例如，在资源约束IIoT节点的情况下，由于其功耗和所需资源量，P2P通信通常不能有效地实现。由于这个原因，这种IIoT节点通常使用非P2P协议（如MQTT [30]）或利用雾[31]或边缘计算基础设施[32]通过网关路由其数据。

`健壮性` 最后，另一个必需的特性是分布式系统应该是健壮的。由于服务器场或云提供了很好的替代方案，因此必须有其他因素来证明区块链的使用是合理的。最常见的原因是对管理基础架构的组织缺乏信任或客户指定的某些隐私要求[33]。这对于关键基础设施[34]，[35]和防御[36]来说至关重要，由于法律和隐私问题（例如，某些防御数据被认为是战略性的，因此被归类），其数据必须通过以下方式存储：值得信赖的服务提供商，特别是在无法保证数据隐私和安全的国家[37]。

考虑到所有以上因素，图3显示了一个流程图，可用作决定何时适合在工业4.0应用程序中使用区块链技术的一般指南。

![图3 评估工业4.0应用中区块链适用性的数据流图](https://ieeexplore.ieee.org/mediastore_new/IEEE/content/media/6287639/8600701/8678753/fraga3-2908780-small.gif)

> 区块链在工业4.0中使用考虑的关键因素包括：无信任环境，支付，可审计，可扩展性，健壮性

### B. 用于工业应用的区块链分类

根据访问规则：公有链，私有链，联盟链

根据权限：许可的区块链和非许可的区块链

根据激励类型：基于代币激励的区块链和不依赖代币激励的区块链

根据操作模式：面向逻辑的区块链（以太坊）和面向交易的区块链（比特币）

### C. 用于工业4.0工厂的智能合约

由于区块链可以帮助实现涉及多家公司的工业流程的自动化（示例将在后面的第III节中给出），因此定义智能合约的概念非常重要：一个执行至少两方之间建立的协议的计算机程序，使得某些操作在满足一系列特定条件时发生。因此，当出现预设条件时，智能合约自动执行相应的条款。以这种方式，可以通过可执行程序将对物理或数字对象的控制转化为法律术语。

智能合约的触发条件基于依赖外部服务的数据，这些外部服务从现实世界获取数据并将其存储到区块链中（反之亦然）。这种服务被称为oracles。例如，oracle可以检查记录以识别资产是否已到达，并且可以在区块链上写入到达信息。然后，智能合约可以基于读取值触发条件语句并执行代码块。

根据收集的信息类型和与外部世界的交互，有不同类型的oracle：软件oracle，硬件oracle，Inbound和outbound oracle，以及基于共识的oracle：

- 软件oracles处理可用的在线信息。这种信息可以是存储产品的温度，购买部件的价格或与物流过程相关的卡车位置的可追溯性。数据主要来自网络资源，由oracle软件收集，它提取所需的信息并将其推送到智能合约中。
- 硬件oracle直接从物理世界中提取信息。例如，RFID传感器。这些硬件的最大挑战是在不牺牲数据安全性的情况下报告读数，并保证这些读数与特定的物理过程相对应。
- Inbound oracle将来自外部世界的信息（即，来自不与区块链交互的信息源）插入区块链（例如，资产的价格，当其达到期望价格时可以自动购买）。相反，outbound oracle允许智能合约向外界发送信息（例如，当确认正确接收一组部件时，可以自动释放支付资金）。
- 基于共识的oracle结合不同的oracle来确定事件的结果。例如，像Augur [52]和Gnosis [53]这样的预测市场利用评级系统来确定未来的结果并避免市场操纵。

> 软件和硬件oracle实际上是数据存储，Inbound和Outbound是与外界交互

### D. 使用区块链增强其他工业4.0技术的好处

工业4.0应用与加密货币存在某些共性问题，因为它们涉及可能彼此不信任的许多实体（例如，IIoT节点，运营商，机器，供应商，客户）。尽管如此，这些实体在某些方面仍与加密货币不同，例如使用功率受限的设备（例如，IIoT传感器，AR眼镜，电池供电机械），这些设备必须直接与区块链交互（通过实施低功耗区块链客户端）或间接（通过中间网关）。

尽管存在上述差异，工业4.0仍可以从区块链的使用中受益，以解决他们在部署过程中面临的四个主要挑战[54]：

- 工业4.0工厂必须部署网络才能垂直连接智能生产系统。在智能工厂中，垂直连接是参与产品价值链的两个实体之间的一种连接。因此，当这种连接变得自动化时，可以从工厂中部署的多个系统自动收集信息并将其发送到价值链的任何相关部分（例如，设计团队或制造操作员）。区块链可以通过提供多个智能工厂实体可以与之交互的公共可信数据或货币兑换点来帮助垂直整合。
- 工业4.0技术也必须水平集成，这意味着制造商，供应商和客户应该合作。这种集成水平涉及低延迟和灵活通信网络的部署，因此区块链和智能合约可能成为工业4.0流程中涉及的实体的横向集成机制，用于执行经济或简单的数据交易。此外，关于客户与公司之间的通信，主要通过使用IIoT设备（例如，智能车辆，智能机械）和社交网络来实现，其安全性是必不可少的，因此它们也可以通过区块链进行交互。
- 工业4.0智能工厂还需要在整个价值链中动态集成设计和工程阶段。这种整合的目的是快速反应参与价值链的不同参与者所收到的反馈。因此，智能合约可以加速某些官僚任务，区块链可用于执行上述交互。
- 整合多种技术。工业4.0促进了不同新技术的使用，这些技术将改变运营商之间以及与工作环境相互作用的方式。区块链可以充当信息交换中心，其技术独立的用户只需要实现适当的区块链客户端功能。

> 使用区块链实现智能工厂垂直整合与水平集成，充当信息交换平台

## Blockchain-Based Industry 4.0 Application

工业4.0可以从区块链的使用中受益，但其应用目前也在各个方面提出了挑战。这种情况在图4和图5中示出，其中还可以观察到通过使用区块链可以改进技术的一个特征，但是相同的特征可能仍然是另一个的挑战（例如，区块链的实现可能帮助基于云计算的解决方案为其存储需求提供冗余，同时，由于存储和计算限制，这种本地区块链实现目前很难在IIoT节点中复制。因此，当这些技术在工业4.0应用程序中一起使用时，有必要在区块链的使用及其限制之间寻求权衡。

![图4 基于区块链的工业4.0应用的主要优点（绿线）和挑战（红线）（第1部分）](https://ieeexplore.ieee.org/mediastore_new/IEEE/content/media/6287639/8600701/8678753/fraga4-2908780-small.gif)

![图5 基于区块链的工业4.0应用的主要优点（绿线）和挑战（红线）（第2部分）](https://ieeexplore.ieee.org/mediastore_new/IEEE/content/media/6287639/8600701/8678753/fraga5-2908780-small.gif)

图4还展示了可以通过使用区块链来改进技术的某些特性，但是其他相关特性可能是挑战。例如，基于区块链的IIoT应用可以增加关于某些方面（即，数据可用性和通信安全性）的安全性，但是其他相关方面仍然是挑战（即，数据隐私，数据完整性，身份认证）。为了澄清所有上述的好处和挑战，下一小节将对它们进行分析，并通过一些最具代表性和实用性的基于区块链的工业4.0开发来说明它们

### A. IIoT

IIoT一词指的是传统物联网（IoT）技术[55]  -  [56] [57] [58] [59]在工业环境中的使用。因此，它意味着在感知环境中大规模部署具有遥感/驱动能力的工业传感器，执行器和机器[64]  -  [61] [62] [63] [64]。

区块链可以帮助IIoT系统在信任框架（例如，共享数据分类帐）内的不同处理阶段期间执行分散的交易和信息交换，其中所有交易都被签名和加时间戳[65]。应用的一个例子是基于信用的支付方案，以支持快速和频繁的安全能源交易[66]。其他作者研究了符合IoT标准的区块链可以带来IEEE P1931.1ROOF标准[67]的性能优势。此外，支持区块链的IIoT开发可以：

- 提高IIoT安全性。基于区块链的应用允许保证特定IIoT设备发布的信息不会被恶意第三方伪造或更改。
- 公开或半公开访问IIoT数据。这对某些行业来说非常重要，这些行业的某些参与者（例如政府，监管机构，利益相关者）认为透明度是必不可少的，以便信任公司。
- 保证数据访问。区块链数据在对等体之间分配，因此一个或多个参与者的通信中断不应影响对数据的访问。
- 提供一种通信机制，其中多个实体和人员通过智能合约以标准和自动方式（例如，没有任何用户交互）进行交互（关于智能合同如何工作的详细分析超出了本文的范围，但感兴趣的读者可以在[17]中找到描述和一些例子。

尽管如此，必须指出的是，区块链与IIoT设备的使用与某些特定挑战有关：

- 数据隐私。默认情况下，所有IIoT设备都通过其公钥（或其哈希）进行标识，因此在需要时无法保证其匿名性（例如，为了避免向工业竞争对手泄露关键数据）。混合技术可以提高IIoT数据的隐私性，但在某些情况下，它们可以去匿名化[68]
- 身份认证。值得注意的是，当组织设置身份提供者以授权访问IIoT设备和IIoT生态系统的其他参与者时，此类提供者通常也能够阻止其访问。为了解决这个问题，一些研究人员提出使用许可的区块链，可以管理多个IIoT节点识别[69]，而其他人建议使用多链[48]（其中只有一部分参与者可以监控区块链活动）。
- 高安全性。一些IIoT设备由于其有限的计算能力或其功率限制而无法实现复杂的安全机制。基于RSA的加密可能不是最适合某些资源约束的IIoT设备，因此应该研究其他非对称加密机制[70]。此外，由于量子计算在打破传统的非对称加密算法方面的进步，应该考虑量子方法[71]。
- 数据的完整性。对于IIoT系统来说，保证从IIoT设备收集的信息没有被修改是至关重要的，因为不正确或恶意的数据可能会改变工业系统的基本部分。区块链可以提供完整性服务框架，以避免信任第三方[72]，但是这种系统仍然需要发展。
- 能源效率。由于某些IIoT设备依靠电池来运行，因此必须最小化功耗。然而，区块链通常是耗电的，主要是由于采矿和P2P通信（例如，当使用低效的P2P算法时，边缘设备必须连续通电并执行计算密集的复杂加密操作[73]，[74]）。此外，必须注意的是，尽管可能的能耗优化，当前的资源约束IIoT节点通常无法处理PoW或挖掘任务，因此它们通常依赖于充当区块链代理的中间网关。在采矿方面，已经提出了不同的共识机制来开发比传统PoW方案更环保的替代方案（例如，股权证明，空间证明[75]），但还需要进一步的研究。例如，一些作者已经提出了像迷你区块链[76]这样的替代方案，这有助于减少对等更新的数量，同时降低整个节点的计算要求。值得一提的是，高效散列算法可以帮助延长IIoT设备的电池寿命：尽管由于比特币，SHA-256可能是最流行的散列算法，但最近的替代品如Scrypt [77]或X11 [78]更快，因此他们可能会减少采矿能耗。
- 吞吐量限制。IIoT系统通常需要每秒管理大量事务，这可能是某些区块链的问题。例如，比特币的原始区块链每秒最多可达7次交易[79]，尽管它可以进行优化以处理更多交易（例如，增加块大小）[80]。因此，在为IIoT部署选择正确的区块链时，吞吐量是必须考虑的基本参数。
- 交易延迟。值得注意的是，区块链需要一定的时间来处理交易。例如，比特币交易潜伏期遵循泊松分布，平均值为10分钟[7]，但实际上，建议等待大约一个小时来确认交易（这是因为需要五到六个块才能在确认之前添加到链中）。相反，大多数数据库最多需要几秒钟来确认交易。
- 区块链大小。随着IIoT设备执行交易，区块链不断增长，这意味着使用更强大的矿工。实际上，传统的资源约束IIoT设备甚至无法管理小块链。因此，区块链压缩技术应该与其他方法一起研究，如迷你区块链[76]，[81]。
- 额外的IIoT基础设施。区块链需要基础设施来支持分散存储和挖掘。这种基础设施已经可以通过使用现成的硬件来实现，但是可能需要特定的专用设备。例如，在专用专用集成电路（ASIC）[82]的开发之前，采矿硬件在过去几年中发展迅速。

> IIoT部分是关键，应该是我们可以做的，其它部分都不太了解

### B. 垂直与水平集成系统

垂直整合指智能工厂内部各系统如ERP和MES或工厂部门、上下级的整合；水平则是供应商、工厂、用户等供应链上下游的整合。我们对此缺乏了解，或者说，我们关注的应在作为其支持的物联网技术，而不应该偏上层的应用

### C. ICPS

工业网络物理系统是一种能够收集，处理和存储数据和交易以控制物理过程的系统。ICPS的不同组件在整个智能工厂中物理分布，其中一些可能在互联网上，这意味着数据处理和分析是分散的[88]  -  [89] [90]，能够做出真实的决策时间。

由于ICPS的分散性和对数据冗余的需求，区块链似乎是这种系统的良好补充。事实上，一些研究人员已经提出使用区块链作为不同行业ICPS的支柱。例如，在[91]中详细介绍了PCB制造商基于区块链的CPPS的设计。其他作者专注于通过创建信誉系统来提高CPS的可靠性，并为与系统协作的各种实体提供公平的奖励[92]。

此外，其他研究人员提出通过分散它们然后创建ICPS [93]来改进制造过程，以便监控和控制它们。在这种情况下，研究人员指出，ICPS将受益于使用区块链来协调本地实时流程，尽管它们表明在商业部署之前仍然需要解决问题：交易序列化，这会产生性能瓶颈并影响可伸缩性（更多计算节点不一定能够应对更高的工作负载，因为交易需要连续处理）。此外，重要的是要注意基于区块链的ICPS必须处理另外四个限制：

- 吞吐量和延迟限制。大多数区块链技术需要一定的时间来达成共识并确认交易，许多ICPS中的问题可能是实际或准实时对收集的数据和事件做出反应。
- 能源效率。许多用ICPS提供数据的系统实际上是可以电池供电的IIoT设备。因此，有必要研究最小化P2P通信和共识算法功耗的区块链技术。
- 计算能力限制。其数据由ICPS收集的IIoT设备通常在计算能力方面受到限制，因此它们可能无法利用某些加密机制。
- 存储要求。区块链需要相关的存储量来保留所有交易，对于将数据发送到ICPS的某些资源约束节点而言可能是个问题。

> 实质上讲，ICPS也是物联网的一个特例，其面对的挑战和IIoT大同小异

### D.大数据和数据分析

理想的工业4.0智能工厂从价值链的许多不同来源（例如，来自工厂，供应商，物流提供商或服务提供商）收集大量数据。如此大量的信息确实值得，但其处理需要使用先进的大数据技术。此外，在预测未来需求或即将出现的问题时，数据分析非常有用。

当面临三个主要问题时，区块链可以增强大数据和数据分析[94]：数据收集，数据可信度和自动可靠的数据流通。首先，必须指出的是，在大数据时代，数据来自许多分散的来源。像区块链这样的技术可以帮助建立一个共同的数据共享界面，所有相关方通过这种界面进行交互[95]。

此外，大数据和数据分析都依赖可靠的数据来做出正确的决策。区块链可以通过在相关实体之间建立信任来提高数据可靠性[96]，保护共享数据并提供数据时间戳[19]。

关于数据流通，它与信息在工业4.0生态系统中不断移动的事实有关，并且这些数据的一部分需要业主和接收者的授权才能传播。在这种情况下，智能合约可以真正有用，因为它们能够标准化和自动化数据流通，使其对第三方透明。

### E. 工业AR和VR

### F. 机器人和车辆的自动化

### G. 云计算和边缘计算

### H. 添加制造（3D打印）

### I. 网络安全

内部和内部连接是工业4.0应用程序中的关键，因此有必要保护涉及此类连接的系统。此外，安全对于工业关键系统至关重要，这些系统在过去几年中一直受到网络攻击的广泛攻击[145]，影响复杂的工业系统和更简单的物理访问系统[146]  -  [147] [148]。

正如之前的小节中已经提到的那样，由于大多数区块链技术默认使用安全的公钥密码系统和哈希算法，因此数据安全性相对于可选地提供它的其他解决方案得到了增强。此外，私有和财团区块链可以限制用户访问，减少可能的攻击者数量。此外，由于区块链上的数据是分布式的，尽管一个参与者可能受到攻击，但是信息可以通过其他节点获得，从而保证数据可用性。[149]中描述了一个基于区块链的信息共享框架的例子，该框架旨在应对网络安全挑战。

尽管如此，值得注意的是，与其他类型的分布式系统一样，区块链容易受到Sybil攻击[150]，这可能会改变系统的正常行为。此外，区块链可以被一群矿工在他们成为多数时（在小区块链中不难）抵制，由于经济或意识形态原因能够阻止某些交易。因此，尽管区块链技术可以提高工业4.0应用程序的安全性，但它的使用需要一些应该识别和解决的安全问题[151]。

### J.仿真软件

工业4.0工厂收集的信息可用于通过使用模拟软件来模拟生产系统中涉及的所有实体（例如，机器，操作员，产品）的行为。这样的软件可以确定工厂现实中的当前状态（这与Digital Twin [152]的概念有关），然后预测未来事件，建议缓解措施以避免问题，或建议改进以降低成本或提高质量。具体而言，区块链技术可通过以下方式帮助模拟软件：

- 从分布式存储库中的多个源收集数据，由于使用了不同节点提供的冗余信息，因此可以提高其可用性。
- 验证数据真实性，从而消除部分不确定性。通过这种方式，对某些参数的预测可能会变得更加准确，并使管理者能够在特定时刻更好地了解工厂的状态。
- 分配计算任务。区块链能够在不同节点之间分配任务和计算，以加速模拟。事实上，像Gridcoin [153]这样的一些加密货币已经提出了以分布式方式解决数学问题的令牌同伴协作的回报。
- 提供增强的仿真即服务和分散的协同仿真功能[154]。

## Main Challenges of the Implementation of Blockchain into Industry 4.0

尽管区块链技术带来了诸多好处，但它们在工业4.0应用中的开发和部署却提出了需要进一步研究的重大挑战：

- 可扩展性。选择用于支持基于区块链的工业4.0应用的体系结构必须能够承受此类应用程序通常生成的大量流量。对于传统的基于集中式云的架构而言，这样的数量可能是一个问题，在过去的几年中，架构已经发展为倾向于提供接近物理需求的最基本服务的架构，就像雾和雾计算一样。架构[29]。

- 用于资源约束设备的密码系统。在工业4.0工厂中运行的许多设备（例如，传感器，致动器，工具）具有非常有限的计算资源（即，存储器和处理能力），因此它们与现代安全的公钥加密方案斗争[155]。虽然大多数区块链都使用基于椭圆曲线密码术（ECC）的公钥密码系统，但在相同的安全级别[156]进行比较时，它通常比传统的Rivest-Shamir Addleman（RSA）更轻，这样的密码学仍然是电力很饿。此外，需要保持中长期数据安全的行业应该意识到后量子计算的威胁[157]并寻找节能的量子安全算法。

- 共识算法选择。由于一致性算法对于区块链的正常工作至关重要，因此必须仔细选择。重要的是要注意，没有必要使用最平等（和理想主义）的共识机制，其中包括在投票时给予所有矿工相同的权重，因为在某些区块链（例如，公共区块链）中，机制将容易受到Sybil攻击，然后单个实体将能够控制整个区块链。除了比特币使用的传统PoW共识算法之外，还有其他类似于利益证明，空间证明，活动证明，实用拜占庭容错（PBFT）[158]，Sieve [159]，烧伤证明或人格证明[160]。此外，值得注意的是挖掘虽然在公共区块链中非常有用，但对于每种情况都不是必不可少的，因此协同算法所消耗的计算量和能量可以大大减少

- 隐私和安全。正如第III-A部分所述，数据隐私，身份认证和数据完整性仍然是需要妥善解决的问题，尤其是对于资源约束设备。

- 能效，吞吐量和延迟。这些问题之前已经描述过与IIoT和CPS有关，但它们可以外推到其他区块链应用程序。在能源效率的情况下，使用采矿，低效的P2P协议和计算复杂的加密算法会对每种情况下的能耗产生影响，尽管这些因素在使用电池供电设备时至关重要。关于区块链吞吐量和延迟，它们受到共识算法的工作方式以及如何将区块添加到区块链的影响。实际上，这两个因素通常会增加延迟并且在整个方面显着降低，例如，传统的数据库系统，因此可能难以提供对事件的实时响应。

  在以太坊的情况下，目前每个节点都必须处理通过网络的每一个事务[161]。尽管如此，通过开发分析[162]等链式解决方案或Raiden [163]和Plasma [164]等非链式解决方案，以太坊正在向可扩展性方面取得稳步进展。分片允许将节点和事务划分为称为分片的较小分区，这些分区具有自己的状态和事务历史记录。因此，某些节点仅处理某些分片的事务，从而允许更高的吞吐量。

  与分片不同，Raiden建议使用离线交易来扩展以太坊网络。它是以太坊的比特币闪电网络版本[165]。它允许一组节点建立双向支付渠道，以促进近乎即时，低费用和可扩展的微交易，而无需直接与以太坊区块链进行交易。最近，该解决方案的简化版本称为μRaiden[166]，可以通过单向支付渠道进行微支付。

  另一个离线解决方案是Plasma，这是一个强制执行智能合约的框架。Plasma通过允许创建由其父级强制执行的子区块链，创建遵循树级结构的区块链。有三种主要实现最小可行等离子体（MVP），等离子现金和等离子借记。还提出了不同的替代方案来面对以太坊的问题。这就是EOS的情况，它改善了以太坊的交易费用和可扩展性，但由于其更集中的性质，这仍然存在争议。

- 所需基础设施区块链技术的使用需要部署特定的硬件基础设施，如额外的存储或采矿硬件。此外，P2P通信产生的预计大量数据流量需要能够支持估计负载的通信基础设施和接口

- 多链管理。区块链的激增可能需要一些公司同时支持其中几个。例如，公司可以使用比特币处理其金融交易，而智能合约则在依赖以太坊的应用程序上执行。因此，必须设计和实施解决方案以同时使用不同的区块链。

- 互操作性和标准化。目前，大多数公司开发自己的区块链解决方案，但在许多情况下，它们之间的互操作性是必要的，以实现无缝集成。像IEEE这样的一些实体正致力于制定旨在保证各领域互操作性的特定标准。例如，在编写时，IEEE标准协会[167]就区块链推动了两项相关举措：一项与优化临床试验和加强患者安全建立共识，另一项与推动区块链采用推动合作有关在制药行业。

- 监管和法律方面。除了前面提到的技术挑战外，还必须关注政府和监管机构正在制定的新法规和法律。例如，欧洲联盟于2018年2月启动了区块链观察站和论坛，其主要目标是绘制关键举措，监测发展情况并在欧盟层面制定共同行动[168]。

> 这些提到的方面都是我们可以做的事情

## Conclusions

工业4.0是一种通过使用一些最新技术改变工厂运作方式的范例。其中一种技术是区块链，它已经成功地用于加密货币，并且可以通过智能合约增加安全性，信任，不变性，非中介化，分散化和更高程度的自动化来增强工业4.0技术。

本文详细介绍了区块链可以为主要的工业4.0技术带来的好处，以及它们当前的挑战。在提供了一种通用方法来确定区块链的使用是否是实施工业4.0应用程序的适当选择之后，研究了针对每种工业4.0技术的最相关的基于工业区块链的应用程序，以及它们的主要挑战。通过这种方式，本文为未来的工业4.0应用程序开发人员提供了指南，以确定区块链如何增强下一代网络固定工业应用程序。


---

> 作者:   
> URL: https://shuzang.github.io/2019/a-review-on-the-application-of-blockchain-to-the-next-generation/  

