Blockchain for Internet of Things: A Survey中文翻译

Blockchain for Internet of Things: A Survey

Blockchain for Internet of Things: A Survey中文翻译_第1张图片

原文链接

https://ieeexplore.ieee.org/document/8731639

Dai H N, Zheng Z, Zhang Y. Blockchain for Internet of Things: A survey[J]. IEEE Internet of Things Journal, 2019, 6(5): 8076-8094.

摘要

物联网(IoT)正在将现有行业重塑为以数据驱动的决策为特征的智能行业。但是,物联网的内在特征带来了许多挑战,例如分布式,互操作性差,私密性和安全漏洞。区块链技术为应对物联网挑战带来了机遇。在本文中,我们研究了区块链技术与物联网的集成。我们将这种区块链和物联网的综合称为BCoT( blockchain of things)。本文对BCoT进行了深入的调查,并讨论了这种新范式的见解。特别是,我们首先简要介绍物联网,并讨论物联网的挑战。然后,我们对区块链技术进行了概述。接下来,我们将重点介绍区块链和物联网的融合,并提出BCoT体系结构的建议。我们将进一步讨论有关在物联网以及BCoT的工业应用中将区块链用于5G的问题。最后,我们概述了这一有前途的领域中的开放研究方向。

 

关键词

区块链,工业应用,物联网(IoT),智能合约 

1 引言

信息和通信技术(ICT)的最新发展促进了传统计算机辅助产业向以数据驱动决策为特征的智能产业的发展[1]。在这种模式转变期间,物联网(IoT)发挥了重要作用,将物理工业环境连接到计算系统的网络空间,从而形成了网络物理系统(cyber-physical system,CPS)。物联网可以支持广泛的工业应用,例如制造,物流,食品工业和公用事业。物联网旨在提高运营效率和生产吞吐量,减少机器停机时间并提高产品质量。物联网具有以下特点:1)物联网系统的去中心化; 2)物联网设备和系统的多样性; 3)物联网数据的异构性; 4)网络复杂度。所有这些都带来了挑战,包括物联网系统的异构性,互操作性差,物联网设备的资源限制以及隐私和安全漏洞。

区块链技术的出现为克服物联网的上述挑战带来了机遇。区块链本质上是分布在整个分布式系统上的分布式分类帐。借助分布式的共识,区块链可以使交易发生并在互不信任的分布式系统中进行验证,而无需受信任的第三方的干预。与现有的交易管理系统需要集中的交易机构来验证交易不同,区块链可以实现交易的分散验证,从而极大地节省了成本并减轻了中央机构的性能瓶颈。而且,保存在区块链中的每个交易本质上是不可变的,因为网络中的每个节点都将所有已提交的交易保留在区块链中。同时,加密机制(例如非对称加密算法,数字签名和哈希函数)保证了区块链中数据块的完整性。因此,区块链可以确保交易不可抵赖。此外,具有附加历史时间戳的区块链中的每笔交易都可追溯到每个用户。

区块链通过改进的互操作性,隐私性,安全性,可靠性和可扩展性,实质上是对物联网的完美补充。在本文中,我们研究了将区块链与IoT集成的新范例。我们将这种区块链和物联网的综合称为BCoT。 BCoT特别具有以下优点:

1)跨物联网设备,物联网系统和工业部门的互操作性,其中互操作性是与物理系统进行交互并在物联网系统之间交换信息的能力。这可以通过构建在覆盖对等(P2P)网络之上的区块链复合层来实现,并可以跨不同的IoT系统进行统一访问。

2)物联网数据的可追溯性,其中可追溯性是跟踪和验证保存在区块链中的数据块的时空信息的能力。保存在区块链中的每个数据块均附有历史时间戳,从而确保数据的可追溯性。

3)物联网数据的可靠性是物联网数据值得信赖的质量。可以通过包括非对称加密算法,哈希函数和数字签名在内的加密机制所强制执行的完整性来确保这些完整性,而这一切都是区块链固有的。

4)物联网系统的自主交互是指物联网系统相互交互而无需受信任的第三方干预的能力。这种自主性可以通过区块链支持的智能合约来实现。特别是,嵌入智能合约的合约条款将在满足特定条件时自动执行(例如,违反合约的用户将自动受到罚款)。

尽管BCoT可以使物联网受益,但要完全释放BCoT的潜力,还需要解决许多挑战。因此,本文旨在对BCoT中的最新进展,挑战和开放性研究问题进行深入的调查。

 

 

A.本文与现有综述的比较

有几篇发表的文章讨论了区块链与物联网的融合。例如,[2]的工作提出了将区块链用于物联网的智能家居应用。 Zhang和Wen [3]提出了一种基于智能合约和区块链来支持P2P交易的商业模型。但是,这些研究对于将区块链与IoT(例如智能家居应用)结合在一起的特定场景而言太具体了。

最近,发表了一些关于区块链与物联网融合的总综述。尤其是,[4]通过大量用例的分类,对物联网的区块链进行了系统的文献综述。 [5]的工作提出了关于物联网安全性的综述,并研究了区块链技术作为解决方案的潜力。Reyna等 [6]研究了将区块链与物联网集成的可能性和研究问题。[7]的工作提出了在应用方面将区块链与物联网集成的综述。 Ali等 [8]试图对区块链在物联网中的应用进行全面的综述。[9]的工作给出了用于物联网的区块链应用的分类。

但是,大多数现有的综述都受到以下限制:1)没有为BCoT提出通用架构; 2)没有研究明确讨论物联网网络以外的5G区块链(但是,该主题对物联网的发展非常重要); 3)其他重要的问题,例如智能合约的生命周期,在大多数现有综述中都缺失。

 

B.贡献

鉴于先前的工作,我们旨在:1)提供有关物联网和区块链技术的概念性介绍; 2)深入分析将区块链纳入物联网的潜力; 3)对启用BCoT的技术挑战进行了深入的讨论。总而言之,本文的主要贡献如下。

1)首先对物联网进行简要介绍,然后再对物联网的主要特征进行总结。同时,概述了物联网的研究挑战。2)然后概述了关键的区块链技术,并总结了区块链的主要特征和现有区块链系统的分类法。

3)本文的核心部分集中在区块链和物联网的融合上。在这方面,首先讨论了将区块链与物联网集成的机会。然后提出并说明了BCoT的体系结构。

4)超越5G的网络在构建BCoT基础架构方面发挥着重要作用。还讨论了有关IoT中超越5G网络的区块链的研究问题。

5)此外,本文总结了BCoT的应用,并概述了BCoT中的开放研究问题。

 

本文的其余部分安排如下。第二部分首先介绍了物联网。然后,第三节介绍了区块链技术。第四节讨论了区块链和物联网的融合。第五部分讨论了有关5G以外网络的区块链的研究问题。第六节总结了BCoT的应用。第七节讨论开放性研究问题。最后,本文总结于第八节。

2 物联网

在本节中,我们将在II-A节中简要介绍IoT,并在II-B节中概述IoT的挑战。

A.物联网简介

在物联网和大数据分析(big data analytics, BDA)的最新发展推动下,当今的行业正经历着从传统的计算机辅助行业到智能行业的模式转变。在这一发展过程中,物联网扮演着弥合物理工业环境与计算系统网络空间之间鸿沟的关键角色,而BDA可以帮助从大量的物联网数据中提取隐藏的价值,从而做出明智的决策。

