没有合适的资源?快使用搜索试试~ 我知道了~
物联网安全挑战与区块链解决方案
区块链:研究与应用2(2021)100006关于物联网中采用区块链的调查:挑战和解决方案Md Ashraf Uddin*,Andrew Stranieri,Iqbal Gondal,Venki Balasubramanian互联网商务安全实验室,澳大利亚联邦大学,Mount Helen,Ballarat,VIC,3350,澳大利亚A R T I C L E I N F O保留字:区块链技术共识机制区块链加密基元医疗保健病人监护物联网雾软件定义的网络区块链应用A B S T R A C T传统的物联网(IoT)生态系统涉及从传感器通过Fog设备到集中式云服务器的数据流。出现的问题包括由于云服务器的第三方管理而引起的隐私问题,单点故障,数据流的瓶颈以及从安全和维护角度来看定期更新数百万智能设备的固件的困难。区块链技术避免了可信的第三方,并防止了单点故障和其他问题。这激发了研究人员研究区块链在物联网生态系统中的应用。本文分析了物联网区块链、云物联网区块链和雾物联网区块链在电子健康、智慧城市、智能交通和其他应用背景下的最新进展。障碍,研究差距和潜在的解决方案也被1. 介绍如今,物联网(IoT)已经吸引了学术界,研究人员和企业家巨大兴趣,这要归功于其在各种应用中提供创新服务物联网无缝地互连异构设备和对象,以创建物理网络,其中传感,处理和通信过程在没有人为干预的情况下自动控制和管理[4]。随着智能家居、智能城市和其他智能事物的出现,物联网已成为一个巨大的优势、机遇和发展领域,预计到2020年将有超过500亿台连接设备[5]。不同的网络技术,包括无线传感器网络(WSN)、机器对机器(M2M)或网络物理系统(CPS),已经被开发为文献中更广泛的术语IoT的独立元素。因此,与WSN、M2M或CPS相关的安全问题出现在具有标准IP网络协议的IoT中,该标准IP网络协议需要保护整个网络框架免受安全攻击。否则,恶意攻击可能会阻碍物联网服务,并危及整个网络的数据安全、用户隐私和机密。然而,区块链首次成功应用于加密货币,有可能成为物联网应用的高度安全和隐私保护技术[6,7]。区块链是指一种分散的、防篡改的交易数据库,它提供了一种安全的方式,以存储和处理大量网络参与者之间的信息[8]。在当前环境下,大量物联网设备产生的大量数据可能会成为物联网系统的瓶颈,导致服务质量(QoS)低下[9]。单点故障是指系统中的一个组件,如果崩溃,它可以中断整个网络的运行,这在任何实现高可用性和可靠性的系统中都是不可取的。区块链在物联网中采用区块链可以克服单点故障,并作为安全有效地存储和处理物联网数据的适当手段[8]。此外,区块链技术已经发展成为消除对传统权威机构或更广泛地说,在线中介机构的信任的重要补救措施,因为区块链据称消除了实体之间在区块链技术中,参与者服从于技术机制的权威,而不是使用可能被认为不值得信任的中心化组织的权威。Filippi等人 [13]指出,基于区块链的系统旨在建立对特定系统的信任,不是通过完全消除信任,而是通过最大化参与者之间的信任程度,作为间接减少信任需求的一种手段。区块链允许独立各方之间的信任圈,这些独立各方不同意依赖单一的第三方信任。这种信心或信任可以更容易地实现,因为技术* 通讯作者。电子邮件地址:mdashrafuddin@students.federation.edu.au(硕士) Uddin),a. federation.edu.au(A. Stranieri),iqbal. federation.edu.au(I.Gondal),v. federation.edu.au(V. Balasubramanian)。https://doi.org/10.1016/j.bcra.2021.100006接收日期:2020年9月5日;接收日期:2021年1月25日;接受日期:2021年2096-7209/©2021作者。由Elsevier B.V.代表浙江大学出版社出版。这是CC BY许可证下的开放获取文章(creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表区块链:研究与应用杂志主页:www.journals.elsevier.com/blockchain-research-and-applicationsM.A. Uddin等人区块链:研究与应用2(2021)1000062开放源代码软件,这表明在某种程度上,特定软件的代码可以开放,理论上可以更容易地预测可能的结果。因此,软件代码的可预测性越高,对系统的信任度就越高,对技术系统的开发者或操作者的信任度就越低例如,任何人都可以研究开放的比特币协议。因此,这向参与者保证,当矿工在工作量证明(PoW)中获胜时,网络将以特定的速度(每10分钟一个区块)产生一定数量的新比特币(12.5个比特币),而无需依赖任何金融机构或集中式机构。因此,区块链技术使参与者相信没有人需要被信任,也没有人可以假装是受信任的一方[14]。然而,区块链在区块链上处理物联网数据的挑战如图所示。 1、总结如下。功耗、性能和安全性之间的权衡:运行区块链算法所需的高计算能力减缓了这些基于技术的应用程序在资源受限设备上的发展。比特币的能源消耗与爱尔兰的国内电力消耗相比,物联网设备无法承担[ 16 ]。Zhou等人[11]报告说,整个比特币网络吸收的能量比包括奥地利和哥伦比亚在内的几个国家多得多此外,研究人员质疑区块链处理物联网数据的性能,并建议优化其中央算法以增加每秒确认的区块数量[9]。例如,消除区块链PoW共识机制可以降低功耗并提高性能[17]。相反,PoW可以防止恶意的Sybil攻击,并使块防篡改。因此,目标是完善区块链流程,以适当地调整安全性和效率[10]。数据并发性和吞吐量问题[9]:在物联网系统中,物联网设备不断传输数据,导致高并发性[18]。 由于其复杂的加密安全协议和共识机制,区块链的吞吐量有限。在链结构的分类账中,区块链节点之间的新区块的快速同步需要更高的带宽,这可以提高区块链的吞吐量[11,19]。因此Fig. 1. 在物联网(物联网)中采用区块链的挑战。挑战是提高区块链物联网的连接挑战[20]:物联网设备预计将连接到高计算存储和网络资源,以与潜在的利益相关者共享物联网数据物联网将它们与区块链技术连接起来的能力有限,以便为在各个领域实施新的应用程序和服务提供新的商机在区块链上处理大数据:在区块链网络中,每个参与者都维护完整分布式账本的本地副本 在确认新区块后,该区块将在整个P2P网络中广播,每个节点都将确认的区块添加到本地账本中。 虽然这种分散的存储结构提高了效率,解决了瓶颈问题并消除了对第三方信任的需求[21],但区块链上物联网数据的管理给参与者的存储空间带来了负担。研究在Ref。[22]计算出,如果1000名参与者每天在区块链应用程序中交换单个2 MB图像,则区块链节点每年需要大约730 GB的数据存储因此,面临的挑战是在区块链处理物联网数据时解决日益增长的数据保持透明度和隐私的挑战:区块链可以保证交易的透明度,这在金融等应用中至关重要。然而,当在区块链上存储及存取来自若干物联网系统(例如电子健康)的物联网数据时,用户的保密性可能会受到不利影响[ 23 ]。为了保持透明度和隐私的平衡,有必要使用区块链为物联网开发具有成本效益的访问控制物联网中区块链的监管挑战:虽然包括去中心化,不可变性,匿名性和自动化在内的几个区块链技术特征是各种物联网应用的有前途的安全解决方案,但这些特征结合起来构成了各种新的监管挑战。不变性意味着数据永久发布在P2P网络上的分布式交易分类账(DTL)中,并且无法删除或修改。此外,由于缺乏治理,在将记录发布到区块链上之前,无法对记录进行过滤以维护隐私。在DTL上执行智能合约等代码所产生的行为可能违反法律。由于DTL的匿名性,要区分为非法服务进行交易的各方并不那么虽然区块链的自动化功能带来了许多优势,但导致某些行为(包括代码错误和混淆代码)的行为者是模糊的。 当前的物联网法律法规正在变得过时,特别是随着区块链等新的颠覆性技术的出现,需要进行修订以进行DTL [25]。最近,研究人员[26Miglani等人 [30]调查了最近在能源互联网(IoE)背景下区块链技术的最新作品,为读者提供了对物联网领域区块链未来潜力和应用的广泛见解。他们描述了区块链智能合约在能源管理中的一系列应用,例如自动数据交换,能源交易,能源需求和安全区块链P2P网络上的交易。Alladi等人 [31]总结了区块链技术在无人机(UAV)系统中的各种应用,并深入分析了区块链的功能如何帮助克服UAV系统的问题。无人机是指一类机器人车辆,可以运输有效载荷,并通过远程或自主控制站执行打击任务。无人机带来了新的挑战,例如空中交通量的增加、最佳路线的建立、应急计划的生成、紧急情况的管理以及无人机群的管理和对无人机的网络物理攻击。研究表明●●●●●●M.A. Uddin等人区块链:研究与应用2(2021)1000063通过使用区块链等颠覆性技术,这些问题可以最小化。Alladi等人[32]还回顾了采用区块链技术的不同工业部门的最新研究,并解决了实施区块链的行业特定障碍。Hassija等人 [33]提出了许多安全问题,并确定了物联网应用程序在物联网平台不同层的多个网络威胁来源。 四种新兴技术:区块链,雾,云和机器学习已经被探索来处理物联网应用的安全和隐私问题。Hassijai等人[33]进一步讨论了解决办法本身提出的许多问题Alladi等人[32]总结了区块链在智能电网中的主要应用及其重要技术细节,以及商业实施的前景在这篇调查文章中讨论了将区块链应用于智能电网的挑战以及该领域未来的研究方向。Vangala等人[34]进行了一项全面的文献综述,以分析利用区块链技术的智能农业的最新进展的安全性。他们还提出了一个通用的基于区块链的智能农业安全架构。作者强调了现有研究的缺点,并提出了人工智能领域未来的研究方向我们文章的目标是回顾最近在各个物联网领域与区块链相关的最先进的作品,并就不同的区块链术语讨论这些作品。我们的论文在几个方面与现有的综述文章不同。大多数评论文章[26-29]都关注区块链在特定物联网领域的应用。相比之下,我们回顾了来自不同物联网领域的最先进的作品,包括电子健康、智能家居和智能车载网络。目前的调查论文介绍了现有的区块链研究,涉及有限数量的功能,同时我们概述了在各种组件的背景下对已审查研究的细分。此外,本文还对区块链技术的基础进行了详细的介绍以吸引广大读者。我们在文章中的贡献如下:(1) 描述区块链技术的不同组成部分,如交易,数字签名,区块,共识机制和区块链类型,以及它们在物联网领域应用时的优势和局限性。(2) 回顾最近使用区块链的研究工作 分析关于以下属性的文献:a)要使用的区块链类型,b)要应用的共识机制,c)是否实现了访问控制机制,d)是否解决了可扩展性,e)链上或链下的存储方法,f)使用了哪些工具或模拟器,g)推进了哪些主要贡献/成果,以及h)限制/备注。(3) 在考虑将区块链纳入物联网方面的研究差距和挑战被确定并讨论了文献中提到的可能解决方案。表1列出了本文中使用的首字母缩略词本文的其余部分组织如下:为了适应各种读者,本文从区块链技术的基础知识开始第2.1、2.2、2.3和2.4节分别概述了区块链在此之后,本文分别在第2.5、2.7、2.6和2.8节讨论了区块链在物联网、雾、物联网和软件定义网络(SDN)技术中的潜在适应性。在第3.1、3.2、3.3和3.4节中介绍了在医疗保健、供应链、智能家居、智能车载网络和各种物联网应用中探索区块链和物联网、区块链和物联网云以及区块链和物联网雾模型的最新作品表1缩略语列表缩写定义缩写定义IoT物联网BC区块链WSN无线传感器网络M2m机器对机器CPS网络物理系统QoS服务质量功率工作量证明BCIoT区块链和物联BCCoT区块链和物联BCFoT区块链和物联DS数字签名PKC公钥密码POS权益证明BFT拜占庭容错POA授权证明诗人时间流逝的证明SGX英特尔软件卫士EX紧张局势DDoS分布式拒绝服务LPOs租赁权益证明DPOs委托权益证明DTL分布式事务分类帐P2p对等EHR电子健康记录EMR电子病历IOE万物互联NOS网络操作系统猫计算机断层扫描TRL事务和读取延迟TRT事务和读取吞吐量TL事务延迟RL读取等待时间安倍基于属性的加密IPFS星际文件系统坐安全访问令牌GDPR通用数据保护条例CSP云服务提供商AHS人工保健系统API应用编程接口ARX添加旋转异或SVM支持向量机VANET车载分布式Ad-hocOBU车载单元核心通用开放研究仿真器MAS多agent系统RSU路边单元AV自主车辆NFV网络功能虚拟化Sdn软件定义网络CH簇头SC智能合约Iout水下物联PoBT大宗交易的证据ACL访问控制列表贝什人体区域传感器网络RFID射频识别PCA患者中心代理RPM远程患者监测DAG向无环图HLFHyperledger FabricLSTM长短期记忆G2v网格到车辆V2g车辆到电网SWF简单工作流程服务EVM以太坊虚拟机VANET车载自组网IOE能源互联网M.A. Uddin等人区块链:研究与应用2(2021)10000643.4分别。在第5节结束文章之前,在第4节中描述了已确定的研究差距和解决方案。2. 区块链、物联网、雾、物联云和SDN范式本节详细介绍区块链技术,并包括区块链和物联网、物联网迷雾、物联网和SDN带来的问题。区块链的基础知识在下一节2.1中提供,然后是每个组件的详细描述2.2节。在第2.3节中,描述了使用物联网部署区块链的目标以及一些限制。本文回顾的研究包括物联网,雾和云的物联网与区块链技术,以构建电子健康,无线传感器网络和智能家居等框架。物联网、雾、物联网、SDN以及区块链技术分别在第2.5、2.7、2.6和2.8节中进行了描述,然后回顾了包含上述技术的不同领域的现有研究2.1. 区块链技术区块链通常被定义为P2P网络上的透明,可信和分散的分类账[10],并且主要被称为Satoshi Nakamoto于2008年发明的虚拟比特币加密货币的基础技术。区块链上的数据单元称为交易,并且一定数量的交易被捆绑在一个块中。一个去中心化的区块链分类账是用所有确认的区块创建的。分布式账本中的区块使用区块的加密哈希码链接到先前批准的区块[36]。这项新兴技术已经被广泛探索,以开发数字加密货币以外的一系列应用。P2P网络中的每个参与者都可以验证网络中其他参与者的行为,以及进行,验证和批准要记录在区块链中的新交易。 这种基础设施保证了稳定和有效的区块链操作,具有防篡改的好处,并减少了单点故障的脆弱性[37]。 区块链分类账可供所有参与者使用,但仍然不受任何网络当局的监管。这一原则是通过在网络节点之间施加严格的规则和相互协议来实现的,其特征在于共识机制。共识机制是指在区块链网络中的所有节点上同步分散式分类账的过程 图 2提供了比特币区块链如何运作的概述。2.2. 区块链技术的描述许多研究文章[32,38,39]将区块链技术划分为不同的层。 本节描述了区块链技术的五个层次,以及对区块链与不变性、安全性和完整性相关的核心属性的调查。下面讨论图3中描绘的区块链的分层结构。图二. 比特币区块链的基本操作(经许可采用参考文献[35])。P2P:Peer to Peer。这里,项目符号前面的上标映射到图1的不同步骤。 二、● ①参与者A向另一参与者B转移一定数量的数字硬币。 A的设备发起交易。参与者通常可以使用他们的便携式设备,如智能手机,笔记本电脑和低处理计算机进行交易。交易用A的私钥签名● ②A区块链协议在这个网络上实现。● ③区块链网络上的节点复制交易并在整个网络中广播节点将一定数量的交易打包在一个Block中。图中描绘了典型块的结构。 四、● 所有参与者只有在通过解决复杂的数学难题(称为工作量证明)创建目标哈希码时,才会将区块添加到现有的确认区块链这个过程称为共识机制,在计算成本和周转时间方面有所不同一些流行的共识机制将在后面的章节中讨论。● CQBM.A. Uddin等人区块链:研究与应用2(2021)1000065图3. 区块链技术的分层结构。pBFT:实用拜占庭容错; DAG:分布式无环图; VM:虚拟机。2.2.1. 数据层这一层由交易、区块、哈希函数、Merkle树和数字签名组成。该层的重要组件讨论如下:数据块:区块链从根本上说是一个区块链,一个线性结构,从一个所谓的创世块开始,并继续与连接到该链的每个新的确认块每个区块都包含几个交易,并有一个包含其紧邻的前一个区块的标签的字段因此,链中所有确认的区块都可以通过加密哈希码追溯;任何区块的数据都不可能被修改或更改一个典型的数据块分为两部分:事务记录和头。交易记录被组织在Merkle树中,如图所示。 四、 Merkle树是一种二叉树结构,它总结并允许在大型数据集中有效安全地检查内容。如果交易没有打包到Merkle树中,网络的每个节点都需要保留区块链上发生的每个交易的完整副本[9]。Merkle树通过生成整个交易集合的数字指纹来总结区块内的所有交易,使用户能够检查交易是否包含在区块中。 如果单个事务被修改或更改,Merkle树根也会被修改。区块头中的一个字段包含生成区块时生成的Merkle树根。 Merkle树是通过重复散列节点对直到只剩下一个散列来生成的,这个散列被称为根散列或Merkle树的根。每个叶节点保存交易数据的哈希,每个非叶节点包含其先前哈希的哈希 当用户在区块链上进行活动时进行交易。例如,如果用户交换数字货币或签订合同,则创建具有关联元数据并使用用户私钥签名以确保信任的交易。一般来说,区块头包括:1)前一个区块的散列用于认证,2)用于打包一组事务的Merkle树根,3)通过一致性机制产生低于目标级别的散列值的Nonce,以及4)涉及块已被创建的时间的时间戳图 五是从参。[40]演示了从区块链块的头部生成摘要的典型过程标头被划分为两个部分。第一部分被馈送到SHA 256散列函数,其输出为初始化向量(IV),并且报头的第二部分被输入到第二SHA 256散列函数。最后,来自第二SHA 256散列函数的具有256位填充的摘要被馈送到第三SHA 256函数,以从块报头产生最终摘要。在PoW区块链中,区块头中的nonce字段由Miner节点不断递增,直到生成目标哈希码。该区块在P2P网络上的参与者之间共享,并且每个参与者仅在该区块被后一节中描述的共识机制批准的情况下才将该区块链接到现有的区块链因此,在区块链上形成了一个分散的分类账,每个节点存储该分类账的一个副本这消除了对中央控制点的需要,导致区块链参与者之间的高度公平此外,分布式账本中的每个区块总是具有与时间戳相关联的独特加密签名,这使得账本可审计且不可更改。2.2.1.1. 数字签名数字签名(DS)[41]是指一种加密方法来验证数字内容并保证其完整性。DS使用公钥密码(PKC)系统。PKC由成对但不对称(不相同)的公钥和私钥组成。密钥对中的公钥通常与授权实体共享,并且该密钥对的所有者不披露私钥。密钥中的任一个都可以被应用于加密消息;未被用于加密来自对的消息的相反密钥被用于解密消息。M.A. Uddin等人区块链:研究与应用2(2021)1000066见图4。 块的结构图五、比特币区块头哈希算法(采用自Ref.[40]许可。M.A. Uddin等人区块链:研究与应用2(2021)1000067图第六章 公钥和私钥对的属性。(a)显示讯息是以公开密码匙加密的,则利用私人密码匙将讯息解密(b)显示消息的密文是使用私钥生成的,明文是使用公钥生成(c)描述了一种加密散列函数,这是一种数学算法,它采用任意数量的数据输入,将内容映射到称为散列值或只是“散列”的固定大小的位数组。见图7。 比特币区块链中数字签名的形成和验证过程。留言该 图 6(a)表明消息是用公钥加密的,私钥用于解密消息。或者,Fig. 图6(b)示出了消息的密文是使用私钥生成的,而明文是使用公钥生成的。用户的公钥被称为他或她的地址,就像比特币或以太坊等区块链技术中的银行账户一样。任何人都可以将数字货币发送到用户的地址(公钥),只有用户可以使用相应PKI的私钥访问货币。 图 7解释了使用私钥对消息进行签名并验证比特币区块链中的公钥的消息使用发件人的私钥对消息进行签名:要生成消息的数字签名,发件人的签名算法将生成消息的单向散列。图1所示的加密散列函数。 6是一种数学算法,它需要输入任意数量的数据,将内容映射到一个固定大小的位数组,称为哈希值或只是“哈希”。散列算法是一个单向函数,实际上不可能反转[40]。哈希也称为●M.A. Uddin等人区块链:研究与应用2(2021)1000068消息的摘要用发送者的私钥加密摘要连同其他信息,如散列算法,rithm附加在原始消息作为DS的传输数据。用发送者的公钥验证电文:接收者的签名算法分两步验证与原始内容相关的电子签名:1)生成电文的散列或摘要,2)使用发送者的公钥解密附加的数字签名。如果两个列表相同,则数据未被更改。否则,要么消息或签名已被更改,要么摘要尚未用相应公钥的私钥解密。2.2.1.2. 数字签名的不同类型和方案在本节中,我们简要讨论了不同形式的数字签名方案,表2列出了用于在区块链中实现数字签名的各种技术的优缺点。(1) 聚 合 签 名 : 聚 合 签 名 [42] 是 一 种 基 于 co-GDH ( Gap Dif fie-Hellman)的传统数字签名方案。[43]和具有聚集函数的双线性映射。该方案将多个文档的签名合并为一个签名。例如,具有公钥PK1,...,PK n的用户对消息M 1,...,M n签名并创建签名s1,...,s n。 利用聚合签名方案,签名(s1,...,sn)可以被压缩成一个小签名s. 可以使用相应的公钥集合来验证该单个签名,以检查消息的完整性(M1,.,M n)。因此,聚合签名可以解决有限存储和带宽的问题。(2) 群签名:群签名方案[44]是一种使群中的一个成员能够代表群匿名签名的方法,在特殊情况下,提供了追踪签名者身份的可能性组中的参与者可以使用验证密钥来验证签名,该签名确实是由组中的某人创建的,但无法发现谁创建了签名。 在发生冲突或不当行为时,权威机构可以使用跟踪密钥来跟踪签名者。HeliX block-chain[45]实现了群签名,以确保交易在块中以公平的方式排序。(3) 环签名:环签名方案[46,47]使参与者能够以匿名的方式代表一个自发的团体签署一份文件与群签名不同,环签名方案不需要群管理员来构造群或为群成员分配密钥换句话说,签名者包括Bytecoin [48],ShadowCash [49],Monero [48],Zcoin [50]和Dash [49]在内的几种加密货币实现了环签名以保护用户(4) 盲签名(Blind Signature):盲签名[51]是一种数字签名形式,在签名之前使文档盲化因此,签名人将不知道文件的内容可以应用各种PayCash [52]和Moneta EX press [51]已经在他们的支付系统中实现了盲签名。(5) 代理签名:代理签名方案[53]使一个称为指定者或原始签名者的实体能够将授权委托给另一个称为代理签名者的实体,以在其上签名消息表2RSA,ECDSA和ElGamal方案形成数字签名。数码签署的优点及缺点RSA [54,55]这个签名方案是基于RSA密码学的。RSA的强度来自于分解大整数的计算复杂性,大整数是两个大素数的乘积。ECDSA [55,56]椭圆曲线密码(ECC)是RSA的替代数字签名基于椭圆曲线理论的开发,可以产生更快,更小,更强大的加密密钥。该算法ElGamal加密系统[57]这种技术的安全性源于计算离散有限域图。ElGamal加密系统包括加密和数字签名算法。密钥分配非常方便。与对称密钥相比,大型网络所需的密钥数量较少。需要低的运算速度和高的计算成本。RSA易受乘法攻击。ECDSA更快、更小、更强大。不会出现基于应用程序的性能问题。对于两个不同的内容,签名相同的可能性很小。由于概率性质,这提供了高级别的安全性该系统便于使用单个密钥对大量数字进行数字签名。需要更长的计算成本来使文本长度加倍。表3DSA、GOST、Schnorr、Rapid和Rabin方案构成数字签名。数码签署的优点及缺点DSA是一个用于数字签名的联邦信息处理标准,基于模幂运算和离散对数问题的数学概念。DSA是Schnorr和ElGamal签名方案的变体。GOST R34.10需要更低的计算成本和存储空间。DSA有复杂的余数运算来验证签名。如果只需要一组曲线要求,则不需要曲线使用建议。Schnorr签名算法[60]这是ElGamal加密系统和FiatShamir方案的一个变体。快速数字签名[61]是BLS、Dif fieHellman和Fiat-Shamir方案的基础。简化计算,提升性能水平。仅限于具有配对功能的组。Rabin Crypto系统[62]安全强度源于整数分解的难度更高的运算速度。易受基于所选密文的攻击。●M.A. Uddin等人区块链:研究与应用2(2021)1000069þ在原始签字人因临时缺席、缺乏时间或处理能力而无法签字的情况下,由代理人签字不同的数字签字算法在生成公共/私人钥匙的技术上各不相同。形成数字签名的几种方案在表2和表3中给出。2.2.2. 共识层没有委托任何中央机构来监控交易,或者当节点在区块链网络上交换数据时防止攻击者操纵或更改数据。 为了避免与欺诈相关的活动,如双重支出攻击,必须检查区块的可信度,并控制数据流以确保信息的顺利交换。这些要求是使用验证协议,称为共识算法。在区块链上下文中,共识算法是一种在单个数据块上的多个不安全节点之间达成协议的方法下面描述了文献中的几种共识机制,并在图8中显示了共识机制的五种分类:PoW,权益证明(PoS),拜占庭容错(BFT),权威证明(PoA)和经过时间证明(PoET)。下面描述了几种共识协议(1) 实用拜占庭容错(pBFT):BFT [64]源自拜占庭一般问题,旨在分布式网络中的节点之间达成协议,即使网络中的某些节点无法响应或响应错误信息。 BFT机制可以通过集体决策来防御网络故障,从而减少被攻击节点的影响。实际的BFT共识机制描述如下:(a) 一个集中的权威机构选择一组节点[65]。该组中的一个节点被选为主节点,通常称为领导者。其他也被轮流选作主节点的节点称为次节点或备份节点。(b) 接下来,客户端(c) 在此之后,主/领导节点在整个网络中广播请求,使得所有辅助/备份节点接收请求。(d) 主节点和辅助节点都执行客户端请求的服务并向其发送应答。如果客户端收到m1个具有相同结果的响应,则服务成功确认,其中m是网络内允许的缺陷节点的数量。实际BFT在具有有限数量节点的分布式网络中有效地工作,但是使用该协议,对于加入网络的每个附加节点,通信开销呈指数级增加。此外,实际的BFT很容易受到Sybil攻击(一个参与者维护了许多可以攻击此机制的标识符)[66]。(2) 经过时间证明(PoET)[37,67,68]:在经过时间证明中,区块链上的参与者必须等待一个随机时间。首先完成等待期的参与者将被提名为创建新区块的领导者。然而,参与者可以故意选择一个短的等待时间成为赢家,或者赢家可能不会完成其等待时间。为了解决这一问题,英特尔实施了英特尔Software Guard EX tensions(SGX),使企业能够在安全的环境中运行,为应用程序提供可信代码。SGX [12]指的是一组特定的CPU指令,可以防止参与者操纵PoET中的等待时间。 英特尔SGX创建证书,确保特定的受信任代码在受保护的环境中正确运行。新的参与者需要下载可信程序才能加入区块链。在SGX硬件上执行的可信程序为参与者生成SGX证书,其中包括用户的公钥。参与者将此证书发送给网络的其他部分,请求加入区块链的许可。可信程序向参与者提供使用可信程序的参与者需要等待计时器对象中指定的时间这种方法比其他共识协议(如PoW)更节能(3) 租赁权益证明(Leased Proofof Stake,LPoS)[69]是标准PoS共识协议的变体。在常规PoS中,每个拥有一定数量数字货币的节点都有资格挖掘下一个区块。但是,持有更高数量加密货币的节点在采矿过程中获胜的机会更高因此,拥有小型数字货币的节点不太可能成功挖掘下一个区块,或者需要等待很长时间。LPoS已经被提出来克服标准PoS的缺点通过LPoS,拥有少量股权的参与者可以将其股权出租或出租给完整节点(股权节点),这增加了完整节点成为下一个矿工的机会。租赁资金仍由持有人完全控制。如果该抵押节点有机会添加一个区块,它将收到在抵押节点和租赁节点之间按比例共享的激励区块链用户可以选择作为一个完整的节点运行,或者将他们的股份出租给一个完整的节点,以获得相应的奖励。(4) 委托权益证明(DPoS):在DPoS中,用户可以投票给在区块链系统中投资资源的节点。用户投票的强度因此,一组富有的节点可以支配网络,并决定谁将成为见证者。投票数较高的节点称为见证人,负责制作区块并获得服务报酬。然而,随着网络的扩大,证人不得不竞争以保持报酬。 本议定书的表决是一项持续的工作。如果见证人在处理块中扮演了不好的角色,则网络用户取消该见证人的(5) 带宽证明:在这个过程中,矿工会根据他们对网络的贡献来选择和奖励。图八、共识机制的分类。M.A. Uddin等人区块链:研究与应用2(2021)10000610然而,恶意节点可以错误地报告其带宽。因此,采用带宽测量方案来估计每个参与者对区块链贡献的带宽。区块链节点可以评估和测量彼此的带宽贡献,以达成关于中继带宽的准确共识。这种方法可以抵抗恶意节点合谋的攻击[ 71 ]。(6) 权威证明:PoA [72]是一种共识协议,为一小群指定的区块链参与者提供验证交易的权力 PoA协议利用了授权的信任,这表明块验证器不需要将硬币投入;相反,他们将自己的声誉投入系统。 PoA适用于私有区块链,并且可扩展,因为预先批准的验证器数量有限。(7) 认证证明:在PoW中,矿工执行的第一步是验证区块,然后计算区块的目标哈希值。相反,认证证明[74]打算通过根据PoW验证区块的交易来认证区块。在认证证明中,选择一小组可信节点来确认区块,然后将其添加到分布式账本中。 认证过程包括两个步骤:验证块的来源和将执行认证的每个节点的点增加1作为其信誉。 每次进行虚假认证的节点都会失去一个特定的信任值单位,并在其进行了一定数量的无效认证后被报告为常规节点。最后,验证器将该区块广播到整个网络中的所有节点,以更新分布式账本。认证证明被认为是物联网中合适的共识协议,因为它避免了物联网中节能分布式安全通信和计算的逆哈希计算[74]。2.2.3. 网络层网络层,也称为P2P网络,建立节点之间的通信。 P2P网络确保所有节点都可以发现并相互连接,以在整个网络中传播区块,并同步区块链的有效当前状态。 P2P网络是一种计算机网络,其中计算机(节点)是分布式的,网络的工作负载在多个节点之间共享,以实现区块链上的最终目标节点,用于处理交易和区块。区块链P2P网络中维护两种节点:全节点和轻节点。 完整节点确保使用共识机制中规定的规则检查和验证交易和区块,这也称为挖掘。 全节点负责在网络中保持信任,而轻节点可以进行交易并将其发送给全节点。 轻节点只能存储区块链的头部(密钥),而完整节点存储完整的分布式账本。分片:引入分片[75]来划分P2P网络,以提高区块链的性能。 分片是一种在P2P网络中分配计算和存储工作负载的拆分策略,与传统区块链不同,每个节点不负责管理整个网络的事务负载,而是处理与其分区或分片相关的信息。 图图9展示了区块链分片的一个例子。 在这种技术中,被称为碎片链的多个区块链由网络节点管理,而不是为所有交易维护单个区块链。每个分片都由自己的节点或验证器组成,这些节点或验证器应用PoW或staking或投票共识机制。见图9。 一个区块链分片的例子。客户端软件,如Geth、Parity或Pantheon。以太坊维护两种节点:轻节点和全节点。 轻节点运行客户端软件存储缓存和以太坊的状态。此外,轻节点参与验证交易的执行,而全节点在其本地存储中下载整个分类账,参与完全共识执行,验证签名,交易和区块格式并检查双重支出。以太坊节点执行以太坊虚拟机(EVM),就像运行字节码的Java虚拟机(JVM)一样EVM作为沙箱X es为智能合约提供了一个执行环境。EVM是一个图灵完备的软件;一个基于以太网的虚拟机,用于处理智能合约的内部状态和计算。HF区块链[79]由三种类型的节点组成:1)背书者,2)排序者和3)对等节点。对等节点托管账本和链码,也被称为智能合约。使用Fabric软件开发工具包(SDK)API的用户HF管理涉及由多个对等体(成员)组成的不同私有子网络的多个信道。每个通道维护其单独的分类账,该分类账存储在通道上的每个一组特定的应用程序和对等体可以通过通道与HF通信。HF中的交易流程分为以下三个阶段。认可阶段:首先,认可对等体从应用程序接收更新这些节点在不提交账本的情况下认可交易。 它们将交易的背书发送到订购者节点。订购阶段:订购者节点从背书节点收集各种应用 这些节点将交易排序到块中。分发阶段:最后将区块分发到区块链业务网络上的所有对等节点这些对等体将验证交易,并在成功验证后将交易提交到其本地账本副本2.2.5. 应用层区块链应用层包括智能合约、链码和dApp。该层包括两个子层:1)表示层和2)执行层。 表示层包括脚本、API和用户界面。这些工具用于连接应用层与区块链网络。 执行层包括智能合约,建议读者阅读[75了解区块链分片。2.2.4. 基础设施层我们描述了两个企业区块链的区块链技术基础设施层:以太坊[78]和Hyperledger Fabric(HF)[79]。用户链码和基本规则。表示层向执行层发送指令,执行层运行事务。例如,指令被发送到HF中的链码和EVM中的智能合约下面列出了应用层的组件。智能合约:用Solidity语言编写的智能合约[80]在以太坊运行时引擎上运行。编译器生成●●●●M.A. Uddin等人区块链:研究与应用2(2021)10000611在EVM上运行速度更快的智能合约的字节码在EVM上执行的代码与网络或文件系统隔离 智能合约是指在各种功能中呈现的一组业务逻辑,当针对这些功能的交易被发布时,这些功能被执行。智能合约的字节码在部署到EVM上后会被分配一个唯一的地址 与智能合约相关的交易可能会导致分散式分类账的状态发生变化。 图图10是用于管理电子商务网站信任的智能合约应用程序的示例。本文中回顾的许多研究在物联网应用中使用智能合约用于不同目的,如表4所示。Chaincode:在HF中,几个相关的智能合约被打包到链码中,部署在区块链业务网络中。例如,一个保险应用程序需要以多个智能合约的形式实现其业务逻辑,这些智能合约被命名为索赔、责任、处理等,它们共同构成了一个链码。链码管理HF中智能合约的打包和部署。此外,链码定义分类账数据的模式,启动它,基于共识对分类账执行更新,并响应对分类账数据的查询。与EVM不同,在HF中,用Java、Node.js和Go等标准语言编写的链码部署在不同组织拥有的对等节点上。链码在安全的Docker容器上运行的客户端应用程序可以通过代表性状态转移应用程序编程接口(RESTAPI)或SDK访问链代码。链码是针对特定通道发起的,其中管理员确定在通道上运行的链码的背书策略dApp:dApp是指在以太坊、比特币和HF等分布式区块链技术上运行的分布式Web应用程序。 DApp可以使用智能合约或链码与区块链进行交互。与传统应用程序不同,dApp一旦部署在区块链网络上,就不再2.2.6. 区块链技术图 11显示了DTL的分类。DTL在文献中的形式在数据结构和可访问性方面有所不同在链式结构的DTL中,区块以线性顺序相互连接,而图结构的DTL将交易存储在分布式非循环图(DAG)中[10,117]。 单个DAG事务直接相互连接,而不是连接在一起并
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功