关于区块链及其与物联网的集成-挑战与机遇

第一章 简介… 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亿美元。

    1. 挑战性

尽管区块链的关键思想很简单,但其实施却带来了许多挑战。本节介绍其使用带来的主要影响。

      1. 存储容量和可扩展性

存储容量和可扩展性在区块链中受到了强烈质疑。在这项技术中,链条一直在增长,比特币每10分钟每块以1MB的速度增长,并且网络中的节点之间存储着副本。尽管只有完整节点(可以完全验证事务和块的节点)存储完整链,但是存储要求非常重要。随着大小的增长,节点需要越来越多的资源,从而减小了系统的容量规模。另外,链条过大会对性能产生负面影响,例如,它增加了新用户的同步时间。

交易验证是分布式共识协议的关键组成部分,因为预计区块链网络中的节点会验证每个区块的每笔交易。区块中的交易数量和区块之间的时间调节所需的计算能力,这直接影响交易确认时间。因此,共识协议直接影响区块链网络的可扩展性。

考虑到比特币的信任模型及其可扩展性限制,Bitcoin-NG [11]提出了一种新的拜占庭容错区块链协议,该协议改善了比特币的共识延迟。 Litecoin [12]在技术上与比特币相同,但由于减少了块生成时间并减少了工作量证明,因此具有更快的交易确认时间和更高的存储效率,这是基于基于内存密集型密码的密钥派生功能scrypt的。HOST [13]旨在通过更改其链选择规则来提高比特币的可扩展性。脱链解决方案[14]旨在脱链执行事务,在增加带宽的同时增加丢失数据的可能性。另一建议建议减少比特币协议中的传播延迟[15],但它可能会损害网络的安全性。 BigchainDB [16]并没有增加区块链的可扩展性,而是将区块链特征添加到了大数据分布式数据库中。BigchainDB将大数据分布式数据库的高吞吐量和低延迟特性与区块链的不变性和去中心化系统相结合。另一个重要的发展是行星际文件系统(IPFS)[17]。 IPFS是一种旨在存储分散和共享文件的协议,使P2P分布式文件系统能够使Web更安全,更快和更开放。 IPFS旨在在消除重复并跟踪每个文件的版本历史记录的同时提高Web的效率。

      1. 安全性:弱点和威胁

比特币协议已被彻底分析[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%的比特币。

最后,量子计算可能被视为对比特币的威胁,因为这些计算机的计算能力可能会破坏数字签名的安全性。此外,技术会随着时间的推移而发展,每天都会发现新的错误和安全漏洞。由于区块链数据是不可变的,因此这些改进和错误可能会危害加密数据的公共区块链。

      1. 匿名和数据隐私

设计不会在比特币协议中强制执行隐私。比特币的一个关键特征是它的透明性。在区块链中,每笔交易都可以从系统的第一笔交易中进行检查,审核和追溯。的确,这是闻所未闻的新透明水平,无疑有助于建立信任。但是,即使钱包与个人之间没有直接关系,这种透明性也会对隐私产生连锁反应,尽管比特币提供了诸如假名和使用多个钱包的机制,但用户匿名性似乎受到了损害。从这个意义上讲,已经做出了一些努力以在比特币中提供更强大的匿名功能。另一方面,不仅是开放的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]中,一个指针和一个散列来验证获得的数据被存储在链中。通过这种方式,链中的数据是到私有数据的链接,散列是一种机制,用于验证获得的信息没有被更改。提供了链下资源的访问控制机制,以确保只有授权方才能访问信息。因此,可以使用区块链以安全且经过验证的方式从外部来源获取信息。

      1. 智能合约

1993年,Nick Szabo将智能合约定义为“执行合约条款的计算机化交易协议”。智能合约的关键特征之一是它具有执行或自行执行合约条款的方式。在区块链技术出现之前,这在技术上是不可行的。事实证明,区块链是支持智能合约的理想技术。此外,智能合约为区块链的发展做出了重要贡献,此外,这种耦合还导致了第二代区块链,通常称为区块链2.0。在没有集中控制的情况下,在受信任的环境中自动执行合同的组合有望改变当前的业务方式。

基本上,智能合约代码存储在区块链上,每个合约都由一个唯一的地址标识,并且用户要使用它进行操作,他们只需向该地址发送交易即可。合同的正确执行由区块链共识协议强制执行。智能合约引入了一系列优势,例如降低成本,速度,精度,效率和透明度,这些优势促进了许多领域中许多新应用程序的出现。尽管比特币提供了一种基本的脚本语言,但事实证明它还不够用,这导致了具有集成智能合约功能的新型区块链平台的出现。