物联网本质上是提供各种工业服务的智能对象(即事物)网络。一个典型的物联网系统由以下分层子系统组成(从下到上),如图1所示。

Blockchain for Internet of Things: A Survey中文翻译_第2张图片

1)感知层:物联网设备种类繁多,包括传感器,执行器,控制器,条形码/快速响应代码(QR code)标签,RFID标签,智能仪表以及其他无线/有线设备。这些设备可以感知并从物理环境收集数据。同时,它们中的一些(例如执行器和控制器)可以对环境采取措施。

2)通信层:各种无线/有线设备,例如传感器,RFID,致动器,控制器和其他标签,然后可以与IoT网关,WiFi接入点(AP),小型基站(BS)和宏BS连接以形成工业网络。网络连接可以通过多种通信协议来实现,例如蓝牙,近场通信(NFC),低功耗无线个人局域网(6LoWPAN),无线高速公路可寻址远程传感器(WirelessHART)[10],低功耗广域网(LPWAN)技术,包括Sigfox,LoRa,窄带物联网(NB-IoT)和工业以太网[11]。

3)工业应用:物联网可广泛用于支持许多工业应用。典型的工业应用包括制造业,供应链,食品工业,智能电网,医疗保健和车联网(Internet of Vehicles,IoV)。

 

B.物联网的挑战

在本文中,我们主要关注工业物联网。在此之后,我们用物联网表示工业物联网,而不会失去一般性。物联网确保安装了各种电子或机械传感器,执行器和软件系统的各种物体(智能对象)的连接,这些传感器可以感知并收集来自物理环境的信息,然后对物理环境进行操作。物联网的独特功能带来了以下几个方面的研究挑战。

1)物联网系统的异构性。表现在异构物联网设备,异构通信协议和异构物联网数据类型(即结构化,半结构化和非结构化)中。异构性也是其他挑战的根源,例如互操作性,隐私和安全性(如下所述)。

2)网络的复杂性。物联网中共存有许多通信/网络协议。典型的网络协议包括NFC,蓝牙,6LoWPAN,WirelessHART,Sigfox,LoRa和NB-IoT,它们均提供不同的网络服务。例如,6LoWPAN和WirelessHART通常具有较短的通信覆盖范围(例如,小于100 m),而LPWAN技术可以提供1到10 km的覆盖范围[12],[13]。

3)互操作性差是指物联网系统(硬件和软件)交换,利用信息和相互协作的能力。由于物联网系统的分散化和物联网系统的异构性,在不同的工业部门,战略中心和物联网系统之间交换数据具有挑战性。结果,难以实现物联网的互操作性。

4)物联网设备的资源约束:物联网设备(例如传感器,执行器,RFID标签和智能仪表)受到有限的资源(包括计算资源,存储资源和电池电量)的影响。例如,无源RFID标签没有电池电源,只能从RFID阅读器或周围环境中收集能量[14]。此外,资源约束还导致物联网设备容易受到恶意攻击。

5)隐私漏洞:隐私是为了保证IoT数据的正确使用,而未经用户同意不会泄露用户私人信息。由于物联网系统的复杂性和分散性,物联网系统的异构性,在物联网中保护数据隐私具有挑战性。此外,将物联网与云计算集成成为趋势,因为云计算可以为物联网提供额外的计算和存储功能。但是,将机密IoT数据上传到第三方云服务器也可能会损害IoT的脆弱隐私[15]。

6)安全漏洞:物联网系统的分散性和异质性也导致难以确保物联网的安全性,而安全性对于企业而言则极为重要。由于难以在资源受限的IoT系统中实施安全对策,因此典型的解决方案(如身份验证,授权和通信加密)可能不适用于IoT。此外,由于安全固件及时更新失败,物联网系统也容易受到恶意攻击[16]。

讨论:物联网的一些固有局限性可以通过最新的ICT技术来克服。例如,环境后向辅助通信[14]可以帮助物联网节点从环境中获取额外的能量。同时,移动边缘计算(MEC)可以通过将计算密集型任务卸载到边缘服务器来扩展IoT节点的功能[17]。此外,区块链技术的最新进展为诸如互操作性差,隐私和安全漏洞等挑战提供了潜在的解决方案。此外,区块链还有利于改善物联网系统的异构性。在第III节中介绍了区块链技术之后,我们将在第IV-A节中讨论区块链为物联网带来的机遇。

3 区块链

在本节中,我们首先在III-A节中概述区块链技术,然后在III-B节中总结关键的区块链特征,并在III-D节中介绍区块链平台的分类法。

 

A.区块链技术概述

1)区块链:区块链本质上是分布在整个区块链系统上的分布式账本[18]。图2显示了一个示例性的区块链,该区块链由多个连续连接的块组成。区块链中的每个块(第一个块除外)都通过反向引用指向其前一个块(称为父块),该反向引用实际上是父块的哈希值。例如,块i包含块i-1的哈希,如图2所示。区块链的第一个块称为没有父块的创世块。具体来说,一个块结构包含以下信息:1)块版本(指示要遵循的验证规则); 2)父块的哈希; 3)时间戳记以秒为单位记录当前时间; 4)随机数从0开始凝视,并且每次哈希计算都增加; 5)交易数量; 6)MerkleRoot(即,默克尔树的根的哈希值与该块中所有事务的哈希值串联在一起),如图2的详细视图所示。

Blockchain for Internet of Things: A Survey中文翻译_第3张图片

区块链随着交易的执行而不断增长。生成新块时,网络中的所有节点都将参与块验证。已验证的块将通过指向父块的反向引用自动添加到区块链的末尾。以此方式,由于篡改块的哈希值与未改变的块的哈希值显着不同,因此可以容易地检测到先前生成的块上的任何未经授权的改变。而且,由于区块链分布在整个网络中,因此篡改行为也可以很容易地被网络中的其他节点检测到。

 

a)区块链中的数据完整性保证:区块链利用加密技术来保证数据完整性。特别是,区块链中有两种机制可确保数据完整性。

1)块的有序链接列表结构,其中每个新附加的块必须包括前一个块的哈希值。以这种方式,对任何先前块的伪造将使后续块无效。

2)默克尔树结构,其中每个块都包含所有事务的默克尔树的根哈希。每个非离开节点本质上是其两个子节点的两个合并值的哈希值。因此,默克尔树通常是二叉树。这样,对交易的任何伪造都会在上一层中导致新的哈希值,从而导致伪造的根哈希。结果,可以容易地检测到任何伪造。

2)共识算法:区块链技术的优势之一是无需分散的可信第三方环境即可验证区块可信性。在分布式环境中,在新生成的块上达成共识具有挑战性,因为共识可能偏向于恶意节点。分散环境中的这种信任验证可以通过共识算法来实现。典型的共识算法包括工作量证明(PoW),股权证明(PoS)和实际的拜占庭容错(PBFT)[19]。

以PoW为例。新生成的块的创建等同于计算难题的解决方案。尽管如此,这个计算上困难的问题(也称为难题)可以在没有困难的情况下得到验证[20]。分布式P2P网络中的每个节点都可以参与验证过程。解决难题的第一个节点可以将经过验证的块附加到区块链;该节点也称为矿工。然后,它在整个区块链系统中广播验证结果,因此其他节点在区块链中验证和更新新结果。然后将一小部分奖金提供给该节点,作为解决难题的补偿。

