A Survey of IoT Applications in Blockchain Systems: Architecture, Consensus, and Traffic Modeling
ACM Computing Surveys, 2020
LAPHOU LAO, ZECHENG LI, SONGLIN HOU, and BIN XIAO, The Hong Kong Polytechnic University, China
SONGTAO GUO, Chongqing University, China
YUANYUAN YANG, Stony Brook University, America
Summary
本文介绍了使用区块链技术的物联网应用的调查。本文还对物联网区块链系统的流量分析进行了调查,这是以前没有做过的。通过对许多物联网区块链的详细调查,在一个新的角度提出了几个关键的观察结果,并提出了新的架构和流量模型。具体来说,深入研究了物联网区块链的三个关键方面,即架构、共识和流量建模。
Contribution
- 调查了物联网区块链系统,并分析了它们的架构。提出了一个通用的物联网区块链架构。
- 对当前的共识算法和通信协议进行了比较,并展示了它们在物联网区块链中应用时的优缺点。
- 分析了目前P2P和区块链系统的流量模型,提供了几个指标。提出了一个适合物联网区块链系统的流量模型来说明网络流量分布。
Background
区块链技术可以广泛应用于各种服务,包括在线小额支付、供应链跟踪、数字取证、医疗记录共享和保险支付。将该技术扩展到物联网(IoT),可以获得可验证和可跟踪的物联网网络。物联网应用中的新兴研究利用区块链技术来记录交易数据、优化当前系统性能或构建下一代系统,这些系统可以提供额外的安全性、自动交易管理、去中心化平台、离线到在线数据验证等。
区块链解决传统物联网应用程序局限性
- 区块链可以在没有第三方的情况下保证物联网数据的完整性,同时节省物联网设备的带宽和计算能力。
- 此外,区块链可以为物联网网络提供一个安全、可扩展的框架,以便在没有中央服务器的情况下传递敏感信息。
- 区块链配备了识别和认证功能,可以跟踪传感器数据测量,并在物联网对等点之间传输数据,无需中央服务器。
- 区块链可以降低物联网的运营成本。通过允许智能设备进行自动化微交易,双方可以以更低的成本更快地达成协议。
在区块链系统上部署物联网应用程序的挑战
- 物联网区块链系统的架构需要支持大量的物联网设备。
- 物联网设备的存储和计算能力有限,需要为物联网区块链专门设计共识,这是一种确保区块链中对等体之间数据完整性的机制。
- 为了实现物联网区块链系统的高性能,需要对区块链网络进行流量建模。
- Christidis和Devetsikiotis[2016]研究了物联网区块链的智能合约(综述)。
- Marco[2016]等人对区块链的18个用例进行了系统的文献综述,并调查了系统的完整性、匿名性和适应性。
- 一项对智能家居的研究[2017]展示了区块链与家庭设备集成的效率。
区块链主要可以分为公共区块链和私有区块链。更详细划分:公有链、联盟链、私有链、混合链
- 混合区块链[2018]结合了公共区块链和私有区块链的好处,通过私有区块链管理器保护用户数据,并使用公共节点的共识来验证交易。混合区块链通常用于物联网系统和供应链的数据保护和访问控制。
基于区块链的项目
- 以太坊[2014]、超级账本[2018]、IOTA[2019]
- 中心化医疗索赔系统[2016]
- 去中心化投票系统[2016]
区块链应用程序的共识机制、每秒事务性能和发布日期:
Architecture
IoT Network Architecture
物联网三层/五层架构:
物理层
由各种物联网设备组成,包括传感器、射频识别(RFID)标签、近场通信(NFC)设备和移动电话。这一层负责连接不同的设备,交换消息,并向上层收集信息。
RFID是一种无线无线电通信技术;NFC是一种允许设备在短距离内通信的通信协议。
网络层
网络层传输物联网设备收集或处理的信息。数据通过4G、5G、RFID、WiFi和蓝牙等不同技术传输。具体来说,网络层连接边缘节点、管理程序和用户应用程序。
应用层
应用层可以看作是提供给用户的物联网服务的抽象。用户可以通过api请求不同的服务。在接收到用户请求后,应用层要么在本地处理信息,要么调用底层api来处理请求。
在提出的五层架构中,物理层被重新命名为传感层,因为物联网系统中广泛部署的传感器。此外,将网络层与中间件层一起扩展到网络层。新的网络层仍然承担数据传输的任务,中间件层负责数据处理、数据存储和业务管理。
中间层
由于物联网系统底层存在大量异构设备。它们可能具有不同的操作系统、查询格式和数据格式。软件开发人员很难开发出与所有物联网设备兼容的集成物联网应用程序。中间件层位于物联网设备和物联网应用程序之间,用于处理兼容性问题。它处理用户的请求并给出有效的响应。中间件层由主要消息传递、API管理、数据和服务集成以及数据格式化组成。
业务层
随着物联网的发展,物联网系统支持的应用急剧增加,形成了一个复杂的生态系统。单个应用程序层无法准确地描述它。因此,业务层被提出来代表物联网生态系统的更高级别抽象,负责整个物联网系统的管理。业务层构建业务模型、图表并执行数据分析。
Blockchain Architecture
区块链五层架构:
物理层由各种区块链节点组成。它们相互连接,形成区块链网络。
通常,区块链中有两种类型的节点:全节点和轻节点。
全节点
全节点在其存储中保留满区块链的副本。他们参与创建、验证和向区块链添加新区块。因此,全节点维护区块链的安全性、一致性和数据正确性。
轻节点
轻节点对硬件规格要求不高。它们不保留完整的区块链的副本,但只知道最后一个块的状态。轻节点从全节点获取区块链信息。
网络层提供可靠的数据传输服务。它允许区块链节点相互通信。区块链网络一般是基于点对点网络。
共识层负责确保存储数据的一致性,并激励参与者寻找新的区块。共识机制是区块链中保证数据正确性和完整性的重要组成部分。
传播层由通信协议组成,这些协议定义了消息和块如何在网络中传播的规则。
比特币和超级账本结构采用Gossip作为其通信协议,而以太坊采用Kademlia算法作为其通信协议的基础。
Gossip协议:代表了一种类似于流行病的点对点通信方式。在基于Gossip的系统中,更新像传染病一样传播,最终几乎感染所有节点。有两种不同的传播模式:反熵传播和谣言传播。
Kademlia:一种为分散的点对点网络设计的算法。它在以太坊中用于优化网络路由并帮助定位目标节点。在Kademlia中,每个节点都有其惟一的节点ID。Kademlia算法使用节点ID进行快速对等查找,定位文件或资源。
General IoT-Blockchain Architecture
物联网区块链的五层通用架构:
在这个架构中,物联网设备负责数据生成。区块链可以作为一个安全的分布式数据库,安全地保存记录,避免恶意修改。一旦一个区块被确认并添加为区块链的一部分,区块中包含的交易以及所有之前区块中的交易都是防篡改的。此外,所有历史记录都可以轻松检索而不会丢失信息。授权用户可以浏览所有交易并验证每笔交易的真实性。对于大多数应用程序,区块链被用作附加存储技术。此外,区块链可以支持加密货币,优化物联网系统中的数字交易。
Current IoT-Blockchain Applications and Their Architectures
物联网区块链应用:
分为两种类型:
1.具体应用
指将物联网和区块链作为其商业运营的基本组成部分的独立软件或系统。这个类别的核心层是应用层和物理层。
- Dorri等人介绍了LSB区块链结构,强调智能家居中的安全性和隐私性[2017]。物理层包括各种类型的智能设备。高资源智能设备负责管理一个公共的区块链,保证用户的隐私和安全。低智能资源物联网设备负责端到端通信和处理输入和输出请求。智能设备注册在区块链网络上。中间件层提供了区块链的重叠管理,减少了区块链的管理开销。
- LO3 Energy [2018]引入了太阳能P2P市场。LO3的物理层包括电网和太阳能电池板。他们详细列出额外的能量产量,并通过低延迟网络上传到区块链。采用Exergy令牌系统作为中间件,提高系统性能和网络参与者授权效率。客户可以通过商业能源购物应用程序购买能源。
- Slock[2016]是市场上现有的物联网区块链应用。它使用电子锁,可以通过适当的令牌解锁。希望出售房产的客户可以为电子锁定价。客户可以浏览商品,并用加密货币支付所要求的金额来开锁。它具有简单的架构,由分布式应用程序、以太坊区块链、商业网络和电子锁组成。
2.应用程序平台即服务
指连接物联网区块链系统中所有内容的支持软件。它集成了物联网设备和区块链技术,为开发人员提供了一个直观的管理平台。便于通信、数据流和设备管理。这个类别的核心层是中间件层。中间件的性质定义了平台服务的功能。在此类别中,不指定应用层和物理层的元素。区块链层和网络层需要支持中间件的功能。例如,在智能合约中允许数据完整性检查。
- Sagirlar等人提出了一种新的物联网区块链平台Hybrid-IoT[2018]。该平台实现了基于PoW和BFT算法的共识。作者将子区块链和区块链间定义为物联网区块链的区域结构。在该架构中,两个PoW子区块链通过BFT内部连接器框架连接。
- Bahga等人介绍了一个工业物联网(BPIIoT)平台[2016]。该平台允许用户开发具有区块链特性的应用程序(DApps)。在平台中,物联网设备需要在区块链网络上注册。用户可以在单板计算机(SBC)上开发应用程序,以控制和管理区块链网络和物联网设备。
- “京东”电子商务公司发布区块链平台“京东区块链开放平台”[2018],专注于提供区块链技术的物联网解决方案。区块链平台提供区块链网关服务、区块链节点服务和区块链共识网络服务。该平台采用类似bft的共识算法。此外,还使用身份验证协议来控制访问区块链网络的次数。系统有三种对等点:共识对等点、网关对等点和物联网设备。网关对等体在中间件层中发挥作用,集成来自较低层的输入和协议。
- Liu et al.[2017]提出了一个基于区块链系统实现物联网数据完整性和安全性的框架。作者描述了提议的分散数据完整性服务框架的关键组件。该框架通过数据完整性验证协议实现了完全的去中心化。它为物联网系统中的用户提供可靠的数据完整性验证,无需第三方审计人员。在该框架中,IoT设备负责生成数据并将数据写入以太坊。用户可以通过数据用户应用程序检查数据完整性服务提供的数据完整性。
- Alphand等人[2018]提出了一种架构“物联网链”,它结合了OSCAR架构[2015]和ACE授权框架[2017]。在物联网中,每个注册用户都有一个授权令牌。它标识一组资源的特定特权。当用户希望访问一个对象时,用户需要将包含所需数据的交易发送到智能合约地址。然后智能合约将为数据用户生成一个授权令牌。该架构使用区块链代替集中式ACE授权服务器。在此架构中,物联网设备负责数据生成。数据所有者负责将数据上传到区块链。OSCAR架构和ACE授权框架负责确保用户数据的安全。
以上提及的物联网区块链应用信息总结:
Consensus
**共识机制帮助网络中的多个参与者达成必要的协议。**共识机制在提供可靠服务时应该是容错的。在区块链的去中心化环境中,共识机制是一组规则,依赖于多个参与者的贡献,共同维护同步状态。共识机制应具有有效性和一致性,才能正常发挥作用,同时保持效率和成本效益,以确保高效。
Common Consensus Mechanisms
文本根据共识机制的实现将它们分为四类:
1.Byzantine Fault Tolerance Series
- 拜占庭容错(BFT)[2003]是解决系统中处理器可能以任意方式故障时达成协议的解决方案。BFT是一种基于副本的方法,它利用副本之间的通信,在没有限制或假设的情况下,根据请求达成协议。
- 实用拜占庭容错(PBFT)[1999]是基于BFT机制。它通过将经典拜占庭一般问题的复杂性降低到多项式级别,并使其能够在异步系统中正确运行,从而提高了系统性能。PBFT网络应至少由3f + 1个节点组成,以容忍f个缺陷节点。在区块链系统中,需要2f + 1个节点才能获得交易块的共识。
- HQ复制[2006]是一种优化PBFT的协议。它减少了传播的信息量,使PBFT更加高效。
- 鲁棒拜占庭容错协议(RBFT) [Corp 2019]实际上是一系列加强传统PBFT鲁棒性的协议。RBFT通过对PBFT算法的改进,保证了系统在最佳和最差情况下性能基本一致,从而提供了一个真正实用的BFT。
BFT系列共识协议仍然存在一些问题。例如,人们不能动态地加入或退出区块链系统。
2.Proof-of-Somethings (PoX) Series
与BFT协议及其变体相比,PoX算法采用特定的概率机制,不需要关于系统中节点操作的完整信息。它基于网络中良性节点总是比恶意节点多的假设。由于PoX算法不需要来自参与节点的所有信息,因此使用PoX的系统不限制节点的加入或退出。
- 工作量证明(PoW)[2008]要求节点解决计算复杂的数学难题。
- Dwork和Naor引入了PoW的改进版本,它提出了拜占庭一般问题的概率解决方案。它还确保了区块链系统在具有大量不可信节点的环境中的稳定性。
- 权益证明(PoS) [2017]依赖于一个假设,即持有更多货币的用户更有动机确保系统的可靠性,并且不太可能扮演恶意节点。
- 在DPoS [2014]中,人们会根据每个节点的货币数量来选出几个超级节点。新闻块将由选定的超级节点生成。这种方法降低了区块链系统的去中心化,需要新的节点信任这些超级节点。
- 容量证明(PoC) [2015],也称为空间证明(PoSpace),利用本地计算机磁盘中的空闲空间进行挖掘。PoC共识协议的一个著名应用是星际文件系统(IPFS) [IPFS 2019],这是一个基于分布式哈希表的点对点文件系统。
- 权威证明(PoA) [2016]共识协议,旨在减轻对计算能力或硬币数量的要求。POA引入了一个称为权威的新概念。只有拥有权限的节点才可以生成新的区块,从而保证了整个链的安全性。
- 重要性证明(PoI) [2018]是一种共识机制,用于确定哪些网络参与者有资格向区块链添加区块。
- PoB (proof -of- burn) [2018]是一种共识协议,矿工应该证明他们已经烧毁了一些硬币,这些硬币被发送到一些不可花费的地址。这些被销毁的硬币的数量决定了矿工发行新区块的概率。
3.DAG Series
有向无环图(DAG) [2018]被提出[2015]来改善传统单链区块链系统的并行性。DAG采用有向图数据结构连接块,其相关的共识机制与其他机制不同。每笔交易都将与前两笔交易记录相关联。在这种情况下,可以通过引用以前的交易来证明当前交易的合法性。
与其他PoX共识协议相比,DAG只关心可数的关联事务。DAG块不是在链表中链接,而是在树中链接。每个节点只检查与其关联的交易的合法性。这种机制以牺牲分区容差为代价,提高了效率和可用性。
- Byteball [2016]引入了一种采用DAG作为共识机制的去中心化系统。在这个系统中,每个人都可以通过支付与数据大小成比例的费用向数据库中添加新数据。
4.Ripple Series
Ripple网络[2016]中有两种节点:服务器节点和客户端节点。Ripple服务器为共识过程维护一个唯一节点列表(UNL),然后对交易的真实性进行投票。如果协商一致的协议超过80%,那么所有公认合法的交易都被包括在区块链中。然后将该分类账作为新的最后结算分类账关闭。与那些需要查询网络中所有节点的PBFS节点相比,Ripple中的服务器只查询其UNL的至少80%的百分比。
Comparison between Consensus Mechanisms
Consensus Characteristic in IoT Blockchain
大多数物联网区块链应用都使用PoW作为共识机制。但由于物联网设备的计算能力、能量和存储容量有限,物联网区块链的共识机制应该在能耗、系统性能和安全性之间取得平衡。文本将物联网区块链的特点总结为高能效和轻量级共识机制。
1.高能效
物联网区块链需要有效地执行共识过程。考虑到物联网设备存储和计算能力的限制,物联网区块链采用轻客户端或无矿工。
- IOTA采用DAG共识:网络中每个想要生成交易的节点必须通过批准两个先前的交易来积极参与共识过程。此外,IOTA中没有矿工,这更节能。
- Ambrosus [2019]使用物联网传感器收集客户端供应链数据,然后通过权威证明(PoA)共识协议进行身份验证。该协议将身份验证能力授予最受信任和高完整性的主节点。
- Helium [2018]采用了蜜獾BFT,它在妥协和结果之间提供了完美的平衡。
2.轻量级共识机制
- Atonomi[2019]部分采用以太坊网络,尽管其交易处理可能变得昂贵或速度限制。采用以太坊作为其网络意味着Atonomi可以立即使用以太坊部署良好的功能。
- 物联网链(ITC)[2018]结合了几种技术,如可验证虚拟路由转发(VRF)、实用拜占庭容错(PBFT)、有向无环图(DAG)和简化支付验证(SPV),构建了一个基于区块链的轻型操作系统。
- WaltonChain[2018]旨在为物联网提供基于区块链的完整数据交换和绝对的信息透明。采用父子链架构。它的共识机制被称为WPoC(沃尔顿链贡献证明)。
- Blockcloud [2018]提出了以服务为中心的区块链架构来增强物联网。设计了一种新的共识协议——服务证明协议,提供去中心化的信任和安全服务。
Traffic Model of IoT Blockchain
总结了现有分布式系统的流量模型,并提供了对物联网区块链的分析和流量模型。
Current Traffic Models
在现有的区块链流量模型工作中,由于区块链的消息交换、消息验证、交易过程都像P2P网络一样由对等节点处理,所以大部分都是基于点对点流量模型。本文首先总结现有的P2P流量建模工作,然后说明区块链流量建模的相关工作。
1.P2P网络建模
点对点网络由相互连接的设备组成,这些设备在彼此之间共享资源,而不需要集中管理。
-
BitTorrent是一种基于P2P网络的流行应用程序。Qiu和Srikant[2004]引入了一个流体模型来分析BitTorrent系统的性能。建模结果可以深入了解不同参数对网络性能的影响。
-
Kazaa是另一个著名的P2P应用程序。Gummadi等人[2003]分析了Kazaa P2P文件共享流量,以调查文件共享工作负载的性质。
-
Hefeeda和Saleh[2008]进行了为期8个月的流量测量,以研究缓存相关的P2P流量特征。结果表明:P2P网络的流量分布服从Mandelbrot-Zipf分布。
-
Li等[2011]建立了基于多维支持向量机(MSVM)的P2P网络流量识别模型。该模型使用MSVM作为分类器,对P2P流量和非P2P流量进行识别,并进行特征提取、数据处理和MSVM训练。
2.区块链相关流量建模
随着区块链技术领域的巨大发展,出现了不同的通信模式。它们有不同的流量模型,在算法、处理能力、时间和存储方法方面也有所不同。文本将其分为三种类型:Gossip协议、Kademlia算法和有向无环图(DAG)。
Proposed Traffic Models
1.区块链流量模型
区块链的流量主要分为两个部分:块生成和块传播。过程示意图:
详情
2.物联网区块链流量模型
分为两类,结构如图:
- 区块链网络结构中的物联网设备:在此结构中,IoT设备充当区块链网络中的正常节点。在区块链网络中,物联网设备节点被视为轻节点。他们不需要存储完整的区块链副本并进行挖掘工作。这种结构实现了最大程度的去中心化。有预先配置的高性能节点作为区块链网络的骨干。
- 区块链网络结构之外的物联网设备:在此结构中,区块链网络被视为一个独立的网络。中央基站被放置以直接与物联网设备节点交互。物联网设备节点发出的请求将由基站处理后发送到区块链网络。当区块链网络确认交易时,物联网设备将收到通知。这种结构的好处在于它的方便配置和维护,可以使物联网系统利用区块链的功能,而无需区块链的维护成本和配置开销。
Conclusion
本文全面概述了物联网区块链,包括典型架构、通信协议、应用程序和流量模型。
未来的研究方向:文章来源:https://www.toymoban.com/news/detail-411045.html
- 设计在区块链网络中增强物联网设备性能的新的共识机制。
- 解决区块链网络中物联网设备的可扩展性、处理能力或存储问题。
- 物联网区块链流量模型分析。
- IoT与区块链集成时如何确保安全性。
- 在保证系统安全的同时,允许众多物联网组件加入专用网络的访问控制很难实现。
此外,物联网区块链应用的监管和发展政策仍然缺失。没有指示或规则可以遵循。需要全面的监管来明确规则,并指导物联网系统和区块链技术的整合。文章来源地址https://www.toymoban.com/news/detail-411045.html
到了这里,关于A Survey of IoT Applications in Blockchain Systems Architecture,Consensus,and Traffic Modeling 论文学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!