近年来,分布式账本技术(Distributed Ledger Technologies, dlt)和区块链系统受到了学术界、政府和商业部门的极大关注。本文探讨了dlt在另一项改变生活的技术——物联网(IoT)中的集成。基于物联网的应用,如智能家居、智能交通、供应链、智能医疗和智能能源,有望提高现有基础设施的效率,改变我们日常生活的方方面面。本文研究了此类应用程序面临的挑战,并对应对这些挑战的现有DLT解决方案进行了全面的评估。我们还确定了未来研究的问题,包括DLT的安全性和可伸缩性,多DLT应用,以及DLT在后量子世界的生存。
附加关键词与短语:分布式账本技术,区块链,物联网

介绍

根据国际电信联盟[1]建立的正式定义,物联网(Internet of Things, IoT)是指由网络化的物理对象组成的世界,每件事物都可能有一个唯一的标识符,并可以为了共同的目标而相互交互和合作。随着信息技术和智能设备制造的快速发展,物联网已成为使各种各样的设备相互通信和共享数据的关键技术。预计未来10年将有超过200亿的设备连接到互联网,从智能手机到可穿戴设备和简单的传感器。与此同时,到2023年,物联网的市场价值预计将增加到7242亿美元,主要是受日益普及的智能终端及其收集的海量数据的推动。
毫无疑问,物联网应用正在悄然改变我们日常生活的方方面面。在家里,智能互联设备可以远程访问和监控,为家庭成员提供舒适和安全。在外部,供应链、医疗保健、能源和交通等主要行业和社会部门正在通过采用物联网技术来提高效率。然而,在物联网时代到来之前,仍有一些严重的挑战性问题需要解决[4-6]。
本文的目的是调查近年来出现的一系列分布式账本技术(Distributed Ledger Technologies, dlt)如何被应用于解决物联网问题,并探索dlt在物联网中的潜在应用。分布式账本不由任何中央权威机构维护,可以在对等网络中传播。每个网络参与者都可以在账本中记录、共享和同步事务。DLT使得快速部署运行在去中心化账本中的透明、分布式和安全系统成为可能。透明度源于这样一个事实,即此类账本通常是公开的,并在用户之间公开共享,用户被赋予验证和接受/拒绝系统操作的权力(称为交易)。去中心化账本的一个重要属性是不可变性,这意味着一旦一笔交易被大多数用户接受并添加到账本中,那么从计算上讲,将很难将系统恢复到之前的状态。这是通过密码谜题、激励机制和认证协议的组合来实现的,这些共同保持了账本的安全。
这项调查旨在解决以下问题:DLT如何在物联网中使用,以及DLT可以解决哪些潜在问题?例如,物联网系统可以收集用户的个人数据,包括位置和医疗记录。在这种情况下,由DLT实现的去中心化安全网络有可能支持安全、私有和可信的物联网宇宙[7]。物联网的其他挑战是身份管理和可追溯性。现有的解决方案,特别是针对传统互联网需求的解决方案,由于物联网设备的资源限制和规模庞大,无法在物联网中部署。因此,需要新的方法和技术来满足物联网领域的需求,以应对这些挑战。
DLT为物联网设备之间的可信交互提供了便利手段。这是对当前更多机器对机器或物对物通信需求的回应,在这些需求中,设备之间的接触很少,而且往往无法预测。分布式账本的重要特性使其成为物联网未来如此有前途的工具:
  • 去中心化:物联网设备可以作为自主代理。即使由于一些网络链路变化导致物联网生态系统(网络)分裂,物联网设备也应该能够正常运行。集中式系统只能通过引入恢复或重新同步机制来部分实现这一点。物联网中的去中心化需求与去中心化账本体系结构的概念相联系,我们将在后面描述这一概念。物联网生态系统的属性可以在不依赖任何可信的中心方的情况下得到保证。dlt的一个优点是远离中央权威机构,这在物联网环境中特别有吸引力,因为没有一个权威机构能够(或应该)管理、持有或拥有所有数据,或被信任这样做。dlt提供了一种避免单点攻击或故障的替代方案,并提供了防止任何一方篡改的保护。
  • 不可变性:物联网中设备的动作和事物之间的交互可以通过账本进行审计和跟踪。
  • 分布式:系统状态的分布和共享,结合上面的审计和保证属性,提高了整个物联网生命周期的透明度。
简而言之,一项被称为深度参与人们日常活动的技术,即物联网,应该是安全、透明、健壮、可审计和可靠的。DLT似乎提供了这些特性。我们将在本文中展示物联网应用(将)如何从中受益。

贡献

分布式账本技术近年来得到了极大的关注。同时,也发表了各种调查论文,探讨区块链和dlt的基本问题。例如,参考文献[8]的作者对比特币协议进行了详细的技术研究,并指出了加密货币之外的其他潜在应用。[9]和[10]调查关注的是比特币和类似比特币系统的安全和隐私问题,而[11]则探讨了区块链如何解决传统中心化系统的根本安全挑战。与此同时,也有一些调查聚焦于物联网与dlt集成领域的现状[12 - 19,96]。在参考文献[12]中,作者探索了区块链的18个现有用例,其中只有4个案例是明确为物联网设计的。在参考文献[13]中,作者概述了一些满足物联网安全需求的最先进的区块链解决方案——审查主要集中在根据物联网层次结构审查和分类安全问题。在参考文献[14]中,Yeow等人关注了物联网系统中的去中心化共识机制,特别是边缘中心物联网场景。在参考文献[15]中,作者还关注了使用区块链技术确保物联网,并探索了一些基于区块链的物联网应用,如智能家居、电子交易。参考文献[16]简要概述了基于区块链的物联网,并探讨了如何为物联网设计区块链系统。在[17]中,作者从安全的角度探讨了物联网和区块链结合的挑战和好处。他们还描述了一些与物联网相关的区块链平台。在参考文献[18]中,作者探讨了如何使用区块链来克服传统物联网架构的固有缺点(特别是在隐私和安全方面)。此外,也有一些针对区块链在物联网某些具体方面的应用的调查,如智能产业[19]。
综上所述,已经有大量的调查论文将物联网和DLT联系起来。他们大多专注于安全和隐私问题,而忽略了物联网的其他关键领域,如身份管理和机器对机器交易。我们将填补这一空白。我们还将利用dlt扩大物联网应用场景的覆盖范围,如供应链和智能交通。表1给出了先前调查所描述的不同方面与读者将在本文中发现的不同方面的比较表。以下列表提供了这种比较的重点,我们将其作为我们的贡献列表。
  • 与现有的调查论文相比,本文更深入地总结了dlt如何帮助满足物联网的不同需求。
  • 本文全面介绍了不同的DLT-IoT组合应用,从智能家居、智能交通、供应链、智能医疗到智能能源。
  • 我们系统地介绍和讨论了现有的基于dlt的物联网解决方案的全面选择。讨论了这些解决方案的优点和局限性。我们超越了典型的区块链分类帐来考虑该领域的变化,例如有向无环图结构,而不是标准的区块链。
  • 我们概述了现有的dlt平台,这些平台有可能在物联网应用中支持隐私和可追溯性。这些平台的优点和缺点被仔细审查和比较。
  • 最后,我们确定了一些关于DLT和物联网成功集成的开放研究方向。

组织

本调查的其余部分结构如下。第2节将介绍dlt的一些理论基础。第3节描述了如何以及在何处将分布式账本技术应用于物联网。第4部分是对已经被使用或显示出可能对物联网产生积极影响的现有dlt的比较。第5节提出了几个引人注目的开放研究问题的讨论。第六部分对全文进行了总结,指出了该领域的未来发展趋势和研究方向。

分布式账本技术概述

数字账本由带时间戳的数字记录组成,自计算机入侵以来一直是电子服务的核心,取代了用于记录货币和财产的传统账本。现在,密码谜题、激励机制和安全协议的混合正在使协作创建数字分布式账本[20]成为可能,这似乎在古人类历史上没有先例。这提高了信任和透明度,并为不再依赖中心化架构的创新应用程序打开了大门。本节对分布式账本技术(DLT)进行初步概述,为进一步讨论DLT在物联网场景中的潜力提供背景。如图1所示,我们通过描述数据如何存储(数据层)、用户如何连接(网络层)、用户如何对账本达成一致并解决不一致(共识层)、分布式账本如何成为计算机程序的执行环境(契约层)以及可以在dlt(应用层)之上构建什么类型的应用程序来构建这一部分。