a)差异解决方案:在分布式系统中,多个节点几乎可以同时验证块。同时,网络延迟会以某种方式同时导致分支(或分叉)链。为了解决这种差异,大多数现有的区块链系统通常将最长的链保持为有效链,因为最长的链暗示了最容易被对手破坏的容忍度。如果是这样,较短的链会自动消失(即,如图2所示的蓝色虚线框),将来的验证工作将在最长的链上继续进行。

b)PoW的可信度:PoW的可信度基于大多数区块链节点都是可信的假设。通常,将计算能力的51%视为PoW可以承受恶意攻击的阈值。激励机制可以鼓励矿工诚实面对妥协。同时,解决难题通常需要强大的计算能力。解决矿工难题的可能性通常与矿工的计算能力和资源成正比[21]。

 

PoW方案需要大量的计算来解决难题,从而导致大量的能源消耗。与PoW不同,PoS要求拥有权证明来验证区块的可信度,因为拥有更多加密货币(即更多股份)的用户比拥有更少加密货币的用户更可靠。在PBFT中,每个具有相同投票权的节点将其投票状态发送给其他节点。经过多轮投票程序,达成共识。

我们将典型的共识算法大致分为两类:1)概率共识算法和2)确定性共识算法。表一给出了分类法。包括PoW,PoS和委托POS(DPOS)在内的概率共识算法通常首先将经过验证的块保存到链中,然后寻找所有节点的共识,而确定性共识算法首先同意该块,然后将经过验证的块保存到链中。此外,概率一致性算法通常会导致多个分叉链,并且可以通过选择最长的链来解决差异。相反,确定性共识算法通过覆盖网络中的多轮通信来解决差异。

有很多尝试来改进现有的共识算法,例如Ripple [22],Algorand [23],Tendermint,授权证明(PoA)[24],经过时间证明(PoET)[25]。代替选择单一共识算法,趋势是集成多个共识算法以满足不同应用程序的需求。

3)区块链的工作流程:接下来,我们以一个示例展示区块链的工作方式。以如图3所示的汇款为例。爱丽丝想将一笔钱转给鲍勃。她首先通过她的比特币(BTC)钱包在计算机上发起交易(即步骤1)。交易包括诸如发件人的钱包,收件人的地址和金额之类的信息。该交易实质上是由Alice的私钥签名的,此后其他用户可以通过Alice的公钥进行访问和验证。然后,计算机将发起的交易广播到P2P网络中的其他计算机(或节点)(即步骤2)。接下来,一旦矿工成功解决难题,然后将经过验证的交易附加到交易链的末尾,从而在区块链中形成一个新块(即步骤3)。最后,当将经验证的交易附加到区块链时(即,步骤4),每个节点都保存更新后的区块链的副本。

Blockchain for Internet of Things: A Survey中文翻译_第4张图片

 

B.区块链的关键特征

总之,区块链技术具有以下关键特征。

1)去中心化:在传统的交易管理系统中,交易验证是通过受信任的机构(例如银行或政府)进行的。这种集中方式不可避免地导致集中服务提供商处的额外成本,性能瓶颈和单点故障(SPF)。相反,区块链允许在两个对等方之间验证交易,而无需中央机构的认证,管辖或干预,从而降低了服务成本,减轻了性能瓶颈,降低了SPF风险。

2)不变性:区块链由块的连续链接链组成,其中每个链接实质上是前一个块的逆哈希点。对前一个块的任何修改会使所有随后生成的块无效。同时,Merkle树的根哈希会保存所有已提交事务的哈希。任何交易上的任何(甚至很小的)更改都会产生新的Merkle根。因此,可以容易地检测到任何伪造。逆哈希点和Merkle树的集成可以保证数据的完整性。

3)不可否认性:回想一下使用私钥将签名放入交易的事实,然后其他人可以通过相应的公钥访问并验证该签名。因此,交易发起方不能拒绝通过冰冻签名的交易。

4)透明度:对于大多数公共区块链系统(如BTC和以太坊),每个用户都可以平等地访问和与区块链网络进行交互。此外,每笔新交易均经过验证并保存在区块链中,因此可供每个用户使用。因此,区块链数据本质上是每个可以访问和验证区块链中已提交交易的用户的透明对象。

5)假名:尽管区块链数据透明,但区块链系统可以通过匿名化区块链地址来保留一定程度的隐私。例如,[26]的工作提出了一种区块链的应用程序,以保护个人数据的私密性。但是,区块链只能在一定级别上保护隐私,因为区块链地址本质上可以通过推论来追溯[8]。例如,在[27]中表明,对区块链数据的分析可以帮助检测欺诈和非法交易。因此,区块链只能保留假名,而不能保留全部隐私。

6)可追溯性:保存在区块链中的每笔交易都附有时间戳(在交易发生时记录)。因此,用户在使用相应的时间戳分析区块链数据后,可以轻松地验证和追溯历史数据项的起源。

 

C.智能合约

智能合约是区块链技术的一大进步[28]。在1990年代,智能合约被提议为一种执行协议的相关条款的计算机化交易协议[29]。满足特定条件时,将自动执行嵌入智能合约中的合约条款(例如,违反合约的一方将受到自动惩罚)。

区块链使智能合约成为可能。本质上,智能合约是在区块链之上实现的。批准的合同条款将转换为可执行的计算机程序。矛盾子句之间的逻辑联系也以程序中逻辑流的形式保留(例如,if-else-if语句)。每个合同声明的执行都记录为存储在区块链中的不变交易。智能合约可确保适当的访问控制和合约执行。特别是,开发人员可以为合同中的每个功能分配访问权限。合同执行可确保合同执行具有确定性。一旦满足智能合约中的任何条件,被触发的语句将以可预测的方式自动执行相应的功能。例如,爱丽丝和鲍勃同意违反合同的处罚。如果鲍勃违反合同,则相应的罚款(按照合同规定)将自动从鲍勃的押金中支付。

智能合约的整个生命周期包括四个连续的阶段,如图4所示。

1)创建智能合约。一些参与方首先就合同的义务,权利和禁止进行谈判。经过多轮讨论和谈判,可以达成协议。律师或顾问将帮助当事方起草初步的合同协议。然后,软件工程师将以自然语言编写的此协议转换为以计算机语言编写的智能合约,其中包括声明性语言和基于逻辑的规则语言[30]。与计算机软件的开发相似,智能合约转换的过程由设计,实施和验证(即测试)组成。值得一提的是,智能合约的创建是一个反复的过程,涉及多轮谈判和迭代。同时,它还与利益相关方,律师和软件工程师等多方参与。

2)部署智能合约。然后,可以将经过验证的智能合约部署到区块链之上的平台上。由于区块链的不变性,无法修改存储在区块链上的合同。任何修订都需要创建新合同。一旦将智能合约部署在区块链上,所有各方都可以通过区块链访问合约。此外,通过冻结相应的数字钱包,智能合约中双方的数字资产都被锁定[31]。例如,与合同有关的钱包中的硬币转移(传入或传出)被阻止。同时,可以通过其数字钱包识别各方。

