物联网与区块链结合的国内外研究现状

论文价格:免费 论文用途:其他 编辑:硕博论文网 点击次数:
论文字数:4338 论文编号:sb2019100423054328080 日期:2019-10-04 来源:硕博论文网

本篇文章目录导航:
题目:物联网与区块链结合环境下对数据确认时间的研究
第一章 物联网与区块链结合的研究绪论
第二章 物联网与区块链结合的国内外研究现状
第三章 物联网技术区块链中数据确认时间
第四章 物联网技术区块链确认时间模型的建立
第五章 物联网与区块链结合仿真实验与结果分析
第六章 物联网与区块链结合总结与展望及致谢、参考文献

第二章 国内外研究现状


2.1 区块链的主流平台
区块链技术的逐步发展催生了众多以区块链技术为核心的平台,其中主流的平台包括比特币、超级账本 Fabric 以及以太坊。
(1)比特币随着数字技术的不断发展,物联网在各个领域都支持着众多的应用和服务。智能家居系统是物联网应用之一,它由多种家电和传感器组成,实现照明、通风、空调、医疗、监控和安全系统的调度和自动运行。此外,房主可以通过互联网随时远程监控和执行设备功能。比特币自诞生以来便收到众多投资者的喜爱。虽然比特币本身在经济、哲学和技术上的意义巨大,但账本才是比特币的关键部分。虽然比特币获得了巨大的成功,但它仍具有一些缺陷[11]。首先,比特币的区块生成周期为十分钟左右,若网络中的交易增多则比特币高时延的缺陷就会被凸显出来。其次,比特币只能用 UTXO(Unspent Transaction Output,未被花费的交易输出) 来处理转账汇款之类的金融问题,不便于解决其他方面的问题,因此在比特币之后又陆续衍生出一些其他的区块链平台。
(2)超级账本 FabricFabric 是一个开源的区块链平台[12],是 Linux 基金会主持下的超级账本 Hyperledger 项目[13]之一。目前,Fabric 已有 400 多个原型和生产分配及分类系统,而且可跨不同类型的行业和应用。其中包括但不限于贸易物流、外汇结算、食品安全、合同管理、激励管理、低流动性证券交易和结算、身份管理和数字货币结算等领域[14]。Fabric 引入了一种新的块链体系结构,旨在实现弹性、灵活性、可伸缩性和保密性。是第一个支持以标准编程语言编写的分布式应用程序执行的模块化和可扩展通用区块链系统,它允许在多个节点上一致执行这些应用程序,给人一种在一台全球分布的区块链计算机上执行的印象。这使得 Fabric 成为第一个使用区块链的分布式操作系统[15]。
(3)以太坊以太坊是一个基于公共区块链的分布式计算平台。最初被设想为加密货币的升级,它通过一种通用的编程语言提供高级应用,如块链托管、访问控制、金融合同、博彩市场等。以太坊基金会在以太坊黄皮书[16]中对正在开发的 ETH 协议作了具体规定。和比特币类似,以太坊中的矿工使用 POW(Proof of work, 工作量证明)共识算法。矿工挖矿所获得的报酬是交易发布者支付的挖矿费用。以太坊节点可以参与到两种公共网络——主干网(mainnet)或测试网(ropsten)中的一种中去。以太坊的核心架构如图 2.1 所示,其最上层是 DApp(Decentralized Application,分布式应用)。Web3.js 是一个通过 RPC(Remote Procedure Call,远程过程调用)调用来和本地以太坊节点进行通信的 javascribe 库,DApp 通过 Web3.js 和智能合约层进行交换。所有的智能合约都运行在 EVM(Ethereum virtual machine,以太坊虚拟机)上,并会受到 RPC 的调用。EVM 和RPC 之下是以太坊的四大核心内容,包括:区块链结构, 共识算法,挖矿以及网络层。除了DApp 外,其他的所有部分都在以太坊的客户端中,目前最流行的以太坊客户端是使用 Go 编程语言的 Geth 客户端。