数据层

分布式账本的基本单元通常称为事务。事务有一个源(发送者)、一个对源进行身份验证的签名和内容(数据)。事务被聚集到块中,块相互链接,创建一个没有循环的图。不需要循环的链式块,以确保块可以部分排序,使其易于确定分类账的演变。

不出所料,如今最流行的分布式账本区块链模仿了传统的纸质账本,也就是说,当区块被添加到账本时,它们一个接一个地被存储。区块链的广泛使用始于2009年加密货币比特币[21]的引入。也许是受2008年金融危机的推动,比特币为在线货币交易提供了一个有吸引力的去中心化解决方案。在一个完全去中心化的架构中,比特币允许用户以一致和安全的方式交换数字现金。
比特币的逻辑很简单。用户创建交易来发送和接收硬币(数字现金),用户自己验证并将交易附加到区块链。通过使向区块链添加虚假交易在计算上变得困难,允许用户验证交易,并激励涉众保持区块链的增长,欺诈行为得以消除。
从技术角度来看,比特币中的每个区块都通过嵌入前一个区块头部的哈希值与前一个区块相连,这种哈希值称为预哈希值(见图2)。预哈希值的特点是它必须以一系列的0开始,随着0的数量增加,连接两个区块变得更加困难。在比特币中,找到正确的预哈希的过程被称为挖矿,它建立了一种与黄金挖矿并行的机制,因为分发正确的预哈希的用户总是会得到奖励。块内事务的散列也被计算并存储在Merkle树中,这保证了块内事务的完整性。其他元数据,即难度、时间戳和nonce,用于比特币的挖掘过程。
由于向区块链添加块的模式是顺序的,因此不适用于需要快速处理大量事务的系统。按顺序放置区块的另一个缺点是,挖掘过程变得非常低效;一个区块被许多人开采,只被一个人添加。因此,基于区块链的系统,如比特币,浪费了不成比例的能源,被许多人认为是一个环境问题。

对于区块链的可伸缩性和效率问题,最近的一个解决方案是将区块链(一个列表)泛化为一个有向无环图(DAG)。在DAG中存储块或事务允许挖掘过程的并行性,假设存在多个节点,新节点可以链接到这些节点,而不需要创建循环。使用DAG结构的流行系统(如IOTA[22])通过消除第三方挖掘器并让事务所有者自己挖掘他们的事务[24],在可伸缩性和效率方面更进一步。因此,与区块链相比,基于dag的系统在性能和可伸缩性方面具有比较优势。然而,在安全性方面,已经表明,对基于dag的系统发起双重开销攻击所需的资源更少,成功的原因是在比特币[21]中拥有整个网络51%的哈希能力,而在IOTA[22]中只拥有34%的哈希能力。此外,当前DAG平台的安全性依赖于中心实体,IOTA[22]中称为coordinator, Byteball[23]中称为witness,这可能会导致关键故障点的出现。

网络层

dlt使用的网络体系结构是点对点(P2P)。这种选择源于去中心化需求(这是DLT的核心特征),以及这样一个事实:去中心化只能通过参与者/对等点共享资源的网络体系结构来实现和维护,而不需要中央实体[25]。尽管P2P网络中的所有参与者都被认为具有相同的服务提供者或请求者的功能,但它们可以根据其支持功能被分为不同的类别,如路由、数据库、钱包和矿工。
在比特币的例子中,每个参与者都负责在P2P网络[26]的节点之间传输和验证交易和区块。不过,其他函数是可选的。例如,完整节点保存分类帐的完整副本,这允许它们自主地验证交易的内容,例如重复消费。轻量级的节点,例如钱包,只存储所有区块的头,这使得当它增长时验证链的一致性成为可能。

共识层

共识是确保每个参与者都能获得正确的账本副本的基本机制。即使所有参与者都是诚实的,并且只有正确的事务被广播和验证,由于网络延迟或故障,两个代理对系统状态的本地视图也可能不同。此外,不同步或对系统状态缺乏一致的风险随着不诚实参与者的数量增加而增加。
时至今日,已有许多共识算法被提出并应用于不同类型的分布式账本系统中。现有的共识算法主要分为三类:基于证明的、基于拜占庭容错的(BFT-based)和基于dag的共识算法。
Proof-based共识。接受正确的交易可以确保节点拥有一致和正确的本地分类帐,但不能保证节点的本地分类帐与网络中其他参与者的分类帐是否相同。为了达成去中心化的协议或共识,可以通过确保网络中的大多数节点将此类交易添加到其本地账本的证明来扩展交易。
在比特币中,协议证明是将当前区块(交易列表)与账本链接起来的计算难题的最快解决方案,因此被称为工作量证明(proof-of-work)。假设节点被编程为接受第一个正确的传入证明,从而使相同类型的未来证明不正确。节点参与这种耗能竞赛的诱因是交易费,如果节点能说服网络中的大多数人接受它的证明,就会得到交易费。
在以太坊中,生成协议证明稍微复杂一些,因为与比特币不同,不是每个节点都可以努力获得正确的证明。为了防止工作证明的竞赛问题,以太坊通过一个概率过程选择一个验证器,该过程偏向于能够向网络提交高保证金(虚拟货币)的节点,因此命名为[27]。这种共识机制吸引了网络中节点的理性行为,也就是说,节点既不愿意冒险因为行为不当而失去自己的存款,也不愿意破坏它们已经拥有特权地位的系统的稳定性。
虽然工作量证明共识需要能源,例如,整个比特币网络消耗的能源超过了许多国家的[29],但股权证明是否可以像工作量证明共识机制一样可靠,或者只是足够可靠,还有待证明。事实上,众所周知,权益证明存在一个理论缺陷,称为无权益问题[30]。分叉发生在两个证明同样有效,网络中的节点无法决定谁是赢家的时候,这种情况会在工作量证明机制中迅速解决,因为矿工在两个账本上耗费的精力是在一个账本上浪费的两倍。因此,矿工们被驱使专注于最长的账本,分叉很快就消除了歧义。在权益证明机制中,验证者原则上不会因为在多个分叉上工作而受到惩罚,这使得理论上有可能有大量永远无法解决的分叉。
PBFT-based共识。在有限规模的网络中,可以通过多方通信协议获取网络中每个节点的状态,从而达成共识。对于给定的交易或区块,所有节点都可以表示同意或不同意将该区块添加到自己的分类账中。然后,像往常一样,遵循多数决定原则来决定是否接受或拒绝该区块。最早将这种直觉形式化的是卡斯特罗和利斯科夫[33],他们引入了实用拜占庭容错(PBFT),以在最多三分之一的网络节点同时出错的情况下实现共识。
各种区块链平台,如R3[36]、Stellar[37]、BigChainDB[38]和ibm支持的Hyperledger[34],都使用基于pbt的共识算法。例如,在超级账本中,每当需要创建一个新的区块时,就会投票选出一个leader来提出这样的任务。leader负责将事务分组到一个块中,验证它的正确性,并将创建的块广播给所有验证者。在接收时,每个验证器检查并执行接收到的块(对于智能合约)。如果正确,验证器就会传播它的协议。如果一个给定的最小数量的验证器同意,例如超过三分之二的验证器,那么一个块最终被添加到一个节点的本地分类账中。