3)执行智能合约。部署智能合约后,将对合约条款进行监控和评估。合同条件达到(例如,产品接收)后,合同程序(或功能)将自动执行。值得注意的是,一个智能合约由许多具有逻辑连接的声明性语句组成。当条件被触发时,相应的语句将自动执行,因此,交易将由区块链中的矿工执行和验证[32]。之后,已提交的交易和更新的状态已存储在区块链中。

4)完成智能合约。执行智能合约后,将更新所有相关方的新状态。因此,执行智能合约期间的交易以及更新的状态都存储在区块链中。同时,数字资产已从一方转移到另一方(例如,从买方到供应商的资金转移)。因此,相关方的数字资产已被解锁。智能合约已完成整个生命周期。

值得一提的是,在部署,执行和完成智能合约期间,已执行了一系列交易(每个交易都对应于智能合约中的一条语句)并存储在区块链中。 因此,所有三个阶段都需要将数据写入区块链,如图4所示。

Blockchain for Internet of Things: A Survey中文翻译_第5张图片

 

D.区块链系统分类

我们将区块链系统分为三种类型:1)公共区块链; 2)公共区块链。 2)私有区块链; 3)财团(或社区)区块链[38]。 BTC(即BTC加密货币的股票代码)和ETH(即以太坊加密货币的股票代码)等大多数数字货币都在公共区块链上实现,因此P2P网络中的任何人都可以访问。不同的是,私有区块链可以由单个组织来管理或控制,而财团区块链则处于公共区块链和私人区块链之间的边缘。表II列出了三种类型的区块链的比较。

特别是,我们从以下几个方面总结了公共,私有和联盟区块链之间的比较。 1)主要特征:公共区块链完全分散,而私有和财团区块链部分分散或完全由一个或多个小组控制。此外,几乎不可能篡改公共区块链中的交易,因为每个节点都保留区块链的副本(包含所有交易),而占主导地位的组织或财团和私有区块链的多方可以修改区块链。同样,公共区块链可以完全确保交易的不可抵赖性,透明性和可追溯性,而私有和财团的区块链不能或只能部分确保这些属性。

2)可扩展性:尽管公共区块链可以保证去中心化,不变性,透明性,不可抵赖性和可追溯性,但其优点在于交易验证率低,延迟高,存储空间消耗大,从而限制了可扩展性。公共区块链。与公共区块链相比,私有和联盟区块链具有更好的可扩展性,因为区块链完全由单个组或多个组织控制,并且可以轻松达成共识。

3)灵活性:同样,由于私有和财团的区块链的配置更加可调整,因此公共区块链的灵活性要小于私有和财团的区块链。

4)许可:许可是指访问区块链的同意或授权。在公共区块链中,允许公众参与,因此是无权的。但是,私有和财团的区块链可以允许一个或多个用户访问具有不同权限级别的区块链并与之交互。例如,某些用户只能读取区块链数据,而另一些用户可以读取或发起交易。

5)共识:公共区块链通常使用PoW和PoS作为共识算法,这些算法具有拜占庭式的容错能力,同时导致大量资源消耗。私有区块链可以轻松地在经过身份验证的用户之间达成共识。用于私有区块链的典型共识算法包括PBFT,PoA和PoET。此外,联合体区块链是公共区块链和私有区块链的混合类型。特别是,Ripple [22]是通常用于联盟区块链的PBFT的变体。

6)示范平台:BTC [33]和以太坊[34]是两个典型的公共区块链平台,主要用于数字货币。关于专用区块链,GemOS [35]是用于医疗保健和供应链的私有区块链平台。另外,MultiChain [36]是一个开放源代码平台,可实现私有区块链的实现。对于财团区块链,Hyperledger [37]正在开发商业财团区块链框架。此外,以太坊还提供了用于构建联盟区块链的工具[39]。

Blockchain for Internet of Things: A Survey中文翻译_第6张图片

 

 

4 区块链和物联网的融合

在本节中,我们首先在第IV-A节中讨论将区块链与IoT集成的机会。 然后,我们在第IV-B节中介绍区块链和IoT(即BCoT)集成的架构。 接下来,我们将在IV-C节中讨论BCoT上的部署问题。

 

A.将区块链与IoT集成的机会

如第II-B节所述,物联网系统面临许多挑战,例如物联网系统的异构性,互操作性差,物联网设备的资源限制以及私密性和安全性漏洞。区块链技术可以通过增强的互操作性以及改善的隐私和安全性来补充物联网系统。此外,区块链还可以增强物联网系统的可靠性和可扩展性[6]。简而言之,我们将区块链与物联网的这种集成称为BCoT。与现有的物联网系统相比,BCoT具有以下潜在优势。

1)增强物联网系统的互操作性。区块链可以通过将IoT数据转换并存储到区块链中来实质上改善IoT系统的互操作性。在此过程中,异构类型的物联网数据将被转换,处理,提取,压缩并最终存储在区块链中。此外,由于区块链建立在支持通用Internet访问的P2P覆盖网络之上,因此,互操作性还可以轻松通过不同类型的碎片网络。

2)改善物联网系统的安全性。一方面,物联网数据可以通过区块链来保护,因为它们被存储为区块链交易,并通过加密密钥进行数字签名和签名(例如,椭圆曲线数字签名算法(ECDSA)[40])。此外,物联网系统与区块链技术(如智能合约)的集成可通过自动更新物联网设备固件来补救易受攻击的漏洞,从而帮助提高物联网系统的安全性,从而提高系统安全性[41]。

3)物联网数据的可追溯性和可靠性。可以随时随地识别和验证区块链数据。同时,存储在区块链中的所有历史交易都是可追溯的。例如,[42]的工作开发了一个基于区块链的产品可追溯系统,该系统为供应商和零售商提供可追溯的服务。这样,可以检查和验证产品的质量和独创性。此外,区块链的不变性也确保了物联网数据的可靠性,因为几乎不可能更改或篡改存储在区块链中的任何交易。

4)物联网系统的自主交互。区块链技术可以使IoT设备或子系统自动相互交互。例如,[43]的工作提出了分布式自主公司(DAC)来使交易自动化,在这种情况下,不存在像政府或公司这样的传统角色来进行支付。通过智能合约实施,DAC可以自动工作而无需人工干预,从而节省了成本。

 

B.物联网的架构

我们提出了如图5所示的BCoT架构。在这种架构中,区块链复合层充当物联网和工业应用之间的中间件。该设计具有两个优点:1)提供从物联网较低层的抽象; 2)为用户提供基于区块链的服务。特别是,区块链复合层隐藏了较低层的异质性(例如物联网中的感知层和通信层)。另一方面,区块链复合层提供了许多基于区块链的服务,这些服务实质上是支持各种工业应用程序的应用程序编程接口(API)。结果,由于区块链复合层实现的抽象,也可以降低开发工业应用程序的难度。

Blockchain for Internet of Things: A Survey中文翻译_第7张图片

特别是,区块链复合层由五个子层组成,如图5(a)所示(从下到上)。

1)DataSublayer:从较低层(例如,感知层)收集IoT数据,并通过非对称密码算法和哈希函数包装带有数字签名的加密数据。在分布式验证之后,这些连续连接的数据块便形成了区块链。不同的区块链平台可能会选择不同的密码算法和哈希函数。例如,BTC区块链选择SHA-256作为哈希函数,选择ECDSA作为签名算法。

