第一章 简介… 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)作为一种技术出现了,从无线传感器 络(WSN)到射频识别(RFID),提供了感知,促动和通过Internet进行通信的功能[1]。如今,物联 设备可以是从可穿戴设备到硬件开发平台的电子设备,其可使用的应用范围涵盖了 会的许多领域。物联 在将当前的城市转变为智慧城市,将电 转变为智慧电 以及将房屋转变为智慧家庭方面发挥着核心作用,这仅仅是开始。根据各种研究 告,到2020年,预计已连接设备的数量将达到20到500亿[2],这主要是由于IoT可以放置在现场的设备数量众多。
物联 可视化了一个完全互联的世界,在这里,事物能够交流测量的数据并相互交互。这使现实世界的数字表示成为可能,通过它可以开发各种行业中的许多智能应用程序。其中包括:智能家居,可穿戴设备,智能城市,医疗保健,汽车,环境,智能水,智能电 等。物联 解决方案正在许多领域中部署,以优化生产并数字化行业。物联 应用程序具有非常特殊的特性,它们会生成大量数据,并需要长期连接和供电。这与内存,计算机容量, 络和有限的电源的限制一起带来了许多挑战。
物联 的巨大扩展必须由标准机制和协议来支持,以减少现场中现有的异构性。这种异质性导致垂直孤岛,并减少了物联 的采用。但是,除了物联 中存在的异构性和集成性挑战外,其数据的可信赖性也是要牢记的重要问题。如今,我们尤其信任金融实体和政府的信息,但是我们可以确定金融实体和物联 公司等其他外部实体提供的信息没有受到任何篡改/更改吗集中式架构中,这是一个很难回答的问题。不可信实体可以根据自己的兴趣更改信息,因此它们提供的信息可能并不完全可靠。这就需要验证信息从未被修改过。
提供物联 数据可信赖性的一种方法是通过其所有参与者都信任的分布式服务,以确保数据保持不变。如果所有参与者都有数据,并且他们具有验证自第一个定义以来数据未被篡改的方法,则可以实现可信度。此外,拥有保证数据可靠性的系统将使政府能够与公民共享并安全地传输信息。
尽管物联 可以促进信息本身的数字化,但此类信息的可靠性仍然是关键挑战。从这个意义上讲,作为第一种去中心化加密货币诞生的新技术有潜力为数据可靠性问题提供解决方案:比特币,彻底改变了转账机制。比特币加密货币及其许多即将推出的变体,可以通过数字和不可转让的钱包在全球范围内转让,而无需金融实体和外汇交易。比特币由一个协议支持,该协议详细说明了负责确保信息随时间保持不变的基础架构。该协议称为区块链。它已被应用到许多其他领域,并且在超越加密货币的应用中保证了信息不变性。区块链也彻底改变了信息的可信度。例如,该技术已被政府实体用于投票系统,出租和数据存储等[4]。
除了审查可用的区块链平台以应对这些挑战之外,还将重点介绍该领域的颠覆性应用。
该论文的主要贡献是:
1、调查区块链技术,分析其独特功能和开放挑战。
2、识别和分析物联 和区块链集成的不同方式。
3、研究区块链和物联 集成的挑战,潜在利益和开放性问题。
4、研究现有的区块链物联 平台和应用程序。
5、评估和比较IoT设备中不同区块链的性能。
- 区块链
为了支持和使用区块链, 络对等方必须提供以下功能:路由,存储,钱包服务和挖掘[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]。
双花攻击是将同一枚硬币花掉两次[21]。在比特币中,只有在存储交易的区块在区块链中具有一定深度(通常为5或6)之后,才应考虑确认交易。这平均需要20至40分钟[22]。确认时间有很大差异,因为它取决于许多因素。在快速付款的情况下,交易者负担不起这种等待。因此,在这些情况下,双花攻击仍然是可能的。
同样,种族攻击也可以在这些情况下起作用。为了进行这种攻击,用户将交易直接发送给商家,商家过快地接受了交易。然后,用户将多个有冲突的交易发送到 络,将付款的硬币转移给自己。第二笔交易更有可能被确认,并且商家被骗。同样,芬尼[23]攻击是更复杂的双花,因为它需要矿工的参与。
众所周知的拒绝服务(DoS),中间人(MitM)或Sybil攻击也可能阻碍 络运行。大多数P2P协议和IoT基础架构都非常依赖通信,因此很容易受到此类攻击。在日食攻击中[24],攻击者可以垄断节点的连接,将其与 络的其余部分隔离开,并更改该节点的 络视图。
区块链 络中的代码更新和优化通常受加密货币 区的一部分支持,旨在改善其基础协议。这些改进在区块链术语中被称为软叉和硬叉。一方面,软分叉提供了软件协议的更新,该协议可以识别与先前模块的向后兼容性。这就要求将大多数矿工升级到新软件。但是,遵循旧规则的大多数节点也可能拒绝升级的功能。另一方面,硬分叉给协议带来了根本性的变化,与以前的块和事务不兼容。因此,所有节点都必须升级到最新更新,并且不再接受具有旧版本的节点。发生硬分叉时,可以划分 区,从而导致 络出现两个不同的分叉。如果硬叉尚未建立足够的共识,例如SegWit2x [25],也可以将其取消。以太坊和经典的以太坊就是这种划分的例子。比特币,比特币现金和比特币黄金。上述硬分叉与原始 络是同时发展的,如今它们正在相互竞争。节点和用户必须决定版本,而fork的连续性将取决于这些决定。因此,分叉,特别是硬分叉,可以将 区划分为两个完全不同的区块链,这可能对区块链用户构成风险。
除了围绕其真实价值的争议之外,XNHB的一个常见问题是硬币损失的问题。如果忘记了钱包钥匙,则没有机制可以使用这些硬币。据估计,丢失了30%的比特币。
最后,量子计算可能被视为对比特币的威胁,因为这些计算机的计算能力可能会破坏数字签名的安全性。此外,技术会随着时间的推移而发展,每天都会发现新的错误和安全漏洞。由于区块链数据是不可变的,因此这些改进和错误可能会危害加密数据的公共区块链。
-
-
- 匿名和数据隐私
-
解决比特币匿名问题的流行尝试是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通过私有渠道提供身份控制服务和访问控制列表,用户可以在其中控制和限制对 络中共享信息的访问。通过这种机制, 络成员可以通过其公共身份彼此认识,但是他们不必知道 络中共享的信息。
-
-
- 智能合约
-
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]]。当前,个人信息分布在不同的实体之间:政府,大学,公司等。信息分散在许多实体中,并且访问这些信息非常耗时,即使这些实体对同一权限(例如政府)做出回应也是如此。除了缺乏保证信息的可信赖服务之外,这还导致访问信息的障碍。具有每个人的信息的可信赖的全球身份服务在当前将是破坏性的。但是,每个国家都有自己的法律和法规。
-
-
- 共识
-
共识机制[[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 )。
知名公司之间的联盟已开始出现,例如可信赖的物联 联盟[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进行处理,非常感谢!
大容量存储方案_有容乃大:希捷发布CORTX对象存储软件与开源 区
上一篇
2020年10月21日
fpga项目开发实例_按这4个步骤学习,高手一步一步教你玩转FPGA
下一篇
2020年10月21日
|