用于决定是否向本地分类账添加块的阈值(例如Δ)是相关的。参考文献[33]证明,如果错误验证器的数量f小于或等于验证器总数的三分之一,基于pbt的共识系统是安全的。这使得Δ = 2f + 1成为Δ的最低值,从而保证系统的安全。例如,第三大加密货币Ripple[35]设置Δ = 5f + 1,以降低复杂性为代价提高可靠性。
DAG-based共识。平台,如Byteball [23], Hashgraph [39], Dagcoin[40]和IOTA[22],以DAG而不是链的形式分发分类帐。为了说明如何在DAG分布式账本上达成共识,我们以IOTA中的混乱[22]为例。混乱中的节点是一个事务,而不是一个块。要发出一个新事务(图1中的黄色框),节点必须通过执行一个轻量级的工作证明来随机批准另外两个未确认的事务(图1中的蓝色框)。通过这种方式,新事务可以直接或间接地验证混乱中的事务子集。随着更多的事务被添加到混乱中,一个早期的事务可以通过许多新事务进行验证。然后,将一个交易的置信度定义为在所有新交易中涉及该交易的新交易数量的百分比。如图1所示,所有绿色交易都以高置信度确认。
由于将交易添加到DAG账本很容易,因此基于DAG的共识很容易被恶意参与者添加和验证他们自己的交易,就像在基于pbt的共识中一样。与区块链不同的是,DAG分类帐允许冗余和不一致的信息共存,而在DAG分类帐的置信值方面,有效的交易应该在最重的分支中找到,这一事实加剧了问题的严重性。这使得用户很难确定他们的事务是否已被验证。当前解决这个问题的方法,是以牺牲去中心化为代价的,由一个可信的验证器(在系统中硬编码)组成,只要它们是正确的,就可以将交易的确认置信度提高到100%。
表2显示了三类共识算法的比较。首先,区块链系统主要采用基于验证和基于bft的共识算法,而基于DAG算法的底层数据结构是分布式DAG。其次,在基于bft的共识中,只有有限的许可验证者才能加入验证网络。因此,基于bft的共识被授权的分布式账本系统所采用,去中心化程度低于其他共识方法。还有一些中央实体,如用于IOTA中所有事务的双重检查的协调器。然而,IOTA基金会解释说,协调员在其成熟阶段将被关闭。此外,基于dag的共识的吞吐量显著高于其他两种类型的共识,因为它允许同时附加多个事务。此外,在基于bft的共识中没有分叉,区块中的新交易一旦被追加到主区块链,就会被确认。
在大多数基于验证共识的无权限账本系统中,交易费用是给参与者的,以激励他们验证交易[28]。由于bft共识的验证者是公司、银行、互联网服务提供商或其他组织,这种激励就变得不必要了。此外,在一些无许可的DAG分类帐系统中没有交易费用,在这些系统中,交易由新的即将到来的交易进行验证,如IOTA和Byteball。
最后,我们注意到还有一些两类或两类以上不同的共识的组合。例如,Casper采用的共识是PoS和BFT[41]的混合,而PoS和BFT都在Mixin网络中使用,这是一个基于dag的平台[42]。

合同层

由Szabo[43]首先提出的智能合约,被定义为包含一组规则并强制自动执行的计算机协议。作为一种去中心化、透明、抗篡改和安全的平台,分布式账本系统自然是智能合约的沃土。由于在底层分布式账本提供的分布式虚拟机上实现,每个智能合约必须是可验证的,并且可以由网络中的每个节点独立自动执行,例如在以太坊[44]中。
如图1所示,每个智能合约都有自己的资产和状态,在分布式账本[44]中具有唯一的地址。它包含了所有可能的状态转移规则和相应的动作。合约可以由交易或来自用户或其他合约的消息触发。合同的执行由预先设定的过渡规则决定,过渡规则将改变合同的状态和资产。
通过在dlt中引入图灵完备语言,任何多项式计算任务都可以通过智能合约[44]来执行。此外,通过使用智能合约来表达业务逻辑,可以在分布式账本上构建许多复杂的应用程序。换句话说,智能合约使得dlt平台不仅对加密货币有用,而且对现实世界的应用也有用。

应用程序层

除了加密货币,应用层(该体系结构中面向用户的部分)可以针对特定场景打包各种去中心化解决方案。它允许第三方开发人员通过内置接口在底层dlt上构建去中心化的应用程序。尽管DLT仍然不成熟,但它显然有潜力为应用程序提供一些特性,比如透明度和去集中化,这些特性在实现[45]之前要么不可行,要么太昂贵。在本节结束时,我们将重点介绍其中的一些特性。
  • 分布式和分散。分布是dlt的一个基本特征。分布式账本是一个自主系统,由所有参与者通过设计良好的共识机制维护,其中不需要中心实体。
  • 防篡改。共识机制确认的新块通过加密散列函数以仅追加的方式添加到分布式账本中。因此,共识机制和哈希函数(对历史块进行哈希处理)都确保了分布式账本中的历史记录几乎不可能被篡改。
  • 透明度。每个参与者都可以保留分布式账本的完整副本,这意味着账本中的所有记录都可以被跟踪。
  • 自动化和可编程性。智能合约为底层分布式账本提供了一个程序化接口,可以自动执行。
  • 伪匿名性。在分布式账本系统中,使用化名即地址来隐藏每个参与者的真实身份。

dlt对物联网的影响

在本节中,我们将探讨分布式账本技术如何在不同方面使物联网受益。

物联网安全和隐私dlt

由于物联网的资源约束和广泛的性质,实现网络系统的标准安全目标,如数据机密性、完整性、认证、访问控制、隐私和信任,成为一项艰巨的挑战[46,47]。由于其固有的加密安全性以及去中心化和不可信的特性,DLT被认为是解决物联网安全挑战的潜在方案。接下来,我们将探讨如何使用dlt来应对物联网中的安全和隐私问题。

数据机密性、完整性和身份验证

物联网使数据能够在事物和用户之间共享,以支持决策。在这样的数据共享环境中,数据机密性、完整性和身份验证是基本的安全需求。保密性确保数据不会泄露给未经授权的一方,完整性(数据在传输或静止时不会被修改),以及身份验证(协议参与者提供正确的凭据)。目前,互联网依赖于公钥基础设施(PKI)来满足这三个安全目标,而物联网正朝着类似的方向发展。
目前存在两种主要的PKI方法:基于证书颁发机构(CA)的PKI和基于信任网络(WoT)的PKI。在基于CA的PKI中,CA充当颁发数字证书的可信第三方,将公钥绑定到用户[48]。基于wot的PKI不需要任何集中的认证机构。相反,如果其他可信用户通过去中心化的信任模型验证给定公钥的签名,那么该签名将是可信的。
虽然基于ca的PKI多年来一直保持着互联网的安全,但它被认为不足以应对物联网网络[50]的普遍性、移动性和异质性。另一方面,基于wot的PKI不能帮助加入系统[48]的新设备之间快速建立信任。在这种背景下,分布式账本技术可以应用于构建一个分布式的、安全的物联网[49]PKI。由于基于dlt的PKI是分布式的,因此不存在单点故障。此外,在分布式账本系统中,信任是通过共识机制建立的,任何参与者都可以随时加入或退出系统,不需要事先的信任。
Pinto等人最近提出了一种基于区块链的PKI。他们使用一个名为Keybase的网络平台提供身份验证服务,该平台基于Pretty Good Privacy技术。每个Keybase用户可能有不同的关联帐户。在验证过程中,当设备a收到未知设备B的请求时,需要查找区块链中与设备B相关的记录。从这些记录中,获取到与设备B关联的用户。链接到用户的公钥可以在Keybase中找到。这样设备A就可以验证该块签名,并决定是否信任设备B。
dlt不仅可以为物联网提供分布式PKI,还可以凭借其固有的不变性(即防篡改)提供额外的完整***。在参考文献[51]中,Liu等人为在以太坊中通过智能合约执行的物联网系统提供了完整***。包含存储在云中的数据散列值的区块链中的记录支持完整性。

访问控制

访问控制是指对资源访问的选择性限制。现有的访问控制机制通常依赖于集中式体系结构,在这种体系结构中,单点故障可能会阻碍整个系统的运行。在pki的情况下,dlt可以通过以分散的方式提供信任[52]来克服单点故障问题。参考文献[53,54]给出了一个实现示例,其中访问控制策略存储在区块链中。也就是说,如何使这些方法适应物联网生态系统仍然是一个开放的问题。
在文献[55,56]中,Ouaddah等人提出了一个基于区块链的访问控制框架(FairAccess)。在他们的框架中,所有访问控制策略都封装在类似比特币的区块链交易中。授权是通过许多事务类型授予的,例如GrantAccess、RequestAccess、DelegateAccess和RevokeAccess。Ouaddah等人引入了授权令牌的交换,而不是加密货币的交换,允许安全交换访问权。然而,由于比特币的吞吐量性能和块大小有限,可扩展性和粒度是该机制的主要问题。此外,似乎很难在资源受限的物联网设备中建立一个轻量级钱包。后续工作[57]建议在一个类似以太坊的区块链中实现他们的框架可能会提高FairAccess系统的可伸缩性,而其他人[62]建议使用各种区块链来处理不同的进程。
以太坊相对于比特币表现出的整体性能提升,使以太坊成为许多基于区块链的专用IoT访问控制实现的平台选择。这意味着访问控制策略被嵌入到以太坊智能合约中。例如在文献[58]中,Zhang等人使用了三种类型的智能合约:访问控制合约包含安全策略,法官合约负责判断非法访问,注册合约用于控制和管理其他合约。Rifi等人[59]在他们的架构中也使用了三种类型的智能合约来保护物联网数据访问,而Ancile[60]认为物联网应用管理健康记录需要更细粒度的职责划分,并建议使用六种智能合约类型。最后,考虑到物联网设备在区块链系统中作为节点的难度,Novo[61]将一组物联网设备连接到区块链中的单个节点,这样可以在一组设备上建立信任,而不是在单个设备上。