2)网络子层:本质上是运行在通信层顶部的覆盖式P2P网络。覆盖网络由连接底层通信网络(即,有线/无线通信网络)中的节点的虚拟或物理链路组成。一个节点仅将事务块广播到其连接的对等方。一旦收到交易块,其他对等方将在本地对其进行验证。如果有效,则该块将通过覆盖网络进一步传播到其他节点。

3)共识子层:它主要涉及分布式共识以实现块的可信赖性。可以通过PoW,PoS,PBFT和DPOS等各种共识算法来达成共识(如第III-A2节所述)。值得一提的是,块传播机制(例如中继网络传播和基于广告的传播[20])是分布式共识协议的前提。

4)激励子层:它负责以下任务:a)数字货币发行; b)数字货币分配; c)设计奖励机制(特别是针对矿工); d)处理交易成本。尤其重要的是,设计适当的数字货币货币政策(即货币创造和分配),将奖励分配给对分布式共识做出贡献的参与者(即采矿)。

5)服务子层:它为用户提供基于区块链的服务,用于各个行业,包括制造,物流,供应链,食品工业和公用事业。可以通过智能合约来实现区块链即服务(BaaS),当发生特殊事件时可以自动触发。例如,当消费者很好地接受产品时,自动执行支付合同。

值得一提的是,在通信层之上建立的网络子层是通信网络下面的基础,因此提供了跨不同网络的通用网络访问,如图5(b)所示。图5(b)还显示了一个区块链节点的体系结构,该体系结构实质上包括区块链数据和数据子层中的其他元素。

 

C. BCoT的部署

BCoT的实际部署非常重要。但是,由于物联网设备的限制,将整个区块链存储在物联网设备上具有挑战性。特别是,有两种存储区块链数据的模式[6]:1)完整存储,其中存储了整个区块链; 2)部分存储,其中仅将一部分数据块存储在本地。因此,我们将具有完整存储区块链数据的节点命名为完整节点,将具有部分存储区块链数据的节点命名为轻量级节点。实际上,一个完整的节点可以是具有足够计算资源的云服务器或边缘服务器,因为它需要大的存储空间来保存整个区块链(例如,截至2018年9月,整个BTC区块链占用近185 GB的空间,统计报告)1和强大的计算能力,可以解决共识难题(即挖掘)。另一方面,资源受限的物联网设备(例如,传感器,物联网对象)可以是轻量级节点,无需下载或保存整个区块链即可验证交易的可信度(即仅保存部分区块链数据,例如哈希值) 。值得一提的是,轻量级节点高度依赖完整节点。

图6提出了BCoT的可能部署方案,其中云服务器和边缘服务器可以存储整个区块链(或部分区块链)数据,而IoT设备只能保存部分区块链数据。除了BCoT的部署,物联网与区块链之间还有几种可能的交互方式[8]:1)物联网与区块链之间的直接交互,其中物联网设备可以直接访问保存在同位边缘服务器上的区块链数据使用物联网网关,宏BS(MBS)或小型BS; 2)物联网节点之间的直接交互,其中物联网节点可以通过D2D链接直接交换/访问部分区块链数据; 3)云与边缘服务器与物联网设备的混合交互,其中物联网设备可以通过边缘/云服务器与区块链数据进行交互。

针对边缘服务器或物联网设备上区块链的配置和初始化,有几项举措。例如,Raspnode2是一个主要用于在Raspberry Pi微型计算机上安装BTC和其他区块链的项目。 EthArmbian3为ARM设备提供了定制的Ubuntu Linux映像,每个映像都可以用作以太坊节点。尽管采取了这些举措,但由于存储空间有限,大多数物联网设备仍是轻量级节点。

 

Blockchain for Internet of Things: A Survey中文翻译_第8张图片

5 物联网5G区块造

尽管区块链技术对物联网很有希望,但在将区块链与物联网集成之前,仍然有许多研究问题需要解决,特别是对于下一代网络(即5G-beyond或6G网络),这在构建中起着关键作用。区块链的基础设施。图7从通信,网络管理和计算管理的角度说明了区块链带给5G以外的网络的潜力。我们将详细解释如下。

 

A.通信区块链

移动数据流量的增长需求正在推动5G通信系统中更有效的资源管理。例如,无线电频谱是最重要的资源之一[44]。无线电频谱管理通常包括频谱拍卖和频谱共享。联邦通信委员会(FCC)委员会委员Rosenworcel的最新演讲[45]显示,可以使用区块链技术在5G和5G通信(也称为6G)之外实现动态和安全的频谱管理。系统[46],[47]。将区块链用于超越5G的网络的好处在于安全和可追溯的交易管理,而无需中央中介,从而节省了管理成本。 Yrjölä[48]给出了几个用例,以说明使用区块链技术可以在信任度,共识和降低成本方面使无线电频谱共享受益。此外,Kotobi和Bilen [49]提出了一种基于区块链的协议,以确保无线通信系统中主要用户和认知用户之间的频谱共享。另外,区块链可能潜在地帮助共享具有隐私保护的多个物联网节点的链接条件,从而通过流量优化提高频谱效率[50]。

除了无线电频谱管理,区块链还具有为用户提供改进的移动服务的潜力。例如,5G网络通常由许多分散的异构网络组成。在网络层之上构建的区块链可以通过提供不同网络之间的无缝访问来帮助集成不同的网络。此外,智能合约可以使网络运营商与订户之间的准备和协议流程自动化,同时可以大大节省运营成本[51]。 [52]的工作还表明,基于区块链的系统可以帮助运营节点提高其运营和服务能力。未来,区块链和BDA的综合可以帮助服务提供商从订户交易中提取有价值的见解,并为用户提供更好的服务。

 

B.网络管理的区块链

最近,软件定义网络(SDN)技术可以为分布式物联网提供灵活性和可扩展性[53]。但是,在[54]中表明,SDN的集中化也可能导致单点故障。此外,现有的SDN设备(例如网关)也无法对数据流量进行计算量大的分析。区块链技术与SDN的集成可以克服SDN的弊端。例如,[55]的工作提出了一个用于物联网的基于安全区块链的SDN框架。特别是,已经开发了一种基于区块链的方案来以安全的方式更新流规则表,而无需中介。此外,区块链还可以帮助保护网络功能可视化(NFV)的网络管理。特别是,在[56]中表明,区块链与NFV的集成可以确保NFV的配置是不可变的,可审计的,不可否认的,一致的和匿名的。本文还开发并实现了所提出体系结构的原型。

除了SDN和NFV外,网络切片技术[57]的出现还带来了网络的敏捷性和灵活性,可以支持不同的功能和性能要求。如第四节所述,不同的行业对区块链有不同的应用需求。例如,单个区块链通常用于类似数字货币的应用程序,而企业可能维护多个区块链以用于不同目的。特别是,四个隔离的区块链分别用于企业资源计划(ERP),产品生命周期管理(PLM),制造执行系统(MES)和客户关系管理(CRM),[58]。网络切片实质上可以为MEC中区块链应用的各种需求提供解决方案。例如,可以创建每个网络实例,以在网络切片和网络可视化之上提供特定的区块链服务。但是,有必要优化和分配网络和计算资源,以满足MEC和云计算的复合环境中的各种需求。此外,区块链和网络切片技术的集成还可以支持以内容为中心的网络(CCN)中可靠的内容共享[59]和5G网络中的数据共享中的隐私保护[60]。

 