与其他平台不同的是以太坊可以作为一台虚拟机工作,尽管其性能将比大多数当前PC电脑慢,但是由于它有自己的语言,如Solity或Serpent[18],因此允许开发人员编写和编译程序。程序编译后可以运行在以太坊虚拟机上[19],就像任何其他计算环境一样。编译后的代码将被转换为操作码,然后再转换为二进制代码,这些代码将在以太坊虚拟机环境上执行。以太坊将计算系统与区块链结合起来使开发人员可以灵活地编写可以在区块链上运行的代码。由于很难恶意操纵或篡改代码,因此几乎可以保证用户编写的代码可以安全地依照他们的预期行事。此外,以太坊具有很高的透明度,用户可以直接查看它的公开逻辑或智能合约代码,发布在上面的数据不会被操纵或伪造。因此,有许多公司、行业和人员试图开发符合其行业特点的以太坊应用[20],各类物联网应用也与区块链技术相结合以保障数据的安全性与准确性。


2.2 区块链结合物联网的研究现状
目前,物联网结合区块链解决现实问题的实例较少,区块链结合物联网的应用领域还处于起步阶段。大部分研究主要是为了验证区块链在物联网中的作用,测试程序运行时的局限性,并探讨可能出现的故障及方案的可行性。文献[21][22]为物联网提出了一种基于区块链的轻量级架构,它在降低区块链开销的同时维护了安全和隐私。物联网设备结合类似于区块链的集中管理的私有账本以优化能源消耗。高资源设备则创建一个覆盖网络,以实现可公开访问的分布式区块链,确保端到端的隐私安全并使用分布式认证来减少块验证处理时间,最终将其实现于智能家居应用中。文献[23]提出了物联网中的一种新的角色和权限的仲裁结构,是基于区块链技术的物联网全分布式访问控制系统,并在真实的物联网场景中进行了评估。该文章给出的结果表明在特定的可扩展物联网场景中,区块链技术可以作为访问控制技术来增强安全性。文献[24][25]评价了区块链对于加强网络安全和保护隐私方面的作用。利用实际应用和现实实例,论证了区块链的分布式特征很可能导致的攻击敏感性问题。此外还特别讨论了基于区块链的身份和访问控制系统中的问题如何解决以及提出与物联网安全性相关的一些关键挑战。文献[26]对三种主流平台比特币、以太坊以及超级账本Fabric的特性进行了比较,如表2.1所示:
虽然比特币是目前使用最广泛的区块链平台,但它在物联网和分布式应用程序开发中的潜在作用极为有限,不适合于物联网结合区块链的方案。建立在比特币上的智能应用会消耗极大的物理资源且相对其它平台存在较长的交易确认延迟。因此,它的作用受到了很大的限制。不过其他平台如以太坊和超级账本依然存在与物联网结合的可能性。其中,超级账本Fabric是一个将共识机制、身份验证等组件模块化的框架,而不是一个公有链,也没有内置的代币。而以太坊则是一个带有图灵完备语言的区块链平台,用这种语言可以创建合约来编写任意状态及功能。用户只要简单地用几行代码来实现逻辑,就能够创建一个基于区块链的应用程序,并可将其应用于货币以外的场景。分布式账本为数据交互提供了一个可信的环境。在物联网的应用开发方面,可以将前端和链上结合起来。根据预期的用途,可以将两个应用程序部分组合为一个解决方案。前端应用程序部分是Web、移动和嵌入式应用程序,它们通过区块链客户端公开的客户端API(Application Programming Interface,应用程序编程接口)使用区块链。前端应用程序是用户界面和物联网设备使用区块链所必需的。链上业务逻辑是指智能合约,即在以太坊中使用Solidity语言所编写的代码,它是在区块链网络中部署和执行的程序。智能合约的执行在区块链中得到验证。因此,区块链为智能合约执行提供了一个分布式的、可信的虚拟机。以太坊的高安全性、强业务逻辑性也使得众多研究者使用以太坊平台来实现新的物联网架构。文献[27]研究了智能合约部署在物联网上的自动化脚本,指出了在物联网环境下部署区块链网络之前应考虑的某些问题如隐私到网络以及交易数字化资产。文献[28]使用区块链来构建控制和配置物联网设备的物联网系统。使用RSA公钥密码体制来管理密钥,它将公钥存储在以太坊中,私钥保存在各个设备上。虽然物联网与区块链的结合有着很好的前景,但区块链的高时延也对这种结合方式产生了一些限制。因此,如何使得物联网数据在区块链中更有效率地被使用也成为了一个亟待解决的问题。