隐私

物联网设备/传感器广泛应用于用户敏感隐私数据的采集、传输和处理等领域。例如,智能家居系统可以处理用户的位置数据、日常爱好数据,甚至健康数据。因此,必须仔细考虑物联网中的隐私问题。
dlt,比如比特币,已经通过使用公钥(比特币地址)作为用户的标识符来提供伪匿名。然而,它仍然需要解决区块链系统的沉重计算成本。在这个方向上,Dorry等人引入了一种轻量级的可伸缩的物联网区块链(LSB)[63],可以同时降低计算和带宽成本。在设备集群中,一个具有足够资源的节点(称为Overlay Block Manager)被选出来生成或处理与集群成员相关的事务。作者还提出了一种基于时间的轻量级共识算法,其中每个叠加块管理器在生成新块之前必须等待一个随机时间。与比特币类似,Overlay Block Managers通过使用可变公钥来保证匿名性。
通过用户控制策略,保护系统中用户的隐私。在文献[64]中,Zyskind等人提出了一种基于链下分布式哈希表的隐私增强分布式计算平台(称为Enigma)。与传统的区块链系统相比,通过安全多方计算增强了系统的隐私性。在文献[65]中,通过结合匿名区块链和零知识证明,作者提供了一个基于区块链的架构(名为ChainAnchor),以一种隐私保护的方式部署物联网设备和出售物联网数据。

信任

信任是物联网的另一个重要问题。虽然文献中已有大量的信任管理系统,但满足物联网需求的完全分布式解决方案仍缺乏[47]。不出所料,分布式账本技术正成为解决这一问题的一种有希望的解决方案。
文献[66]通过修改比特币区块的数据结构,提出了一种基于区块链的去中心化传感器网络信任管理解决方案。由于区块链的防篡改特性,可以跟踪网络中每个节点随时间变化的行为。这就形成了一个分布式解决方案,可以在没有第三方的情况下进行可靠的信任评估。
文献[67]建立了一个基于声誉系统的信任区块链,用于收集和评价同伴过去的行为。在文献[68]中,分布式信任管理方案由三层组成:本地层、分片层和全局层。本地层包含一个本地私有分布式账本,其中所有参与者通过同一个接入点访问Internet,接入点连接本地层和碎片层。因此,应该保护接入点不受攻击、故障和过载的影响。分片层负责维护具有授权分布式账本的特定设备子集或用户的访问委托和声誉评分。全局层是一个全局的、公共的分布式账本,其中每个参与者都是具有唯一标识的分片层实体。
在文献[70]中,作者假设物联网设备可以信任其他设备,当且仅当它们处于信任区域(即气泡)时。设备之间的每一次通信都被视为一个事务,必须经过区块链系统的验证。与参考文献[63]类似,单个设备充当每个区域的管理器。这个设备被称为主设备,而其他设备被称为追随者。主服务器发出类似于证书的票据,其中包括区域的id、关注者的身份和公共地址,以及主服务器的签名。然后,追随者可以通过以太坊中的智能合约验证其票证后与其他人进行交流。

用于物联网身份管理的DLT

在物联网中,为每个设备分配一个全球唯一标识符(GUID)是非常重要的,它可以使设备有效、安全地与其他设备连接和通信。物联网(IDoT)是物联网应用的基石。随着物联网的成熟,连接物联网的事物数量将超出当前基于IPv4的识别协议的容量。因此,IPv6被认为是解决这个问题的一个可扩展的潜在解决方案。然而,IPv4和IPv6协议都需要一个中央实体来监督地址[13]的安排。此外,设备的元数据和所有权都可以在从设计、制造、分发、零售、交付、部署和服务到回收的生命周期中更改和更新[71]。此外,传统的集中式身份识别解决方案会损害用户的隐私。物联网设备应优先考虑可靠、安全、动态的识别机制。
分布式账本技术能够以分布式和安全的方式解决这些问题。首先,dlt有足够的寻址容量为物联网中的每个设备提供一个GUID,注意到比特币理论上有2160个地址。此外,不需要集中的权威机构来管理这些地址。此外,由于分布式账本中的记录不能被篡改,它可以被应用于跟踪和监控任何更新或事物的变化,安全有效。
为了防止移动自组网中的Sybil攻击,Bochem等人[72]提出了一种基于比特币网络的身份识别系统。新设备的身份证明是通过向给定地址发送存款创建的。此外,身份验证中的唯一ID是包含存款交易的块的哈希值和该块中存款交易的索引组合的哈希值。因此,两个不受信任的节点在通信前可以通过区块链分别验证彼此的身份证明。
文献[73]在有权限的区块链上构建了一个身份管理系统。设备的组成员关系被认为是一种身份属性。在这种情况下,可以使用Lin等人[74]设计的密码成员身份认证方案来支持组成员身份。

机器对机器事务的DLT

机器对机器(M2M)通信是物联网的基础,它使事物之间无需人工干预就能实现数据共享或协作,以达到相同的目标。随着机器学习在数据分析和决策方面的迅速应用,设备或机器可能会有自己进行交易的能力,在效率和准确性方面甚至可能比人类更好。例如,你的智能家居可以自动将太阳能电池板产生的多余电力以最高的价格出售给电力公司。然而,传统的支付方式无法脱离第三方的介入,存在着潜在的安全和隐私问题。考虑到物联网中大量的机器对机器交易,高交易费用是另一个重要挑战。
作为一种安全的点对点数字货币系统,分布式账本可以构成设备自主进行交易的基础[82]。与传统支付方式相比,DLT在安全性、隐私性、成本、效率和灵活性等方面具有优势[83]。目前这一领域的研究大多集中在如何确保M2M交易过程的安全。参考文献[84]以比特币为基础,实现了一个设备可以自主支付电费的演示。然而,该系统的主要缺点是,与交易价值(通常较小)相比,比特币的交易费用仍然相对较高。在文献[75]中,提出的基于区块链的物联网数据存储系统也支持数据交易。在系统中,买方可以提交请求交易,用于向卖方转账押金。然后卖方可以通过构造一个交易来更新访问控制。这两笔交易都经过区块链确认后,买方获得数据访问权,卖方获得定金;否则,他们都得不到任何东西。与以前的系统一样,块矿工的交易费用在这个系统中结算。我们观察到,在这种背景下,基于dag和基于bft的账本系统具有很少的交易费用,似乎有望用于物联网中的大量微交易。

DLT用于追溯和来源

可追溯性和来源保留了数据随时间演变的记录。这些记录可以用来确定数据的质量,保证对数据的信任,发现错误和异常行为,跟踪设备对数据的操作。这在供应链[76]、智能工厂[77]和医疗保健[78]等应用中很有用,在这些应用中,产品的生命周期涉及到不同的公司和消费者。

然而,大规模的分布式物联网系统很难以安全的方式实现可追溯性和来源。一方面,集中式模型是追溯性和来源的事实上的解决方案,不能容纳这种类型的系统所期望的设备数量。此外,集中式解决方案具有单点故障和物理篡改的风险。另一个挑战是如何处理来自异构网络中的大量设备的快速数据生成。在此场景中,准确、及时地记录工作流信息,并保证所有相关人员的安全性和隐私是越来越受关注的问题。
DLT有可能解决上述问题。首先,dlt的分布式和分散特性可以消除单点故障。其次,智能合约可以准确、自动、及时地收集动态数据。此外,dlt的篡改特性确保了数据安全地、有序地录入分类帐。同时,在共享账本中采用伪匿名和加密技术来保证隐私。DLT如何用于供应链中的追溯和来源将在第4.3节中进一步解释。