C.计算管理的区块链

由于物联网设备的资源限制,通常已将大量物联网数据上传到远程云服务器以进行进一步处理。然而,纯基于云的计算范例也会导致网络流量瓶颈,长时间延迟,上下文不了解和隐私暴露[61],从而限制了物联网的可扩展性。最近,MEC [62]通过将计算任务从遥远的云服务器转移到通常安装在靠近用户的IoT网关,WiFi AP,Macro BS和Small BS上的MEC服务器,正在成为云计算的关键补充。通过这种方式,可以将上下文感知,延迟关键和计算量较小的任务从远程云服务器迁移到本地MEC服务器,从而改善响应,隐私保护和上下文感知。

区块链技术能够以分散的方式建立信任,因此已被广泛应用于各个领域。在BCoT中使用MEC之前,仍然需要解决许多问题[63]。与具有强大计算能力和扩展存储空间的云服务器相反,移动边缘服务器通常具有较差的能力。而且,移动边缘服务器在计算能力,主内存,存储空间和网络连接方面是异构的。结果,移动边缘服务器无法单独满足计算需求。例如,移动云服务器可能无法解决区块链中的共识难题,而云服务器可以满足这一目标。因此,有必要研究MEC和云计算的编排以提供区块链服务[64]。

 

 

D.使用区块链进行云和边缘计算的编排

在使用区块链进行云和边缘计算的编排期间,存在一些挑战,包括计算任务分流和激励资源共享。

将计算任务卸载到边缘服务器可以显着减少延迟。因此,进行边缘云互操作至关重要[65]。但是,如果所有节点将其任务卸载到同一台MEC服务器,则可能会导致性能瓶颈和单点故障。文献[66]的工作提出了一种卸载方法,其中考虑了多个MEC服务器之间的负载平衡。同时,值得研究如何激励边缘服务器和云服务器。例如,[67]提出了一种合同匹配方法来分配计算资源和分配任务,同时有效地激励边缘服务器和云服务器。此外,要同时考虑频谱,计算和能量消耗,为卸载任务设计最佳解决方案具有挑战性。文献[68]的工作本质上提供了一种考虑可行的调制方案和任务调度来优化卸载能量消耗的解决方案。但是,大多数现有研究仅考虑任务是在边缘服务器上还是在云上完成。在实际应用中,可以将一个任务划分为多个具有任务依赖性的子任务,这些子任务可以在边缘服务器或云服务器上执行。将来有必要考虑区块链中子任务的依赖性来研究任务分区。

6 BCoT应用

由于区块链技术可以帮助克服物联网的挑战,因此在物联网中应用区块链的趋势正在增长。然后,我们提供BCoT应用的概述。值得一提的是,区块链的应用范围很广[从智能制造到IoV和无人机(UAV)]。在本文中,我们主要关注BCoT的工业应用。我们将BCoT的应用大致分为六种类型,如图8所示。

Blockchain for Internet of Things: A Survey中文翻译_第9张图片

 

A.智能制造

制造业正在经历从自动化制造到“智能制造”的升级[69]。在此升级过程中,有关制造数据的BDA扮演着重要角色。在产品生命周期的每个阶段都会生成大量数据,包括产品设计,原材料供应,制造,分销,零售和售后服务。但是,制造数据高度分散,因此导致数据聚合和数据分析困难。 BCoT可以通过P2P网络互连IoT系统并允许跨行业共享数据来解决互操作性问题。例如,可以构建多个分布式区块链以服务于不同的部门,并且每个区块链都为一个或多个部门服务。

BCoT还可以提高智能制造的安全性。限制工厂升级的主要瓶颈之一是物联网系统已经集中维护。例如,需要定期升级IoT固件以纠正安全漏洞。但是,大多数固件更新是从中央服务器下载的,然后手动安装在IoT设备上。在分布式物联网中安装和升级固件更新既昂贵又效率低下。 [41]的工作提出了一种基于智能合约和区块链的自动固件升级解决方案。特别是在整个工业网络中都部署了描述固件升级方式(例如,何时何地升级固件)的智能合约。然后,设备可以通过自动执行的智能合约下载并安装固件哈希。结果,可以大大节省安全维护成本。另外,在[70]中提出了一种基于分散式区块链的自动生产平台,以提供比传统集中式架构更好的安全性和隐私保护。

 

B.供应链管理

产品通常由各国不同制造商提供的多个零件组成。但是,某些锻造(或劣质)零件可能会渗入供应链。在产品的每个部分应用反欺诈技术非常昂贵。区块链和物联网的集成可以解决这个问题。特别是,每个部分都会与创建的唯一ID相关联。同时,该ID还附加了一个不变的时间戳。然后,可以将每个部分的标识保存到防篡改且可追溯的区块链中。例如,[71]的工作表明,可以通过基于区块链的系统对产品的零件所有权进行认证。此外,[72]的工作提出了基于以太坊区块链平台的物联网和区块链技术集成的可追溯性本体。所提出的框架已经证明可以保证供应链的数据来源。

另一方面,BCoT还可以用于降低供应链管理中的售后服务成本。[73]的工作显示了汽车保险的用户案例,其中索赔的解决可以通过以下方式实现自动化:基于区块链的智能合约,从而提高了效率并减少了索赔处理时间。此外,在[74]中表明,将区块链与物联网集成可以帮助降低成本,加快速度并降低供应链管理中的风险。此外,提出了一种基于区块链的机器学习平台[75],以确保不同企业之间的数据共享,从而提高客户服务质量。

 

C.食品工业

BCoT可以增强产品生命周期的可见性,尤其是在食品行业。特别地,食品的可追溯性是确保食品安全的必要条件。然而,现有的物联网要保证整个食品供应链中的食品可追溯性是一项挑战[76]。例如,食品公司可以由许多供应商提供。可追溯性要求对从原材料到食品生产各个部门的原材料信息进行数字化处理。在此过程中,区块链技术可以确保食品工业数据的可追溯性和来源。

在这方面有一些建议。例如,[77]的工作提出了使用RFID和区块链技术来建立中国从农业到食品生产的供应链平台。该系统已证明可以保证食品供应链数据的可追溯性。同时,[78]的工作表明,区块链技术可以通过提供可追溯的食品来帮助改善食品安全。此外,在[79]中表明,将区块链整合到食品供应链中可以使客户追踪食品生产的全过程。作者还给出了一个用户案例,说明在哥伦比亚的有机咖啡行业使用区块链。此外,[80]提出了一种基于区块链和电子产品代码(EPC)IoT标签的食品安全追溯系统。特别是,该系统可以防止数据通过智能合约被篡改和隐私泄露。所提出的体系结构的原型已被实施以证明其有效性。

 

D.智能电网

分布式可再生能源的出现正在将能源消费者的角色从单纯的消费者重塑为生产者,这些消费者除了仅消耗能源外还可以产生能源(例如,来自可再生能源)[81]。拥有更多能量的能源生产者可以将其出售给其他消费者。我们将生产者和消费者(即同伴)之间的能源交易称为P2P能源交易。但是,在分布式环境中确保两个交易方之间安全可靠的能源交易具有挑战性。

