移动边缘计算中的区块链技术研究进展
2020-08-19武继刚刘同来李境一黄金瑶
武继刚,刘同来,李境一,黄金瑶
(广东工业大学 计算机学院,广州 510006)
0 概述
区块链是一种只能添加不能修改的分布式数据库,是由中本聪于2008年在比特币系统中提出的一项底层技术[1],然而文献[1]并没有提及区块链概念,而是将其描述为一种按时间顺序将存储数据的区块以链条的方式组成特定数据结构,并用密码学工具确保其不可篡改、不可伪造以及公开透明的去中心化共享账本。从开放程度而言,区块链主要可分为公有链、私有链和联盟链。从区块链的发展历程而言,目前主流观点认为其发展可分为区块链1.0、区块链2.0及区块链3.0这3个阶段。区块链1.0的显著特征是以比特币为代表的数字货币,其应用包括数字货币的支付、流通等。区块链2.0中的数字资产和智能合约对金融领域更广泛的应用场景和处理流程进行优化。区块链3.0超越货币、金融范围的区块链应用,为各行各业提供去中心化的解决方案。
区块链比传统共识机制可扩展性更强,链式的数据结构使数据的存储和共享更加安全可靠,此外,去中心化、不可篡改等特性使其被广泛应用到云计算、物联网等领域[2],但其在移动边缘计算(Mobile Edge Computing,MEC)、雾计算以及微云计算中的应用和研究相对薄弱。其主要原因是区块链需要设置一个共识机制,如工作量证明(Proof of Work,PoW)机制,将区块链网络节点所达成的共识添加到区块链中。PoW机制通常需要占用大量的CPU和硬盘空间,而移动设备有限的计算、通信和存储资源将难以持续地执行工作量证明任务。网络中资源有限的节点(如移动设备)将无法直接参与挖矿和达成共识的过程,这将为基于区块链的移动边缘计算、雾计算以及微云计算等服务和应用带来挑战。
为更充分地利用网络计算能力,医疗保健、社会管理、物联网等领域引入了MEC体系结构。服务提供商将本地数据中心或服务器部署在网络的“边缘节点”上,如无线电接入网络的基站,以提高服务响应速度及降低服务成本。移动设备可以通过访问边缘服务器,卸载相关计算任务以增强其计算能力。鉴于以上特点,MEC技术在移动区块链方向具有较好的应用前景。目前,业界已开展了很多区块链技术与移动边缘计算[3-4]、雾计算[5-6]及微云计算[7]等技术的融合研究,然而这些解决方案在系统安全、资源管理等方面仍有所欠缺。在更复杂的移动环境下应用区块链技术来解决这些问题将面临巨大挑战,因此本文介绍移动环境下的边缘计算技术和区块链技术,分析资源管理、隐私保护等关键问题,以及区块链技术结合移动边缘计算技术所涉及的具体应用场景。
1 区块链技术
自2008年比特币概念被提出以来,区块链作为一种新型的分布式账本,其发展已经经历了3个阶段,包括区块链1.0、区块链2.0及区块链3.0,分别以比特币、智能合约、去中心化应用(Decentralized Applications,DApps)为代表。不同于传统中心化账本,区块链将完整账本的副本分散地存储在每一个节点中[8],保证了账本的不可篡改性。图1展示了一个区块链样例,区块链由若干个连续连接的区块组成,除初始区块外,每个区块通过一个反向指针指向其前一个区块,指针本质上是存储在区块中的前一个区块的哈希值(Block Hash)。
图1 区块链结构Fig.1 Structure of blockchain
如图1所示,区块链通常包含以下信息:1)区块链版本;2)前一个区块的哈希值;3)时间戳(Timestamp);4)随机数(Nonce);5)交易数量(TX);6)默克尔树根(Merkle Root)。其中,区块链版本的主要用途为验证该区块链所遵循的规则版本,时间戳表示当前区块产生的时刻,随机数是用于决定工作量证明中挖矿难度的参数,矿工对当前随机数进行递增并计算区块头的哈希值,直到该哈希值满足系统设定的条件,则将该Nonce值打包在区块中,其他节点可以根据该值验证是否满足条件。在该区块链中,每个区块所包含的交易记录被组织成一个由哈希值组成的Merkle树,其中,交易数据块的哈希值表示叶节点,子节点标签的加密哈希值表示非叶节点[9]。Merkle树根节点值为其子节点哈希值再次经过哈希运算得到的值,具体如图2所示。
图2 默克尔树结构Fig.2 Structure of Merkle tree
由此可见,攻击者对交易的任何伪造都将导致在上层中产生新的哈希值,从而改变根哈希,因此任何伪造都很容易被发现。区块的哈希值可用于标识每个块,如果一个攻击者试图篡改一个区块中的数据,则其需要篡改该区块之后所有区块中的数据。
1.1 共识机制
区块链技术需要在去中心化的网络中使得互不信任的节点验证区块的可信度,而无需第三方的参与。常用的共识机制包括PoW机制、权益证明 (Proof of Stake,PoS)机制和授权权益证明(Delegated Proof of Stake,DPoS)机制。90%的公有链系统都使用了PoW机制的变体[10],同时PoW也是比特币使用的共识机制。在该机制中,分布式节点只有成功地解决了计算难题(为区块头找到符合条件的Nonce值),其打包的区块才能被添加到区块链。这使得区块的创建变得困难,并减少了系统中的冲突。区块链通常会选择一条最长的链作为其主链,并得到节点的一致认同。PoW有助于阻止攻击者破坏系统,防止攻击者创建很多区块以及一个更长的可选链,并被节点所认证,从而逆转资金的转移。为使区块有足够的时间在网络中传播,文献[11-13]使用不同的哈希函数,每个种类中矿工计算设备的处理与内存能力不同,研究发现挖矿过程决定了单个矿工生成区块的时间呈指数分布,同时该理论可以拓展到整个区块链区块产生的时间间隔中。解决一个加密难题的预期工作量被称为难度,其根据上述哈希算法进行设定。虽然基于PoW的共识算法能够有效防止数据被篡改,但是其需要巨大的算力和能源消耗。因此,以太坊提出了PoW的改进型共识机制,即PoS机制,此时PoW被替换为矿工持有货币的数量证明,PoS因为没有复杂的哈希计算,所以减少了资源浪费,也提高了下一个区块的生成效率。DPoS机制是PoS机制的改进,采用一种民主代议制的形式,结合节点货币数量以及投票制,由节点投票选出一定数量的代理节点产生与验证区块。该机制减少了区块验证的节点数量,加快了区块验证速度。
1.2 智能合约
智能合约是一种执行合同条款的计算机化的交易协议。智能合约中定义的合同条款会在达到一定条件时自动触发执行。开发者拥有的区块链智能合约是将批准的合同条款转换成可执行的计算机程序,合同条款之间的逻辑连接也转换成程序逻辑流的形式。智能合约要求所接收到的数据是由区块链记录的未经过篡改的数据,且每个合约语句在链中执行,执行后的输出数据及记录将被存储在区块链中成为不可变事务。此外,开发人员可以为合约设置一定程度的访问控制,为每个函数分配访问权限。一旦满足智能合约中的条件,触发语句就会以预定的方式自动执行相应的功能。
智能合约的生命周期一般包括创建、冻结、执行和完成4个主要阶段[14]:
1)智能合约的创建:创建阶段分为迭代合约协商阶段和实现阶段。双方必须就合同的主要内容和目标进行谈判协商并达成一致,所有参与方必须在底层账本平台上拥有一个钱包,以保证签订合同的有效性[15]。协商通常是以假名的形式进行,以便于标识各方以及资金的转移,同时保证各方的安全。在合同的目标和内容达成一致后,协议必须转化为代码,合同的编码受到底层智能合同编码语言的表达性限制。将协商内容和目标转换为代码,需要在协商与实现之间进行多次迭代,合同的编纂版本经双方同意后,将在出版阶段提交至区块链。在此阶段,参与区块链的节点接收合约作为交易区块一部分,一旦该区块被大多数节点验证,合约就可以执行。
2)智能合约的冻结:智能合约提交至区块链后,需要链中多数节点认证以对其持久化[16]。为防止生态系统中智能合同泛滥,同时激励节点,区块链将会对此服务进行奖励,即向矿工支付一定的费用。从此刻开始,合同的所有内容和参与方信息都是公开的,可以通过区块链进行访问。在冻结阶段,智能合约的钱包地址发生的任何事务都将被冻结,节点将扮演监督者的角色,确保满足执行合约的先决条件。
3)智能合约的执行:当触发一定条件时,存储在区块链上的合约会由参与节点读取。在验证了契约的完整性后,智能合约的编译器将会自动执行代码[17]。执行的输入来自区块链数据库和相关参与方的外部数据,然后根据输入执行智能合约的功能。智能合约的执行将产生一组新的事务,并更新智能合约的状态,最终会收集所有新的状态信息提交至区块链,并通过共识协议进行验证。
4)智能合约的完成:智能合约执行后,产生的交易和新的状态信息存储在区块链中。共识协议确认后,之前认证的数字资产会被转移(解冻资产),在所有交易确认后合约履行结束。
1.3 去中心化应用
文献[18]将去中心化应用归入区块链3.0阶段,区块链3.0将区块链应用领域进一步扩展到金融行业,涵盖了人类社会生活的各个方面,并在各种社会活动中提供自我认证的信息,如医疗保健、知识产权、物联网、无线网络、社会管理、公益慈善和公共福利等领域[19],使其在不依赖第三方或权威机构的情况下获得信任、建立信贷和分享信息。区块链的巨大潜力已对学术界和工业界产生了很大的影响。在学术界,研究人员进一步拓展区块链研究方向,如跨链通信、区块链扩容、高可扩展性区块链、混合链等。在工业界,许多区块链应用已经付诸实现并取得了巨大的成功,如金融市场上种类繁多的数字货币。本文将在下文总结近年来区块链与边缘计算融合的技术与应用。
2 移动边缘计算技术
2.1 移动边缘计算简介
2014年,欧洲电信标准化协会(ETSI)成立移动边缘计算行业规范组(Mobile Edge Computing Industry Specification Group,MEC ISG),正式推动移动边缘标准化制定工作,并将移动边缘计算列为推动5G系统发展的关键技术之一。MEC在更加接近移动用户的无线接入网(Radio Access Network,RAN)侧提供IT服务环境和云计算能力。MEC通过整合距离移动端用户较近的边缘网络中的计算资源,降低网络负载,减少延迟和能耗,确保高效的网络运营和业务分发能力,改善终端用户的体验。2016年,为将电信蜂窝网络进一步延伸至WiFi等非3GPP接入网,ETSI扩展了MEC的概念,将其重新定义为多接入边缘计算,但业界多数仍称之为移动边缘计算[20]。
图3为ETSI MEC ISG发布的MEC框架。MEC平台可以为移动应用程序提供云存储、缓存、计算、近距离资源供应、上下文环境和位置感知等功能。针对MEC需求、框架和参考架构,MEC ISG设计的MEC标准已经达到稳定状态[21]。MEC框架从宏观层级角度描述了一个生态系统结构,包括所涉及的实体和职能,将其划分为移动边缘系统层、移动边缘主机层和网络层。最上层的移动边缘系统层掌控全局,管理移动边缘主机层和网络层,为用户终端和第三方接入提供便利。移动边缘主机层是MEC框架的基础部分,主要由移动边缘主机和移动边缘主机层管理组成。移动边缘主机提供移动边缘平台和虚拟化基础设施,使得移动边缘应用的执行更加便利。网络层主要表示MEC系统与3GPP网络、本地网络和外部网络的接入情况。
图3 MEC框架Fig.3 MEC framework
边缘计算是云计算的延伸,计算服务运行在网络的边缘,更接近终端用户。根据思科公司的解决方案,雾计算将资源和服务从核心网衍生到了边缘网络,是云计算的典型扩展。微云计算、移动边缘计算和雾计算概念相似,本质上是一致的[22]。微云计算和移动边缘计算更侧重使用本地可用资源,可灵活地向移动用户提供服务[23]。雾计算、微云计算和移动边缘计算具有相同的特征,即靠近终端用户、密集分布、低延迟、高移动性、位置感知等。因此,本文将雾计算、微云计算和移动边缘计算一并纳入MEC范畴进行讨论。
2.2 移动边缘计算中的关键问题
尽管边缘计算系统能够将资源分配到网络边缘,为终端用户提供低时延的网络服务,但应用实施时,边缘计算及其配套解决方案依然面临一些问题,主要包括安全保护、资源管理两方面。
2.2.1 移动边缘计算中的安全保护
在任何系统中,安全隐私保护都是必须考虑的问题。尽管边缘计算模型使用分布式架构降低其中心化程度,但其控制层的设计思路与中心化的云计算类似,具有中心化的控制层,同样存在数据丢失和隐私泄露等问题,分散的控制方式也会带来额外的安全风险[24]。由于边缘节点具有异构性,且需要考虑任务在这些节点间的迁移,移动边缘计算较传统意义上的云计算场景具有更高的复杂性和不确定性,因此如何在此类环境下实现安全及隐私保护成为亟待解决的问题[25]。
在边缘计算系统中,任务可能需要频繁迁移,进而产生端到端的数据传输。在计算节点的无线通信过程中,数据极易受到中间人攻击、窃听攻击等多种恶意攻击。中心控制节点还可能遭受单点故障,这都可能造成数据泄露或遭受恶意篡改,导致任务执行失败或造成经济损失[26]。因此,保证数据在任务执行过程中的隐私性、正确性和完整性十分重要。为实现这一目标,面向边缘计算的数据安全存储、身份认证、访问控制方案都是可行的技术路线。
2.2.2 移动边缘计算中的资源管理
资源的合理高效分配在边缘计算中十分重要。这里的资源包括计算资源和通信资源,其中:计算资源主要包括CPU资源、内存资源、硬盘资源及网络资源,这些资源需要通过任务卸载策略进行分配;通信资源管理则涉及无线通信的能源消耗和传输时延优化等问题。
在计算资源的分配方面,现实场景中的信道质量、移动设备异构、电源状态、资源位置、用户喜好等因素都会使边缘计算系统中的任务卸载策略变得更加复杂[27-30]。决定一个计算任务是在本地执行、部分卸载还是全部卸载以及在哪些实体上执行等都会影响移动边缘计算系统的性能,且需要根据应用场景进行研究。同时,任务卸载策略还应考虑经济效益,在降低任务执行消耗的同时使边缘计算中参与任务执行的各个实体总效益最大[31]。
在通信资源的分配方面,由于单个边缘计算节点的服务范围有限,当移动终端移动到当前任务执行主体的通信范围外时,任务需要迁移到近用户的节点上继续执行。数据的传输路径中涉及多个参与者,其中可能包括用户本地终端、其他移动终端、边缘服务器、路由器、基站等设备。各个参与者具有移动性,且它们的计算和存储资源由各自的提供者分别管理,导致无线通信过程需要即时优化才能避免由网络拥塞带来的通信及计算资源浪费。因此,在移动边缘计算系统中,需要设计高效且低能耗的无线通信协议来满足用户对时延和计算能力的需求,同时保证移动网络在移动中可以提供持续性服务。
3 面向移动边缘计算的区块链技术
3.1 数据与隐私安全
在移动边缘计算系统的设计和实现中,安全性是必须要考虑的因素。文献[32]提出在移动边缘计算中,攻击者可能使用分布式拒绝服务攻击增加中心服务器的计算负担,进而影响数据传输的正确性,但使用区块链进行去中心化的任务分配和调度可以有效消除这一攻击带来的危害。文献[33]指出在使用区块链保存电子病历的过程中,加密病历的密钥可能遭受统计攻击,而模糊保险箱算法能够有效避免这一攻击,并通过保存密钥线索的方式存储已使用密钥,降低因保存过往密钥而导致的存储能耗。文献[34]认为在具有高移动性的移动边缘网络中,使用区块链灵活透明地统筹密钥管理程序中的成员出入,能够大幅提高密钥管理的效率和准确性,保护参与者的密钥及数据安全。文献[35]提出一种面向车联网的基于区块链、智能合约和属性加密的文件分享方案,在保证文件分享效率的同时利用区块链和智能合约技术避免第三方参与,保护数据安全。
在移动边缘计算场景下还需考虑隐私保护问题。为对边缘计算系统中的敏感数据进行隐私保护,文献[36]提出一种基于矩阵的多通道数据分段与隔离方案。该方案允许用户自定义敏感数据的加密方法,并提供条件访问和解密查询方法,通过受保护的智能合约进行各项操作。在文献[37]中,拼车用户及司机根据路边单元建立的私有链中的地址标签进行一对多的距离匹配,匹配结果及有关成员的隐私信息都将匿名且加密地保存在私有链上,供拼车系统使用。智能合约则可以对这些信息进行无第三方的匿名验证,以保障使用者的隐私安全和拼车服务结果的可信性。除了用户和服务过程中的隐私保护,文献[38]还提出一种在多个边缘服务器协同工作时保护网络拓扑结构的隐私保护方案。该方案借助适应性布隆过滤器设计路由协议,使用网络链接和资源权重进行不泄露物理地址和身份信息的身份认证。所有的身份认证工作都将在区块链上匿名进行,以保证数据的实时准确更新。
此外,在移动边缘计算中还设计了基于区块链的安全框架与系统。文献[39]针对电动车和智能电网之间的能源交易,提出一种基于区块链的能源交易框架。基于此框架,汽车与智能电网进行能源交易,其中边缘服务器负责为每个电动车生成其独有的共识机制谜题,并通过该谜题生成区块。该框架能够灵活地对即时业务进行处理和反馈,边缘服务器生成的共识机制谜题自主可控,有助于提高交易速度。文献[40]提出一种基于区块链的车辆方位管理系统。在该系统中,车辆间通过边缘网络互联,车载传感器获取的位置信息通过深度神经网络进行误差的分析预测,并将结果保存在区块链上以供分享。该系统有助于路上车辆的协同管理,区块链技术则能保证预测结果不可篡改,所需数据真实可靠。
3.2 身份认证与访问控制
3.2.1 身份认证
本节将从比特币、以太坊和超级账本技术角度出发,分类介绍身份管理与认证方案。
1)基于比特币的身份管理与认证
BitID[41]是一个简单的比特币身份认证开放协议,其使用公钥密码体制设计而成。服务器端生成一个随机数传输给客户端,客户端使用私钥签名,服务器端使用公钥验证签名。在BitID中,比特币地址是唯一身份标志。虽然现有很多智能手机应用程序使用BitID技术,但BitID的市场使用率仍较低。
NameCoin[42]是一个以加密货币为中心的实验性开源比特币分支,其用于身份注册和转移,包括DNS条目、GPG密钥、TLS证书和其他去中心化的网站元素资产被附加在身份上。NameCoin需要一个合适的钱包,可在货币交易所出售,同时还可以通过挖矿获得。终端用户需要安装和配置指定的客户端软件才能使用NameCoin的基础设施。
Tierion[43]是一个区块链验证引擎,可降低成本和信任的复杂性。Tierion的旗舰商业产品称为Proof,其允许使用比特币公有链中带时间戳的数据进行验证。Proof网站声称该验证不依赖可信第三方,承诺其不需要权威机构或中间人,并且证明独立且永远可验证。Proof使用的底层技术称为Chainpoint,其是以创建时间戳证明数据链接到区块链作为开源的标准。
2)基于以太坊的身份管理与认证
uPort[44]是一个以太坊上的自主权身份及以用户为中心的开放身份系统,其允许用户在以太坊上注册自己的身份、发送和请求证书、签署交易并安全管理密钥和其他数据。uPort的身份本质上是一个以太坊地址,通过该地址实现身份验证、免密登录和数字签名。uPort为开发者提供了可重用的组件和协议,包括智能合约组件、数据组件、开发人员组件、移动组件和服务器组件。
Jolocom[45]遵循自主权身份原则,是一个去中心化、开源的数字身份和访问管理解决方案,使用者可管理自己的数据。Jolocom协议给用户提供一个数字身份,该身份在用户本地生成,并由用户自己管理加密密钥。个人、组织、物联网设备和自治代理可以通过Jolocom协议使用去中心化标志符、可验证凭据和加密签名(Jolocom身份的核心组成部分)创建去中心化身份。协议逻辑对身份的粒度级、基于声明的模型进行编码,该身份高度泛化且范围不受限制,以适应多种潜在用户并拓宽用户的主题领域。Jolocom的目标是支持一种与自主权身份概念保持一致的用户控制隐私状态。
ShoCard[46]是一个基于区块链的身份管理与认证系统,人们可以拥有和保护数字身份,并决定何时与何人分享个人数据。第三方组织能够使用区块链验证他们数据的真实性,而不需要其他中心化第三方的担保。ShoCard身份管理平台为组织或个人提供的服务包括对个人或实体进行身份验证、交换可审计的认证信息和交换个人证书的证明信息。ShoCard平台旨在通过其SDK集成到移动应用程序和服务器中,同时支持IOS和Android。ShoCard架构已设计成面向高吞吐量的交易场景,不会因公有链的性能而停滞不前。此外,ShoCard可以同时使用多个区块链,包括私有链。为避免黑客入侵个人可识别信息,ShoCard系统仅使用区块链验证数据而不存储数据。
UniqueID[47]是一个提供数字密钥的分布式身份和访问管理平台,其设计身份即服务的模式,针对分布式物联网提供了新标准,并提高了企业中连接和控制关键设备(如传感器、执行器等)的运营效率及可扩展性。UniqueID优先考虑身份管理,用户的设备信息保存在私有链中,该私有链还扮演了数字保险箱角色,通过安全认证保护用户连接的数字资产。UniqueID允许设备独立运行,这意味着进行身份认证时无需任何第三方中介对接设备。此外,以设备为中心的UniquID解决方案不需要使用密码,因为其可以通过个人连接的对象识别用户或者通过个人设备上集成的指纹或其他生物特征识别用户,所以消除了用户生成密码的相关风险,并且UniquID可以在定制硬件、服务器、个人电脑、智能手机和平板电脑上进行部署。
3)基于超级账本的身份管理与认证
Sovrin[48]是一个Hyperledger基金会下开源的自主权身份框架。Sovrin协议基于开放标准和开源项目Hyperledger Indy,是Hyperledger下的一个子项目。在Sovrin中,每个公钥都拥有一个去中心化的身份标志DID。DID是一个永久、全球唯一、加密的可验证身份信息,完全由其所有者控制。DID和DID文档保存在区块链上,DID文档中包含DID的公钥及身份拥有者想公开的公共凭证、信息交互的网络地址等,私钥由身份拥有者保管,至此验证者很容易查找颁发者的公钥并确认签名。Sovrin是一个自主权身份信息全球公用的基础设施,满足每个人对于身份信息的需求。所有Sovrin身份信息和公钥默认使用假名,以满足严格的隐私标准。
MyData[49]是芬兰政府委托开展的有关个人数据管理的研究项目,其是一种自主权身份模型,由以人为中心的控制性、可用性、可访问性和开放性概念驱动。MyData身份验证的核心是管理用户访问,可用于保护政府、医疗保健和金融等部门之间的数据流。MyData与Sovrin联合开展的研究旨在加强数字人权,同时为企业提供开发并创新个人数据服务的新机会。
IBM trusted identity[50]是一种基于Hyperledger Indy技术的身份管理方法,通过免费Alpha版本的验证凭证创建了一种分布式的身份管理方法,致力于为Internet上的每个人创建安全、支持区块链的可信身份,并且将身份管理推广到网络的边缘中应用,拓展自主权身份的应用。
Verified.Me[51]由SecureKey技术公司基于Hyperledger Fabric进行研发,通过银行移动应用程序进行身份验证。Verified.Me的应用使得政府和企业不需要让用户再提交身份证明材料即可认证用户身份。用户选择银行或电信运营商为其创建数字身份后,便可运用在数字经济领域。Verified.Me平台使用OpenID、SAML和FIDO等多种标准。
3.2.2 访问控制
在移动边缘计算中,很多学者借助区块链技术进一步拓展现有访问控制模型的功能,也有学者研究基于区块链的新型访问控制模型。
1)基于角色的访问控制模型
文献[52]介绍了一种基于角色的访问控制平台RBAC-SC,利用以太坊的智能合约技术实现角色的跨组织利用,使用智能合约和区块链技术作为通用基础结构以表示RBAC中的信任和认可关系。文献[53]提出一种结合RBACV1与ABAC的安全访问控制模型ARBACV1,其比RBACV1更具灵活性,并且可以执行细粒度的访问控制。作者通过智能合约将ARBACV1应用于以太坊区块链中,增强了移动边缘计算中以太坊区块链数据的隐私保护能力。文献[54]基于区块链的RBAC,通过使用散列函数实现基于匿名的身份验证机制。该机制可以提供基于角色的访问控制以及基于个人账户的身份验证。
2)基于属性的访问控制模型
文献[55]提出一种混合架构,通过使用区块链和边缘节点促进对电子健康记录(Electronic Health Records,EHR)数据的访问控制。在该架构中,通过基于区块链的控制器管理身份和访问控制策略,并记录访问事件的防篡改日志。此外,链下边缘节点存储EHR数据并应用缩写授权语言(Abbreviated Language For Authorization,ALFA)中指定的策略,同时与基于区块链的访问控制日志协作对EHR数据实施基于属性的访问控制,最终利用超级账本评估混合架构。文献[56]提出一种新的适用于雾计算环境的密码原语,称为安全、可公开验证、可撤销、多授权、基于属性加密的适应性选择密文攻击(CCA2-PV-R-LU-MA-ABE),可实现灵活的细粒度访问控制。文献[57]设计一种用于安全身份验证的基于区块链的BSeIn系统,以执行细粒度的访问控制策略。BSeIn系统通过集成的属性签名、多接收者加密和消息身份验证,提供隐私和安全性保证,如匿名性、可审核性和机密性,并且由于使用智能合约,因此BSeIn具有较好的伸缩性。文献[58]研究去中心化存储系统的数据存储和共享方案,融合去中心化存储系统IPFS、以太坊区块链和属性加密技术,提出一个新的框架。在该框架中,数据所有者可以通过指定访问策略为数据用户分发密钥并加密共享数据,并且该框架可以实现对数据的细粒度访问控制,同时采用基于以太坊区块链上的智能合约,实现去中心化存储系统密文上的关键词搜索功能。
3)基于权能的访问控制模型
文献[59]针对物联网中集中式授权造成的性能瓶颈或单点故障,提出以区块链技术和权能访问控制为基础的BlendCAC,旨在对大型物联网系统中的设备、服务和信息进行有效的访问控制。在区块链网络中,作者提出一种基于身份的强能力令牌管理策略,该策略利用智能合约进行访问授权的注册、传播和吊销功能,为物联网系统分散、可扩展、轻量级和细粒度的访问控制提供了可行的解决方案。作者在其扩展文献[60]中介绍了支持分层和多跳代理的基于联邦功能的代理模型。在文献[61]中,为增强空间状况感知,需要动态数据驱动的应用程序系统框架通过使用反馈控制、身份认证和访问控制以确保交换数据的完整性以及赋予授权实体对数据和服务的访问权,因此作者引入基于区块链、去中心化及基于权能的访问控制BlendCAC,从而有效保护网络中的设备、服务和信息。
4)基于区块链的新型访问控制模型
文献[62]考虑资源受限的边缘计算传感器容量因素,为工业物联网(Industrial Internet of Things,IIoT)设计基于区块链的身份管理和访问控制协议,其中的自认证密码技术用于实现网络实体的注册和认证,生成的隐式证书绑定身份,并基于区块链构建身份和证书管理机制。同时,设计基于布隆过滤器的访问控制方案,并将其与身份管理相集成。此外,为在资源受限的边缘设备中进行安全通信,构造了基于自认证公钥的轻量级密钥协商协议。文献[63]提出一种新的基于区块链的分布式密钥管理架构BDKMA。该架构利用雾计算功能减少延迟,并在云中运行多链实现跨域访问,同时采用区块链技术满足去中心化、细粒度的可审计性和高可扩展性要求,遵循用于物联网中分层访问控制的隐私保护原则。文献[64]面向智能家居IoT环境,设计一种基于临时身份和累积关键字哈希链的安全轻量级相互认证和密钥交换协议。节点可以使用动态身份和对称密钥以不可链接的方式进行匿名认证,并与控制器节点建立会话。此外,协议通过建立虚拟域隔离并限制节点向其他节点发送指令和命令或从其他节点接收指令和命令,确保节点之间实施安全策略,同时引入累积密钥哈希链机制,通过质询-响应确定发送方的身份。文献[65]使用联盟链存储交易信息解决实施策略共享时容易出现的系统和网络故障,确保策略生命周期的完整性,并且该方案在保证电子健康资源完整性、可审核性、真实性和可伸缩性的同时,使各方能相互了解。文献[66]提出一个基于智能合约的框架实现物联网系统的分布式和可信赖的访问控制。每个访问控制合约提供一种用于主体/对象对的访问控制方法,并通过检查主体行为实现基于预定义策略的静态与动态访问权限验证。
3.3 资源管理
3.3.1 区块链中的计算迁移技术
移动边缘计算[67]作为一种新型的网络模型,通过将移动用户任务中上下文敏感、延迟敏感和计算密集型的任务迁移到附近的边缘计算节点进行处理,从而缓解远程云服务器的压力,降低网络时延。这些具有计算资源和存储资源的边缘节点通常部署在网关、WiFi节点、宏基站以及小区基站等距离用户较近的设备中。
现有基于PoW机制的区块链技术多数需要强大的计算能力与大量的能量消耗,而移动智能设备计算与能量资源有限,因此移动端在独立执行PoW机制时仍面临巨大挑战。结合移动边缘计算的特点,文献[68]提出将移动设备中的PoW任务迁移到边缘服务器中,使用两阶段的Stackelberg博弈策略确定边缘服务器与移动设备的任务分配关系并提供服务的价格,通过反向归纳法证明了博弈中纳什均衡的存在性和唯一性。在此基础上,研究人员开始着力于结合博弈论与拍卖的方案来解决边缘计算网络中区块链的资源分配问题,博弈论与拍卖通过评估卖方和买方的利用效率,可以最大限度地将资源分配给用户。文献[69]采用基于拍卖理论的资源分配模型,在确保最大化总效益的同时保证了拍卖诚实性,通过改进的VCG拍卖算法,将边缘服务器的计算资源分配给不同的移动设备,该模型将矿工之间的竞争作为分配的外部因素。受以上文献的启发,文献[70]设计一种边缘计算与远程云计算相结合的两层资源管理模型,提出一个多领导者多追随者的Stackelberg博弈,该博弈最大化了每个服务提供商的利润和单个矿工的报酬。文献[71]考虑了设备在平衡风险与回报方面的差异,采用前景理论设计一种基于Stackelberg博弈的机电一体化区块链的最优卸载方案,保证了计算卸载效率。文献[72]考虑移动设备的购买能力问题,提出以团购的方式购买资源的拍卖模型。
此外,研究人员将资源分配建模成优化问题,通过最优化算法得到计算卸载的最佳方案。为此,文献[73]提出一种新型的移动边缘计算无线区块链框架,该框架不仅可将任务迁移到附近接入点,还可迁移到附近的用户群组中,并将联合卸载决策和缓存策略转化为一个优化问题,提出一种基于乘子交替方向法的分布式算法以求解该问题。文献[74]提出一种基于图论的匹配模型,使边缘计算服务提供商提供的服务与区块链网络中矿工的资源需求之间实现最佳匹配。文献[75]考虑多路访问边缘服务器的资源分配问题,使得每个移动设备都能同时从多个边缘服务器处获得计算能力,并使用分层算法求解联合优化问题的最优解。
然而,上述研究没有考虑动态网络环境给资源分配带来的影响,变化的网络环境可能导致卸载方案失效,但通过引入机器学习算法能使卸载方案较好地适应复杂网络的变化。文献[76]指出传统的卸载方法(如基于拍卖和博弈论的方法)不能根据变化的环境调整策略,因此提出一种基于深度强化学习的在线计算卸载方法,同时考虑了挖矿任务和数据处理任务。文献[77]研究资源分配中最优价格条件下的最佳响应问题,建立一种基于机器学习的边缘计算服务提供商与移动设备信息不公开的Stackelberg博弈模型,其中服务提供商发布每单位哈希率的价格,而矿工在无法得知其他矿工行为的情况下做出哈希率决策,为实现服务提供商和矿工决策的马尔可夫决策模型设计一个分层学习框架。
另外,降低PoW的大量资源消耗也是亟待解决的问题,一些研究人员开始研究减少工作量证明开销的方案。文献[78]提出一种在边缘计算网络中的快速存储分配方案,使得丢失的块可以被快速检索,并且设计了基于权益证明的共识机制,减少能量消耗。文献[79]开发一个基于区块链的大数据共享框架,支持跨越资源有限边界的各种应用,并且能以更节约的方式进行交易过滤和计算卸载,降低了存储开销。
3.3.2 面向具体领域的区块链计算迁移技术
研究人员分析并探索了边缘云计算辅助物联网在区块链中的资源配置问题。文献[80]提出代理挖矿和云挖掘方法来解决区块链的资源需求以驱动物联网中的节点,将用户的访问选择、计算资源分配和网络资源分配形式化为联合优化问题,设计一种对抗性深层强化学习方法来解决该问题。文献[81]提出一种在物联网中基于博弈的联盟形成算法,以最大化系统总效用,同时考虑物联网设备的个体利润和联盟利润,并且使算法能够快速收敛到纳什均衡状态。文献[82]通过引入经纪人来管理和调整资源配置的拍卖市场,并且提出一种迭代双边拍卖方案,以促使物联网设备与边缘服务器双方以真实价格提交投标,保证总体效益。文献[83]探索区块链与边缘计算在IIoT中的应用,提出结合边缘智能与区块链的工业物联网框架,并设计跨域共享启发式边缘资源调度方案和信用差异化的边缘交易审核机制,实现灵活安全的边缘服务管理。文献[84]在考虑边缘计算增强物联网设备计算能力的同时考虑其安全性,设计一种名为边缘链的边缘物联网框架,边缘链使用基于信用的资源管理系统,利用智能合约预定义的优先级、应用程序类型和过去行为的预定义规则,确保物联网设备可以从边缘服务器处获取资源数量。为避免PoW机制带来的资源消耗,文献[85]提出基于声誉的共识机制,其中声誉得分最高的设备负责将资源交易和声誉记录打包到区块链中。此外,车联网设备同样也面临资源限制与安全性问题,为应对车辆的计算资源限制和移动性问题,文献[86]提出代理机制来决定任务是在本地执行验证,还是将其迁移到边缘或云基础设施上执行验证,并定义可满足性模型理论方法,使参与者能够根据基础设施的状态、能源效率、卸载成本和计算回报决定参与验证和卸载验证。基于声誉的数据共享方案有效防止了未经授权的数据共享,保证车辆之间的高质量数据共享[87]。
3.4 网络管理
3.4.1 频谱分配
在频谱资源分配中加入区块链技术,可以确保频谱资源分配的公开透明可追溯,增强安全性和用户隐私,提高管理效率。文献[88]提出基于区块链的动态频谱访问和机会网络接入技术来缓解频谱资源,满足用户需求。与传统的蜂窝网络相比,该技术具有匿名性和可追溯性,可增强用户隐私的保护,减少网络流量消耗,缩短访问时间,并实现接近实时的用户计费。在用于认知无线电网络启用和保护频谱共享的区块链验证协议[89]中,用户使用虚拟货币支付接入频谱的费用,每个主用户以去中心化的方式广播频谱价格。区块链协议促进了主用户和次用户之间的交易,并验证和保存了每个用户的虚拟钱包,同时在该协议中,区块链作为一个分布式数据库,其数据对所有参与者开放,并且任何节点都可以参与区块链的更新和维护。文献[90]在文献[89]的基础上,利用无线信道中的小规模衰落变化研究区块链验证协议与车辆通信中使用的传统媒体访问协议间的性能差异。
3.4.2 软件定义网络
软件定义网络(Software Defined Network,SDN)是一种新型网络架构,其可编程和控制与转发分离的性质实现了网络的灵活管理。与传统网络相比,SDN具有较好的可扩展性和容错性且易于部署[91]。SDN与私有链相结合能为私有链提供额外的安全性,并改善私有链吞吐量低的缺点。例如,私有链ChainGuard利用SDN的功能过滤网络流量,从而为区块链应用程序实现防火墙功能[92]。文献[93]提出一种安全、节能的SDN控制器区块链支持架构,该架构使用公有链和私有链进行物联网设备和SDN控制器之间的点对点通信,省去了高能耗的PoW过程,增加了系统吞吐量,并使用高效的分布式信任认证方法使区块链适用于资源受限的物联网设备。文献[94]通过区块链和SDN的结合确保了车辆自组网系统在5G和雾计算环境下的有效运行。
3.4.3 移动服务
移动服务也是无线通信的一个重要研究方向。5G网络通常由许多分散的异构网络组成,构建在网络层之上的区块链可以帮助集成不同的网络,提供不同网络之间的无缝访问。例如,文献[95]提出一种基于区块链的移动边缘计算架构,旨在当用户移动时以一种安全及时有效的方式保证服务的连续性。文献[96]提出一种通过集成区块链技术、面向服务的体系结构和关键性能指标,解决了物联网服务的互操作性和信任问题。此外,智能合约可以使网络运营商和用户之间的条款和协议流程自动化,大幅节省运营成本。文献[97]提出一种基于区块链技术的移动服务授权体系结构,通过移动通信基础设施与计费功能的分离实现智能合约下的移动通信服务。
4 面向移动边缘计算的区块链应用场景
4.1 内容分发网络
传统内容分发网络(Content Distribution Network,CDN)中缺少可信实体进行审计内容访问,一些内容提供商通过区块链平台实现与具有访问权限的实体进行内容交易和消费任务,并且通过智能合约确保无信任实体的真实性,在移动边缘计算场景下能够有效提高数据传输速率、存储性能和容错率。在视频传输模型中,可以通过代理机制和智能合约实现可信的自动化业务执行[98]。文献[99]提出一种基于区块链的内容分发网络架构,该架构利用区块链技术,为内容供应商和用户提供安全的分布式平台。此外,该架构通过边缘端缓存应用程序提高缓存命中率,从而减少内容供应商的交付时间。文献[100]针对内容分发网络提出一个区块链节点编排策略和用户请求路由选择框架,该框架实时监控并分析每个节点的数据,从而对资源进行针对性配置,同时通过在每个节点设置数据副本来减少节点故障所带来的影响。
4.2 车联网
由于接入网络的车辆越来越多,各种车联网产品将不可避免地面对数据信任、安全以及服务可持续性的问题。车联网系统会产生庞大的数据量,但其中存在严重的安全隐患,将区块链应用于车联网,能够解决车辆数据诚信问题,保障数据信息共享的安全性,同时提高车联网系统的可用性[101-102]。文献[103]提出一个基于区块链的信任管理平台,该平台通过路边单位执行的PoW/PoS共识机制验证消息可靠性。此外,文献[104]研究区块链技术辅助边缘计算平台在车联网中的应用,即通过移动边缘计算提高基于区块链的车联网的资源利用率。文献[105]利用区块链的智能合约技术,实现车辆在边缘网络中的安全数据存储和共享,此外为提高数据共享的质量,还对车辆的声誉进行精确管理。
4.3 智慧城市
区块链共识机制和链上数据不可更改的特性可以保障智慧城市信息数据的真实性和安全性,并且打破信息孤岛,减少数据传输时间和经济成本。文献[106]提出一种基于区块链的移动边缘计算共享系统,通过边缘计算来收集和处理来自移动边缘节点和物联网设备的多媒体请求数据,将处理结果放入区块链中进行安全存储和共享,保护智慧城市与家庭设备和传感器之间的通信安全,利用边缘计算和缓存还可增强无线通信的带宽和降低延迟。文献[107]结合SDN和区块链设计一个适合中小城市的混合接入网络系统,该系统的共识机制能够保证隐私安全,取得了较高的传输效率。文献[108]构建区块链和移动边缘网络平台快速识别监控视频中的恶意行为,并实现可伸缩数据的计算,使得服务交付具有更低的延迟、更快的用户响应以及更好的个人数据隐私保护。
4.4 无人机
随着无人机的广泛应用,参与者的服务交付新模式成为应用领域的研究热点。虚拟化和云存储基础架构被用来保证灵活性、可测量性以及提供更加多样化服务的能力,但也为数据采集和精确控制带来了安全问题。区块链技术可用于规范和控制无人机的合理使用,并且确保使用者信息的安全性。文献[109]利用无人机结合区块链技术保证采集数据过程中的安全,并将数据存储到移动边缘服务器以降低移动设备的存储需求。文献[110]研究在移动边缘计算中的通信可靠性,提出一种新的基于神经区块链的边缘缓存方法,旨在确保高可靠性的同时提供一个平面架构,该架构结合区块链保证了节点间的高可靠通信,从而提高模型传输效率。由于无人机被用于危险指数较高的监测领域,能有效执行危险任务,并在包裹递送、交通监控等多种应用中起到关键作用,因此为其提供一个强大且安全的网络非常必要。为此,文献[111]提出一种基于区块链技术的新型保密频谱交易共享方案,利用区块链改善频谱交易环境并且解决了一些潜在的安全隐患。
4.5 智慧医疗
区块链融入医疗领域能够实现医疗健康信息、医疗设备与用品、公共卫生安全的智能化管理与监控,从而解决医疗平台基础设施支撑薄弱、医疗服务水平整体较低、医疗安全以及生产隐患等问题,同时移动边缘计算能够有效应对传统云计算中网络通信瓶颈、高时延以及低吞吐量的问题[112],因此区块链与移动边缘计算的结合能够加快智慧医疗的产业化。文献[113]集成了跨物联网、雾计算和云计算的网络虚拟化技术,提出一种基于区块链的智能医疗管理系统,该系统利用雾节点保证医疗数据的可伸缩性,并确保医疗数据的安全性。文献[114]设计一种高效的基于轻量级区块链的射频识别(Radio Frequency Identification,RFID)认证协议,将敏感数据通过公众传输并存储在各种设备上,利用通信安全协议确保RFID系统的安全性,并启用RFID设备保护护照、身份证等敏感信息。
4.6 研究与应用展望
随着区块链技术的发展,需加快推进其核心技术的突破,如交易效率较低、账本容量过大、链上链下数据的高效协同与强关联、大规模高频次交易的共识、抗量子攻击的安全区块链数据保护、区块链数据和智能合约代码的安全审计、区块链节点的数据隐私安全和区块链身份隐私保护等技术问题是目前亟待解决的难题,从而为区块链应用提供安全可控的技术支撑。在此基础上,面向教育、养老、健康、防伪、食品安全、公益、社会救助等领域,结合人工智能、大数据和5G等技术,研发支持国产密码体系的高效实用的区块链平台,适应更复杂的应用场景和更高级的功能需求,使其在各行各业中具有广泛的应用前景。
5 结束语
本文介绍区块链技术和移动边缘计算技术,并对区块链技术中的共识机制、智能合约和去中心化应用,以及移动边缘计算中的移动边缘网络安全保护、移动无线网络计算及通信资源管理等关键问题进行探讨。针对移动边缘计算中区块链技术的应用研究进展,阐述移动边缘计算下区块链技术在数据安全、隐私保护、身份认证、访问控制、计算迁移和网络管理方面的研究及应用现状,指出区块链技术在移动边缘计算场景中能够有效保护数据与隐私安全并降低资源消耗。通过对区块链技术在移动边缘计算环境下的应用场景进行归纳总结,并对区块链技术在内容分发网络、智慧城市、智慧医疗等移动边缘计算场景中的研究与应用前景进行展望。