最著名的智能合约区块链平台是以太坊[8]。以太坊是具有内置图灵完备编程语言的区块链,可定义智能合约和去中心化应用程序。以太坊合同中的代码以“以太坊虚拟机代码”编写,这是一种基于堆栈的底层字节码语言。

金融智能合约通常需要访问有关真实状态和事件的数据。该数据由所谓的预言机提供。这些实体对于在现实世界中成功集成智能合约至关重要,但由于必须提供对Oracle的身份验证,安全性和信任,它们也带来了更多的复杂性[45]。

智能合约的优势并非没有代价,因为它们容易遭受一系列攻击[[46],[47],[48]],这些攻击带来了新的令人兴奋的挑战。将合同执行委托给计算机会带来一些问题,因为这会使它们容易受到技术问题的攻击,例如黑客入侵,漏洞,病毒或通讯故障。合同编码中的错误尤其重要,因为系统具有不可逆转和不变的性质。验证和保证智能合约正确运行的机制对于它们的广泛应用以及客户和提供商的安全性是必不可少的。合同逻辑的形式验证及其正确性是未来几年有望做出贡献的研究领域[49]。

另外,现实生活中的合同通常包含无法量化的条款或条件。从这个意义上讲,要对智能合约中的合约条件进行建模,还有很多工作要做,以便机器可以执行它们,并且可以表示和量化它们。此外,还需要努力为用户提供工具,以便他们能够指定和理解智能合约[50]。

      1. 法律问题

缺少中央机构,不存在的铸造实体以及因此完全缺乏比特币审查制度是有吸引力的,同时又是危险的特性。比特币用户通常被指控将网络用于欺诈目的,因此该技术被怀疑促进或便利了非法行为。比特币作为第一种去中心化的加密货币引起了很多争议[51]。一方面,就其价值而言,一些专家声称这是一种欺诈行为[52],它将完全崩溃[53],而另一些专家则估计其价值将在十年内达到100.000美元[54]。 ]。欧洲中央银行已警告其波动风险,但也承认其作为金融创新的潜力[55]。但是,关于缺乏治理的问题,许多国家正在制定新的法律,以试图规范XNHB的使用(可在[56]上找到比特币监管状况的地图)。这种情况带来了很多不确定性,这似乎是其近期下跌的原因。[57]

银行和政府将对货币是否成为法定货币发表意见。货币方面的法律含义是一个重要的问题,因为它们会直接和负面影响基于该货币的区块链应用程序。

最近出现了许多私有和许可的区块链应用程序。这些是向预定义对等体或对等体组授予写权限的区块链。这可以给授权和身份验证机制带来一些好处,例如密钥恢复或交易赎回,还可以有助于简化隐私问题并减少交易等待时间。实际上,在有关比特币的保险范围内已经出现了有趣的市场机会,如果当局处理这一责任,则不再需要。矿池控制网络的威胁以及其他漏洞,有利于此类区块链的发展,政府显然对在许多应用中对这种技术进行规范和控制的使用很感兴趣。但是,这意味着无信任网络将退回到第三方信任网络,从而失去其本质的一部分。此外,如果解决方案包括集中式实体,则可能会造成瓶颈。这些区块链的功能更接近分布式数据库的功能。

另一方面,增加对该技术的信心的关键可能是政府和/或大型公司联盟参与其发展。朝着这个方向进行的举措将有所帮助。[[58],[59]]。当前,个人信息分布在不同的实体之间:政府,大学,公司等。信息分散在许多实体中,并且访问这些信息非常耗时,即使这些实体对同一权限(例如政府)做出回应也是如此。除了缺乏保证信息的可信赖服务之外,这还导致访问信息的障碍。具有每个人的信息的可信赖的全球身份服务在当前将是破坏性的。但是,每个国家都有自己的法律和法规。

诸如Alastria [60]之类的倡议旨在让多个实体参与国家监管的区块链的开发,从公证人到大学和私营公司。他们计划为每个人启用一个公开的合法钱包。公司也可以成为网络的一部分。因此,每个个人钱包都可以是财产的数字证明,他/她工作过的公司,大学学历等等。此信息可以合法和可信赖的方式用于许多服务。例如,在工作面试的情况下,候选人可以与面试官分享他们的大学学位和工作经验信息。根据定义,此信息是可靠且可验证的。这些举措是在政府机构内部扩展区块链的关键,也是为区块链系统创建通用和监管框架的第一步。此外,这还可以促进人口的行政事务获取信息,国家之间的数据传输,减少腐败信息以及人口,公司,政府和大学之间的无缝整合。但是,这也带来了获取高度私有信息的简便方法,因此,本文其余部分所考虑的隐私和安全性必须与这些举措并驾齐驱。

      1. 共识

共识机制[[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

来源:云上笛暮

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月21日
下一篇 2020年10月21日

相关推荐