区块链技术的出现带来了确保安全的P2P能源交易的机会。最近的一些研究提出使用区块链技术来应对这些挑战。例如,[82]中的工作开发了基于财团区块链的安全能源交易系统。该系统可以极大地节省交易成本,而无需通过分布式的区块链共识通过中央经纪商。此外,Aitzhan和Svetinovic [83]开发了一种基于区块链技术的去中心化能源交易系统。该系统展示了在分散式智能电网系统中保护机密能源交易交易的有效性。此外,[84]的工作提出了一种基于区块链的机制,以在智能电网上提供安全透明的能源需求侧管理。

 

E.卫生保健

由于人口老龄化,卫生保健成为主要的社会经济问题之一;由于医院资源有限,它对传统医疗服务提出了新的挑战。可穿戴保健设备以及BDA保健数据方面的最新进展为在家庭或诊所推广远程保健服务提供了机会。结果,可以减轻医院资源的负担[85]。例如,留在家中的老年人正在其身体上佩戴医疗保健设备。这些可穿戴设备持续测量和收集包括心跳率,血糖和血压读数在内的医疗保健数据。医生和医疗团队可以通过医疗网络随时随地访问医疗数据。但是,评估医疗保健数据也会带来隐私和安全问题。卫生保健设备的脆弱性和卫生保健网络的异质性在保护隐私和确保卫生保健数据的安全性方面提出了挑战。

将区块链纳入医疗保健网络可以潜在地克服医疗保健数据的隐私保护和安全保证方面的挑战。例如,[86]的工作表明,使用区块链技术可以保护存储在云服务器中的医疗数据。同时,Griggs等。 [87]开发了一个基于区块链的系统来确保私人医疗数据的管理。特别是,可以通过执行智能合约自动收集由医疗传感器生成的医疗保健数据并将其传输到系统,从而支持对患者的实时监控。在整个过程中,可以通过在区块链下方保留隐私。此外,[88]的工作提出了一种基于区块链的解决方案,用于管理不同医院,医疗中心,保险公司和患者之间的个人保健数据并支持数据共享。在整个过程中,可以确保医疗保健数据的隐私性和安全性。此外,Sun等。 [89]提出了一种分散式保健区块链系统中基于属性的签名方案。一方面,该方案可以验证医疗保健数据的真实性和医疗保健数据所有者的身份。另一方面,该方案还可以保护医疗保健数据所有者的隐私。最近的工作[90]提出了一种结合物联网和基于区块链的MEC方案的室内治疗管理框架,以提供保密性和匿名性保证。原型上的实验结果证明了所提出系统的有效性。

 

F.车联网和无人机

IoV本质上集成了车对车网络,车对路边网络,车对基础设施网络以及车对行人网络。 IoV的去中心化,异质性和不可信性在确保消息传输和事务执行方面提出了挑战。将区块链与IoV集成可以解决上述挑战。例如,[91]的工作在IoV的区块链之上开发了一个信任管理平台。尤其是,可以通过路边单位(RSU)执行的PoW / PoS共识来验证消息的可信度。此外,区块链技术可用于保护智能电网中的电动汽车[92]与混合电动汽车之间的能源和信息交互[93],[94]。将来,结合人工智能,MEC和区块链可以进一步优化IoV中的资源分配[95]。

最近,无人机通信网络可以弥补无线通信网络覆盖不足的问题[96]。同时,无人机还可以用于交付产品[97]和获取实时交通流量数据[98]。此外,[99]的最新研究还表明,无人机可以用于支持以内容为中心的网络和MEC。然而,要确保分散的非信任无人机网络的可信度并限制行为不正常的无人机具有挑战性[102]。区块链技术与无人机网络的集成可以确保无人机之间的相互信任。 [100]的工作开发了一个基于以太坊区块链的自治平台,以提供无人机的信任管理。此外,IBM [101]最近申请了一项专利,以开发一种基于区块链的系统来保护隐私并确保无人机数据的安全性。特别是,区块链中的区块将存储与无人飞行器有关的信息,包括模型类型,制造商,与限制区域的距离。因此,可以及时发现和识别无人机的不当行为。

简介:表III总结了主要的BCoT应用。特别是,如表III所示,将区块链与物联网相结合可以在上述应用中带来许多好处。总而言之,BCoT的优点包括减少可信赖第三方的成本,确保安全性,改善数据可追溯性,验证数据的真实性和保护隐私。

7 BCoT开放研究问题

尽管区块链和物联网的融合为行业升级带来了许多机遇,但要完全释放BCoT的潜力,还需要解决许多挑战。在本节中,我们确定了将区块链纳入物联网的几个主要挑战,并讨论了潜在的解决方案。图9总结了BCoT的开放研究问题。

Blockchain for Internet of Things: A Survey中文翻译_第10张图片

A.资源限制

大多数物联网设备都受到资源限制。例如,传感器,RFID标签和智能仪表的计算能力较差,存储空间有限,电池电量低以及网络连接能力较差。但是,区块链的分散共识算法通常需要大量的计算能力和能耗。例如,BTC中的PoW被证明具有很高的能耗[6]。因此,能耗大的共识机制对于低功耗物联网设备可能不可行。

另一方面,区块链数据的庞大规模也导致无法在物联网中全面部署区块链。例如,截至2018年9月,BTC区块链大小几乎达到185 GB。不可能在每个IoT设备上完全存储整个区块链。同时,以近乎实时的方式生成的大量物联网数据使这种状况更加糟糕。此外,区块链主要用于具有稳定网络连接的场景,这对于经常因节点故障(例如,电池耗尽)而遭受物联网设备网络连接不良和网络不稳定的物联网而言可能并不可行。

潜在的解决方案:将MEC和云计算技术整合到BCoT中可能会克服IoT设备的资源限制。例如,云服务器或某些MEC服务器可以充当存储整个区块链数据并参与大多数区块链操作(例如发起交易,验证交易(即挖掘))的完整节点,而物联网设备可以充当轻量级节点它只存储部分区块链数据(甚至是区块链数据的哈希值),并承担一些计算量较小的任务(例如发起交易)[103]。在BCoT中分配资源的意义上,MEC和云计算的编排成为重要的问题[104]。

 

B. 安全漏洞

尽管将区块链技术整合到IoT中可以通过区块链带来的加密和数字签名提高IoT的安全性,但是由于IoT系统和区块链系统的漏洞,安全性仍然是BCoT的主要关注点。

一方面,由于无线通信系统的可行性和可扩展性,将无线网络部署到工业环境中的趋势正在增长。然而,开放的无线媒体也使IoT遭受安全漏洞的破坏,例如被动监听[105],干扰和重放攻击[106]。此外,由于物联网设备的资源限制,传统的重加权加密算法可能不适用于物联网[107]。此外,在分布式环境中管理密钥(对于加密算法至关重要)也是一个挑战。

同时,区块链系统也有其自身的安全漏洞,例如智能合约的程序缺陷[20]。特别是,在[108]中显示,恶意用户可以利用边界网关协议(BGP)路由方案来劫持区块链消息,从而导致更高的块广播延迟。 [109]的工作还显示,分散的自治组织(DAO)攻击通过利用智能合约的漏洞窃取了价值5000万美元的以太坊。