总结

对于拥有大量设备和敏感数据的物联网而言,安全和隐私至关重要。新兴的分布式账本技术由于其固有的去中心化、不可信、防篡改、透明和加密安全特性,是应对这些挑战的潜在解决方案。在本节的第一部分中,我们探讨了dlt如何增强物联网的安全和隐私的各个方面。毫无疑问,dlt为安全的物联网生态系统铺平了道路。表3总结了前面讨论的物联网安全和隐私问题的dlt解决方案。物联网安全的其他方面,如可审计性和问责性,可以得到dlt的帮助[75,79 - 81]。重点介绍了dlt在物联网应用中的身份管理、M2M交易、可追溯性和来源方面的作用。表4显示了dlt的哪些特性可以满足物联网的要求。

将物联网与DLT集成的方法可以分为两种。一是从头开始开发自己的物联网分布式账本系统,二是依赖现有的分布式账本平台(主要是以太坊)来适应物联网应用。第一种方法可以为各种需求提供定制的功能。然而,它给系统设计者带来了沉重的负担,而且不能从开放和流行平台通常暴露的审查中受益。第二种方法可以专注于物联网应用的需求,通常通过编码智能合约的方式。在这种情况下,智能合约可以被视为物联网应用在DLT上的接口。

使用DLT的应用场景

在本节中,我们将探讨dlt在特定物联网应用中的一些用例,如智能家居、智能交通、供应链管理、医疗保健和智能电网。

使用dlt的智能家居

“智能家居”是一种集成了各种智能家电的住宅,旨在提供一个舒适、安全的场所[85]。智能家居系统处理的信息的敏感性导致架构高度关注安全和隐私。例如,Dorri等人[86-88]提出了一种轻量级的基于区块链的智能家居架构,包括智能家居、一个覆盖网络和一个用于存储的云中心。在提出的架构中,每个智能家居包含一个本地区块链、一个本地存储和所有位于家中的智能设备。然而,与比特币不同的是,每个智能家庭的区块链完全由房主控制。此外,为了减少相关的开销,区块链中的挖掘过程不再基于PoW或其他谜题。也就是说,一旦接收到一个事务,它将被视为一个真正的事务,并自动放入一个块中。在这种情况下,将引入一种称为home miner的特殊设备来执行这种挖掘过程。与比特币类似,智能家庭的所有交易都被分组在一起,由家庭矿工以区块为单位进行挖掘。此外,还使用主矿工通过创建或删除设备的相应账本来注册和注销设备。覆盖网络是一个像比特币一样维护公共区块链的P2P网络。负责管理智能家居数据访问的公钥。它连接本地所有的智能家庭和其他设备,如智能手机或个人电脑。这里,使用分布式信任机制来验证块并消除工作量证明(PoW)的开销。在云存储中,一个用户的数据存储在一个相同的块中。然后可以使用存储数据的哈希值进行身份验证和识别。该体系结构的安全性分析表明,大多数安全性需求都可以实现[87]。性能评估表明,引入区块链技术带来的开销是可以接受的,因为它提供了显著的安全性和隐私性。
Aung等人[89]提出了一种基于私有以太坊的智能家居实现。这个架构可以看作是Dorri等人提出的架构中的智能家居部分。在这里,主矿工还用于维护私有区块链。不同的是,访问控制策略是建立在以太坊私有区块链的智能合约上的。但是,安全性分析和性能评估都是不可用的。
在文献[90]中,作者提出了一种基于超图的智能家居分布式账本系统。在超图中,一个超边可以连接两个顶点,因此,在系统中,每个超边中的顶点共享相同的子链。此外,由于每个节点可能同时属于多个超边,因此每个节点可能同步包含多个子链,而不是整个分类帐。因此,基于超图的分类帐可以减少存储消耗,但增加了共识的复杂性,这涉及到如何同步维护许多子链。

使用dlt的智能交通

智能交通是一个概念,旨在提供一个安全高效的运输系统,包括车辆和路边基础设施单位。该系统旨在提供多种服务,包括寻找停车位、适应性交通控制、交通事故报告和汽车保险索赔。智能交通系统的经典解都是集中式的,存在单点故障问题[91]。随着dlt具有分布式、去中心化等特点,dlt与物联网在智能交通系统中的集成应用开始受到越来越多的关注。
例如,在文献[91]中,作者提出了一种基于轻量级可伸缩区块链(LSB)[63]的智能传输安全架构,该架构在第3.1.3节中进行了讨论。由于车辆的资源和机动性有限,引入了叠加块管理器(OBM)来维护区块链。覆盖块管理器是一个固定的网络基础设施,具有足够的资源和持续的电力供应。当车辆穿梭于城市之间时,它会自动选择最近的OBM通过无线车辆接口进行连接。通过这种方式,车辆可以通过obm向区块链发送事务,从而安全地与其他车辆或备份存储进行通信。作者还给出了该架构的一些潜在应用,包括保险、汽车共享服务和软件更新。由于密钥管理方案在智能交通安全中发挥着重要作用,文献[92]提出了一种基于区块链的密钥管理框架。该框架采用区块链网络代替集中的安全管理器,用于管理车辆的通信密钥。结果表明,使用区块链可以提高密钥管理的效率和安全性。
SpeedyChain[93]是一个基于区块链的框架,用于在智能城市场景中的车辆、路边基础设施单元(RSIs)和其他参与者之间共享可信和隐私保护的数据。在该模型中,车辆可以通过自己的签名将事务提交给最近的RSI,而RSI拥有足够的资源来维护区块链。在初始阶段,基于RSI的位置验证将车辆注册到系统中。车辆使用带有过期时间的公钥进行身份验证。之后,车辆可以将收集到的数据直接发送到最近的RSI,也可以通过其他车辆上传。在接收到交易时,RSI将验证交易。如果成功,那么RSI将把它附加到一个块上,并通过网络广播该块。
信任和隐私是智能交通系统中重要的开放性问题。例如,如何以匿名的方式报告实时可靠的流量信息仍然是一个挑战。我们观察到,在这种情况下,DLT可以在匿名车辆和涉及的其他设备之间提供完全分散的信任[95]。在文献[96]中,区块链框架具有本地动态区块链(local dynamic区块链,LDB)和主区块链,用于智能车辆中可信通信的安全,并满足实时交通的效率要求,为该框架定制了区块链分支的概念。在文献[97,98]中,作者提出了车辆网络中基于区块链的隐私保护信任模型,命名为基于区块链的匿名声誉系统(BARS)。BARS由三个区块链组成:消息区块链用于存储车辆发送的消息;证书区块链负责对颁发的证书进行记录;第三个区块链包含所有被撤销的认证。在此基础上,提出了一种基于可在区块链上跟踪的车辆行为的声誉评价机制。诚实和积极的行为会得到奖励,而不当的行为会受到惩罚。同样,文献[99]基于PoW区块链提供了一个信誉系统,以保证车辆网络中传输数据的可信性。文献[94]提出了一种基于bft的保护车辆隐私的区块链架构。区块链技术用于跟踪恶意节点,并激励用户匿名共享实时流量信息。
其他可以受益于分布式账本技术的交通领域包括自动支付和汽车保险。智能合约提供了一种高效、安全、低成本的支付机制,可用于自动支付停车费、加油费、高速公路通行费等。文献[100-105]主要研究基于dlt的电动汽车充电过程中安全支付和交互的能源模型。此外,由于分布式账本技术具有可追溯性和防篡改性,它还可以用于汽车保险[106-109]。通过智能合约,保险索赔可以自动生成,并将其发送到分布式账本,以及车辆收集的其他信息。然后,根据该车辆的历史记录和其他证人车辆提交的区块链的证据,可以确认该索赔。

使用dlt的供应链