2.3 区块链数据确认时间的研究现状
目前,比特币默认区块后连接六个确认区块则该区块被视为可用,但以太坊对于数据应满足的确认区块数却没有公认的标准。而在用户或应用层面,应该根据自身应用的需求和标准合理规定区块确认时间。可以进一步从用户数据的安全角度出发解决区块挖出后所需等待的时间的问题,从而使得用户可以最快的速度提取区块链中安全的数据,并能够及时地处理数据。因此,区块被挖出后的等待时间也十分重要,而目前在以太坊的环境下并没有就区块链本身的运行机制对区块挖出后应用应该等待的数据确认时间的研究。由于以太坊缩短了出块间隔并使用GHOST协议使得区块链中频繁地产生分叉,而GHOST协议中各分叉区块包含各高度分叉区块在内的后续区块都属于该区块的确认区块,因此应在GHOST协议的基础上分析以太坊的数据确认时间。文献[29]给出了GHOST协议下挖出区块后经过的时间与最少确认区块的关系,即对于某时刻存在一个对应的区块数,确认区块至少要达到该数量后再进行确认才能保证区块中数据的安全。而该文章给出的关系式会随着区块链平台的不同而发生变化,作者并没有结合任一平台进行深入分析。


2.4 现有的信息传播模型
区块的最少确认区块数需要建立消息的传播模型来分析,以下模型可以分析信息在网络中的传播,但这些模型对于问题的适用性各不相同。
(1)渗流模型渗流模型是指系统中的节点以一定的概率改变自身状态,状态相同且相邻的节点的边界相互渗透,最终形成一个或多个集群。渗透理论能够在给定固定的拓扑和节点初值的条件下,得到各节点之间的连通性以及连通概率。但渗透理论所研究的场景为已知的结构化的拓扑,而且只考虑上下左右四个方向的邻居,且集群中节点的邻居节点数固定。当节点以一定的概率由一种状态变为另一种状态时,可以将模型应用于网络的信息传播来分析节点间对于信息共享的连通性。如节点对于其相邻节点信息的接收概率存在关系,当所有节点依概率决定是否可与相邻节点连接时,某些节点会形成一个集合,集合间的节点可相互传递信息。
(2)传染病模型传染病模型[30]起初被用来对一个种群中病毒的传播进行分析,其针对的问题包括:病毒的传播过程、受感染个体的变化规律以及预报传染病的高潮期。在分析信息的传播时,可将模型中的病毒在空间中的扩散视为信息在空间中的传播。通常模型中设有感染者(I)、易感者(S)、移出者(R)三类集群。传染病模型为以下三类:①SI模型该模型仅包含感染者和易感者两类个体,当易感者感染病毒后成为感染者,该模型又被称作连续的阻滞增长模型或logistic增长模型,它是一种微分方程模型,即模型中的研究对象的特征随着时间的变化发生动态的变化。模型的表现形式可以是微分方程或微分方程组。②SIS模型和SI模型不同的是SIS模型中的感染者是可以被治愈的,被治愈后的个体归为易感者,表示其仍会被再次感染。和SI模型相类似,SIS模型在网络中可以分析信息或数据在节点集群中的状态,但该信息或数据可以被节点以某种概率移除。③ SIR模型相较于前两类模型,SIR模型增加了移出者这一集群。移出者指感染者被治愈后产生免疫功能,之后不会再次感染病毒。该模型适用于分析网络中节点接收信息之后可能会丢弃该信息且在丢弃信息后不会再次接受该信息的情形。
(3)差分形式的阻滞增长模型现实中有时使用离散化的时间研究比使用连续时间研究更为适合,例如某些生物每年在固定的时间繁殖出下一代,研究对象每隔一段时间产生一次增长,可以用周期作为一个时间段来研究它的增长规律。差分形式的阻滞增长模型是时间离散化的logistic增长模型。


2.5 本章小结
本章首先对区块链现有的主流平台进行介绍,主要介绍以太坊平台适应于物联网的特点。其次介绍了在物联网环境下使用区块链的现有研究以及使用以太坊平台结合物联网的研究现状,随后介绍了基于现有的区块链结构下区块确认时间的概念,最后例举了现有的可以分析信息传播的几类模型。


如果您有论文相关需求,可以通过下面的方式联系我们
点击联系客服
QQ 1429724474 电话 15800343625