潜在的解决方案:BCoT的安全漏洞可以通过物联网系统的安全性增强或区块链的漏洞修复来解决。例如,探索了协作干扰方案[110],以提高物联网系统的安全性,而现有物联网节点则不需要额外的硬件。同时,[111]利用基于远程(LoRa)物联网网络中无线信道的互易性和随机性来生成密钥。从修复区块链漏洞的角度来看,也有一些进步。特别是,[112]的最新工作提出了一种用于区块链的安全中继网络,即SABRE,它可以防止区块链受到BGP路由攻击。关于DAO攻击,Corda和Stellar交换了可表达性以换取智能合约的可验证性[113],以避免DAO攻击。

 

C.隐私泄漏

区块链技术有一些机制可以保护保存在区块链中的交易记录的特定数据隐私。例如,通过IP地址而不是用户的真实身份在BTC中进行交易,从而确保一定的匿名性。此外,在BTC中生成一次性帐户以实现用户的匿名性。但是,这些保护方案不够鲁棒。例如,在[21]中显示,可以通过学习和推断与一个普通用户相关的多个交易来破解用户假名。另外,交易数据在区块链上的完整存储也可能导致潜在的隐私泄露,如[114]所示。

可能的解决方案:最近,提出了混合硬币的概念,以使攻击者感到困惑,以使他们无法推断交易花费的真实硬币的确切数量。但是,最近的研究[115]通过基于Monero的大量实际实验证明了硬币混合方案的弱点。此外,可以通过利用硬币混合方案的脆弱性来推断实际交易。文献[114]的工作提出了一种内存优化的,灵活的区块链数据存储方案,可以在一定程度上降低隐私泄露的风险。

 

D. BCoT中的激励机制

适当的激励机制是对区块链系统的良性刺激。例如,许多BTC将奖励给首先解决计算难题的矿工。同时,以太坊的交易将收取给定的费用(即汽油),以支付矿工的合同执行费用。因此,在区块链中设计激励机制时存在两个问题:1)证明(或挖掘)区块的奖励; 2)处理交易(或合同)的补偿。

但是,为BCoT设计适当的激励机制以满足不同应用程序的要求具有挑战性。以数字货币平台为例,矿工热衷于数字货币的价格。例如,生成的区块的BTC奖励将每210000区块减半[116]。奖励减免将使矿工不愿为解决难题做出贡献,从而迁移到其他区块链平台。如何设计适当的数字货币奖励和发行机制,对于确保区块链系统的稳定性至关重要。

潜在的解决方案:另一方面,声誉和诚实性是私有或联合体区块链系统中用户的动力。因此,除了数字货币外,信誉积分还可以用作个人信誉系统[117],共享经济[118],数据来源[119]和药品供应链[120]等场景中的激励措施。最近的工作[121]提出了RepChain,它利用每个节点的声誉来开发激励机制。

 

E. BCoT中BDA的困难

几乎以实时方式生成的大量物联网数据激增。物联网数据呈现出巨大的数量,异构性和巨大的商业价值。物联网数据上的BDA可以提取隐藏的值并做出明智的决策。但是,由于以下原因,在BCoT中应用常规BDA方案具有挑战性。

1)由于资源限制,传统的BDA方案无法应用于IoT设备:由于IoT设备的计算能力较差,因此无法将复杂的BDA方案直接部署在IoT设备上。此外,区块链数据的庞大规模还导致无法在IoT设备上本地存储区块链数据。尽管云计算可以解决这些问题,但是将数据上传到远程云服务器也可能会导致隐私泄露和长时间等待[122]。

2)难以对匿名区块链数据进行数据分析:区块链技术可以通过对数据记录进行加密和数字签名来保护数据隐私。但是,在进行数据分析之前,通常需要对数据进行解密。然而,解密过程通常很耗时,从而导致数据分析效率低下[123]。在不解密的情况下在区块链数据上设计数据分析方案是一项挑战。

潜在的解决方案:MEC通过将计算任务从遥远的云服务器转移到MEC(接近于用户),成为云计算的关键补充。结果,与云计算相比,MEC可以改善响应,隐私保护和上下文感知。因此,将BDA任务卸载到MEC服务器可以潜在地解决带有区块链的云计算的隐私泄漏和长等待时间问题[124]。关于匿名区块链数据的数据分析,最近有一些进展:1)基于复杂网络的社区检测[125],以识别与同一用户关联的多个地址; 2)特征提取BTC区块链数据的交易模式以识别支付关系[126]; 3)分析以太坊上的用户帐户和操作代码,以发现庞氏骗局行为[127]。

 

F. BCoT的可伸缩性

现有区块链的可扩展性也限制了区块链在大规模物联网中的广泛使用。区块链的可扩展性可以通过每秒的事务吞吐量相对于物联网节点的数量以及并发工作负载的数量来衡量[25],[113]。许多区块链系统正遭受吞吐量低下的困扰。例如,[128]中显示BTC每秒只能处理7个事务。相反,VISA每秒可以处理近2000个事务,而PayPal的吞吐量为每秒170个事务[129],[130]。 Conoscenti等。 [4]显示,由于可扩展性差,BTC区块链可能不适合物联网。总而言之,现有的区块链系统可能不适合具有大量交易的应用程序,尤其是物联网。

潜在的解决方案:改善物联网中区块链的可扩展性有两个可能的方向:1)设计更具可扩展性的共识算法,以及2)构建用于物联网的私有或联盟区块链。关于1),我们可以选择共识定位策略来提高交易吞吐量。同时,我们可能会实现一些新的区块链结构,例如有向无环图(DAG)[131],以允许将来自侧链的无冲突块与主链组装在一起,从而降低解决分叉的成本。另外,我们可以考虑将PoW与PBFT集成以提高PoW的吞吐量,类似于[132]中提出的分片协议,其中首先在PoW中解决了计算量较小的难题,然后在多个小组中达成了共识。

关于2),由于完全受控的系统和有限的允许用户数量,私人和联盟区块链中的交易可以比公共区块链处理得更快。同时,在私有和联盟区块链中也可以轻松达成共识。此外,完全受控的区块链还满足企业需要对不同战略部门(例如,ERP,MES,PLM和CRM系统)进行控制的需求[58],[113]。尽管有一些尝试,例如GemOS [35],Multichain [36]和Hyperledger [37],但将来仍有望为服务于特定工业领域的成熟的私有和财团区块链平台。

总结

现有的物联网系统面临许多挑战,包括异构性,互操作性差,资源约束以及隐私和安全漏洞。 区块链技术的最新出现本质上为具有增强的互操作性,隐私,安全性以及可追溯性和可靠性的问题提供了解决方案。

在本文中,我们研究了将区块链与IoT集成。 我们将区块链和物联网的这种综合称为BCoT。 我们提供了有关BCoT的全面调查。 特别是,我们首先简单介绍一下物联网和区块链技术。 然后,我们讨论BCoT的机会并描述BCoT的体系结构。 接下来,我们概述下一代网络区块链中的研究问题。 我们将进一步讨论BCoT的潜在应用,并概述BCoT中的开放研究方向。

 

你可能感兴趣的:(论文笔记,区块链,物联网,2/3/4/5g,智能合约)