如今,物联网技术也被应用于供应链。物联网、GPS芯片、传感器、射频识别技术,可对包裹、材料、集装箱等进行跟踪,解决从源头实时监控产品的问题。物联网中的身份认证问题尤为重要。区块链的优点之一是它为身份管理提供了一种实用的解决方案[110]。使用区块链技术,可以准确地记录供应链中执行者的行为以及他们发生的时间和地点。供应链是指产品从制造商到最终客户的过程中所涉及的参与者、活动和动态信息系统。在现阶段,这些系统由第三方集中维护,可能会出现大量的安全和隐私问题,以及信任危机。在这种背景下,分布式账本技术是一种很有前景的供应链应用解决方案,它在生产和分销过程中提供了防篡改和透明的信息,可以得到从制造商、分销商、运输商、零售商、交付者到客户等所有相关方的信任[111]。
在文献[112]中,Lu和Xu提出了一个私有的区块链平台,名为OriginChain,以确保供应链的防篡改可追溯性。由于块的存储空间有限,可追溯性证书存储在一个集中的数据库中,而它与少量关键或必要数据的哈希值存储在OriginChain中。此外,作为私有平台,OriginChain还提供链上权限管理,供授权用户访问。部署了一些智能合约,通过区块链获取和验证可追溯性数据。此外,为了保护隐私,由于区块链的透明性,敏感数据存储在集中式数据库中。
在文献[113]中,作者提出了CoC,一个基于两个分布式账本的供应管理系统,以克服过渡性分布式账本系统的性能限制。CoC由两个分类账组成:一个预订分类账和一个数据分类账。采用两步块构造方法将新的块添加到分类账中。为了维护公共分布式账本,CoC引入了一种名为helper的参与者。首先,接收用户预订请求的助手根据PoW挖掘新的预订块。然后,如果验证了用户的预约块,就可以直接创建包含用户记录的数据块。由于第二步不需要工作量证明,系统的吞吐量可以显著提高。
文献[114]提出的供应链系统由一个公共分类帐和一套私人分类帐组成。每个私有事件的数据存储在相应的私有分类帐中,而其散列则包含在公共分类帐中。同样,文献[115]中的农业供应链系统是基于双链的:用户信息链和交易链。
可追溯性和来源对食品供应链也非常重要。分布式账本的出现为这些问题提供了一个潜在的解决方案[116]。例如,Mao等[117]提出了一种基于区块链的信用评估体系,以确保食品安全。采用超级账本作为底层平台,利用深度学习技术进行信用评估。
SKUchain[118]是一家应用区块链技术开发供应链解决方案的商标公司。公司致力于改善供应链贸易融资,并将其电子化。SKUchain采用智能合约技术,其系统自动记录交易,并自动处理符合条件的订单和合约。这提高了交易和融资的效率。SKUchain开发了一系列平台和0工具来解决供应链中的痛点。ec3平台是为整个供应链设计的管理平台,使用了最新的区块链技术。这些技术包括popcode、跟踪产品及其组件数据。知识协作技术为区块链用户提供了加密访问控制。目前,SKUchain已与澳大利亚联邦银行合作,实现区块链的跨境贸易。他们把一批棉花从美国运到中国。在此过程中,实现了物联网与区块链的结合应用。

医疗用dlt

医疗保健系统负责管理大量的电子健康记录(ehr),其中包含来自患者的高度敏感和私人数据。因此,安全和隐私是关键。医疗保健行业目前以集中的方式处理这个问题,其中ehr由医疗保健提供商维护。这将与现代医疗保健中以病人为中心的意识形态相矛盾。在这种情况下,分布式账本技术被认为是一种对整个医疗保健系统具有潜在革命性的技术[119],它可以安全地分发健康记录管理。
在dlt的帮助下,电子病历可以安全地存储和共享在配送网络中。例如,在文献[120]中,作者提出了一种基于区块链的医疗系统,即MeDShare,在多方之间提供安全共享。MeDShare由4层组成:用户层、DQ (Data Query)层、DSP (Data Structuring and Provenance)层和DB (Database)层。用户的类型由用户层定义。DQ层包含查询系统和触发组件,用于与智能合约交互。DSP层主要用于维护区块链网络。DSP层采用基于智能合约的访问控制,实现数据共享的安全。DB层包含一组现有的数据库。
在文献[121]中,引入了MedBlock来实现EMR的安全共享。在MedBlock中,emr存储在云数据库中,只有授权用户才能访问。这个区块链系统的参与者被分为四种类型:客户、背书者、定购者和提交者。其中,排序器用于实现改进的拜占庭容错一致性算法。此外,使用访问控制协议,以确保敏感数据只能由授权用户访问。
文献[122]结合两种类型的区块链构建了一个EHR系统:私有的区块链用于存储患者的emr,联盟的区块链负责维护emr的索引。作者还提供了一种新的共识机制,称为一致性证明,它需要对区块链中超过三分之二的节点进行验证。
dlt还可以聚合来自患者可穿戴设备和不同医疗系统的异构数据[123]。例如,在文献[124]中,区块链被用于在普适的社交网络中保护和共享健康数据。此外,文献[125]提出了一种基于智能合约的私有区块链来保护和管理远程医疗设备。
文献[126]提供了一种基于区块链的健康数据共享解决方案。在他们提出的框架中,数据由用户的个人可穿戴设备收集,然后存储在一个集中的云数据库中。同时,每个记录的散列都存储在一个区块链中。此外,区块链还充当云的访问控制接口,确保了数据访问的可问责性和可跟踪性。
文献[127]中的工作也利用了区块链来保护患者的实时监测。作者还提出了一种混合矿机选择方法来解决PoW的计算问题。同样,为了满足基于区块链的医疗系统的安全性和私密性需求,文献[128]和文献[129]也解决了基本的签名和认证问题。

使用dlt的智能电网

电力是我们日常生活和商业活动的关键,显然,智能电网的安全性和可用性是至关重要的。将dlt集成到智能电网中可以确保电网和能源交换的安全。例如,在文献[130]中,作者提出了一种基于区块链的监控系统(GridMonitoring),以提供智能电网中事件的透明度和来源。GridMonitoring包含一个独立的区块链,带有附加的侧链。独占区块链中的每个父块可能包含一组有序的边块,这些边块安全地维护一个连续日志集群。
参考文献[131]考虑到智能电网交易中潜在的隐私泄露问题,将区块链应用到智能电网中,基于零知识证明为用户提供保护隐私的认证。在挖掘过程中,根据计算的准确性选出挖掘器。更具体地说,每个节点可以计算从其他匿名用户接收到的数据的平均耗电量。然后,其中一个耗电量最接近平均值的人负责产生一个新的区块。但是由于网络的传播延迟,用户可能会收集不同用户的数据,从而产生不同的平均值。在这种情况下,网络中可能同时存在几个不同的新块,这将导致分叉。
在文献[133]中,作者提出了一个基于比特币的去中心化能源交易系统,名为PriWatt。PriWatt应用了基于比特币脚本的多重签名。此外,PriWatt严格要求消息地址只能使用一次,以保证用户的匿名性。因此,PriWatt提供了内置代币的安全、匿名的能源交易交易。文献[134]的工作旨在利用联盟区块链来确保智能电网交易的安全。该联盟区块链基于改进的实用拜占庭容错(PBFT)共识算法,并提供了固有的能量币。进一步,在Stackelberg博弈的基础上,提出了交易区块链的最优定价策略。同样,参考文献[132]中的工作基于类似比特币的公共区块链和游戏平台的结合,处理了智能电网中的隐私问题。然而,作者并没有关注区块链的详细架构。

总结

随着物联网、大数据、通信网络、智能制造等现代信息技术的成熟,满足智能家居、交通、医疗等智能生活方方面面需求的安全、集成的智慧城市体系日益受到关注。安全、隐私和效率一直是物联网智能城市关注的中心。新兴的分布式账本技术为传统集中式方法面临的这些问题提供了解决方案。例如,在文献[135]中,作者提出了一个基于dlt的智慧城市安全框架。该框架采用分布式账本技术,保证通信层数据的安全性和私密性。参考文献[135]的智慧城市框架,文献[136]提出了一个基于区块链的CitySense系统,专注于城市环境数据的管理。文献[137]提出了一种用于智慧城市的分布式区块链网络,该网络采用可见光通信技术Li-Fi作为通信介质。为了满足信任和审计的需求,文献[138]提出了Stack4Things[139]的基于智能合约的委托授权模型,Stack4Things[139]是一个用于智能城市中传感数据资源控制和管理的物联网云框架。表5和6列出了一组针对物联网智能城市不同方面的现有分布式解决方案。
如图3所示,分布式账本系统被视为智能城市不同组件集成的底层网络基础设施。由于物联网中大多数设备(传感器、移动设备、车辆等)的计算和存储能力有限,一些选定的设备(如文献[63]中的块管理器和文献[93]中的路边基础设施单位)应该负责本地设备的管理和与分布式账本网络的通信。由于物联网将产生大量的数据,而目前的分布式账本系统存储能力有限,可能会引入云存储来存储大量的数据,例如智能家居系统[86-88]和医疗保健系统[121]。在这种情况下,分布式账本系统为智能城市的各个方面的数据交换和支付提供了一个安全、隐私保护的平台,而没有一个集中的控制中介。

