第一章 简介... 1
第二章 区块链... 4
2.1 挑战性... 6
2.1.1 存储容量和可扩展性... 6
2.1.2 安全性:弱点和威胁... 7
2.1.3 匿名和数据隐私... 9
2.1.4 智能合约... 11
2.1.5 法律问题... 12
2.1.6 共识... 14
第三章 物联网与区块链整合... 17
3.1 区块链–物联网集成中的挑战... 22
3.1.1 存储容量和可扩展性... 22
3.1.2 安全... 23
3.1.3 匿名和数据隐私... 24
3.1.4 智能合约... 25
3.1.5 法律问题... 27
3.1.6 共识... 27
第四章 平台和应用... 28
4.1 物联网的区块链平台... 28
4.1.1 评价... 31
4.2 4区块链应用... 35
4.2.1 物联网–区块链应用... 37
第五章 结论和今后的工作... 41
第六章 致谢... 41
第七章 参考文献... 42
突出
•解决物联网与区块链集成的挑战。
•分析区块链对物联网的潜在利益。
•用于开发物联网解决方案的区块链物联网应用程序和平台。
•该集成的可能拓扑。
•物联网设备中区块链节点的评估。
摘要
在物联网(IoT)愿景中,传统设备变得智能且自治。由于技术的进步,这一愿景正在变为现实,但是仍然存在需要解决的挑战,特别是在安全领域,例如数据可靠性。考虑到未来几年物联网的预计发展,有必要对这种巨大的传入信息源充满信心。区块链已经成为一种关键技术,它将改变我们共享信息的方式。无需权威机构即可在分布式环境中建立信任是一项技术进步,它有可能改变许多行业,其中包括物联网。自从IoT提出以来,大数据和云计算等颠覆性技术就已经利用它来克服其局限性,我们认为区块链将是下一个。本文专注于这种关系,调查区块链IoT应用程序中的挑战,并调查最相关的工作以分析区块链如何潜在地改善IoT。
关键词
物联网、区块链、智能合约、信任
小型化、电子和无线通信技术的快速发展为我们的社会带来了前所未有的进步。这导致在许多领域增加了合适的电子设备的数量,降低了其生产成本,并使范式从现实世界转变为数字世界。因此,使用当前技术更好地了解世界,我们彼此之间以及与环境进行交互的方式已经改变。物联网(IoT)作为一种技术出现了,从无线传感器网络(WSN)到射频识别(RFID),提供了感知,促动和通过Internet进行通信的功能[1]。如今,物联网设备可以是从可穿戴设备到硬件开发平台的电子设备,其可使用的应用范围涵盖了社会的许多领域。物联网在将当前的城市转变为智慧城市,将电网转变为智慧电网以及将房屋转变为智慧家庭方面发挥着核心作用,这仅仅是开始。根据各种研究报告,到2020年,预计已连接设备的数量将达到20到500亿[2],这主要是由于IoT可以放置在现场的设备数量众多。
物联网可视化了一个完全互联的世界,在这里,事物能够交流测量的数据并相互交互。这使现实世界的数字表示成为可能,通过它可以开发各种行业中的许多智能应用程序。其中包括:智能家居,可穿戴设备,智能城市,医疗保健,汽车,环境,智能水,智能电网等。物联网解决方案正在许多领域中部署,以优化生产并数字化行业。物联网应用程序具有非常特殊的特性,它们会生成大量数据,并需要长期连接和供电。这与内存,计算机容量,网络和有限的电源的限制一起带来了许多挑战。
物联网的巨大扩展必须由标准机制和协议来支持,以减少现场中现有的异构性。这种异质性导致垂直孤岛,并减少了物联网的采用。但是,除了物联网中存在的异构性和集成性挑战外,其数据的可信赖性也是要牢记的重要问题。如今,我们尤其信任金融实体和政府的信息,但是我们可以确定金融实体和物联网公司等其他外部实体提供的信息没有受到任何篡改/更改吗?在集中式架构中,这是一个很难回答的问题。不可信实体可以根据自己的兴趣更改信息,因此它们提供的信息可能并不完全可靠。这就需要验证信息从未被修改过。
提供物联网数据可信赖性的一种方法是通过其所有参与者都信任的分布式服务,以确保数据保持不变。如果所有参与者都有数据,并且他们具有验证自第一个定义以来数据未被篡改的方法,则可以实现可信度。此外,拥有保证数据可靠性的系统将使政府能够与公民共享并安全地传输信息。
在法规要求资产在其生命周期中具有详尽的可追溯性的许多领域中,数据不变性成为一项关键挑战。具体而言,欧盟(EU)法规要求食品生产者除了最终目的地以外,还必须追踪和识别用于食品加工的所有原材料。例如,对于一家拥有数千家制造供应商和数百万客户的大型食品公司,信息需要进行数字化处理,并使其处理过程自动化以符合法规要求。就可追溯性而言,严格监管的一个例子是猪肉供应,在许多国家都对其进行监管。在这种情况下,除了追踪用于猪饲料和处理的原材料以及猪肉的最终目的地外,还必须根据法律对动物在工厂之间的运输进行注册。这些场景涉及许多参与者,其中一些参与者仍依赖于非自动化的信息处理方法。就食品污染而言,这一直是世界人口健康的重要问题,而丢失或难以找到的信息则意味着问题的重点位置存在延迟。这也可能导致公众对受污染产品的不信任,并大大减少其需求。根据世界卫生组织(WHO)的估计,全世界每年约有6亿人因食用被污染的食物而患病,其中42万人死于同一原因[3]。因此,信息丢失或无法访问会影响食品安全和客户健康。在这种情况下,物联网具有变革和革新行业和社会,将知识数字化的潜力,因此可以实时查询和控制。该技术可用于改善许多领域的当前流程,例如城市,工业,卫生和交通运输。
尽管物联网可以促进信息本身的数字化,但此类信息的可靠性仍然是关键挑战。从这个意义上讲,作为第一种去中心化加密货币诞生的新技术有潜力为数据可靠性问题提供解决方案:比特币,彻底改变了转账机制。比特币加密货币及其许多即将推出的变体,可以通过数字和不可转让的钱包在全球范围内转让,而无需金融实体和外汇交易。比特币由一个协议支持,该协议详细说明了负责确保信息随时间保持不变的基础架构。该协议称为区块链。它已被应用到许多其他领域,并且在超越加密货币的应用中保证了信息不变性。区块链也彻底改变了信息的可信度。例如,该技术已被政府实体用于投票系统,出租和数据存储等[4]。
在本文中,将分析物联网和区块链当前的挑战及其组合使用的潜在优势。
除了审查可用的区块链平台以应对这些挑战之外,还将重点介绍该领域的颠覆性应用。
该论文的主要贡献是:
1、调查区块链技术,分析其独特功能和开放挑战。
2、识别和分析物联网和区块链集成的不同方式。
3、研究区块链和物联网集成的挑战,潜在利益和开放性问题。
4、研究现有的区块链物联网平台和应用程序。
5、评估和比较IoT设备中不同区块链的性能。
本文的其余部分安排如下。第2节介绍了区块链技术并分析了其主要挑战。在第3节中,介绍了物联网和区块链集成,分析了该集成涉及的挑战。第4节介绍了IoT和IoT区块链应用的区块链平台的最新技术;最后,第5节介绍了我们的结论和未来的工作。
当没有提供验证或审计机制时,尤其是当它们必须处理敏感信息(例如使用XNHB进行的经济JY)时,对信息系统的信任问题将极为复杂。在这种背景下,中本聪(Satoshi Nakamoto)在2008年提出了两个具有巨大影响力的激进概念。其中第一个是比特币,一种虚拟的加密货币,无需任何集中管理机构或金融实体的支持即可保持其价值。相反,代币由分散的P2P参与者网络集体安全地持有,该网络构成了一个可审核和可验证的网络。区块链是第二个概念,它比加密货币本身更受欢迎。
区块链是一种允许一组不可靠的参与者验证交易的机制。它提供了一个分布式,不变,透明,安全和可审核的分类帐。可以公开和全面地咨询区块链,从而允许访问自系统首次交易以来发生的所有交易,并且可以随时由任何实体进行验证和整理。区块链协议在区块链中构造信息,其中每个区块存储在给定时间执行的一组比特币交易。块通过引用前一个块链接在一起,形成一个链。
为了支持和使用区块链,网络对等方必须提供以下功能:路由,存储,钱包服务和挖掘[6]。根据它们提供的功能,不同类型的节点可以成为网络的一部分。表1总结了比特币网络中最常见的节点类型。
路由功能是参与P2P网络所必需的,这包括事务和块传播。存储功能负责在节点中保留链的副本(完整链用于完整节点,而链的一部分仅用于轻节点)。钱包服务提供了安全密钥,可让用户订购交易,即以其比特币进行交易。最后,挖掘功能负责通过解决工作证明来创建新块。执行工作量证明(或挖掘)的节点称为矿工,它们接收新生成的比特币和费用作为奖励。POW工作量证明的概念是在区块链网络中实现不信任共识的关键之一。工作量证明由计算密集型任务组成,这是生成块所必需的。这项工作必须解决起来很复杂,同时一旦完成就可以轻松地进行验证。
表1.比特币节点和功能。
Wallet |
Storage |
Mining |
Routing |
|
x |
x |
x |
x |
Bitcoin core |
x |
x |
Full node |
||
x |
x |
x |
Solo miner |
|
x |
x |
Light wallet |
矿工完成工作量证明后,便在网络中发布新区块,网络的其余部分在将其添加到链之前验证其有效性。由于块的生成是在网络中同时进行的,因此块链可能会临时分叉到不同的分支(由不同的矿工生产)中。通过考虑块的最长分支是将被视为有效的分支来解决此差异。这与块生成过程的密集性一起提供了一种新颖的,分布式的,无信任的共识机制。恶意攻击者修改块并破坏块链在计算上非常昂贵,因为其余的受信任矿工在块生成过程中将超出攻击者的范围,因此,受信任的块分支会使攻击者生成的分支无效。用技术术语来说,为了将可操作块成功添加到链中,有必要比网络的其余部分更快地解决工作量证明,这在计算上太昂贵了-它要求控制至少51%的网络中计算资源。由于修改区块链需要巨大的计算能力,因此实际上不可能破坏其区块。这意味着,即使参与者对比特币的使用并不完全诚实,只要网络中的大多数是由诚实的参与者组成的,就始终可以在网络中达成共识。中本聪提出的解决方案是去中心化系统中不可靠参与者的可靠性方面的一次巨大革命。有关区块链架构的更多详细信息,请参见[[5],[7]]。
区块链还提供了可以实现智能合约概念的技术。一般而言,智能合约是指允许在考虑到一组预定义条件的情况下自动执行/执行合约的计算机协议或程序。例如,智能合约定义了在交换加密货币时发生交易时将执行的应用程序逻辑。在智能合约中,可以定义功能和条件,而不仅仅是交换加密货币,例如使用非货币元素在一定范围内的交易中验证资产,这使其成为将区块链技术扩展到其他领域的理想组件。以太坊[8]是包含智能合约的先驱区块链之一。如今,智能合约已包含在大多数现有的区块链实现中,例如Hyperledger [9],这是一种为公司设计的区块链,允许根据用户的需求(智能合约,服务或其他咨询)部署组件。支持大型公司,例如IBM,JP Morgan,Intel和BBVA。
所有这些都为将区块链技术扩展到需要该技术提供的功能的众多领域做出了贡献:可靠性,不变性和可审计性。事实上,根据普华永道[10],区块链目前是近期最热门的研究主题之一,仅在2016年的前9个月中,初创企业就投入了超过14亿美元。
尽管区块链的关键思想很简单,但其实施却带来了许多挑战。本节介绍其使用带来的主要影响。
存储容量和可扩展性在区块链中受到了强烈质疑。在这项技术中,链条一直在增长,比特币每10分钟每块以1MB的速度增长,并且网络中的节点之间存储着副本。尽管只有完整节点(可以完全验证事务和块的节点)存储完整链,但是存储要求非常重要。随着大小的增长,节点需要越来越多的资源,从而减小了系统的容量规模。另外,链条过大会对性能产生负面影响,例如,它增加了新用户的同步时间。
交易验证是分布式共识协议的关键组成部分,因为预计区块链网络中的节点会验证每个区块的每笔交易。区块中的交易数量和区块之间的时间调节所需的计算能力,这直接影响交易确认时间。因此,共识协议直接影响区块链网络的可扩展性。
考虑到比特币的信任模型及其可扩展性限制,Bitcoin-NG [11]提出了一种新的拜占庭容错区块链协议,该协议改善了比特币的共识延迟。 Litecoin [12]在技术上与比特币相同,但由于减少了块生成时间并减少了工作量证明,因此具有更快的交易确认时间和更高的存储效率,这是基于基于内存密集型密码的密钥派生功能scrypt的。HOST [13]旨在通过更改其链选择规则来提高比特币的可扩展性。脱链解决方案[14]旨在脱链执行事务,在增加带宽的同时增加丢失数据的可能性。另一建议建议减少比特币协议中的传播延迟[15],但它可能会损害网络的安全性。 BigchainDB [16]并没有增加区块链的可扩展性,而是将区块链特征添加到了大数据分布式数据库中。BigchainDB将大数据分布式数据库的高吞吐量和低延迟特性与区块链的不变性和去中心化系统相结合。另一个重要的发展是行星际文件系统(IPFS)[17]。 IPFS是一种旨在存储分散和共享文件的协议,使P2P分布式文件系统能够使Web更安全,更快和更开放。 IPFS旨在在消除重复并跟踪每个文件的版本历史记录的同时提高Web的效率。
比特币协议已被彻底分析[18],并且发现了各种漏洞和安全威胁。
最常见的攻击是51%攻击或多数攻击[19]。
如果区块链参与者能够控制超过51%的采矿能力,则可能发生这种攻击。在这种情况下,他/她可以控制网络中的共识。矿池的蓬勃发展和快速发展(2014年GHash.io4暂时达到比特币采矿能力的51%)增加了发生这种攻击的可能性,进而可能损害比特币的完整性。此外,[20]中的作者讨论了通过贿赂达到多数采矿权的可能性。单独采矿激励或P2P采矿将有助于减轻这一问题。为区块链提出的许多其他共识机制也容易受到多数攻击,尤其是那些将共识集中在有限数量的用户中的机制。
双花攻击是将同一枚硬币花掉两次[21]。在比特币中,只有在存储交易的区块在区块链中具有一定深度(通常为5或6)之后,才应考虑确认交易。这平均需要20至40分钟[22]。确认时间有很大差异,因为它取决于许多因素。在快速付款的情况下,交易者负担不起这种等待。因此,在这些情况下,双花攻击仍然是可能的。
同样,种族攻击也可以在这些情况下起作用。为了进行这种攻击,用户将交易直接发送给商家,商家过快地接受了交易。然后,用户将多个有冲突的交易发送到网络,将付款的硬币转移给自己。第二笔交易更有可能被确认,并且商家被骗。同样,芬尼[23]攻击是更复杂的双花,因为它需要矿工的参与。
众所周知的拒绝服务(DoS),中间人(MitM)或Sybil攻击也可能阻碍网络运行。大多数P2P协议和IoT基础架构都非常依赖通信,因此很容易受到此类攻击。在日食攻击中[24],攻击者可以垄断节点的连接,将其与网络的其余部分隔离开,并更改该节点的网络视图。
区块链网络中的代码更新和优化通常受加密货币社区的一部分支持,旨在改善其基础协议。这些改进在区块链术语中被称为软叉和硬叉。一方面,软分叉提供了软件协议的更新,该协议可以识别与先前模块的向后兼容性。这就要求将大多数矿工升级到新软件。但是,遵循旧规则的大多数节点也可能拒绝升级的功能。另一方面,硬分叉给协议带来了根本性的变化,与以前的块和事务不兼容。因此,所有节点都必须升级到最新更新,并且不再接受具有旧版本的节点。发生硬分叉时,可以划分社区,从而导致网络出现两个不同的分叉。如果硬叉尚未建立足够的共识,例如SegWit2x [25],也可以将其取消。以太坊和经典的以太坊就是这种划分的例子。比特币,比特币现金和比特币黄金。上述硬分叉与原始网络是同时发展的,如今它们正在相互竞争。节点和用户必须决定版本,而fork的连续性将取决于这些决定。因此,分叉,特别是硬分叉,可以将社区划分为两个完全不同的区块链,这可能对区块链用户构成风险。
除了围绕其真实价值的争议之外,XNHB的一个常见问题是硬币损失的问题。如果忘记了钱包钥匙,则没有机制可以使用这些硬币。据估计,丢失了30%的比特币。
最后,量子计算可能被视为对比特币的威胁,因为这些计算机的计算能力可能会破坏数字签名的安全性。此外,技术会随着时间的推移而发展,每天都会发现新的错误和安全漏洞。由于区块链数据是不可变的,因此这些改进和错误可能会危害加密数据的公共区块链。
设计不会在比特币协议中强制执行隐私。比特币的一个关键特征是它的透明性。在区块链中,每笔交易都可以从系统的第一笔交易中进行检查,审核和追溯。的确,这是闻所未闻的新透明水平,无疑有助于建立信任。但是,即使钱包与个人之间没有直接关系,这种透明性也会对隐私产生连锁反应,尽管比特币提供了诸如假名和使用多个钱包的机制,但用户匿名性似乎受到了损害。从这个意义上讲,已经做出了一些努力以在比特币中提供更强大的匿名功能。另一方面,不仅是开放的XNHB,而且许多基于公共区块链技术的应用程序都需要链中更高级别的隐私,特别是那些处理敏感数据的应用程序。
解决比特币匿名问题的流行尝试是Zerocash [26]和Zerocoin [27],它们提出比特币扩展具有完全匿名的交易,隐藏了发送者,接收者和信息本身。ML币[28]使用签名环使交易无法追踪,因此无法轻易将其追溯到任何给定的个人或计算机。
同样,Bitcoin Fog [29]和Bit Laundry提供的交易混合服务或不倒翁可以增加匿名性。这些服务将交易分解为较小的付款,并安排它们对交易进行混淆处理,并收取一定费用。但是,据说这类服务容易被盗。同样,最初在CoinJoin [30]中提出的硬币混合方法有助于匿名化比特币。这个想法是用户同意共同付款,因此不能再假定交易输入来自同一钱包。但是,用户之间所需的先前协商(通常由混合服务器执行)可能缺少所需的匿名性,具体取决于实现方式。后来,这种方法启发了Dark Wallet [31],这是一个浏览器插件,允许完全私人的匿名比特币交易; Dash [32],被称为第一个关注匿名和隐私的加密货币; MixCoin [33],增加了加密责任机制和随机混合费用以提高安全性; CoinShuffle [34]提议对CoinJoin进行修改以提高安全性; CoinSwap [35]提出了一种四项交易机制,该机制基于包括接收硬币并使用未连接硬币进行支付的中介机构的机制;和Blindcoin [36]增加了混合服务器的匿名性。通常,这些增加比特币匿名性的尝试通常包含保持比特币放松管制的想法,因此通常被指责为鼓励非法活动,例如在Darknet上购买非法产品或洗钱。
为了增加隐私性,可以对区块链中的数据进行加密。 Hawk [37]存储加密的交易。 Hawk编译器负责将程序员编写的通用代码转换成密码原语,从而使交易中的信息匿名。除加密外,Enigma项目[38]还将数据拆分为无法识别的块,并通过网络分发它们,从而使任何节点都无法访问数据。它使用可通过区块链访问的分散式脱链分布式哈希表(DHT)存储数据引用。
私有区块链中的隐私问题可以用不同的方式解决,因为根据定义,它们必须提供身份验证和授权机制。但是,即使在私有区块链内部,参与者也希望保留其数据的隐私性。例如,Quorum [39]是基于以太坊的私有许可区块链,它使用加密技术来限制敏感数据的可见性,并通过分段来增加数据的隐私性。多链[40]集成了用户权限,以限制可见性并引入对允许哪些交易以及可以挖掘哪些用户的控制。 Rockchain [41]也是基于以太坊的,并且遵循以数据为中心的方法,其中可以对私有数据进行公共计算,可以获得累积的结果,从而保护数据的隐私。这种方法提供了一个分布式文件系统,允许用户通过以太坊中的智能合约来管理数据隐私。Hyperledger Fabric [9]提供了专注于企业环境的分布式和可扩展的分类帐。
为了向区块链网络提供隐私控制,Hyperledger Fabric通过私有渠道提供身份控制服务和访问控制列表,用户可以在其中控制和限制对网络中共享信息的访问。通过这种机制,网络成员可以通过其公共身份彼此认识,但是他们不必知道网络中共享的信息。
解决数据隐私问题的另一种方法是在链外存储敏感数据,通常称为链外解决方案[42]。这种解决方案偏向于管理大量数据的系统,因为将它们存储在区块链中是不切实际的。此外,它们特别适用于处理应具有更严格访问控制的高度敏感数据的系统,例如医疗保健应用程序。通过这种方式,公共区块链可用于存储锚定数据,从而提供验证数据完整性和时间戳的证明。用户可以通过检查区块链来验证数据而无需依赖权限,数据可以安全地存储在外部。显然,这些链外资源必须具有容错能力,并且不应引入瓶颈或单点故障。在[43]中,作者建议使用Kademlia(一种著名的DHT)来存储键值对(用户身份和权限)以访问,控制和存储数据。在[44]中,一个指针和一个散列来验证获得的数据被存储在链中。通过这种方式,链中的数据是到私有数据的链接,散列是一种机制,用于验证获得的信息没有被更改。提供了链下资源的访问控制机制,以确保只有授权方才能访问信息。因此,可以使用区块链以安全且经过验证的方式从外部来源获取信息。
1993年,Nick Szabo将智能合约定义为“执行合约条款的计算机化交易协议”。智能合约的关键特征之一是它具有执行或自行执行合约条款的方式。在区块链技术出现之前,这在技术上是不可行的。事实证明,区块链是支持智能合约的理想技术。此外,智能合约为区块链的发展做出了重要贡献,此外,这种耦合还导致了第二代区块链,通常称为区块链2.0。在没有集中控制的情况下,在受信任的环境中自动执行合同的组合有望改变当前的业务方式。
基本上,智能合约代码存储在区块链上,每个合约都由一个唯一的地址标识,并且用户要使用它进行操作,他们只需向该地址发送交易即可。合同的正确执行由区块链共识协议强制执行。智能合约引入了一系列优势,例如降低成本,速度,精度,效率和透明度,这些优势促进了许多领域中许多新应用程序的出现。尽管比特币提供了一种基本的脚本语言,但事实证明它还不够用,这导致了具有集成智能合约功能的新型区块链平台的出现。
最著名的智能合约区块链平台是以太坊[8]。以太坊是具有内置图灵完备编程语言的区块链,可定义智能合约和去中心化应用程序。以太坊合同中的代码以“以太坊虚拟机代码”编写,这是一种基于堆栈的底层字节码语言。
金融智能合约通常需要访问有关真实状态和事件的数据。该数据由所谓的预言机提供。这些实体对于在现实世界中成功集成智能合约至关重要,但由于必须提供对Oracle的身份验证,安全性和信任,它们也带来了更多的复杂性[45]。
智能合约的优势并非没有代价,因为它们容易遭受一系列攻击[[46],[47],[48]],这些攻击带来了新的令人兴奋的挑战。将合同执行委托给计算机会带来一些问题,因为这会使它们容易受到技术问题的攻击,例如黑客入侵,漏洞,病毒或通讯故障。合同编码中的错误尤其重要,因为系统具有不可逆转和不变的性质。验证和保证智能合约正确运行的机制对于它们的广泛应用以及客户和提供商的安全性是必不可少的。合同逻辑的形式验证及其正确性是未来几年有望做出贡献的研究领域[49]。
另外,现实生活中的合同通常包含无法量化的条款或条件。从这个意义上讲,要对智能合约中的合约条件进行建模,还有很多工作要做,以便机器可以执行它们,并且可以表示和量化它们。此外,还需要努力为用户提供工具,以便他们能够指定和理解智能合约[50]。
缺少中央机构,不存在的铸造实体以及因此完全缺乏比特币审查制度是有吸引力的,同时又是危险的特性。比特币用户通常被指控将网络用于欺诈目的,因此该技术被怀疑促进或便利了非法行为。比特币作为第一种去中心化的加密货币引起了很多争议[51]。一方面,就其价值而言,一些专家声称这是一种欺诈行为[52],它将完全崩溃[53],而另一些专家则估计其价值将在十年内达到100.000美元[54]。 ]。欧洲中央银行已警告其波动风险,但也承认其作为金融创新的潜力[55]。但是,关于缺乏治理的问题,许多国家正在制定新的法律,以试图规范XNHB的使用(可在[56]上找到比特币监管状况的地图)。这种情况带来了很多不确定性,这似乎是其近期下跌的原因。[57]
银行和政府将对货币是否成为法定货币发表意见。货币方面的法律含义是一个重要的问题,因为它们会直接和负面影响基于该货币的区块链应用程序。
最近出现了许多私有和许可的区块链应用程序。这些是向预定义对等体或对等体组授予写权限的区块链。这可以给授权和身份验证机制带来一些好处,例如密钥恢复或交易赎回,还可以有助于简化隐私问题并减少交易等待时间。实际上,在有关比特币的保险范围内已经出现了有趣的市场机会,如果当局处理这一责任,则不再需要。矿池控制网络的威胁以及其他漏洞,有利于此类区块链的发展,政府显然对在许多应用中对这种技术进行规范和控制的使用很感兴趣。但是,这意味着无信任网络将退回到第三方信任网络,从而失去其本质的一部分。此外,如果解决方案包括集中式实体,则可能会造成瓶颈。这些区块链的功能更接近分布式数据库的功能。
另一方面,增加对该技术的信心的关键可能是政府和/或大型公司联盟参与其发展。朝着这个方向进行的举措将有所帮助。[[58],[59]]。当前,个人信息分布在不同的实体之间:政府,大学,公司等。信息分散在许多实体中,并且访问这些信息非常耗时,即使这些实体对同一权限(例如政府)做出回应也是如此。除了缺乏保证信息的可信赖服务之外,这还导致访问信息的障碍。具有每个人的信息的可信赖的全球身份服务在当前将是破坏性的。但是,每个国家都有自己的法律和法规。
诸如Alastria [60]之类的倡议旨在让多个实体参与国家监管的区块链的开发,从公证人到大学和私营公司。他们计划为每个人启用一个公开的合法钱包。公司也可以成为网络的一部分。因此,每个个人钱包都可以是财产的数字证明,他/她工作过的公司,大学学历等等。此信息可以合法和可信赖的方式用于许多服务。例如,在工作面试的情况下,候选人可以与面试官分享他们的大学学位和工作经验信息。根据定义,此信息是可靠且可验证的。这些举措是在政府机构内部扩展区块链的关键,也是为区块链系统创建通用和监管框架的第一步。此外,这还可以促进人口的行政事务获取信息,国家之间的数据传输,减少腐败信息以及人口,公司,政府和大学之间的无缝整合。但是,这也带来了获取高度私有信息的简便方法,因此,本文其余部分所考虑的隐私和安全性必须与这些举措并驾齐驱。
共识机制[[61],[62],[63]]负责区块链中包含的信息的完整性,同时防御双花攻击,因此是区块链技术的重要组成部分。最终目标是在没有中央机构且参与者不一定彼此信任的分布式网络中达成共识。
基于工作量证明(PoW)的共识已经在比特币中取得了成功,它迫使矿工解决计算量大,易于验证的任务,以创建一个新的区块。解决后,将发布解决方案,并将新块添加到链中。新区块遍布网络,其余参与者进行验证并将其附加到其本地区块链副本中。此过程可以同时发生在网络的不同部分。这就是为什么链实际上是一棵树的原因。区块链网络中同时存在多个有效分支。当对等方附加一个新块时,他们还必须检查该分支是工作量最大(困难)的分支,即最长的链被认为是有效的。这样可以迅速达成共识。一个关键的缺点是PoW使比特币依赖于能源消耗。前面提到的51%攻击是对比特币协议的潜在攻击。此外,随着采矿池激增,工作场所的激励措施出乎意料地促进了集中化。再加上薄荷糖减少,奖励减少和费用增加,将来可能会损害系统[64]。当然,PoW具有某些缺点,例如高延迟,低事务处理率和高能耗,使其不适用于许多应用程序。如上所述,在许多情况下,延迟或10分钟的块频率可能也不切实际。尽管如此,某些平台还是使用或已修改了PoW,例如NameCoin,LiteCoin,以太坊,DogeCoin和Monero。例如,Primecoin通过提出有用的计算密集型任务(例如可以同时使用应用程序的质数搜索)来减轻能源损失。
毫不奇怪,最近提出了许多更改PoW的尝试,可能是低估了此更改所隐含的复杂性,但是尚不清楚它们是否以与PoW相同的方式公开安全属性。区块链中最流行的达成共识的替代方法是权益证明(PoS)。基于这样的事实,拥有更多硬币的用户对系统的生存和正确功能更感兴趣,因此最适合承担保护系统的责任。基本上,使用PoS的想法是将机会成本从系统外部转移到系统内部。该算法根据他/她拥有的硬币数量随机确定负责创建每个区块的用户。普遍的批评是,这种方法不会激励节点对正确的区块进行投票(被称为“一无所获”问题)。另外,从促进富人富裕的意义上说,它是负面的。 PoS最初由Peercoin使用,后来在Nextcoin,Nxt [65],Crave和以太坊中使用。 PoS的一种变体是BitShares,Monax,Lisk或Tendermint的委托PoS(DPoS)。在BitShares [66]中,许多选定的见证人通过将它们包括在区块中来验证交易的签名和时间戳。选举是通过投票进行的,每当证人成功产生一个区块时,都会得到奖励。这种方法允许代表在短短一秒钟内设置块延迟,块大小并确认交易。
租赁权益证明(LPoS)允许用户将资金租赁给其他节点,以便更有可能选择他们进行区块创建,从而增加了可选举参与者的数量,因此降低了网络由单个节点控制的可能性节点组。奖励按比例共享。
燃烧证明(PoB)[67]提议燃烧硬币,即将它们发送到可验证的不可花费的地址,以便发布新的区块。像PoW一样,PoB很难做到且易于验证,但是相比之下,它不需要能源消耗。此外,PoB还具有一定的经济意义,有助于建立更稳定的生态系统。
Nem的[68]达成共识的方法称为重要性证明(PoI),它将重要性值与每个帐户相关联,从而在网络中建立信誉系统。被选择创建一个区块的机会取决于该值,它的计算还考虑了硬币数量和所执行的交易数量。换句话说,生产性网络活动也得到奖励,而不仅仅是数量上的奖励,从而促进了用户的有用行为。
其他扩展的变体是活动测试(PoA),一种结合了PoW和PoS的混合方法,以及由IBM开发的经过时间测试(PoET),使用可靠的执行环境中的运行时,使用管理器的随机选择来挖掘每个块。容量证明(PoC)[69],也称为存储或空间证明,使用可用的硬盘驱动器空间而不是计算资源。在Permacoin,SpaceMint和Burstcoin中使用了这种方法。
私有区块链具有特定的功能,因为参与者的数量通常低于公共区块链并且是半可靠的。它们通常以一组预定义的权限在系统中注册。因此,这些系统需要适合这些特征的特定共识机制。
其中一些替代机制是由Lamport和Microsoft基于状态机复制开发的Paxos [70]。 Chubby [71],基于Google的前身开发,被定义为分布式阻止服务。这些方法的优势在于它们是形式算法的改编,因此其功能已得到正式证明。 RAFT [72]分离出共识的关键要素,例如领导者的选择,记录的复制和安全性,并要求更大程度的一致性以减少需要考虑的州的数量。超级拜占庭和多链使用了实用的拜占庭容错(PBFT)算法,该算法基于状态机复制并针对状态更改达成共识的复制投票。 SIEVE [73],将区块链视为黑匣子,执行操作并比较每个副本的输出。如果副本之间存在差异,则不会验证该操作。 PBFT的另一个变体是拜占庭协议联合拜占庭协议(FBA)。在FBA中,每个参与者都维护一个受信任参与者的列表,并在被视为清算之前等待这些参与者就交易达成协议。它用于Ripple [74]。 Stellar [75]是采用法定人数和部分法定人数概念的另一种变体。仲裁是一组足以达成协议的节点,部分仲裁是仲裁的子集,具有说服另一个给定节点了解该协议的能力。 HDAC [76]是一个目前正在实施的系统,它提出了一个基于多链的物联网合同和M2M交易平台。 HDAC专为物联网环境量身定制。它使用ePow共识算法,其主要目标是激发多个采矿节点的参与并防止过多的能源浪费。
最后,Hydrachain中提出的HC共识基于一系列验证者,其中不超过三分之一是不可靠的。
综上所述,公共区块链中的共识机制已被广泛提出,但尚未得到正式证明。在使用它们之前必须了解它们提供的保证及其漏洞[77]。从这个意义上讲,研究界和业界必须共同努力验证这些机制,以证明其合法性。相反,私有区块链已经采用了正式的知名解决方案,但是这些区块链中参与者的有限列表也限制了应用程序的多样性和潜力。
物联网正在转变和优化人工流程,使其成为数字时代的一部分,获取大量数据,这些数据提供了闻所未闻的知识。这些知识正在促进智能应用程序的开发,例如通过城市服务数字化来改善公民的管理和生活质量。在过去的几年中,云计算技术为物联网提供了必要的功能,以分析和处理信息并将其转化为实时行为和知识[1]。物联网的空前增长为社区提供了新的机会,例如访问和共享信息的机制。开放数据范例是这些计划的旗舰。但是,在许多情况下,这些举措中最重要的漏洞之一就是缺乏信心。诸如云计算中使用的集中式体系结构为物联网的发展做出了重要贡献。但是,关于数据透明性,它们充当黑匣子,网络参与者对将在何处以及如何使用它们提供的信息没有清晰的认识。
物联网和云计算等有前途的技术的整合已被证明是无价的。同样,我们承认区块链在物联网革命中的巨大潜力。区块链可以通过提供可靠的共享服务来丰富物联网,其中信息可靠且可追溯。可以随时识别数据源,并且数据随时间保持不变,从而提高了其安全性。在许多参与者之间应安全共享IoT信息的情况下,这种集成将代表一场关键的革命。例如,多种食品的详尽可追溯性是确保食品安全的关键方面。食品的可追溯性可能需要许多参与者的参与:制造,喂养,处理,分配等。链中任何部分的数据泄漏都可能导致欺诈并延缓寻找感染的过程,这可能严重影响公民的生活,并在发生食源性暴发的情况下给公司,部门和国家造成巨大的经济损失[78]。在这些地区进行更好的控制将提高食品安全性,改善参与者之间的数据共享,并在发生食源性暴发的情况下减少搜索时间,这可以挽救生命。此外,在智能城市和智能汽车等其他领域,共享可靠的数据可能有利于将新参与者纳入生态系统,并有助于改善他们的服务和采用。因此,使用区块链可以通过可靠和安全的信息补充物联网。 [79]中已开始认识到这一点,其中将区块链技术确定为解决与IoT范式相关的可扩展性,隐私和可靠性问题的关键。
从我们的角度来看,物联网可以从区块链提供的功能中受益匪浅,并将有助于进一步开发当前的物联网技术。值得注意的是,要无缝地同时使用这两种技术,仍需要研究大量的研究挑战和未解决的问题,并且该研究主题仍处于初步阶段。
更具体地说,此集成可以带来的改进包括(但不限于):
分散化和可扩展性:从集中式架构到P2P分布式架构的转变将消除故障和瓶颈的中心点[80]。它还将帮助防止一些强大的公司控制大量人员的信息处理和存储的情况。架构分散带来的其他好处是,提高了容错能力和系统可伸缩性。这将减少IoT孤岛,并有助于改善IoT可扩展性。
身份:使用通用的区块链系统,参与者能够识别每台设备。提供并馈入系统的数据是不可变的,并且唯一地标识设备提供的实际数据。此外,区块链可以为物联网应用提供设备的可信分布式身份验证和授权[81]。这将代表物联网领域及其参与者的进步。
自治:区块链技术赋予了下一代应用功能,使得智能自主资产和硬件即服务的开发成为可能[[82],[83]]。借助区块链,设备无需任何服务器的参与即可相互交互。物联网应用程序可以从此功能中受益,以提供与设备无关的应用程序和解耦的应用程序。
可靠性:物联网信息可以在区块链中保持不变并随时间分布[84]。该系统的参与者能够验证数据的真实性,并确定他们没有被篡改。此外,该技术还可以实现传感器数据的可追溯性和责任感。可靠性是引入物联网的区块链的关键方面。
安全性:如果将信息和通信存储为区块链的交易[85],则可以确保信息和通信的安全。区块链可以将设备消息交换视为通过智能合约验证的交易,从而保护设备之间的通信。物联网中使用的当前安全标准协议可以通过区块链的应用进行优化[86]。
服务市场:区块链可以加速服务和数据市场的IoT生态系统的创建,无需授权即可在对等体之间进行交易。微服务可以轻松部署,微支付可以在不信任的环境中安全进行[[87],[88],[89]]。它将改善IoT互连和区块链中IoT数据的访问。
安全代码部署:利用区块链安全不变的存储,可以安全安全地将代码推送到设备中[[80],[90]]。制造商可以以最高的置信度跟踪状态和更新[85]。 IoT中间件可以使用此功能来安全地更新IoT设备。
要考虑的另一个方面与IoT交互有关,即底层IoT基础结构之间的通信。在集成区块链时,需要确定这些交互的发生位置:在物联网内部,涉及物联网和区块链的混合设计,或者通过区块链。雾计算[91]还通过在云计算和物联网设备之间增加一个新层,使物联网发生了革命性变化,并且还可以促进这种集成。下面,将描述这些替代方案(如图1所示)及其优缺点:
图1.区块链物联网交互
IoT–IoT:就延迟和安全性而言,此方法可能是最快的方法,因为它可以脱机工作。物联网设备必须能够相互通信,这通常涉及发现和路由机制。 IoT数据中只有一部分存储在区块链中,而IoT交互是在不使用区块链的情况下进行的(图1a)。这种方法在具有可靠IoT数据的场景中很有用,其中IoT交互以低延迟进行。
IoT–Blockchain:采用这种方法,所有交互都通过区块链进行,从而实现了交互的不可变记录。这种方法可确保所有选定的交互都是可追溯的,因为可以在区块链中查询其详细信息,此外,它还增加了物联网设备的自主性。打算买卖或出租的物联网应用程序(例如Slock.it)可以利用这种方法来提供服务。然而,记录区块链中的所有交互将涉及带宽和数据的增加,这是区块链中众所周知的挑战之一(图1b)。另一方面,与这些交易相关的所有物联网数据也应存储在区块链中。
混合方法:最后是一种混合设计,其中仅部分交互和数据发生在区块链中,其余部分在IoT设备之间直接共享。这种方法的挑战之一是选择应该通过区块链进行的交互,并提供在运行时决定这种交互的方式。这种方法的完美编排将是整合这两种技术的最佳方法,因为它利用了区块链的优势和实时物联网交互的优势。在这种方法中,雾计算甚至云计算都可以发挥作用,以补充区块链和物联网的局限性。例如,雾计算涉及较少的受计算限制的设备(例如网关),这是潜在的采掘场所,其使用方式与使用IoT设备的其他计划相同[[92],[93]](图1 c )。
在典型的IoT部署中,资源有限的设备用作与网关通信的终端节点,该网关负责将传感器数据转发到上层(云或服务器)。在集成区块链时,如果终端节点必须与区块链进行交互,则可以在物联网设备中提供加密功能。这是实现IoT自治的关键,这需要更复杂的硬件和更高的计算成本(在第4.1.1节中,对在IoT设备中使用区块链的成本进行了评估)。与传统部署一样,将网关集成到这些解决方案中也是可行的,但是以这种方式使用区块链的好处较少。尽管扩展了区块链,但在许多应用程序中使用它却没有任何意义,因为在这些应用程序中数据库提供了足够的功能。确定何时值得使用区块链将主要取决于应用程序的需求。例如,当需要高性能时,单独使用区块链可能不是正确的解决方案,但可以采用混合方法对其进行优化。在[94]中,作者提出了一种根据问题要求来识别区块链是否有用的方法。接下来,我们重点介绍如何从技术上实现IoT设备。
知名公司之间的联盟已开始出现,例如可信赖的物联网联盟[59],以弥合物联网和区块链之间的鸿沟。市场上也有越来越多的具有集成区块链功能的设备,例如[[92],[93],[95]]。 EthEmbedded [92]可以在Raspberry Pi,Beaglebone Black和Odroid等嵌入式设备上安装以太坊完整节点。 Raspnode [93]和Ethraspbian [96]都支持在Raspberry Pi上安装比特币,以太坊和Litecoin完整节点。 [95] Antrouter R1-LTC [95]是一个Wi-Fi路由器,还可以进行Litecoin挖掘。因此,这种类型的路由器可以安装在智能家居中,并且可以成为雾计算生态系统的一部分。 Raspnode还启用了对比特币和莱特币的钱包支持。正如Raspnode所说,可以在IoT设备上进行挖掘,但是这是没有用的。对于某些硬件(ASIC芯片)来说,采矿已经成为一项专门的任务,在物联网设备上进行尝试毫无用处。这就是为什么很少进行物联网设备挖掘的主要原因。为了将IoT设备作为区块链组件进行广泛集成,仍需进行大量研究。表2汇总了被调查的物联网设备,这些设备将用作区块链平台的一部分。
完整节点必须存储整个区块链(目前分别在比特币和以太坊中分别存储150和46 GB以上),以对交易和区块进行全面验证,因此在物联网设备中的部署可能非常有限。如前所述,由于其特定要求,采矿在物联网中将毫无用处。可以放宽共识协议以促进IoT设备的包含,但是这可能会损害区块链实施的安全性。这可以用在放松共识协议的联盟区块链中。在部署轻量级节点时,无需下载整个区块链即可验证交易的真实性,因此它们可以为区块链做出贡献,并易于在物联网设备中运行和维护。这些节点可以在物联网中用作区块链网络的一部分,从而缩小了这两种技术之间的差距。始终必须使用完整的节点进行备份,以验证事务和块。尽管如此,许多区块链尚未像开发中的以太坊那样提供对轻量级节点的支持。无论如何,区块链都可以用作外部服务以提供安全可靠的存储。
区块链与物联网集成的一种明显替代方案是物联网与云计算之间的集成[1]。在过去的几年中,已经使用这种集成来克服物联网的限制:处理,存储和访问。但是,云计算通常提供集中式架构,与区块链相比,它使与许多参与者的可靠共享变得复杂。区块链和物联网之间的集成旨在解决之前的局限性,除了维护可靠的数据。雾计算的目的是遵循像区块链这样的分布式方法,将计算分布式并使其更接近终端设备。它可以包含比IoT更强大的设备,例如网关和边缘节点,然后可以将其重新用作区块链组件。因此,雾计算可以简化物联网与区块链的集成。
Table 2. IoT devices to be used as blockchain components
Source |
IoT device |
Mode |
Blockchain |
|
EthEmbedded |
Raspberry Pi |
Full node |
Ethereum |
|
BeagleBone Black |
||||
Odroid XU3/XU4 |
||||
Wandboard |
||||
Ethcore Parity |
||||
Ethraspbian |
Raspberry Pi |
|||
Raspnode |
||||
Bitcoin |
||||
Light node |
||||
Litecoin |
||||
Full node |
||||
Bitmain |
Antrouter R1-LTC |
Miner |
本节研究将区块链技术应用于IoT领域时要解决的主要挑战。区块链技术与IoT的集成并非易事。区块链是为具有强大计算机的Internet场景而设计的,这与IoT现实相去甚远。区块链交易是经过数字签名的,因此能够使用货币操作的设备必须配备此功能。将区块链纳入物联网具有挑战性。本节介绍了一些已确定的挑战。
如上所述,区块链的存储容量和可扩展性仍在争论中,但是在物联网应用的背景下,固有的容量和可扩展性限制使这些挑战变得更大。从这个意义上讲,区块链似乎不适用于物联网应用,但是可以通过某些方法完全缓解或避免这些限制。在物联网中,设备可以实时生成千兆字节(GB)的数据,这种限制代表了其与区块链集成的巨大障碍。众所周知,一些当前的区块链实现每秒只能处理少量事务,因此这可能是物联网的潜在瓶颈。此外,区块链并非旨在存储像物联网中产生的那样的大量数据。这些技术的集成应应对这些挑战。
当前,存储了大量的物联网数据,只有有限的一部分对提取知识和采取行动有用。在文献中,已经提出了用于减少,标准化和压缩物联网数据的不同技术。物联网涉及嵌入式设备,通信和目标服务(区块链,云),因此节省物联网提供的数据量可以使多层受益。数据压缩可以减轻生成的大量物联网数据的传输,处理任务和存储。与异常数据不同,正常行为通常不需要额外的必要信息。
最后但并非最不重要的一点是,区块链,尤其是导致瓶颈的共识协议,也可以进行调整以增加带宽并减少其交易的延迟,从而能够更好地过渡到以比特币-NG为例的物联网[11 ]。
物联网应用程序必须在不同级别处理安全问题,但由于缺乏性能和设备的高度异构性,因此会带来额外的复杂性。另外,物联网场景包括一组影响安全性的属性,例如移动性,无线通信或规模。物联网安全性的详尽分析超出了本文的范围,但详细的调查可以在[[97],[98],[99],[100]]中找到。
物联网网络上的攻击数量不断增加及其严重影响,使得创建具有更复杂安全性的物联网变得更加必要。许多专家将区块链视为提供物联网中急需的安全性改进的关键技术。但是,物联网与区块链集成的主要挑战之一是物联网生成的数据的可靠性。区块链可以确保链中的数据是不可变的,并且可以识别其转换,但是当数据到达已经在区块链中损坏的情况下,它们仍会损坏。物联网数据损坏可能源于多种情况,而恶意情况除外。物联网架构的健康受到许多因素的影响,例如环境,参与者,故意破坏和设备故障。有时,设备本身及其传感器和执行器从一开始就无法正常工作。在测试了该设备之前,或者有时它会正常工作一段时间并由于某种原因(短路,断开连接,编程的过时等等)改变其行为,才能检测到这种情况。除了这些情况之外,还有许多可能影响物联网的威胁,例如窃听,拒绝服务或控制[98]。因此,除了将设备故障立即检测出来的技术外,还应在将物联网设备与区块链集成之前对其进行彻底的测试,并且应将其放置在正确的位置并封装在正确的位置,以避免物理损坏。
这些设备更容易被黑客入侵,因为它们的限制限制了固件更新,从而阻止了它们针对可能的错误或安全漏洞进行操作。此外,有时很难像全球物联网部署那样一一更新设备。因此,应在IoT中放置运行时升级和重新配置机制,以使其随时间推移保持运行状态。诸如GUITAR [101]和REMOWARE [102]之类的举措可在运行时更新网络和固件,对于确保IoT与区块链随着时间的安全集成至关重要。
物联网和区块链的整合也会对物联网通信产生影响[86]。当前,诸如CoAP和MQTT之类的物联网应用协议利用诸如TLS或DTLS之类的其他安全协议来提供安全的通信。这些安全协议既复杂又繁重,除了需要对关键基础架构(通常是PKI)进行集中管理和治理之外。在区块链网络中,每个IoT设备一旦连接到网络,就会安装自己的GUID(全局唯一标识符)和非对称密钥对。这将简化通常必须交换PKI证书的当前安全协议,并允许它们在功能较低的设备中使用。
Filament [83]是在区块链采用方面的安全性方面著名的物联网项目。 Filament是一种硬件和软件解决方案,可为IoT中基于比特币的支付和智能合约提供功能。细丝设备具有嵌入式加密处理器,支持五种协议:Blockname,Telehash和可操作的智能合约,以及Pennyback和Bittorrent协议。设备身份管理是通过Blockname完成的,而Telehash是Kademlia DHT的开源实现,提供了安全的加密通信,而智能合约定义了设备的使用方式。
许多物联网应用程序都使用机密数据,例如,当设备链接到人时(例如在电子医疗场景中),解决数据隐私和匿名性问题至关重要。提出区块链是解决物联网中身份管理的理想解决方案,但是,就像在比特币中一样,在某些应用中需要保证匿名性。例如,具有可发送个人数据时隐藏个人身份的功能的可穿戴设备或保护用户行程隐私的智能车辆。
已经讨论了透明和公共区块链中的数据隐私问题,以及一些现有解决方案。但是,物联网设备中的数据隐私问题带来了更多的困难,因为它始于数据收集并扩展到通信和应用程序级别。保护设备的安全性,以便安全地存储数据并且未经允许,未经他人访问,这是一个挑战,因为它需要将安全密码软件集成到设备中。这些改进应考虑到设备资源的限制以及与经济可行性有关的限制。许多技术已用于使用加密(IPsec,SSL / TLS,DTLS)保护通信的安全。物联网设备的限制通常使得有必要使用约束较小的设备(如网关)来合并这些安全协议。使用加密硬件可以加快加密操作,并避免复杂安全软件协议的过载。
保护数据和隐私是物联网的主要挑战,使用区块链技术可以缓解物联网中的身份管理问题。信任是物联网的另一个关键特征,区块链的集成可以发挥作用。在[103]中,将物联网系统中信任的重要性确定为确保其成功的主要目标之一。数据完整性技术是确保数据访问同时的另一种选择,因为它们可以避免IoT生成的大量数据使区块链过载。这可以建立公共系统,但具有有效且受限制的访问控制。 MuR-DPA [104]通过公共审核验证提供动态数据更新和有效验证。在[105]中,作者通过另一个保护隐私的公共审核系统来确保数据内容。有关完整性验证技术的广泛评论,请参阅[106]。
最后但并非最不重要的一点是,有一些规范数据隐私的法律,例如欧盟的数据保护指令,需要对其进行修订以涵盖该技术使之成为可能的新模型。采用区块链作为法律平台应解决这些规定,以确保依法保护数据隐私。
智能合约已被确认为区块链技术的杀手级应用,但正如前面提到的那样,尚需解决一些挑战。物联网可以从智能合约的使用中受益,但是它们适合物联网应用的方式是多种多样的。
从实践的角度来看,合同是驻留在特定区块链地址中的代码(功能)和数据(状态)的集合。合同中的公共功能可以由设备调用。函数还可以触发事件,应用程序可以侦听它们,以便对触发的事件做出正确的反应。要更改合同状态,即修改区块链,必须在网络中发布交易。交易由发件人签名,并且必须被网络接受。
物联网具有在许多领域通过Internet进行感应和启动的能力[1]。在食品可追溯性示例中,食品包装将配备传感器,该传感器具有测量环境条件并连接到区块链(签名交易)的能力。在区块链中,合同将提供启动运输,完成运输以及记录和查询测量的功能。当测量值超过预定义的阈值时,将触发一个事件。管理应用程序将监听这些事件,并通知货运公司,零售商,制造商和客户。如果未引发任何事件,则区块链将保证运输在最佳条件下进行。智能合约将为物联网提供安全可靠的处理引擎,记录和管理其所有交互。采取行动将是可靠和安全处理的结果。因此,智能合约可以对物联网应用程序的应用程序逻辑进行安全建模。但是,在该集成中应解决以下挑战。
一方面,使用智能合约需要使用Oracle,Oracle是一种特殊的实体,它们以可信任的方式提供现实世界的数据。由于物联网可能不稳定,因此可能无法验证这些智能合约。此外,访问多个数据源可能会使这些合同超负荷。如今,智能合约已经分布和分散,但是它们不共享资源来分配任务和处理大量计算。换句话说,智能合约的执行仅在单个节点中完成,而代码执行同时在多个节点中完成。这种分配仅用于验证过程,而不是用于分配任务。物联网已利用云计算和大数据的分布式功能来提高其处理能力。从那时起,数据挖掘技术已经能够处理整个IoT数据,从而可以更好地理解IoT,即通过云计算扩大处理能力。大数据可以同时处理大量数据,从而可以从大型数据集中提取知识,而以前这是很难做到的。在物联网与区块链的集成中,智能合约应利用其分布式特性来启用其他范式(大数据和云计算)中提供的物联网所需的处理能力。
智能合约还应考虑物联网中存在的异质性和约束。过滤和分组机制应辅以智能合约,以使应用程序能够根据上下文和要求来解决物联网问题。发现机制可以使设备动态包含,从而使这些应用程序更强大。最后,直接来自智能合约的驱动机制将使与物联网的反应更快。
不受监管的区块链的愿景是其本质的一部分,部分原因是比特币的成功。可以看出,区块链,特别是在XNHB的背景下,带来了很多关于合法性的争议。在网络上引入控制元素的需求或机会已经以许可的,私有的和联盟的区块链的形式出现。
IoT域还受到一国有关数据隐私的法律或法规(例如数据保护指令)的影响。这些法律大多已过时,需要修订,特别是自从出现新的破坏性技术(例如区块链)以来。新法律和标准的开发可以简化设备安全功能的认证,并以此方式帮助建立最安全和可信赖的IoT网络。从这个意义上讲,涉及信息隐私和信息处理的法律仍然是物联网中要解决的一大挑战,因此,如果与区块链结合使用,这将是更大的挑战。
如上所述,缺乏监管会带来不利因素,因为无法使用私钥检索或重置或事务还原的机制。一些物联网应用程序为设备设想了一个全球唯一的区块链,但是尚不清楚这种类型的网络是否打算由制造商管理或向用户开放。无论如何,预计将需要法律法规。这些法规将对区块链和物联网的未来产生影响,因此有可能通过引入控制性,集中化的参与者(例如国家)来破坏区块链的去中心化和自由性。
在物联网应用的背景下,设备的资源有限性使其不适合直接参与PoW等共识机制。如前所述,尽管有很多共识协议的建议,尽管它们总体上还很不成熟,并且还没有经过充分的测试,但仍然有很多建议。资源需求取决于区块链网络中共识协议的特定类型。通常,解决方案倾向于将这些任务委托给能够提供此功能的网关或任何其他不受限制的设备。可选的链下解决方案可以提供功能
尽管有计划将区块链完整节点整合到物联网设备中[[92],[93]],但由于其局限性,采矿仍是物联网中的主要挑战。物联网主要由资源受限的设备组成,但考虑到预计到2020年,其中的设备数量将达到20到500亿之间,全球范围内的物联网具有潜在的巨大处理能力。研究重点应放在这个领域并利用物联网的分布式特性和全球潜力来适应物联网中的共识。
在Babelchain [107]中,提出了一种新颖的共识协议,称为理解证明(PoU),旨在使PoW适应物联网应用。该协议以较少的能源消耗,提议使用不同协议进行翻译,而不是使用矿工解决哈希难题。通过这种方式,我们的工作更加集中在有用的计算上,同时解决了物联网通信中的关键问题。网络中的对等方不是同意交易状态,而是同意消息的含义(格式,内容和操作)。此外,区块链数据像学习集一样提供学习信息。
最近,由于这项技术提供的优势,区块链平台和应用程序已经出现在许多不同的领域。本节调查了结合了物联网和区块链的最具代表性的应用程序和平台。
区块链被认为是一种破坏性技术,可以强烈影响许多行业。平台的数量如此之多,而且不断变化,以至于无法对它们全部进行分析,在本节中,我们重点介绍最流行且最适用于IoT领域的产品。
比特币是第一个加密货币和第一个区块链平台。它提供了一种以快速,廉价和可靠的方式进行货币交易的机制,可以将其集成到应用程序中作为安全的支付系统。在物联网领域,自主设备可以使用比特币执行微支付,主要用作钱包。通常,当区块链的使用仅限于小额支付时,会将应用程序附加到货币上,这可能是一个缺点,因为硬币的贬值会对应用程序产生负面影响。如前所述,在将区块链与物联网集成时,使用智能合约是一种常见的解决方案。比特币包含一种脚本语言,可以在进行交易时设置特定条件。但是,与其他智能合约平台相比,脚本编写非常受限制。
如前所述,以太坊[8]是最近产生重要影响的平台之一。以太坊是包括智能合约在内的先驱区块链之一。以太坊既可以描述为具有内置编程语言(Solidity)的区块链,也可以描述为在全球范围内运行的基于共识的虚拟机(以太坊虚拟机EVM)。包含智能合约使区块链远离货币,并促进了该技术在新领域的集成。以太坊及其活跃而广泛的社区使以太坊成为开发应用程序的最受欢迎平台。大多数物联网应用程序使用以太坊或与其兼容(请参见表6)。最简单的方法是定义一个智能合约,设备可以在其中发布对更改做出反应的措施和策略。
Hyperledger [9]也产生了很大的影响。 Hyperledger是一个开放源代码平台,已在该平台上开发了与区块链相关的各种项目,其中Hyperledger Fabric是一种被剥夺了许可权且没有加密货币的区块链,IBM区块链平台等商业实现基于该平台。它为共识和成员资格提供了不同的组件。可以使用通用语言在区块链中开发分布式应用程序。物联网设备可以通过IBM Watson物联网平台向区块链提供数据,该平台管理设备并允许数据分析和过滤。 IBM的Bluemix平台通过提供即服务而简化了区块链技术的集成。该平台的使用加快了应用程序原型制作的速度,并且已经开发了多个用例。正在进行的有关食品可追溯性的项目正在使用该平台[108]。
多链平台允许创建和部署私有区块链。 Multichain使用一种API,该API通过新功能扩展了原始比特币API的核心,从而允许管理投资组合,资产,权限,交易等。此外,它还提供了一个命令行工具,用于与网络和不同的客户端进行交互。可以通过JSON-RPC与Node.js,Java,C#和Ruby等网络进行交互。 Multichain是Bitcoin Core的分支,其源代码针对64位架构进行编译。在[109]中,多链区块链集群部署在三个节点上,其中一个是arduino板,作为物联网区块链应用概念的证明。
如上所述,Litecoin [12]在技术上与比特币相同,但由于缩短了区块生成时间(从10分钟缩短至2.5分钟)并基于scrypt,一种基于内存的基于密码的密钥派生功能。这意味着Litecoin节点的计算要求较低,因此更适合物联网。
Lisk [110]提供了一个区块链平台,可以在其中使用分散的区块链应用程序和选择使用的加密货币(例如,比特币,以太坊等)定义子区块链或侧链。 Lisk被称为javascript开发人员的区块链平台,它还提供支持以在平台内创建和部署去中心化应用程序,以供最终用户直接使用,从而创建了可互操作的区块链服务生态系统。开发的应用程序可以使用LSK货币或可以创建自定义令牌。 Lisk使用委托权益证明的共识。 Lisk正在与物联网合作,研究区块链技术是否可以有效地在物联网内部建立安全性。
表3.用于创建区块链应用程序的区块链平台。
Platform |
Blockchain |
Consensus |
Crypto currency |
Smart contracts |
Ethereum |
Public and permission-based |
PoS |
Ether (ETH) |
yes |
Hyperledger Fabric |
Permission-based |
PBTF/SIEVE |
None |
yes |
Multichain |
Permission-based |
PBTF |
Multi-currency |
yes |
Litecoin |
Public |
Scrypt |
litecoins (LTC) |
no |
Lisk |
Public and permission-based |
DPoS |
LSK |
yes |
Quorum |
Permission-based |
Multiple |
ETH |
yes |
HDAC |
Permission-based |
ePoW,Trust-based |
Multiasset |
yes |
Quorum [39]是一个区块链平台,旨在为金融服务行业提供以太坊的许可实施,并支持交易和合约隐私。它允许多种共识机制,并通过加密和分段实现数据隐私。该平台最近集成了ZeroCash技术,以掩盖有关交易的所有可识别信息。纪事报[111]已使用Quorum平台在实物资产和区块链之间创建安全链接。
HDAC [76]是基于当前正在开发的区块链的物联网合同和M2M交易平台。 HDAC系统使用公共和私有区块链的组合以及量子随机数生成来保护这些交易。支持HDAC加密货币的公共区块链可以有效地与多个私有区块链一起使用。 Hdac IoT合同概念证明将于今年推出。
表3显示了本节中调查的用于创建IoT应用程序的区块链平台的比较。大多数平台中都存在智能合约,因此可以实现超越加密货币交易的应用程序逻辑。在部署区块链的情况下,有和没有加密货币的区块链之间存在二元论。具有像以太坊这样的加密货币的已建立平台可以为区块链应用程序提供所需的基础架构。可以将其视为部署您自己的云基础架构或使用AWS Amazon或Google Cloud Platform。但是,就区块链而言,分配是其可信赖性的关键。另一方面,使用像Hyperledger Fabric这样的非加密货币平台需要加入一个财团和基础设施来启动区块链。 PBTF和PoS是最常用的共识。许可和隐私存在于大多数平台中,因此可以从它们创建联盟和全局应用程序。
为了测试在IoT设备上运行区块链平台的可行性,我们在具有Raspbian Stretch OS和Linux内核4.9.59-v7 +的Raspberry Pi 3模型B上安装并运行了来自不同平台的不同节点。为了执行这些实验,该设备配备了128GB的SD卡(三星EVO PLUS MB-MC128GA / EU)。 Raspberry通过以太网连接到Internet。安装并运行了不同类型的节点,它们连接到公共网络。我们测量能量消耗并为每次测试收集30分钟与任务绩效相关的一些测量结果。通过使用配备INA219直流电流传感器的Moteino Mega,通过测量电源和Raspberry Pi之间的电流来获得能耗。结果是通过与Moteino Mega的串行连接在PC上获得的。为了评估任务性能,运行了一个后台进程来收集以下任务数据:cpu和内存的使用百分比,任务所需的虚拟内存量以及带宽消耗(已发送和已接收字节)。这是使用top.1 Unix命令完成的,每个进程使用监视器监视网络带宽使用工具nethogs2表4总结了结果。每个内核的CPU测量为100%,因此我们的四核设备的最大值为400%。
请注意,不同类型的节点实现不同的功能,并且不同区块链中相同类型的节点也执行不同的任务。节点连接到比特币,以太坊和莱特币等公共区块链网络,以在实际工作条件下测试该设备。此外,当连接到公共网络时,我们无法控制网络的状态,即每个实验期间发布的交易数量不相同。因此,该评估并非旨在对不同实现的性能进行详尽的比较,而是要提供一种在物联网上使用区块链节点的可行性并指出技术难题的想法。
为该实验选择的节点是在公共网络中运行且具有Raspberry Pi兼容性的那些节点,因此这些节点可以参与路由协议。为了比较结果,我们还测量了运行Raspbian且未安装任何节点的Raspberry的能耗,得出272.09 mA。 Raspberry Pi的电源电压为5 V.
首先,我们测量了光节点的性能。例如,相对于Raspberry基本测量(272.09 mA),比特币轻节点(Electrum实现)将能耗降低了不到4%。与从Litecoin轻型节点(Electrum实现)获得的值非常相似,达到了5%的增长。由于当前正在开发中,因此未测试以太坊轻节点。关于任务性能,两个轻型节点的CPU使用率和虚拟内存也非常相似。内存使用方面的差异更大,比特币消耗了2%的额外内存。带宽消耗主要在接收字节方面有所不同,莱特币下载的带宽增加了近36 Kb。结果表明,这些轻型节点可以在Raspberry Pi上舒适地运行,它们提供了进行安全交易的功能,足以从区块链功能中受益,并且不需要过多的内存,也不需要高能耗。下一节将介绍几种解决方案,其中在IoT区块链应用程序中使用这些类型的节点。
表4.在Raspberry Pi v3上的区块链节点评估(同步(s),同步后(as))
接下来,对完整节点进行实验:以太坊完整节点(Go实现),比特币完整节点(Bitcoin核心实现)和Litecoin完整节点(Litecoin核心实现)。如前所述,以太坊完整节点的功能与比特币完全不同。首先,不同的共识协议PoS和PoW具有根本不同的计算要求。另外,完整的节点需要同步过程才能下载完整的链,在此过程中,预计计算量会更高。为了评估不同的消耗需求,在同步期间和之后进行了测量。在测试时,Litecoin的区块链大小为14.03 Gb,以太坊链为49.47 Gb,比特币链为155.8 Gb。请注意,同步后的完整比特币节点无法测试,因为当前比特币链大小超出了我们测试场景的内存。以太坊同步花费了大约5天的时间(由于系统故障,几次重启),而Litecoin花费了大约2天的时间。此外,在接近完全同步的几天(达到不到100个区块)之后,我们决定评估以太坊完整节点的当前状态,即99.99%的完全同步。我们认为99.99%是完全同步的良好近似值。 Raspberry Pi生成的新块的数量以及该完整节点的功能有限,使得难以实现完全同步。
与轻型节点相比,可以在内存和CPU上以较高的消耗值观察到完整节点实现的附加功能(主要是存储)。正如预期的那样,同步后获得的大多数值都低于同步期间。同步后,在以太坊满节点中,相对于同步期间的值,平均CPU使用量降低了5倍,平均内存使用量降低了2.8倍。
与Raspberry基本测量(272.09 mA)相比,以太坊节点的能耗在同步期间增加了120%,而比特币全节点的能耗为57%,莱特币的能耗为60%。同步后,以太坊的这些值增加了36%,而莱特币的这些值不到3%。在完整节点上,CPU和内存的使用也有所增加,尤其是在同步期间,以太坊节点的消耗量最高,平均达到CPU使用率的256%和内存的86%。但是,同步之后,这些值分别降低到47%和29%。对于莱特币,同步期间的CPU使用率为117%,同步之后仅为7%。块验证是占用大量CPU的资源,因此链同步后CPU使用率下降是正常的。相反,同步后,莱特币的内存使用率从19%增加到51%。这可能是由于其内存密集型共识协议。与轻型节点相比,由于预期的带宽值飙升,因为它们存储了整个链。对于轻节点,带宽值约为Kb,对于完整节点,带宽值约为Mb。比特币完整节点接收的字节数比其轻量节点多13000倍,而Litecoin完整节点在同步过程中所接收的字节数比其轻量节点高5000倍,而同步后仅增加20倍。
在极少数情况下,使用全节点物联网是有意义的。我们尚未在IoT中找到任何使用它的应用程序。它可以用于私有部署和测试目的,但是我们知道,在最终应用程序中,将有其他更合适的设备来运行这些节点。评估结果表明,在物联网上使用这些节点的可行性非常有限。如前所述,轻型节点更适合物联网等有限资源设备。
测试期间最值得注意的问题是难以找到有关IoT设备页面上有关不同节点实现的最新信息,以及某些情况下的安装时间较长,而整个节点的同步时间非常高。此外,在某些情况下(例如以太坊),必须对IoT设备进行正确的配置,否则整个节点将使Raspberry崩溃。官方文档和实现对于上述节点的部署非常有用。
在金融领域,已经出现了替代性加密货币(altcoins,根据coinmarketcap的说法为1486)的显着出现,它们建立了一个新市场并实现了新的支付和投资形式。例如Ripple [74],Litecoin [12],Nxt [65],Peercoin [112],Bitshares [66],Dogecoin [113],Namecoin [114],Dash [32]和Monero [28]。这个新市场还导致出现了针对这些新货币的付款,交换和交易基础结构的新应用程序。
除了财务之外,区块链的分布式和不信任分类帐已被确定为可追溯系统的理想解决方案。比特币中的经济交易已经成为绘制对象的变化。通过这种方式,链条可以存储对象及其所有更改,从而实现完整,开放和可靠的可追溯性,而这只有通过该技术才能实现。来自IBM,联合利华,沃尔玛和雀巢等著名公司的一些正在进行的项目正在合作,以实现食品可追溯性[108]或雷诺,以追踪车辆的维修历史[115]。
身份验证也已成为该技术的流行应用,区块链提供了一个开放的,可信任的分布式账本,可用于存储身份。这使得身份的全局管理成为可能。在电子政务领域,许多国家提议使用区块链技术,例如:用于迪拜的护照[116],爱沙尼亚的电子身份[117],伊利诺伊州的电子身份证以将出生证明数字化[118]和印度的土地注册[119]。
此外,智能合约的集成为许多行业打开了无限可能的世界:能源,保险,抵押,音乐使用费支付,房地产,赌博,博彩等。云存储,教育或电子医疗是其他领域已经提出了区块链应用程序。表5列出了这些不同领域的应用程序。
表5.区块链应用程序
Application |
Classification |
Ripple [ |
Cryptocurrency |
Litecoin [ |
|
Nxt [ |
|
Peercoin [ |
|
Dogecoin [ |
|
Namecoin [ |
|
Dash [ |
|
Monero [ |
|
BitPay [ |
New payment infrastructures |
Abra [ |
|
BitNation [ |
Identity verification |
Onename [ |
|
Keybase [ |
|
ShoCard [ |
|
Passport management [ |
e-government |
e-identity [ |
|
Birth certificates [ |
|
Land registration [ |
|
Follow my vote [ |
|
Tierion [ |
Verification of ownership or provenance |
Proof of Existence [ |
|
Factom [ |
|
Everledger [ |
|
MIT’s digital diploma [ |
|
Provenance.org [ |
Product traceability |
SkuChain [ |
|
IBM Food traceability [ |
|
Renault vehicle maintenance history tracking [ |
|
Robomed [ |
e-health |
Medrec [ |
|
Synechron [ |
Energy, insurance and mortgages |
Ubitquity [ |
Real estates |
Atlant [ |
|
Slock.it [ |
Renting, sharing and selling |
DAO.Casino [ |
Gambling and betting |
Peerplays [ |
|
Wagerr [ |
|
Storj [ |
Cloud storage |
Sony education history [ |
Education |
Ujo [ |
Music royalty payments |
Resonate [ |
尽管在物联网中使用区块链相对较新,但已经有大量提案以不同方式使用该技术来改进当前的物联网技术。表6显示了其中一些建议的摘要。
实际上,物联网可以在许多情况下与区块链联手。几乎所有可追溯性应用程序都可以从包含IoT设备中受益,例如,连接到要追踪产品的传感器可以在其分发期间提供信息。同样,许多通过提供感测数据将世界数字化的应用程序都可以使用区块链技术来丰富。它可以帮助提高数据的合法性或可靠性,并且无需中央机构即可提供分布式身份,身份验证和授权机制。
区块链可能是使智慧城市概念成为现实的强大候选者。智慧城市的概念基于可自主运行的智能物联网设备。区块链可通过提供分布式开放式账本来简化设备之间的交互和协调,从而提高设备的自治性,设备可在其中可靠地查询可信信息。此外,区块链实现的自主性有利于创建新的物联网市场。 [[85],[87],[88],[89]]。
如表6所示,以太坊是IoT区块链应用程序中最受欢迎的平台。以太坊提供了比比特币更多的功能,智能合约的加入大大扩展了可能的应用。
在LO3能源[87]中,在布鲁克林(美国),德国南部和南澳大利亚已证明了使用区块链的能源微电网。微电网是发电,能量存储和电负载的局部分组。该项目建立了一个社区能源市场,该市场创建了一个分散的P2P能源网络,该网络与更广泛的电网协调。这是有史以来第一个能源区块链平台,它允许网格边缘的设备安全,直接地进行交易,以在微电网参与者之间进行能源销售。混合设备可测量建筑物在使用中的能源产量,并将数据发送到网络。
由IBM和三星[80]领导的自主分散对等遥测(ADEPT)项目旨在促进设备自治,为此,他们使用区块链技术来确保边缘设备上的代码执行。 ADEPT使用三种协议:Telehash,Bittorrent和以太坊,分别用于消息传递,文件共享和区块链。区块链技术提供身份验证,参与,合同和清单。他们的概念证明包括使用智能合约从零售商那里购买洗涤剂的智能洗衣机。
表6.物联网–区块链应用程序。、
Application |
Classification |
Platform |
LO3 Energy [ |
Energy microgrid |
Ethereum |
ADEPT [ |
Smart contracts involving IoT devices |
Ethereum |
Slock.it [85] |
Renting/Selling/Sharing smart objects |
Ethereum |
Aigang [ |
Insurance network for IoT assets |
Ethereum |
MyBit [ |
Investment in IoT devices |
Ethereum |
AeroToken |
Sharing airspace market for drone navigation |
Ethereum |
Chain of things [ |
Identity, security and interoperability |
Ethereum |
Chronicled [ |
Identity, data provenance and automation |
Multiplatform |
Modum [ |
Data integrity for the supply chain |
Multiplatform |
Riddle and Code [ |
Sharing and machine economy |
Multiplatform |
Blockchain of things [ |
Secure connectivity between IoT devices |
Multiplatform |
Slock.it [85]提出的区块链框架旨在解决数十亿物联网设备的安全性,身份,协调和隐私问题。目标是建立一种共享经济,无需任何授权就可以安全,快速地租用每种物联网资产。他们正在开展各种项目,例如为电动汽车提供充电基础设施的市场,称为Blockcharge。该解决方案使用智能插件,移动应用程序来激活插件并控制费用,并使用区块链来支付服务费用。他们还正在研究一种智能锁,以使公寓出租自动化。
爱港[88]是用于物联网资产的自主保险网络。 Aigang已在以太坊测试平台上部署了智能合约,以发布政策,进行风险评估并自动处理索赔。他们还创建了自定义XNHB(AIX)。他们为具有不同风险水平和潜在收益的不同产品提供投资机会。智能合约将智能设备与保险单联系起来。通过这些合同,设备可以订购维护,保险付款可以自动化。通过包含Oracle报告事件,可以自动处理索赔处理。
MyBit [89]计划建立一个服务生态系统,其中由一群人拥有物联网资产(从无人机到汽车),并分享收益。任何人都可以使用新的融资模式和投资机会。以太坊智能合约用于自动化流程:当物联网设备产生收入时,投资者会自动获得与其所有权成比例的利润份额。中央智能合约负责平台的控制,维护和更新。该平台定义了不同的资产类型,物联网设备链接到资产,一旦安装,它们便通过API发送和请求信息。 Oracle用于将设备连接到网络。
AeroToken [148]旨在为低空商业无人机服务创建实时导航和财产访问授权系统。它们通过在属性上自愿共享空域来提供无人机导航的解决方案。这有助于解决无人机操作许可的问题,建立新的共享市场。业主使用区块链中的智能合约提供空域,而无人机服务提供商则需要支付临时访问费用。该应用程序是使用以太坊智能合约开发的。
物联网[146]是一个启用区块链的物联网研究实验室,提出了Maru,这是一个集成的区块链和物联网硬件解决方案。区块链从诞生,安全性和互操作性开始为设备提供通用身份。提出了三个案例研究:安全链,致力于通过区块链为物联网提供安全; Chain of Solar旨在将太阳能电池板连接到区块链,以存储产生的能源以用于各种应用;而Chain of Shipping则计划提高运输和物流行业的安全性。数据记录设备用于将数据发送到网络。概念证明是通过以太坊网络开发的。
编年史[111]开发了几种具有加密功能的物联网产品,目的是创建全球最受信任的物联网和供应链生态系统。编年史平台包括一个能够与Quorum,以太坊和Hyperledger等多个区块链系统同步的区块链同步服务器。设备身份的注册和验证通过智能合约执行。
Modum [84]区块链解决方案旨在为实体产品提供数据完整性,重点在于改善供应链流程。 Modum传感器可记录运输过程中的环境状况。 Modum旨在与不同的平台一起使用。使用以太坊区块链开发了一种医疗产品分销解决方案。每当商品更改所有权时,以太坊智能合约便会用来验证传感器数据,合约会验证交易是否符合客户的标准。该解决方案集成了在运输过程中收集测量值的传感器标签,用于连接和激活传感器并更改所有权的移动应用程序以及用于在收到货物后分析传感器收集的数据的仪表板。
Twin of Things是一种解决方案,可确保Riddle和Code开发的日常物品[147]的所有权和出处。该解决方案结合了区块链和加密技术,为所有连接的物理对象生成基于硬件的数字身份。借助区块链,设备之间的通信和交易可自主安全地执行。高度安全的加密芯片使每个设备都可以成为区块链节点。该芯片以不可移动的NFC粘贴标签的形式生产,Android应用程序用于执行区块链交易,以注册该芯片的唯一防篡改身份。在网络中验证后,它便可以与其他设备进行交互。该解决方案被设计为与区块链无关,目前可以与以太坊,比特币和BigchainDB区块链一起使用。
物联网[82]为工业物联网集成提供了一个安全的开放式通信平台。他们提出了Catenis,这是一个Web服务层,用于端到端加密的快速比特币区块链集成。它也可以适应以太坊,超级账本和其他区块链。在Catenis中,每个IoT设备都表示为Catenis集线器和网关中的虚拟设备(具有更高的安全性)。每个虚拟设备将管理IoT设备的一系列Catenis服务。
破坏性技术总是引起巨大争议。尽管存在许多贬低XNHB的因素,但不可否认,支撑XNHB的技术是一次重大的技术革命。区块链将继续存在。但是,在没有充分保证其运行的情况下修改该技术或将其应用于成本无法弥补改进的情况是很容易陷入的风险。因此,应仔细分析并谨慎考虑将区块链应用于物联网的好处。本文提供了对区块链和物联网必须解决的主要挑战的分析,才能使它们成功地协同工作。我们已经确定了区块链技术可以帮助改善IoT应用的关键点。还提供了评估以证明在IoT设备上使用区块链节点的可行性。还检查了现有平台和应用程序以完成研究,从而全面概述了区块链技术与IoT范例之间的交互。
预计区块链将彻底改变物联网。考虑到本文确定的挑战,应解决这两种技术的集成问题。法规的通过对于将区块链和物联网纳入政府基础架构的关键。这种采用将加快公民,政府和公司之间的互动。共识还将在将物联网纳入采矿过程以及分配更多区块链的过程中发挥关键作用。然而,可能会在数据置信度与促进嵌入式设备的纳入之间产生二重性。最后,除了影响这两种技术的可扩展性和存储能力之外,还应进行研究以确保物联网和区块链可以成为关键技术的安全性和私密性。
区块链尤其是加密货币的主要担忧之一在于其波动性,人们也利用其波动性来利用这种情况的不公平优势。物联网和区块链的集成将极大地增加区块链的使用,以建立与当前信托资金相同水平的加密货币。
这项工作由西班牙项目TIC-1572(MIsTIca:基于无线技术的关键基础设施监控,西班牙)和TIN2014-52034-R(用于关键基础设施管理系统的设计和集成的MDE框架)资助。
作者贡献
Jaime Chen,Cristian Martin和Ana Reyna撰写了这篇论文,并进行了支持该研究的研究。曼努埃尔·迪亚兹(ManuelDíaz)在论文的概念,研究和设计方面进行了合作。恩里克·索勒(Enrique Soler)已审查了这项工作。
利益冲突
作者声明,此手稿的出版没有利益冲突。