面向端边云协同架构的区块链技术综述 |
来源:一起赢论文网 日期:2022-04-03 浏览数:937 【 字体: 大 中 小 大 中 小 大 中 小 】 |
第44 卷 第12 期2021 年12 月计 算机 学 报CHINESEJOURNALOFCOMPUTERSVol . 44No. 12Dec. 2021面向端边云协同架构的区块链技术综述佟 兴”张 召^金澈清^周傲英^nC 华东师范大学数据科学与工程学院 上海 200062)2)( 桂林电子科技大学广西可信软件重点实验室 广西桂林 541 004)3 )( 华东师范大学上海市大数据管理系统工程研究中心 上海 200062)摘 要 近年随着边缘计算的兴起, 边缘计算和云计算结合形成的终端边缘云( 端边云) 协同的层次型分布式架构尽管可在高计算能力服务、 高存储能力服务和低延时服务等方面满足应用需求. 但在数据安全和多方可信交互等方面仍面临很多挑战. 作为一种去中心化的分布式账本技术, 区块链具有数据不可篡改、 不可伪造、 可追溯和由多方共同维护的特点, 将区块链融人到端边云架构中可以使多参与方之间进行互信的数据交互, 确保数据完整和可用. 但由于区块链在系统架构、 隐私安全、 对节点资源要求和多方共识方面的特点, 其与端边云架构相融合时仍面临诸多挑战: 区块链和端边云系统在架构上的不匹配使得二者难以融合; 区块链账本数据透明, 可能造成敏感数据泄露; 区块链的全副本存储和共识过程会消耗更多端边云参与节点的资源; 不同端边云场景所需的信任模型差异、 终端和边缘节点资源受限和终端设备大规模接人等特点使得现有共识算法不能适应端边云的场景.针对以上问题, 本文首先介绍端边云架构和区块链技术, 接着讨论二者融合的可行性和优势, 并整理归纳了相关研究进展; 之后讨论端边云架构下区块链技术面临的技术问题; 最后提出未来端边云架构下区块链技术的研究方向.关键词 区块链; 端边云架构; 端边云协同; 边缘计算; 分布式计算中图法分类号TP18DOI号10. 1189 7/SP. J. 1016. 2021. 02345BlockchainforEnd-Edge-CloudArchitecture:ASurveyTONGXi ng1)ZHANGZhao1) , 2)JINChe Qi ng1) , 3 )ZHOUAo Yi ng1) , 3 )1 ){ SchoolofDataSc i enc eandEngine ering? Eas tChinaNormalUni ve rsi ty? Shanghai200062)2)( GuangxiKeyLaborat oryofTrust e dSoft ware? Gui l inUni versi tyOfEl e c t roni cTe chnol ogyGui l in-, Guangxi541 004)3 ){ ShanghaiEngine e ringRe searc hCeni e rofBigDataManage ment? EastChinaNormalUni versi ty^ Shanghai200062)AbstractInrecentyears, wi ththeri seofedgecomputi ng, al thoughahi erarchi caldi stri butedcomputi ngmodelthati ntegratesedgecomputi ngandcl oudcomputi ngi scapabl eofprovi di ngservi ceswithhighcomputingcapabi l i ty, highstoragecapabi l ityandl owresponsel atency, i ti ssti l lencounteredwi thchal l engesl i kedatasecuri tyandtrustworthyi nteracti vi ty. Asadecentral i zedl edger, bl ockchai nhascharacteri sti csl i kenon tamperabi l i ty, unforgeabi l i ty, traceabi l i ty, gl obalconsi stency, sothatthei ntegrati onwi thbl ockchai ncanensuredatai ntegri tyandtheservi ceavai l abi l i ty. However , duetothei ssuesl i kesystemperformance,pri vacyprotecti on, scal abi l i tyandrequi rementsforhardwareresources, i ti schal l engi ngtoi ntegrateend edge cl oudarchi tecturewi thbl ockchai n. Fi rst, theexi stenceofsigni fi cantdi fferencei narchi tecturemakesi t收稿日期: 2020 09 1 7; 在线发布日期: 2021 03 1 0. 本课题得到国家自然科学基金( 61 9721 52 , U1 91 1 203) 、 广西可信软件重点实验室研究课题( 编号kx202005) 资助. 侮 兴, 博士研究生, 主要研究方向为区块链. Emai l: xtong@s t u. ecnu. edu. cn. 张 召, 博士, 教授, 中国计算机学会( CCF) 会员, 主要研究领域为区块链、 海量数据管理和数据挖掘. 金澈清( 通信作者) , 博士, 教授, 中国计算机学会( CCF) 杰出会员, 主要研究领域为区块链、 海量数据挖掘. Emai l: cqji n@das e. ecnu. edu. cn. 周傲英, 博士, 教授, 中国计算机学会( CCF) 会士, 主要研究领域为Web 数据管理、 数据密集型计算、 内存集群计算、 大数据基准测试和性能优化.2346 计 算机 学 报 2021年di ffi cul ttoi ntegratesuchtechniques. Second, thedatatransparancymayl eakthepri vacyoftheend edge cl oudsystem. Thi rd, ful l repl i catestoragemechani smandconsensusmechani smmayconsumehugeresourcesoftheend edge cl oudsystem. Fi nal ly, thetrustworthymodel, l i mi tededgenoderesourcesandl arge scal enodesofend edge cl oudarchi tecturemaketheexi sti ngconsensusalgori thmsunsui tabl etowork. Todealwi thsuchi ssues, wefi rsti ntroducetheend edge cl oudarchi tectureandbl ockchai ntechnol ogy. Then, werevi ewtherecentprogressonthei ntegrati onofend edge cl oudsystemandthebl ockchai n. Subsequently, wedi scusssomeprobl emsfacedbythebl ockchai ntechnol ogyundertheend edge cl oudarchi tecture, andpoi ntoutthefutureresearchdi recti onbri eflyfi nal ly.Keywordsbl ockchai n; end edge cl oudarchitecture; end edge cl oudcol l aborati on; edgecomputi ng;di stri butedcomputi ngi 引 言作为一种地理上分布式部署、 在靠近数据源头处执行计算任务的计算模型[1], 边缘计算可以提升服务的响应速度, 降低服务延迟. 但由于边缘计算设备的计算和存储能力有限,一些对计算和存储要求较高的任务仍需要发往云端执行. 因此相比于边缘计算单独发展, 边缘计算的发展方向是和云计算结合形成终端边缘云( 端边云) 的层次型计算架构.相比于单纯的云计算或边缘计算, 端边云计算模型有效整合二者优势,一方面可以利用云计算的资源优势来提供充足的计算和存储资源, 满足资源密集型任务的需求; 另一方面可以利用边缘计算的地理优势来满足延时敏感型任务对低延时的需求.作为一种终端边缘云协同的架构, 端边云架构可实现纵横两方面协同. 纵向协同指端边云三层之间的协同, 通过多层次的计算资源满足不同的任务需求; 横向协同指同一层次下多节点之间的协同,通常指边缘层节点之间的协同, 横向协同又分为单场景下多节点之间的协同( 比如车联网的多个边缘计算节点之间的协同) 和跨场景边缘节点之间的协同( 比如车联网和交通管制节点之间的协同) ,后者可以满足更加复杂的应用需求. 端边云的计算架构可以将云计算和边缘计算有机融合, 但是在实际环境下, 端边云架构仍然面临着以下四方面挑战:a) 如何保证数据的可信存储. 端边云架构中的边缘计算设备一般在地理上分布式部署, 数据的收集也是通过处于不同地理位置的节点进行. 由于边缘计算设备的安全防护措施有限, 且处于开放环境之中, 容易受到安全攻击[2<, 数据的完整性和可用性受到威胁, 不能确保数据可信存储;( 2) 如何保证可信计算. 在端边云系统中, 整个系统往往由多个互不信任组织组成, 当系统作为一个整体对外提供服务或各方之间进行协同计算时,需要保证系统和各方之间计算过程透明, 而目前端边云系统缺乏透明可信的计算平台, 无法确保这一■点;( 3) 如何保证数据的可信传递. 在边缘场景下,各利益方之间互不信任, 缺乏数据共享平台, 导致各平台数据孤立; 在缺乏激励的情况下, 各方之间倾向于不分享数据. 因此, 目前缺乏一个在端边云环境下为多方建立信任并利用激励机制促进各方进行可信数据传递和共享的平台;( 4) 如何保证系统的可信管理. 在边缘场景下包含各种类型的边缘和终端设备, 这些设备呈现出一定的动态性, 会随时加人和退出网络, 另外这些设备可能会由于利益关系做出一些恶意的行为. 因此需要通过安全的设备监管平台监控并记录设备的行为, 而目前端边云系统缺乏一个可信的系统监管和审计平台.近年来, 随着比特币[5]等数字货币的快速发展,区块链作为其底层支撑技术受到了学界和工业界的广泛关注. 区块链具有历史数据可追溯、 数据不可否认、 不可篡改和安全透明的特点, 因此区块链可以作为过程监管和事后审计的多方交互平台, 可以在网络中为互不信任的多方建立信任, 使得多方能够在不可信的网络中进行有效的价值转移和数据交互.区块链2.0 系统以太坊中智能合约的应用使得佟 兴等: 面向端边云协同架构的区块链技术综述 2347 12 期区块链进一步成为了一种分布式的计算模型, 因此可以考虑利用区块链构建安全可信的端边云计算架构. 区块链作为一种分布式的计算模型, 而端边云架构同样是一种分布式计算模型, 这个共通点使二者具有融合的前提. 从融合效果来看, 将区块链融人到端边云协作架构中,一是可以利用区块链作为一个拜占庭容错的多副本存储机制来保证端边云数据的完整性和可用性, 实现数据的可信存储; 二是可以基于区块链智能合约为端边云计算架构构建一个可信计算框架, 实现可信计算; 三是可以利用区块链作为数据共享平台促进端边云架构下参与方之间数据安全共享, 实现数据可信传递; 四是可以将区块链作为边缘场景下的系统设备监管和审计管理平台, 实现端边云系统安全可监管, 进而实现端边云系统可信管理.尽管端边云架构融合区块链可以解决自身在存储、 计算、 数据传递和系统管理方面的安全性和可信问题, 但是由于区块链系统自身的一些特点, 使得端边云架构在与区块链进行融合时面临挑战.从架构层面来讲, 区块链本质上是一种“扁平”的单层架构; 而端边云系统是由终端边缘云结合形成的层次型的分布式架构, 从纵向的角度看, 端边云架构呈现出一种分层的结构, 横向来看, 端边云架构中的每一层都是一种“扁平”结构. 二者架构上的不完全匹配使得区块链和端边云架构融合时面临挑战.从数据隐私角度来讲, 在端边云架构中, 终端和边缘计算设备会收集环境中的各种隐私数据, 而区块链作为一种由多方共识形成的分布式账本, 每个节点都会保存完整的账本数据, 数据透明的特点会使得链上数据暴露在网络中, 造成隐私数据的泄露.尽管限制区块链节点的加人可以限制隐私数据的传播范围, 但是在端边云环境下, 边缘节点的安全防护措施有限, 攻击者可以攻击安全能力较差的边缘节点, 节点一旦被攻破, 区块链中的隐私数据将完全被泄露.从资源角度来讲, 端边云架构分为中心化的云计算层和分布式的边缘计算层, 边缘计算层中包括边缘计算设备和众多的终端设备. 相比于边缘计算节点, 云计算节点的硬件条件比较充足, 并且硬件结构较为统一; 而边缘计算节点通常依据不同的场景设计, 硬件结构多种多样, 且硬件资源有限, 因此端边云系统内部节点之间表现出了很强的异构性. 端边云节点的存储和计算能力差异较大: 云端具有充足的存储和计算资源, 而边缘计算节点的存储和计算资源相对有限. 在边缘计算节点部署区块链时, 区块链全副本存储机制和共识过程会消耗节点大量的存储和计算资源.在端边云架构下, 不同的端边云场景具有不同的信任模型, 比如一些边缘场景由多个机构或组织共同参与, 部分组织会部署多个节点, 同属一个组织的节点互相信任, 不同组织则不信任, 因而整体呈现出一种“局部可信, 全局不可信”的混合信任模型. 从共识的角度来看, 面向单一信任模型的拜占庭容错协议或非拜占庭容错的协议并不能很好的满足实际的场景需求; 另外在边缘环境下,节点的硬件条件较差, 计算和存储资源欠缺, 需要保证共识过程不会给节点带来大的计算开销, 比如P〇W(Pr〇〇fofW〇rk)[6]类的共识算法在边缘场景下并不适用; 最后, 在不同的场景下, 系统具有不同的开放性, 在无许可的环境中( Permi ssi onl ess ) , 在涉及大量节点接人时, 需要保证系统不因节点数量增加而导致效率急剧降低, 传统的基于投票的BFT(ByzantineFaul tTol erance)类算法, 如PBFTT( PracticalByzanti neFaultTTol erance)m等面临严重的扩展性问题.总结来说, 区块链融人端边云架构时, 会面临系统架构、 数据隐私安全、 参与节点资源和共识等多方面的挑战. 本文将分析区块链和端边云协同如何融合、 融合后能解决的问题以及在端边云环境下区块链技术面临的一些挑战, 并综述目前端边云架构和区块链融合的研究进展.部分文献综述了区块链和物联网融合[8], 区块链和边缘计算融合[9]等工作. 端边云协同计算架构相比于单纯的云计算或边缘计算能够提供更加多样且高效的计算解决方案, 将区块链融人到端边云架构中可以解决端边云架构中的安全性问题, 但由于区块链自身特点, 将区块链融人到端边云架构中会面临很多挑战. 基于此, 本文首先介绍边缘计算、 端边z?协同架构和区块链, 之后以端边z?架构的安全性问题为切人点, 阐述端边云架构融合区块链的必要性, 之后从区块链自身特点出发, 深人阐述端边云融合区块链时区块链所面临的挑战, 并介绍研究这些问题的现有研究工作, 最后总结在端边云协同与区块链融合未来的发展方向.本文第2 节介绍边缘计算的由来和端边云协同2348 计 算机 学 报 2021年架构的意义; 第3 节从区块链数据结构、 共识机制、密码学相关技术和智能合约四部分介绍区块链; 第4 节介绍端边云架构中存在的问题; 第5 节介绍如何利用区块链解决端边云架构面临的挑战; 第6 节讨论区块链和端边云架构融合时区块链面临的挑战; 第7 节提出了未来端边云架构融合区块链的研究方向; 第8 节总结全文.2 边缘计算和端边云架构2. 1 边缘计算在传统的物联网计算模型中, 受限于物联网终端设备有限的存储和计算能力, 大多数数据处理过程都是在云端完成的. 云端具有较强的计算和存储能力, 因此将计算任务放在云端是一种高效的数据处理手段. 但是, 随着物联网的快速发展, 大量物联设备接人网络会产生海量的数据, 尽管云端数据处理能力也在不断增强, 但海量数据的传输会给网络造成很大的压力, 网络的带宽将成为瓶颈; 同时对于一些延迟敏感的应用来说, 云计算较高的延迟不能很好的满足应用需求; 云计算中心机房会产生大量的能源消耗以及相对应的散热成本.针对云计算模型的缺点, 近年来出现了边缘计算模型, 边缘计算本质上是在靠近数据源头的地方执行计算任务, 无需再将终端设备产生的数据传送到云计算中心, 因此具有如下优点.( 1 ) 减轻网络的压力. 在网络边缘产生的大量数据无需再上传云端, 减轻网络带宽的压力;( 2) 降低延时. 在靠近数据源头的地方对数据进行处理, 不需要请求云数据中心的响应, 降低网络延时, 提高系统效率;( 3) 降低隐私泄露风险. 隐私数据可以在边缘计算层进行一些加密处理甚至保存在边缘计算层,降低数据泄露的风险;( 4) 降低云计算中心的能耗. 数据在本地进行处理或预处理, 云计算中心不再需要处理海量的数据, 降低云计算中心的能耗;(5) 灵活性更强. 可以针对具体的应用场景设计相应的边缘服务, 提高计算服务的灵活性.根据边缘设备和网络类型的不同, 边缘网络可以分为Cl 〇udl et[1 °]、 雾计算[1 1]和移动边缘计算( Mobi l eEdgeComputi ng, MEC)[1 2], Cl oudl et是一■个部署在网络边缘的计算机或计算机集群, 相比于一般的终端设备, Cl oudl et 拥有更强的计算和存储能力, 对外与互联网连接, 对内为边缘设备提供计算服务, 形成一个本地局域访问网络; 雾计算由性能较弱、 分散的功能计算机组成, 比如路由器或交换机等[1 3]; 移动边缘计算( Mobi l eEdgeComputi ng,MEC) 是在无线接人网内, 在接近移动边缘设备的移动网络边缘提供计算服务, 移动边缘计算服务器通常与无线网络基站共存, 具有超低延迟、 高带宽、位置感知等优点.无论是Cl oudl et、 雾计算还是移动边缘计算, 彼此之间的区别主要在于边缘计算设备和网络类型的不同, 但其核心思想都是将数据在靠近数据源头处进行处理, 本质上都属于边缘计算的范畴.文献[1 4] 设计了针对具有能源收集功能的移动设备( EnergyHarvesti ng, EH) 的移动边缘计算系统. 通过计算任务卸载结合能源收集来实现绿色的边缘计算模型, 作者将执行开销作为性能指标开发了基于Lyapunov 优化的动态计算卸载( LODCO)算法, 动态地将终端设备中的计算任务分配到移动边缘计算服务器中. 卸载之前将移动设备执行过程中CPU周期频率以及卸载过程中的能源消耗作为参考指标综合考量来做出卸载策略, 通过边缘计算为终端设备提供计算服务, 降低终端设备的计算压力. 文献[1 5] 针对计算任务卸载过程中存在的隐私泄露问题设计了两阶段的卸载优化策略,卸载过程中对卸载的效用和隐私的保护进行综合考量. 第一阶段设计了基于NSGAIII 的任务卸载方法, 实现ECU( EdgeComputi ngUni ts, 边缘计算单元) 资源利用率最大化、 时间成本最小化; 第二阶段作者设计了一种权衡卸载效用和隐私保护的联合优化方法, 实现隐私保护和高效执行性能的权衡. 文献[1 6] 实现了利用边缘计算降低无人机视频数据分析所需带宽资源的方法. 作者结合带宽节省策略将计算任务卸载到边缘节点进行实时无人机视频分析. 作者利用深度神经网络从无人机视频流选择性地传输数据, 并利用早期丢弃策略结合即时学习、 反馈和基于上下文的过滤等策略进一步提高带宽效率.表1 总结了不同场景下边缘计算的典型工作.12 期 佟 兴等: 面向端边云协同架构的区块链技术综述 2349表1 各领域中边缘计算相关工作文献 应用场景 问题 边缘计算的作用[1 7] 智慧城市在智慧城市能源管理系统中, 终端设备如何有效分析数据并采取相应能源管理措施.利用边缘计算实现基于深度强化学习的物联网能源管理,边缘计算节点运行深度增强学习算法提升能源管理性能.[1 8] 智慧电网/ 电动汽车如何结合大数据分析, 推动电动汽车运作的智能化, 优化智能交通中电动汽车充电任务.与电动汽车交互, 收集电动汽车数据, 分发数据, 实现数据挖掘任务的分布式计算.[1 9] 智能电网如何解决基于云计算的智能电网场景在延时和带宽方面存在的弊端.通过边缘计算进行海量数据的实时分析, 提供低延时服务, 提出基于任务分级的层次型决策预执行策略作为隐私保护策略.[20] 智慧城市如何解决基于云计算的智慧城市延迟较髙的问题.通过边缘计算实现无处不在的访问, 提升服务质量, 降低服务响应延时.[21] 智能家居如何髙效管理本地可再生能源与智能家居中的家庭能源.利用边缘计算实现家居环境中的髙效能源管理框架, 另外提出统一的能源管理框架降低边缘计算带来的能源开销.[22] 智能家居家居环境中会产生大量数据, 机器学习模型位于云端, 如何解决家居场景中云计算在隐私保护、 数据安全和髙服务延时方面的问题.利用边缘计算在靠近数据源头处对数据进行处理, 实现分布式的机器学习模型.[23] 智能汽车边缘计算服务器有限的计算能力会限制卸载服务的质量, 如何在交通流量密集情况下髙效处理车辆请求.提出了一种基于云的分层车辆边缘计算( VEC) 卸载框架,采用Stackel berg 博弈论方法设计多级卸载方案, 最大化车辆和边缘计算服务器效用.[24] 智能医疗在智能医疗场景, 如何针对病人身体情况, 及时响应紧急情况并提供个性化的医疗服务.提出了一种基于边缘计算的智能医疗系统. 该系统能够使用认知计算来监视和分析用户的身体健康, 并根据用户的健康风险等级调整边缘计算网络的计算资源分配.[25] 工业物联网工业场景下,I〇TCl 〇ud 架构在通信、 电池资源和计算需求等方面受到限制, 如何髙效低延时处理海量数据.在终端层和云计算层加人雾计算层, 雾计算层运行MQ遥测传输代理( MQTel emet ryTr ansport) 预测未来数据, 作为网关层, 执行卸载的计算任务降低服务延迟.总结来说, 在网络边缘处部署计算设备( 即边缘计算) 带来的优势主要分为四方面:一是可以将终端设备的计算任务卸载到边缘计算设备上, 将边缘计算作为一种“平台即服务”的服务模式, 降低终端设备的计算压力, 实现计算任务的合理分配; 二是边缘计算设备本身提供计算服务, 将边缘计算作为一种类似于“软件即服务”的服务模式, 在靠近终端的位置提供计算服务, 降低服务延迟; 三是利用边缘计算设备对数据进行预处理和过滤, 通过边缘设备过滤和预处理数据, 减少发送到云端的数据量, 增强带宽效率, 降低云计算中心能耗, 另外在将数据发往云端之前, 可以通过边缘计算对数据进行加密, 保证云端数据的隐私性; 四是将边缘计算设备作为云层的缓存设备, 利用数据局部性的特点来缓存云层数据, 降低云层数据访问延迟, 加快终端读写数据速度, 提升响应速度.2. 2 端边云架构相比于云计算, 边缘计算在降低服务延时等方面具有明显的优势, 但是像数据分析型或数据统计型这类对计算和存储资源要求较高的任务, 仍需要云计算来完成; 另外在服务稳定性方面, 边缘计算提供的服务稳定性远不及云计算提供的服务稳定性. 所以边缘计算的定位是作为传统云计算的补充用来弥补现有云计算的一些缺陷. 未来边缘计算的发展导向也将是终端、 边缘和云的融合发展, 最理想的效果是端边云架构高效融合, 同时兼具云计算和边缘计算的优势.端边云架构可以在纵向和横向进行协同. 纵向协同是指端边云不同层次间的协同, 旨在充分利用端边云不同层次间设备的特点来满足不同的应用需求, 比如边缘设备可以充当云端设备的缓存设备向终端提供低延时服务, 终端直接与边缘设备进行连接, 满足终端设备低延时的访问需求; 边缘层设备可以利用云端设备充足的存储资源来将数据卸载到云端进行存储, 也可以将资源密集型任务卸载到云端,通过云端来完成终端设备的复杂计算任务;横向协同是指在多方之间进行数据交互. 为满足多样的应用需求, 需要多方之间进行数据共享, 在端边云架构下, 数据主要在边缘层进行汇集, 而边缘设备是地理上分布式部署的, 因此需要边缘节点之间进行数据共享, 满足多样的应用需求.横向协同和纵向协同的内容会在第5 节继续深人展开介绍.相比于云计算, 边缘计算可以大幅度提升服务的响应速度, 但边缘计算的计算能力和可承担负载都有限, 在网络请求急剧上升时, 大量的计算负载会降低服务的响应速度. 针对这个问题, 文献[26] 将服务的架构组织成层次型的结构, 整体的思想就是在服务请求数量不多时, 通过边缘计算来提升服务的响应速度; 当请求达到高峰超出边缘服务的处理能力时, 通过云计算的计算资源来提升服务的处理能力. 另外, 作者结合层次型的计算架构设计了相应的负载分配算法, 该算法结合计算需求和通讯延迟两23 50 计 算机 学 报 2021年个角度来对任务进行划分, 决定计算任务执行位置.该工作的核心就是充分利用不同层次计算服务的特点来对不同任务负载的情况下最优化系统的运行效率.在实际场景下, 不同的任务有不同的延时需求,因此在边缘场景下, 单纯的任务卸载并不能达到系统服务响应的最优化. 针对这个问题, 文献[27] 在边缘云计算中, 将一组边缘服务器部署在移动设备附近, 以使这些设备可以以低延迟将作业卸载到边缘服务器. 相比于文献[26] 中的工作, 文献[27] 中不仅考虑了终端设备的任务卸载问题, 同样考虑了任务卸载之后的任务调度问题, 以使作业响应时间最小化的同时达到整体最优化. 作者为该问题的解决提出了一个通用模型: 作业在移动设备上以任意的顺序和时间生成, 然后分发到服务器上. 因为不同的任务具有不同的延时需求, 因此根据每个任务对延迟的敏感程度分配了相应的权重, 核心目标就是减少所有工作的总加权响应时间. 同时该工作提出了针对任务分发和调度问题的在线可扩展算法0nD1 SC.在现有的针对端边云协同架构的工作中, 通常从整体的角度去设计最优化的计算卸载策略, 但在实际情况下, 每个终端设备总是从自身需求出发采取最优的卸载策略, 实现自身体验质量( Qual i tyofExperi ence, QoE) 最大化, 而不会根据全局最优的角度去设计计算任务卸载策略. 针对这个问题, 文献[28] 设计了QoE最大化框架, 与前面提到的工作相同, 终端设备根据计算需求和延迟要求设计最优的计算卸载策略; 另外作者设计了多终端设备之间的计算卸载博弈策略, 通过一种“无政府状态”的计算资源定价策略和多设备之间的计算资源竞争形成一种博弈的状态, 作者证明了纳什均衡点的存在, 同时为了解决确定均衡点的时间复杂度, 作者提出了相应的资源分配算法.总结来说, 端边云计算架构相比于单纯的云计算或边缘计算架构, 最大的特点是具有层次性和融合性, 层次性在于其可以利用边缘和云端的不同特点的计算设备或计算服务构成多层次的架构, 满足多样的终端应用需求; 融合性在于其不仅仅是将边缘和云进行简单加和, 而是将边缘和云进行高效的协作和融合, 这样可以将边缘计算和云计算发挥出各自最大的价值. 具体而言, 端边云架构一方面是可以提供一套层次型的计算基础设施, 终端设备可以利用这套基础设备部署各种类型的计算任务, 满足自身计算需求, 减轻自身计算负担; 另一方面, 可以通过端边云的架构提供层次型的计算服务, 终端设备根据自身需求分别请求不同层次下的计算服务,满足自身需求.端边云架构中融合了不同类型的计算资源来满足不同的任务需求, 通过多样化的计算资源来提供多样化的计算服务; 但另一方面, 多样的计算设备也带来了相应的安全性问题.3 区块链区块链已经被应用到了资产管理[2 9]、I〇T(InternetofTThi ngs )[3 °]、 医疗管理[3 1]、 政务监管[3 2]等多个领域[3 3]. 从网络层面来讲, 区块链是一个对等网络( PeertoPeer , P2P) , 网络中的节点地位对等,每个节点都保存完整账本数据, 系统的运行不依赖中心化节点, 因此避免了中心化带来的单点故障问题. 同时区块链作为一个拜占庭容错[3 4]的分布式系统, 在存在少量恶意节点情况下可以作为一个整体对外提供稳定的服务.区块链按照开放程度可分为公有链、 联盟链和私有链: 公有链是一种完全开放的区块链网络, 任意节点都可以加人, 但公有链交易速度慢, 吞吐较低,典型的包括比特币和以太坊; 联盟链面向部分特定的组织开放, 只有这些组织才拥有对区块链数据的读写权限, 相比于公有链, 联盟链吞吐率较高, 典型系统为Hyperl edgerFabri c; 私有链只对单个组织开放, 系统效率和隐私性更高.以下从区块链关键数据结构、 共识机制、 密码学相关技术和智能合约四个方面介绍区块链.3. 1 区块链关键数据结构区块链是一种按照时间顺序将数据区块通过哈希指针链接的链式数据结构, 并借用密码学技术确保区块链数据难以篡改和伪造. 区块链中的每个区块分为区块头和区块体两部分, 区块头中主要包含前一个区块的哈希值、 时间戳、 随机数Nonce、 默克尔根等. 在比特币中, 矿工通过暴力的方式寻找合适的Nonce 来破解满足工作量证明的哈希难题; 默克尔根是默克尔哈希树的根节点, 默克尔哈希树[3 5]是一种二叉树, 叶子结点为区块体中交易的哈希值, 中间节点是将其子结点的哈希值拼接之后进行哈希计算生成的哈希值. 当修改默克尔哈希树中任意一个结点的数据时, 会从下向上影响到根结点的值. 默克尔哈希树的根结点作为区块内所有交易的摘要. 当对一笔交易进行验证时, 可以从该笔交易对应的叶子结点出发, 直到根结点路径上所有结点的兄弟结点作为验证的证据, 待验证交易可以与这个证据生成根S醫傳 齊警* 两ft辩边云t同擊构游K禁键载术零辑3351IS点哈希值, 若生成的哈翁值和区块条中的哈着值相SPVCSi mpl ifMPaym紐tVerifkatfcii)验证, 姐圈1词, 则交易■得到正确性的验证. 这个验证过程称为所示,, Hashl 和Hash( S|4)是交易2 的证据.区块N 1(父节点哈希)时间戳]fNonce1 默克尔根1区块Nf父节点哈希) :咖戳3^Noncej默克尔根]1区块JV+1节点哈希]^时间戳)[fNoncej默克尔根j〔Hashl] 〔Hash2'j 〔Hash3] 〔Hash4〕[±§i l]{±i2] [交易3]区块体图1雜链链It缴据3. 2 共识机制区块链与魯_的分布式多_本系翁的不I f之处在于前费是一个完全对等的(: 去中心化.) 网络, 不存在中心化的可骨节点, 并且宵以在存在少量恶意节点的情况下正常运行. 因此分布式系统中广泛使用的Paxo#* 6]及其变体〔t7 3fl、 Raft[3 9]等共识算法不能廣減在区块键系统中.員前的区块链mH算法可以分为两类I一裊是基于竞争的共识算法? 主要应用在公有链中I另一类:是塞于投菓的共识箅法, 主要应用在联盟链中? 基于竞争的共识算法的代表是P〇W, 另外有Proof afCapacity[4( )]、 P: toof-c> f,Elapsi ed:Tri meg?edProofof81&1?; )鱗導;; 基于换: :襄的共识(;算法典型的是PBFT, 这类算法在节点数量较多的情况下,系统的效率会相应降低. 目前有相关工作?4 53将K.块链网络进行分片, 每个分片独立运行, 从而搌高系统吞吐量? 也有部分工作利用侧链 和链下交易^来提高区块链系统的吞吐量.3. 3 密码学相关技术区放链可以在网络中为互不倩任的多方构建倩任, 其中密码孥是其最童要的部件之一 ? 紙区块链数据安全存储到多方之间安全交互. 从区块链数据安全访问到区块链数据正确性验fE* 密码学都扮脔黉_的角色, S块链中应用的密码学工具主要包括哈希#法、加解密算法 <签名算法等.( 1) 哈希箅法, 也称为散刿算法. 主要的功能是将原始数据通过哈希國数編码4辱其映射成固定长度的f符串, 谋宇狩卓作为原始数据的哈希值( 摘要)? 哈希耸法具有单向性, 不能从哈希值反推锝到原始数据: 另外哈希算法具有雪崩效应>.康文细徽的变化会导致婚着奠法算出的踏 信■'极大猶不同》( 2) 加解密算法. 加解密算法是密码学fiir核心,算法本身公开且固定, 密钥则'醫要特殊保护:一般来说/歸一种算法* 密钥越长, 安全性越高. 目前的加解_算法主要分为x#称加密和.对称加密, 对称加密中加密的密荀和解密的密钥相同, 对称加密加密效率高#1^对称加密中密钥分为公钥和私'钽, 私钥由甩户自己保密持有, 公钥公开, 非对称加密效率相比于对称加密: 效寒敎低?( 3) 数字签名. 数字签名是基于非对称加密算法实现的消息加密与验证算法, 数学签名可以实现消息的认证, 保证数据的宽賓性和不育否认. 数字签名不渉及加密, 不能保怔数据不被网络中的攻击者嗅探而泄露隐私? 数字签名过輕中, 待有來钥的甩户对消息进行签名,签名之后. 拥有对应公钥的用卢贺以根据公钥验征签名消息的合法性.3. 4 智能合约智能合约的历史可逭谢到浼世纪盼年代,NkkSzab〇[4 6]第一次提出了“'智能合约,的概念》,: 其①https: //intelledger.github. io/introduction. html②Delegatedproofofstake, httpdocs, bi tshares. org/bitshares/dpo8. html③Enablingblockchaininnovationswithpeggedsidechains.http:*//www. opensciencereview. com/papers/123/enablingblockchaininnovations withpegged sidechains④Sidechains, Drivechains, andRSK2 WayPegDesign, http: //www. rootstock, io/blog/sidechains drivechains and rsk 2way pegdesign?Thebitcoinlightningnetwork: Scalableoff chaininstantpayments, http: //lightning, network/lightningnetworkpaper,pdf⑥Raidennetwork, https: //raiden. network/23 52 计 算机 学 报 2021年设想为在一个计算机系统中, 当一些事务被执行时,可以激发合约代码自动执行, 并产生对应的输出. 智能合约在区块链中的应用也使得区块链从一种分布式存储架构进化成了通用的分布式计算架构, 大大丰富了区块链的应用场景.从编程语言表达能力来看, 可以将智能合约分为脚本型、 图灵完备型、 可验证合约型三种类型, 其运行环境可以分为嵌人式运行、 基于虚拟机运行和基于容器运行[4 7]. 比特币支持简单的嵌人式运行的智能合约脚本, 实现基于数字签名的电子货币交易;以太坊支持图灵完备的智能合约, 合约代码运行在以太坊虚拟机中, 以太坊虚拟机是一个独立运行的沙盒, 保证了执行合约代码时不受外界影响, 目前以太坊的智能合约一般由 Sol i di ty、 Serpent 编写;Fabri c 同样支持图灵完备的智能合约, Fabri c 中的智能合约称为链码, 链码运行在Docker 容器中, 目前主要由Go 语言编写.总结来说, 区块链是一种由网络中互不信任的多节点组成的分布式计算框架, 具有数据不可篡改、数据不可否认、 历史数据可追溯、 数据安全透明、 由多方共同维护等特点. 利用这些特点,一是可以将区块链作为一种安全的数据管理系统, 保证数据的完整性和可用性; 二是可以将区块链作为一个安全的可信计算平台, 利用区块链智能合约实现一个可信计算平台; 三是可以将区块链可以作为一个通证流转平台, 可通过代币实现激励机制, 促进各方的数据共享, 构造一个良好运作的多方协同框架; 四是可以将区块链作为一个监管审计平台实现系统的安全透明监管.4 端边云架构面临的问题端边云架构作为一种层次型的分布式计算架构, 可以利用其层次型和地理上分布式的特点提供多样的计算服务. 但另一方面, 在复杂的端边云系统中, 数据会在不同层次和不同设备之间进行流转, 这个过程中数据的完整性和可用性不能得到保障; 端边云架构中包含各种类型的计算设备, 这些设备彼此之间呈现出很强的异构性,一些安全防护能力较弱的节点容易受到安全攻击, 同样, 数据的安全性无法得到保证; 开放型的端边云网络可能会接人恶意的终端设备或计算设备, 这些设备会破坏系统的正常运行, 系统的稳定性无法得到保障; 端边云架构作为一种地理上分布式的架构, 数据会分布在不同的节点上, 在不可信的环境下, 数据的安全共享受到挑战.具体来说, 端边云架构面临的问题主要包含以下四点:(1) 不能保证数据的可信存储端边云架构边缘计算层是一种分布式的结构,其中终端设备或边缘服务器产生的数据会保存在边缘层中的多个边缘节点上, 这些设备的安全防护能力有限, 同时在复杂的边缘环境下会存在各种的攻击行为[3 ’ 4 8], 因此边缘层和终端层的设备容易被攻击者攻破; 另一方面, 相比于云端设备, 边缘层和终端层中的设备稳定性较差, 边缘节点容易因硬件条件或外界因素影响而宕机, 这些情况都会导致存储在边缘层和终端层的数据丢失或被篡改, 导致系统服务的可用性降低. 在云层中, 数据的安全性由云服务提供商进行背书, 云服务的可靠性和性能就成为重要因素. 总的来说, 在端边云架构下, 云层、 边缘层和终端层的数据的完整性和可用性受到多方面的挑战.( 2) 缺乏可信计算框架从纵向来看, 端边云架构是一种由终端边缘云构成的层次型架构, 不同的层次下的设备具有不同的特点: 边缘端具有明显的位置优势, 云端具备很强的弹性计算优势等, 这些优势使得端边云架构可以基于不同层次的设备对外提供多样的服务; 从横向来看, 端边云系统由众多不同场景的设施组成, 可以在多场景协同的情况下对外提供丰富且高效的计算服务. 然而, 不同场景的设施往往分属于不同的利益体, 并且各利益体之间互不信任, 彼此之间并不能进行高效的协同. 在可信中心化节点存在的情况下,基于中心化协调节点的系统可以充分发挥端边云架构的优势, 但是在中心化协调节点不存在的情况下,如何将端边云架构中的硬件和架构进行充分的利用, 即基于端边云架构构造一个可信的计算框架并对外提供可信可靠且安全的服务具有重要意义.( 3) 不能保证数据的可信传递在边缘环境下, 相比于中心化的云计算模型, 边缘服务由众多的边缘节点提供, 数据分布在众多的边缘设备上, 由此会形成一个个的信息孤岛. 通过安全的访问控制机制可以在保证数据隐私和安全的情况下提供数据的访问策略. 但如果要满足更加多样的应用需求, 需要多方之间主动共享数据, 这需要建傳 薦警 面向鞲边云ft同茱构傅区: 隹■我术馨辑 335 5 ItP立一个安全可信的数据共享平合, 来保证共享数据的安全性和可攀性, 另外一方面, 边缘环境中的边缘节点可能属于不闻的利益相关方, 部分节点倾向f拒绝分享数据. 而这会导致其享系统的活牲太大降低. 针对这一点, _要建立正向的激励机制, 鼓励边缘节点之间数据共f, 形成一个高效可信的数据共享平台.?) 缺芝系统可傷管埋机制端边. 5架构系统相对来说是一种开放式的系统, 会有各种类遨的设备接入系统. 尤其是在边缘坏境中f各种异构终端设备会连接到边缘脈务器上》 这些设备的接人绐系统带来了不确定性和安查隐患.因此边缴坏境下终端设备的管理, 比如物联网设备的动态接人与离开、 行为记录.以及相应的边缘设备身份管理等都'需棄一个安全的菅娌和审计手段, 在传统的管理系统下, 可采用中心化的管理架构来实现边缘环境下的设备管理和系统审计F但中心化的架构存在中心化节点故障和1?点作恶的可能性, 系统的安全性不能得到保证. 另外, 分布式的边缘环境多副本全量数据: 保证数据完整性和可用性;硬件充足: 满足复杂的存储和计算服务.通常会渉及到多方的利, 益, 比如在物联网中, 边缘终端貴备、边缘计算设备或一些其他的塞础设施通常分属T多个不同的利益相关方.. 多方之间。 进行协同时缺乏安全可信的监管和审计机制.5 端边云架构融合区块链端边云系统利区块链融含后整体的槊构图如图2 所示: 从端边云系统纵向角度来着>整体的架构分为三层自顶向下依次为云层、 边缘厚和终端层.云层具有充足的存储和甘箕资源, 负;賣数据的全量存储, 另外采if基宁区块链的多副'本存储机制保证拜A處容错■下的数据一敦性; 边缘层负賣釉理终輞采集的数据* 由于边缘_设备能力有跟, 因此仅缓存部分云端数据用'来提供低延时的访两服务,同时采用基于区块链的多副本机制保证萍占庭容错下边缘缓#数据多副本之间数据一致性;终端层筑责收集环境中的数据并向边缘层请求计算服务,I 1I I 1I団[§)云端区鄉BFT云螂#1M?胬露壤i醤I】网络—边缘区块链:BFT边缘缓存多 致性和完整性居 i传的力储足能存充储的务卩端存杂任缘M云和复算边用算行计利计执和放 居缘云提写务算读服计据低缘数降时边端,延过云度应通升速响部时缓存存延证的糧保限:供本有蠢副.供缓,多性提务分据,用:服可限算本端服据有计副云问数件和多分访存硬储图2 端边云系统融合区块链架构23 54 计 算机 学 报 2021年从端边云系统横向角度来看, 边缘层可以和其他边缘网络节点进行跨边缘网络协作. 以道路上的边缘网络为例, 车联网中的路边计算单元形成车联网的边缘计算网络; 交通管制部门的路边单元形成交通管制的边缘计算网络; 环境监测部门部署在环境中的环境监测设备形成环境监测的边缘计算网络. 不同边缘网络由于业务场景的特殊性, 只会访问和自身业务相关的数据, 因此不同的边缘网络会缓存不同的云端数据, 访问数据呈现局部性的特点. 但当涉及到跨场景数据读写或共享时, 需要保证数据读写时边缘缓存多副本之间数据的一致性和数据共享之后的可审计性.端边云横向协同是指边缘环境下单个场景多节点之间的协同, 或者是多个边缘场景下多个节点之间的协同. 以文献[49] 为例, 作者为支持高效的拼车服务, 设计了一种车联网拼车系统, 其中路边计算单元负责收集道路上车辆和拼车用户信息用以提供拼车服务, 多个路边计算单元进行横向协同共享数据,从而提升拼车服务质量.从端边云系统纵向角度来看, 协同过程中会涉及到层次之间数据卸载和计算卸载, 数据卸载主要是将不同层次的数据迁移到其他层次, 以满足多样的需求. 比如边缘节点直接向终端设备提供服务, 而边缘节点要访问的数据往往来自于云节点, 这个过程中就涉及到将云端数据卸载到边缘侧, 这时边缘节点就类似于云端设备的缓存[5 °]. 纵向协同其中的关键点在于: (1) 通过云层满足终端设备请求的边缘层不能提供的大量存储和计算需求42) 通过边缘层满足终端设备请求的云层不能满足的低延时的计算服务. 以文献[5 1] 为例, 作者为满足资源密集型和延迟敏感型任务的需求, 设计了一种IoTFog(Edge) Cl 〇ud端边云融合框架, 系统整体的架构分为终端边缘云三层, 边缘为终端提供低延时服务,云为终端提供大量计算服务, 二者纵向的协同融合为终端提供多样的计算需求.节点间进行横向和纵向协同时, 系统会面临诸多挑战: 纵向协同过程中, 通常会涉及到数据外包存储和卸载的场景, 这个过程中数据的完整性和可用性不能得到保证; 多方协作过程中, 计算过程的透明性和安全性不能保证; 横向协同过程中, 会涉及到多方之间进行数据共享, 但目前缺乏安全的多方交互平台, 以及促进多方数据共享的激励机制; 另外端边云系统的开放程度较高, 节点的移动性较强, 节点会不断的进人和退出系统, 节点行为不能得到有效监管和安全审查.当前针对区块链和端边云架构融合的研究工作大致上可分为如下四类.(1) 利用区块链实现端边云系统数据可信存储从微观的数据结构角度来看, 区块链是一种链式的数据结构, 每个新产生的区块中都会包含前一个区块的摘要( 哈希值) , 当恶意篡改某个历史区块时, 会导致区块链链条的“断链”, 区块链便会变得无效; 从宏观的系统组成来看, 区块链是一种全量数据的多副本存储系统, 每个节点都会保存完整的区块链数据, 节点之间通过拜占庭共识机制保证数据一致性. 区块链微观上的链式数据结构和宏观上的全副本分布式存储机制保证了区块链数据的完整性和可用性, 因此现有工作主要利用区块链的这些特点保证端边云系统运行过程中数据的完整性和可用性.文献[5 2] 提出了基于区块链的端边云环境数据完整性验证框架. 随着物联网的快速发展, 资源受限的终端设备产生的数据需要转发到边缘计算设备或云计算设备, 因为数据和数据所有者的分离导致存储在云端和边缘端的数据并不完全安全, 针对这个问题, 传统的解决方案是通过一个可信的中心化第三方审计者( Thi rd PartyAudi tor, TPA) 保证数据的完整性, 但这种方式存在中心化故障和TPA作恶的可能性. 针对这个问题, 作者利用区块链作为一个可信的验证服务提供方来保证数据的完整性. 具体而言, 系统整体的物理框架分为三层, 终端层, 边缘层和云层, 终端设备产生的数据会根据数据的特点来决定保存在云层或边缘层( Edge Cl oudStorage, ECS), 区块链部署在计算和存储资源较为充足的边缘节点或云端节点. 终端设备在将数据转发到云端或边缘端进行数据存储时, 会将数据进行划分并利用默克尔树生成摘要( 默克尔根) , 之后将其上链存储. 在进行数据验证时, ECS 提供相应的验证信息, 通过智能合约结合链上存储的摘要信息提供可信的验证服务. 另外, 作者提出了取样的验证策略, 降低验证过程中的资源消耗和延时. 文献[5 1 ] 设计了一种轻量级的计算框架FogBus , 作者利用雾和云基础设施的不同特点构建应用执行平台来满足不同应用需求. 具体而言, 作者将资源受限的I〇T系统结合雾和云端的计算资源构建一个通用的计算平台, 充分利用雾计算延时低、 云计算计算能力强的特 |
[返回] |