物联网分布式账本平台

在本节中,我们将报告一系列现有的基于物联网的分布式账本技术平台。由于各种新的分布式账本平台不断涌现,我们列出了一些满足特定物联网领域需求的典型平台(见图4)。
比特币[21]是世界上第一个也是最有价值的加密货币。作为第一个区块链系统,比特币提供了一种高效、廉价、安全的支付系统。比特币通过使用一种低级编程语言Bitcoin Script来支持智能合约。比特币脚本是一种基于堆栈的语言,具有一系列有用的指令,如哈希计算和签名验证。比特币脚本有意不使用图灵完整的循环,因为交易中的无限循环会耗尽整个网络的哈希计算能力。此外,比特币脚本不是用户友好的,被认为有些深奥。此外,比特币的交易确认平均需要10分钟,这对于实时通信来说是不可接受的。因此,它主要用作支付系统,难以扩展到其他物联网应用。然而,作为分布式账本系统的先驱,比特币中使用的数据结构和共识算法为许多基于dlt的物联网解决方案提供了参考,如参考文献[63,86-88,91,133]。

以太坊[44]是第一个图灵完备的去中心化智能合约系统。通过内置编程语言(Solidity),以太坊作为各种去中心化应用程序的虚拟机(EVM),包括但不限于加密货币。solid是一种类似c#的面向对象语言,比比特币脚本更友好。比特币的交易费用取决于交易规模,而在以太坊,它取决于交易或合同应该花费多少工作。在以太坊中,交易费用被定义为天然气成本,其中天然气是一个单位,用于衡量执行操作所需的计算工作量。对于提交给网络的每一份合同,必须预付交易费用。然后,如果实际交易费用超过预付价值,合同就会被终止,这就脱离了无尽的循环。因此,与比特币相比,以太坊为智能合约提供了更好的确定性和终止性平台。得益于成熟的开发社区,以太坊包含最多的去中心化应用程序(Dapps)(超过2000个)[150]。通过使用智能合约,许多物联网应用也可以在以太坊上实现(见表3、5和6)。
Hyperledger fabric[151]是开源区块链框架家族Hyperledger[34]的主要成员,由Linux基金会托管。它是一个基于pbft的许可区块链平台,没有内置加密货币。智能合约(即Hyperledger结构中的chaincode)可以用Go或node.js编写。为了避免无休止的循环,一个预设的计时器被引入到链代码中,以能够终止。用户是有权限的区块链用户,在超级账本中进行操作前,需要对其进行授权。超级账本织物是专门为商业应用而制定的。结合IBM Watson物联网平台[152],Hyperledger架构可以为物联网应用提供企业级解决方案,如物联网设备和数据的管理、供应链和智能车辆。目前,Hyperledger家族中的其他分布式分类帐包括Burrow[153]、Indy[154]、Iroha[155]和Sawtooth[156]。其中,Burrow用于支持以太坊的EVM, Indy用于去中心化身份的信任隐私,Iroha专注于移动应用,Sawtooth是基于流逝时间的证明框架,用于类资产所有权记录。超级账本还为特定领域提供了框架。例如,超级账本网格[157]是一个专注于供应链的特定框架。
IOTA[22]是最早的分布式账本平台之一,主要专注于物联网中的M2M微支付。与比特币和以太坊不同,IOTA的底层数据结构是一个有向无环图(tangle),而不是区块链。而不是用户产生的交易被比特币中的矿工打包成块,IOTA中的每个用户都必须充当矿工。更具体地说,每一笔新交易必须随机批准两笔之前未经确认的交易。因此,IOTA中的网络吞吐量随提交到网络的事务数量线性增长。值得注意的是,它没有交易费用和交易吞吐量限制,适合于物联网中的M2M微支付。然而,目前IOTA的实时贯穿率只有每秒7个事务[158],因为IOTA的用户仍然很少。除了提供小额支付服务,IOTA还旨在使通过混乱传输的大量物联网数据具有安全性和私密性。
物联网链[159]旨在提供一种轻量级系统,用于解决物联网设备的安全性和可扩展性问题。它将PBFT共识算法与底层的iota类有向无环图相结合,使平台快速发展。物联网链上的交易有两种:零价值交易和价值交易。零价值交易不收取交易费,零价值交易指的是设备之间的互联。然而,与比特币类似,价值交易需要支付交易费用,这是基于交易的规模。
IoTeX[160]是一个用于M2M交易的区块链中的区块链平台,特别关注隐私问题。区块链中的区块链架构由一个公共根链和一些子链组成。子链可以是公共的或私有的区块链,用于管理一组连接的物联网设备。根链用于管理其他独立的子链,也支持非图灵完全语言。子链可以通过向根链生成跨区块链交易来相互通信。由于根链中区块的大小有限,由子链提交的跨区块链交易需要收取交易费用。rootchain使用的共识算法是Roll-DPoS,它是PBFT、委托证明(delegated proof-of-stake, DPoS)[161]和可验证的随机函数[162]的集成。它被设计成每3秒就向根链添加一个新的块。
HDAC[163]是一个专注于M2M交易和物联网合同服务的多链平台。HDAC中采用的共识算法是对工作量证明的一种节能修改,即基于块窗机制的共识算法ePoW。在给定的时间段内(即块窗口),每个节点只能成功挖掘一次。此外,块窗口可以动态改变,这取决于网络节点、挖掘块和未挖掘块的数量。总而言之,利用更加公平的机制来替代矿业中的贪婪计算竞争,可以减少巨大的能源浪费。HDAC中的物联网合约是专门用于用户与设备或设备与设备之间交互的智能合约。考虑到许多物联网设备是用C语言开发的,物联网合同脚本的语法与C语言类似。
Streamr[164]是一个基于以太坊的开源链下网络,用于实时数据交易。它提供了一个全球数据市场,任何人都可以使用其内置令牌(DATAcoins)出售或购买数据。通过内置的数据驱动智能合约,联网设备还可以自动出售自己的数据,并实时购买自己想要的数据。每个数据片段被合并到一个事件中,包括它的时间戳、起源、内容类型、加密类型和该事件的其他元数据。事件通过发布/订阅机制在P2P网络(Streamr网络)上传输,并可以存储在去中心化网络中。由于整个过程与P2P网络中的节点数量成比例,因此据说Streamr每秒可以处理超过数百万个事件。由于共识是基于底层的以太坊,所以不是Streamr而是以太坊中的矿工需要交易费用。
Atonomi[165]旨在通过提供可信的不可变身份管理服务,建立一个可信和安全的物联网生态系统。Atonomi网络建立在底层以太坊框架上。Atonomi为原始设备制造商提供了一套软件开发工具包,通过嵌入注册和声誉服务来建立信任机制。然后,在执行注册智能合约时,通过注册智能合约激活设备的注册和声誉服务。然后,可以通过智能合约对设备的整个生命周期进行跟踪和审计。
Ambrosus[166]是一个分布式物联网平台,用于同步、共享和保护供应链中的信息。Ambrosus是一个基于以太坊的分布式网络,其中使用智能合约来确保供应链数据的透明性和不可变性。Ambrosus网络支持各种物联网设备和传感器,以跟踪整个供应链中的货物。所有收集到的传送到Ambrosus的物品的数据必须被格式化并绑定到一个琥珀标记。该物品的琥珀平衡可以随着旅行而分裂或合并,这就形成了该物品的整个历史。此外,底层的星际文件系统(IPFS)用于以透明和不可更改的方式存储收集的大量数据。
OriginTrail[167]是另一个基于区块链的供应链数据共享平台。Origin Trail是一个去中心化的网络,由三层组成:区块链层、数据层和网络层。目前OriginTrail的测试版本使用以太坊作为底层的区块链平台。OriginTrail主网中所有记录的哈希值都存储在底层的区块链平台中,以确保数据的完整性。数据层采用去中心化的图形数据库存储格式化的供应链数据。网络层负责维护数据的可访问性。
Grid+[168]是针对能源市场的以太坊区块链解决方案。它依赖于一个智能能源代理,用于实时支付电费。所有的代理必须通过Grid+的注册智能合约注册一个序列号和一个以太坊地址。然后,代理可以通过Grid+系统自动购买能量。智能代理可以管理家中的物联网设备。通过内置的轻量级以太坊钱包,可以使用智能代理代表其他设备生成交易。

电力账本是基于智能合约的能源交易平台。它由两个区块链层组成:公共区块链和联盟区块链。公共的区块链建立在以太坊的智能合约上,而财团区块链则建立在私有链上,称为EcoChain[170]。两种类型的令牌分别遵循以太坊的ERC20标准在两个区块链上实现。应用层,即FuseBox,旨在通过利用这些代币提供一种不可信的低成本能源交易。
Doc.ai[171]主要旨在提供医学研究的洞见,融合区块链技术和人工智能。它利用以太坊作为底层的区块链框架,该框架是公开的,任何人都可以以匿名和加密的方式贡献他/她的健康数据。然后用收集到的数据训练神经网络模型,这可以为患者提供定制的治疗,并支持医学研究的新结果。
表7对审查过的平台进行了综合比较。可以看到,目前大多数DLT-IoT应用都是公共账本,并基于流行的智能合约平台-以太坊。一方面,以太坊是一个开放的公共区块链,任何人都可以自由加入。但它提供了一个成熟的智能合约框架,方便与其他链上或链下平台的交互。此外,以太坊还提出了在以太坊生态系统内实施新代币的ERC-20标准,成为新众筹公司首次代币发行(ICO)的首选。

公开问题和挑战

将dlt应用于物联网存在一系列悬而未决的问题和挑战。
  • dlt的安全和隐私。虽然dlt旨在解决物联网交易和跟踪中的安全和隐私问题,但dlt本身的安全和隐私需要维护。比特币、以太坊和dlt一般来说不是不可破解的公共区块链可以公开数据,以便在某些系统中,私有数据被存储在链下或区块的安全部分。在分布式系统中存在数百万个账本副本的想法在理论上可能会让人感到不舒服,因为加密技术使这些数据不被篡改,且对未经授权的用户不可读。此外,将(特别是图灵完备)程序作为智能合约执行可能是危险的。为了提高智能合约的可信性和安全性,需要测试工具来检测智能合约中的安全漏洞,这方面的工作正在兴起[140]。dlt使用的增加越多,就意味着更需要确保dlt的使用。多个DLT的概念,每个DLT用于不同的目的,或碎片化,可能是有用的,因为当一个DLT受损时,可能会隔离对其他DLT的影响。
  • dlt与物理系统的接口。dlt存在于网络世界,而物联网设备和执行器则存在于实体工作中。虽然现实世界中的事件可以被感知到,从而触发账本的更新或智能合约的执行,但现实世界和网络世界之间的差距仍然存在;我们希望确保没有利用这个缺口,并且账本中记录的事件确实与真实事件相对应。电子标签技术,如防篡改RFID,可以使用,但有必要实际标记物理世界的物品(例如,从物体到鱼[172]),并确保标记不影响被标记的物品。Veracity Protocol[173]旨在通过计算机视觉检测提取物品的独特材料特征来对物品进行“指纹识别”,例如用于检测假币。IBM的Crypto Anchor Verifier[174]扫描光学特性,通过光学模式唯一识别物理物品,适用于钻石、葡萄酒和其他物质。除了识别物理项目外,还需要识别实际发生的事件,这些事件被记录在区块链防事件技术中。如何确保不利用物理世界和网络世界之间的这一差距仍然是一个挑战(可能针对特定应用),而识别物理物品的成本效益技术可能取决于物理物品本身的性质和形式。
  • 扩展系统需求和可扩展性。随着dlt规模的单调增长,其持续运营的存储、能源和相关成本将增加,这将影响吞吐量和性能。为了减少比特币区块时间,最近的工作已经开始关注子链[149]。虽然可以开发共识算法来减少验证的时间(例如权益证明和预先选择验证器而不是工作证明),但有必要考虑这样的系统需求,并在未来的任何DLT解决方案部署中进行预测。事实上,可以对dlt的性能问题进行进一步的研究。
  • Multi-chain世界。从我们上面的分析可以看出,DLT平台的范围很广,而且还会出现新的平台,有些平台会针对特定的用例进行定制。此外,一些dlt将是公共的,一些私有的,一些混合的(私有和公共的),以及一些基于联盟的[175]。一个涉及医疗记录、支付、产品交付和家庭环境知识的复杂工作流可能涉及多个DLT系统,每个系统管理工作流中的特定任务。因此,出现了多DLT操作和系统及其互操作性的情况,从加密货币从一种货币转换到另一种货币,到一个DLT的数据如何被另一个DLT使用。
  • 区块链标准的工作正在进行中,例如,ISO/TC 307[176]和IEEE支持的物联网、农业、电力基础设施和自动驾驶汽车中的区块链标准活动[177]。然而,问题不仅仅是标准,因为dlt可以跨应用领域和行业,因此很难达成标准。另一个角度,也许是一个潜在的解决方案是区块链的市场,不同的区块链争夺用户,用户可能会在多个区块链上记录交易,并在他们的应用程序中使用多个区块链服务。此外,为了使dlt有效,它们必须以规模存在;纠缠的大型链需要研究交叉关联链和保持链间的一致性,例如,哈希通常在区块链的块级别上进行,但也可以在子链级别上进行。最近提出的Blocknet协议[178]旨在为不同区块链上的节点提供一种通信手段,使链间或多链应用成为可能。用户还需要方便的多链的接口。
  • 物联网、边缘计算、雾计算和dlt。对于物联网设备来说,使用边缘计算和雾计算资源,而不仅仅是集中的云资源,已经得到了很好的论证。随着这种云资源的去中心化,如移动云或云模型[144],需要一种机制来实现去中心化支付,并在开放的对等系统中加强信任;例如,当一个设备需要另一个设备的资源时,面临着是否足够信任另一个设备,以便在工作完成前先付款的问题,而另一个设备则面临着先完成工作后付款还是坚持先付款的困境。dlt被提议作为一种解决方案,供同行在工作完成后进行安全支付(通过智能合约)[147]。事实上,dlt可以用来记录通过代币经济完成的工作的奖励,例如,为他人执行计算任务的积分。然而,这种点对点协作的基于dlt的信任还有待大规模验证。
  • 量子计算。量子计算的发展提出了许多关于区块链技术的安全问题,这些技术依赖于安全加密协议和资源密集型挖掘。例如,文献[142]中的工作表明,到2027年,量子计算机可以用来打破比特币使用的椭圆曲线签名方案,如果能够开发出具有足够量子比特的量子计算机(乐观地估计在10年时间内),量子计算机可以快速解决区块链工作量证明任务,从而允许人们控制区块链。文献[141]中的工作也指出了量子计算如何挑战工作量证明方案。
对于后量子安全性,基于晶格的密码方案被认为是一种很有前途的方法[146]。这种方案在物联网设备中实现能源效率和计算效率方面存在挑战,这些挑战正在解决,例如,使用参考文献[143]中开发的芯片和参考文献[145]中关于基于晶格的密码学中关键封装机制的FPGA实现。此外,参考文献[148]中的一项概念性提案使用及时的量子纠缠来提供篡改防范,基本上采用了量子网络的思想对区块链;虽然有人认为该方案的所有子组件都已实验实现,但该方案的真正实现仍然存在。因此,量子计算可能对区块链安全构成威胁,但也可能是产生一类新的量子区块链的解决方案。

结论

本文概述了dlt及其在物联网中的应用。我们还概述了在它们的使用和应用中需要解决的一系列问题,从经济有效地连接物理和网络世界,到为后量子物联网世界做准备。