书 书 书
第44卷 第12期
2021年12月 计 算 机 学 报
CHINESEJOURNALOFCOMPUTERS Vol.44NDec.o2.01221
收稿日期:20200917;在线发布日期:20210310.本课题得到国家自然科学基金(61972152,U1911203)、广西可信软件重点实验室研究 课题(编号kx202005)资助.佟 兴,博士研究生,主要研究方向为区块链.Email:xtong@stu.ecnu.edu.cn.张 召,博士,教授,中国计 算机学会(CCF)会员,主要研究领域为区块链、海量数据管理和数据挖掘.金澈清(通信作者),博士,教授,中国计算机学会(CCF)杰出会 员,主要研究领域为区块链、海量数据挖掘.Email:cqjin@dase.ecnu.edu.cn.周傲英,博士,教授,中国计算机学会(CCF)会士,主要研究 领域为Web数据管理、数据密集型计算、内存集群计算、大数据基准测试和性能优化.
面向端边云协同架构的区块链技术综述
佟 兴
1) 张 召1),2) 金澈清1),3) 周傲英1),3)
周傲英1),3)
1)(华东师范大学数据科学与工程学院 上海 200062)
2)(桂林电子科技大学广西可信软件重点实验室 广西桂林 541004)
3)(华东师范大学上海市大数据管理系统工程研究中心 上海 200062)
摘 要 近年随着边缘计算的兴起,边缘计算和云计算结合形成的终端边缘云(端边云)协同的层次型分布式架 构尽管可在高计算能力服务、高存储能力服务和低延时服务等方面满足应用需求.但在数据安全和多方可信交互 等方面仍面临很多挑战.作为一种去中心化的分布式账本技术,区块链具有数据不可篡改、不可伪造、可追溯和由 多方共同维护的特点,将区块链融入到端边云架构中可以使多参与方之间进行互信的数据交互,确保数据完整和 可用.但由于区块链在系统架构、隐私安全、对节点资源要求和多方共识方面的特点,其与端边云架构相融合时 仍面临诸多挑战:区块链和端边云系统在架构上的不匹配使得二者难以融合;区块链账本数据透明,可能造成敏 感数据泄露;区块链的全副本存储和共识过程会消耗更多端边云参与节点的资源;不同端边云场景所需的信任 模型差异、终端和边缘节点资源受限和终端设备大规模接入等特点使得现有共识算法不能适应端边云的场景.
针对以上问题,本文首先介绍端边云架构和区块链技术,接着讨论二者融合的可行性和优势,并整理归纳了相关 研究进展;之后讨论端边云架构下区块链技术面临的技术问题;最后提出未来端边云架构下区块链技术的研究 方向.
关键词 区块链;端边云架构;端边云协同;边缘计算;分布式计算 中图法分类号TP18 犇犗犐号10.11897/SP.J.1016.2021.02345
犅 犾 狅 犮 犽 犮 犺 犪 犻 狀 犳 狅 狉 犈 狀 犱 犈 犱 犵 犲 犆 犾 狅 狌 犱 犃 狉 犮 犺 犻 狋 犲 犮 狋 狌 狉 犲 : 犃 犛 狌 狉 狏 犲 狔
TONGXing1) ZHANGZhao1),2) JINCheQing1),3) ZHOUAoYing1),3)
1)(犛犮犺狅狅犾狅犳犇犪狋犪犛犮犻犲狀犮犲犪狀犱犈狀犵犻狀犲犲狉犻狀犵,犈犪狊狋犆犺犻狀犪犖狅狉犿犪犾犝狀犻狏犲狉狊犻狋狔,犛犺犪狀犵犺犪犻 200062)
2)(犌狌犪狀犵狓犻犓犲狔犔犪犫狅狉犪狋狅狉狔狅犳犜狉狌狊狋犲犱犛狅犳狋狑犪狉犲,犌狌犻犾犻狀犝狀犻狏犲狉狊犻狋狔犗犳犈犾犲犮狋狉狅狀犻犮犜犲犮犺狀狅犾狅犵狔,犌狌犻犾犻狀,犌狌犪狀犵狓犻 541004)
3)(犛犺犪狀犵犺犪犻犈狀犵犻狀犲犲狉犻狀犵犚犲狊犲犪狉犮犺犆犲狀狋犲狉狅犳犅犻犵犇犪狋犪犕犪狀犪犵犲犿犲狀狋,犈犪狊狋犆犺犻狀犪犖狅狉犿犪犾犝狀犻狏犲狉狊犻狋狔,犛犺犪狀犵犺犪犻 200062)
犃犫狊狋狉犪犮狋 Inrecentyears,withtheriseofedgecomputing,althoughahierarchicaldistributed computingmodelthatintegratesedgecomputingandcloudcomputingiscapableofproviding serviceswithhighcomputingcapability,highstoragecapabilityandlowresponselatency,itisstill encounteredwithchallengeslikedatasecurityandtrustworthyinteractivity.Asadecentralized ledger,blockchainhascharacteristicslikenontamperability,unforgeability,traceability,global consistency,sothattheintegrationwithblockchaincanensuredataintegrityandtheservice availability.However,duetotheissueslikesystemperformance,privacyprotection,scalability andrequirementsforhardwareresources,itischallengingtointegrateendedgecloud architecturewithblockchain.First,theexistenceofsignificantdifferenceinarchitecturemakesit
《 计
算 机
学 报
》
difficulttointegratesuchtechniques.Second,thedatatransparancymayleaktheprivacyofthe endedgecloudsystem.Third,fullreplicatestoragemechanismandconsensusmechanismmay consumehugeresourcesoftheendedgecloudsystem.Finally,thetrustworthymodel,limited edgenoderesourcesandlargescalenodesofendedgecloudarchitecturemaketheexisting consensusalgorithmsunsuitabletowork.Todealwithsuchissues,wefirstintroducethe endedgecloudarchitectureandblockchaintechnology.Then,wereviewtherecentprogresson theintegrationofendedgecloudsystemandtheblockchain.Subsequently,wediscusssome problemsfacedbytheblockchaintechnologyundertheendedgecloudarchitecture,andpointout thefutureresearchdirectionbrieflyfinally.
犓犲狔狑狅狉犱狊 blockchain;endedgecloudarchitecture;endedgecloudcollaboration;edgecomputing; distributedcomputing
1 引 言
作为一种地理上分布式部署、在靠近数据源头 处执行计算任务的计算模型[1],边缘计算可以提升 服务的响应速度,降低服务延迟.但由于边缘计算设 备的计算和存储能力有限,一些对计算和存储要求 较高的任务仍需要发往云端执行.因此相比于边缘 计算单独发展,边缘计算的发展方向是和云计算结 合形成终端边缘云(端边云)的层次型计算架构. 相比于单纯的云计算或边缘计算,端边云计算模型 有效整合二者优势,一方面可以利用云计算的资源 优势来提供充足的计算和存储资源,满足资源密集 型任务的需求;另一方面可以利用边缘计算的地理 优势来满足延时敏感型任务对低延时的需求.
作为一种终端边缘云协同的架构,端边云架 构可实现纵横两方面协同.纵向协同指端边云三层 之间的协同,通过多层次的计算资源满足不同的任 务需求;横向协同指同一层次下多节点之间的协同, 通常指边缘层节点之间的协同,横向协同又分为单 场景下多节点之间的协同(比如车联网的多个边缘 计算节点之间的协同)和跨场景边缘节点之间的 协同(比如车联网和交通管制节点之间的协同), 后者可以满足更加复杂的应用需求.端边云的计 算架构可以将云计算和边缘计算有机融合,但是 在实际环境下,端边云架构仍然面临着以下四方 面挑战:
(1)如何保证数据的可信存储.端边云架构中 的边缘计算设备一般在地理上分布式部署,数据的 收集也是通过处于不同地理位置的节点进行.由于
边缘计算设备的安全防护措施有限,且处于开放环 境之中,容易受到安全攻击[24],数据的完整性和可 用性受到威胁,不能确保数据可信存储;
(2)如何保证可信计算.在端边云系统中,整个 系统往往由多个互不信任组织组成,当系统作为一 个整体对外提供服务或各方之间进行协同计算时, 需要保证系统和各方之间计算过程透明,而目前端 边云系统缺乏透明可信的计算平台,无法确保这 一点;
(3)如何保证数据的可信传递.在边缘场景下, 各利益方之间互不信任,缺乏数据共享平台,导致各 平台数据孤立;在缺乏激励的情况下,各方之间倾向 于不分享数据.因此,目前缺乏一个在端边云环境下 为多方建立信任并利用激励机制促进各方进行可信 数据传递和共享的平台;
(4)如何保证系统的可信管理.在边缘场景下 包含各种类型的边缘和终端设备,这些设备呈现出 一定的动态性,会随时加入和退出网络,另外这些设 备可能会由于利益关系做出一些恶意的行为.因此 需要通过安全的设备监管平台监控并记录设备的行 为,而目前端边云系统缺乏一个可信的系统监管和 审计平台.
近年来,随着比特币[5]等数字货币的快速发展, 区块链作为其底层支撑技术受到了学界和工业界的 广泛关注.区块链具有历史数据可追溯、数据不可否 认、不可篡改和安全透明的特点,因此区块链可以作 为过程监管和事后审计的多方交互平台,可以在网 络中为互不信任的多方建立信任,使得多方能够在 不可信的网络中进行有效的价值转移和数据交互. 区块链2.0系统以太坊中智能合约的应用使得
6 4 3
2 计 算 机 学 报 2021年
《 计
算
机
学
报
》
区块链进一步成为了一种分布式的计算模型,因此 可以考虑利用区块链构建安全可信的端边云计算架 构.区块链作为一种分布式的计算模型,而端边云架 构同样是一种分布式计算模型,这个共通点使二者 具有融合的前提.从融合效果来看,将区块链融入到 端边云协作架构中,一是可以利用区块链作为一个 拜占庭容错的多副本存储机制来保证端边云数据的 完整性和可用性,实现数据的可信存储;二是可以基 于区块链智能合约为端边云计算架构构建一个可信 计算框架,实现可信计算;三是可以利用区块链作为 数据共享平台促进端边云架构下参与方之间数据安 全共享,实现数据可信传递;四是可以将区块链作为 边缘场景下的系统设备监管和审计管理平台,实现 端边云系统安全可监管,进而实现端边云系统可信 管理.
尽管端边云架构融合区块链可以解决自身在存 储、计算、数据传递和系统管理方面的安全性和可信 问题,但是由于区块链系统自身的一些特点,使得端 边云架构在与区块链进行融合时面临挑战.
从架构层面来讲,区块链本质上是一种“扁平” 的单层架构;而端边云系统是由终端边缘云结合 形成的层次型的分布式架构,从纵向的角度看,端边 云架构呈现出一种分层的结构,横向来看,端边云架 构中的每一层都是一种“扁平”结构.二者架构上的 不完全匹配使得区块链和端边云架构融合时面临 挑战.
从数据隐私角度来讲,在端边云架构中,终端和 边缘计算设备会收集环境中的各种隐私数据,而区 块链作为一种由多方共识形成的分布式账本,每个 节点都会保存完整的账本数据,数据透明的特点会 使得链上数据暴露在网络中,造成隐私数据的泄露. 尽管限制区块链节点的加入可以限制隐私数据的传 播范围,但是在端边云环境下,边缘节点的安全防护 措施有限,攻击者可以攻击安全能力较差的边缘节 点,节点一旦被攻破,区块链中的隐私数据将完全被 泄露.
从资源角度来讲,端边云架构分为中心化的云 计算层和分布式的边缘计算层,边缘计算层中包括 边缘计算设备和众多的终端设备.相比于边缘计算 节点,云计算节点的硬件条件比较充足,并且硬件结 构较为统一;而边缘计算节点通常依据不同的场景 设计,硬件结构多种多样,且硬件资源有限,因此端 边云系统内部节点之间表现出了很强的异构性.端
边云节点的存储和计算能力差异较大:云端具有充 足的存储和计算资源,而边缘计算节点的存储和计 算资源相对有限.在边缘计算节点部署区块链时,区 块链全副本存储机制和共识过程会消耗节点大量的 存储和计算资源.
在端边云架构下,不同的端边云场景具有不 同的信任模型,比如一些边缘场景由多个机构或 组织共同参与,部分组织会部署多个节点,同属一 个组织的节点互相信任,不同组织则不信任,因而 整体呈现出一种“局部可信,全局不可信”的混合 信任模型.从共识的角度来看,面向单一信任模型 的拜占庭容错协议或非拜占庭容错的协议并不能 很好的满足实际的场景需求;另外在边缘环境下, 节点的硬件条件较差,计算和存储资源欠缺,需要保 证共识过程不会给节点带来大的计算开销,比如 PoW(ProofofWork)[6]类的共识算法在边缘场景 下并不适用;最后,在不同的场景下,系统具有不同 的开放性,在无许可的环境中(Permissionless),在 涉及大量节点接入时,需要保证系统不因节点数量 增加而导致效率急剧降低,传统的基于投票的BFT
(ByzantineFaultTolerance)类算法,如PBFT(Practi calByzantineFaultTolerance)[7]等面临严重的扩展
性问题.
总结来说,区块链融入端边云架构时,会面临系 统架构、数据隐私安全、参与节点资源和共识等多方 面的挑战.本文将分析区块链和端边云协同如何融 合、融合后能解决的问题以及在端边云环境下区块 链技术面临的一些挑战,并综述目前端边云架构和 区块链融合的研究进展.
部分文献综述了区块链和物联网融合[8],区块 链和边缘计算融合[9]等工作.端边云协同计算架构 相比于单纯的云计算或边缘计算能够提供更加多样 且高效的计算解决方案,将区块链融入到端边云架 构中可以解决端边云架构中的安全性问题,但由于 区块链自身特点,将区块链融入到端边云架构中会 面临很多挑战.基于此,本文首先介绍边缘计算、端 边云协同架构和区块链,之后以端边云架构的安全 性问题为切入点,阐述端边云架构融合区块链的必 要性,之后从区块链自身特点出发,深入阐述端边云 融合区块链时区块链所面临的挑战,并介绍研究这 些问题的现有研究工作,最后总结在端边云协同与 区块链融合未来的发展方向.
本文第2节介绍边缘计算的由来和端边云协同
7 4 3 12期 佟 兴等:面向端边云协同架构的区块链技术综述 2
《 计
算
机
学
报
》
架构的意义;第3节从区块链数据结构、共识机制、 密码学相关技术和智能合约四部分介绍区块链;第 4节介绍端边云架构中存在的问题;第5节介绍如 何利用区块链解决端边云架构面临的挑战;第6节 讨论区块链和端边云架构融合时区块链面临的挑 战;第7节提出了未来端边云架构融合区块链的研 究方向;第8节总结全文.
2 边缘计算和端边云架构
21 边缘计算
在传统的物联网计算模型中,受限于物联网终 端设备有限的存储和计算能力,大多数数据处理过 程都是在云端完成的.云端具有较强的计算和存储 能力,因此将计算任务放在云端是一种高效的数据 处理手段.但是,随着物联网的快速发展,大量物联 设备接入网络会产生海量的数据,尽管云端数据处 理能力也在不断增强,但海量数据的传输会给网络 造成很大的压力,网络的带宽将成为瓶颈;同时对于 一些延迟敏感的应用来说,云计算较高的延迟不能 很好的满足应用需求;云计算中心机房会产生大量 的能源消耗以及相对应的散热成本.
针对云计算模型的缺点,近年来出现了边缘计 算模型,边缘计算本质上是在靠近数据源头的地方 执行计算任务,无需再将终端设备产生的数据传送 到云计算中心,因此具有如下优点.
(1)减轻网络的压力.在网络边缘产生的大量 数据无需再上传云端,减轻网络带宽的压力;
(2)降低延时.在靠近数据源头的地方对数据 进行处理,不需要请求云数据中心的响应,降低网络 延时,提高系统效率;
(3)降低隐私泄露风险.隐私数据可以在边缘 计算层进行一些加密处理甚至保存在边缘计算层, 降低数据泄露的风险;
(4)降低云计算中心的能耗.数据在本地进行 处理或预处理,云计算中心不再需要处理海量的数 据,降低云计算中心的能耗;
(5)灵活性更强.可以针对具体的应用场景设 计相应的边缘服务,提高计算服务的灵活性.
根据边缘设备和网络类型的不同,边缘网络 可以分为Cloudlet[10]、雾计算[11]和移动边缘计算
(MobileEdgeComputing,MEC)[12],Cloudlet是一 个部署在网络边缘的计算机或计算机集群,相比于 一般的终端设备,Cloudlet拥有更强的计算和存储 能力,对外与互联网连接,对内为边缘设备提供计算 服务,形成一个本地局域访问网络;雾计算由性能较 弱、分散的功能计算机组成,比如路由器或交换机 等[13];移动边缘计算(MobileEdgeComputing, MEC)是在无线接入网内,在接近移动边缘设备的 移动网络边缘提供计算服务,移动边缘计算服务器 通常与无线网络基站共存,具有超低延迟、高带宽、 位置感知等优点.
无论是Cloudlet、雾计算还是移动边缘计算,彼 此之间的区别主要在于边缘计算设备和网络类型的 不同,但其核心思想都是将数据在靠近数据源头处 进行处理,本质上都属于边缘计算的范畴.
文献[14]设计了针对具有能源收集功能的移动 设备(EnergyHarvesting,EH)的移动边缘计算系 统.通过计算任务卸载结合能源收集来实现绿色的 边缘计算模型,作者将执行开销作为性能指标开发 了基于Lyapunov优化的动态计算卸载(LODCO) 算法,动态地将终端设备中的计算任务分配到移动 边缘计算服务器中.卸载之前将移动设备执行过程 中CPU周期频率以及卸载过程中的能源消耗作为 参考指标综合考量来做出卸载策略,通过边缘计 算为终端设备提供计算服务,降低终端设备的计 算压力.文献[15]针对计算任务卸载过程中存在 的隐私泄露问题设计了两阶段的卸载优化策略, 卸载过程中对卸载的效用和隐私的保护进行综合 考量.第一阶段设计了基于NSGAIII的任务卸载 方法,实现ECU(EdgeComputingUnits,边缘计算 单元)资源利用率最大化、时间成本最小化;第二 阶段作者设计了一种权衡卸载效用和隐私保护的 联合优化方法,实现隐私保护和高效执行性能的 权衡.文献[16]实现了利用边缘计算降低无人机 视频数据分析所需带宽资源的方法.作者结合带 宽节省策略将计算任务卸载到边缘节点进行实时 无人机视频分析.作者利用深度神经网络从无人 机视频流选择性地传输数据,并利用早期丢弃策 略结合即时学习、反馈和基于上下文的过滤等策 略进一步提高带宽效率.
表1总结了不同场景下边缘计算的典型工作.
8 4 3
2 计 算 机 学 报 2021年
《 计
算
机
学
报
》
表1 各领域中边缘计算相关工作
文献 应用场景 问题 边缘计算的作用
[17]智慧城市 在智慧城市能源管理系统中,终端设备如何
有效分析数据并采取相应能源管理措施. 利用边缘计算实现基于深度强化学习的物联网能源管理, 边缘计算节点运行深度增强学习算法提升能源管理性能.
[18]智慧电网/电动汽车 如何结合大数据分析,推动电动汽车运作的
智能化,优化智能交通中电动汽车充电任务. 与电动汽车交互,收集电动汽车数据,分发数据,实现数据 挖掘任务的分布式计算.
[19]智能电网 如何解决基于云计算的智能电网场景在延 时和带宽方面存在的弊端.
通过边缘计算进行海量数据的实时分析,提供低延时服 务,提出基于任务分级的层次型决策预执行策略作为隐私 保护策略.
[20]智慧城市 如何解决基于云计算的智慧城市延迟较高
的问题. 通过边缘计算实现无处不在的访问,提升服务质量,降低 服务响应延时.
[21]智能家居 如何高效管理本地可再生能源与智能家居
中的家庭能源. 利用边缘计算实现家居环境中的高效能源管理框架,另外 提出统一的能源管理框架降低边缘计算带来的能源开销.
[22]智能家居 家居环境中会产生大量数据,机器学习模型 位于云端,如何解决家居场景中云计算在隐 私保护、数据安全和高服务延时方面的问题.
利用边缘计算在靠近数据源头处对数据进行处理,实现分 布式的机器学习模型.
[23]智能汽车 边缘计算服务器有限的计算能力会限制卸 载服务的质量,如何在交通流量密集情况下 高效处理车辆请求.
提出了一种基于云的分层车辆边缘计算(VEC)卸载框架, 采用Stackelberg博弈论方法设计多级卸载方案,最大化车 辆和边缘计算服务器效用.
[24]智能医疗 在智能医疗场景,如何针对病人身体情况,及
时响应紧急情况并提供个性化的医疗服务. 提出了一种基于边缘计算的智能医疗系统.该系统能够使 用认知计算来监视和分析用户的身体健康,并根据用户的 健康风险等级调整边缘计算网络的计算资源分配.
[25]工业物联网 工业场景下,IoTCloud架构在通信、电池资 源和计算需求等方面受到限制,如何高效低 延时处理海量数据.
在终端层和云计算层加入雾计算层,雾计算层运行MQ遥 测传输代理(MQTelemetryTransport)预测未来数据,作 为网关层,执行卸载的计算任务降低服务延迟.
总结来说,在网络边缘处部署计算设备(即边缘 计算)带来的优势主要分为四方面:一是可以将终端 设备的计算任务卸载到边缘计算设备上,将边缘计 算作为一种“平台即服务”的服务模式,降低终端设 备的计算压力,实现计算任务的合理分配;二是边缘 计算设备本身提供计算服务,将边缘计算作为一种 类似于“软件即服务”的服务模式,在靠近终端的位 置提供计算服务,降低服务延迟;三是利用边缘计算 设备对数据进行预处理和过滤,通过边缘设备过滤 和预处理数据,减少发送到云端的数据量,增强带宽 效率,降低云计算中心能耗,另外在将数据发往云端 之前,可以通过边缘计算对数据进行加密,保证云端 数据的隐私性;四是将边缘计算设备作为云层的缓 存设备,利用数据局部性的特点来缓存云层数据,降 低云层数据访问延迟,加快终端读写数据速度,提升 响应速度.
22 端边云架构
相比于云计算,边缘计算在降低服务延时等方面 具有明显的优势,但是像数据分析型或数据统计型这 类对计算和存储资源要求较高的任务,仍需要云计算 来完成;另外在服务稳定性方面,边缘计算提供的服 务稳定性远不及云计算提供的服务稳定性.所以边缘 计算的定位是作为传统云计算的补充用来弥补现有 云计算的一些缺陷.未来边缘计算的发展导向也将是 终端、边缘和云的融合发展,最理想的效果是端边云 架构高效融合,同时兼具云计算和边缘计算的优势.
端边云架构可以在纵向和横向进行协同.纵向 协同是指端边云不同层次间的协同,旨在充分利用 端边云不同层次间设备的特点来满足不同的应用需 求,比如边缘设备可以充当云端设备的缓存设备向 终端提供低延时服务,终端直接与边缘设备进行连 接,满足终端设备低延时的访问需求;边缘层设备可 以利用云端设备充足的存储资源来将数据卸载到云 端进行存储,也可以将资源密集型任务卸载到云端, 通过云端来完成终端设备的复杂计算任务;
横向协同是指在多方之间进行数据交互.为满 足多样的应用需求,需要多方之间进行数据共享,在 端边云架构下,数据主要在边缘层进行汇集,而边缘 设备是地理上分布式部署的,因此需要边缘节点之 间进行数据共享,满足多样的应用需求.
横向协同和纵向协同的内容会在第5节继续深 入展开介绍.
相比于云计算,边缘计算可以大幅度提升服务 的响应速度,但边缘计算的计算能力和可承担负载 都有限,在网络请求急剧上升时,大量的计算负载会 降低服务的响应速度.针对这个问题,文献[26]将服 务的架构组织成层次型的结构,整体的思想就是在 服务请求数量不多时,通过边缘计算来提升服务的 响应速度;当请求达到高峰超出边缘服务的处理能 力时,通过云计算的计算资源来提升服务的处理能 力.另外,作者结合层次型的计算架构设计了相应的 负载分配算法,该算法结合计算需求和通讯延迟两
9 4 3 12期 佟 兴等:面向端边云协同架构的区块链技术综述 2
《 计
算
机
学
报
》
个角度来对任务进行划分,决定计算任务执行位置. 该工作的核心就是充分利用不同层次计算服务的特 点来对不同任务负载的情况下最优化系统的运行 效率.
在实际场景下,不同的任务有不同的延时需求, 因此在边缘场景下,单纯的任务卸载并不能达到系 统服务响应的最优化.针对这个问题,文献[27]在边 缘云计算中,将一组边缘服务器部署在移动设备附 近,以使这些设备可以以低延迟将作业卸载到边缘 服务器.相比于文献[26]中的工作,文献[27]中不仅 考虑了终端设备的任务卸载问题,同样考虑了任务 卸载之后的任务调度问题,以使作业响应时间最小 化的同时达到整体最优化.作者为该问题的解决提 出了一个通用模型:作业在移动设备上以任意的顺 序和时间生成,然后分发到服务器上.因为不同的任 务具有不同的延时需求,因此根据每个任务对延迟 的敏感程度分配了相应的权重,核心目标就是减少 所有工作的总加权响应时间.同时该工作提出了针 对任务分发和调度问题的在线可扩展算法OnDisc.
在现有的针对端边云协同架构的工作中,通常 从整体的角度去设计最优化的计算卸载策略,但在 实际情况下,每个终端设备总是从自身需求出发采 取最优的卸载策略,实现自身体验质量(Qualityof Experience,QoE)最大化,而不会根据全局最优的
角度去设计计算任务卸载策略.针对这个问题,文献
[28]设计了QoE最大化框架,与前面提到的工作相 同,终端设备根据计算需求和延迟要求设计最优的 计算卸载策略;另外作者设计了多终端设备之间的 计算卸载博弈策略,通过一种“无政府状态”的计算 资源定价策略和多设备之间的计算资源竞争形成一 种博弈的状态,作者证明了纳什均衡点的存在,同时 为了解决确定均衡点的时间复杂度,作者提出了相 应的资源分配算法.
总结来说,端边云计算架构相比于单纯的云计 算或边缘计算架构,最大的特点是具有层次性和融 合性,层次性在于其可以利用边缘和云端的不同特 点的计算设备或计算服务构成多层次的架构,满足 多样的终端应用需求;融合性在于其不仅仅是将边 缘和云进行简单加和,而是将边缘和云进行高效的 协作和融合,这样可以将边缘计算和云计算发挥出 各自最大的价值.具体而言,端边云架构一方面是可 以提供一套层次型的计算基础设施,终端设备可以 利用这套基础设备部署各种类型的计算任务,满足 自身计算需求,减轻自身计算负担;另一方面,可以 通过端边云的架构提供层次型的计算服务,终端设
备根据自身需求分别请求不同层次下的计算服务, 满足自身需求.
端边云架构中融合了不同类型的计算资源来满 足不同的任务需求,通过多样化的计算资源来提供 多样化的计算服务;但另一方面,多样的计算设备也 带来了相应的安全性问题.
3 区块链
区块链已经被应用到了资产管理[29]、IoT(In ternetofThings)[30]、医疗管理[31]、政务监管[32]等
多个领域[33].从网络层面来讲,区块链是一个对等 网络(PeertoPeer,P2P),网络中的节点地位对等, 每个节点都保存完整账本数据,系统的运行不依赖 中心化节点,因此避免了中心化带来的单点故障问 题.同时区块链作为一个拜占庭容错[34]的分布式系 统,在存在少量恶意节点情况下可以作为一个整体 对外提供稳定的服务.
区块链按照开放程度可分为公有链、联盟链和 私有链:公有链是一种完全开放的区块链网络,任意 节点都可以加入,但公有链交易速度慢,吞吐较低, 典型的包括比特币和以太坊;联盟链面向部分特定 的组织开放,只有这些组织才拥有对区块链数据的 读写权限,相比于公有链,联盟链吞吐率较高,典型 系统为HyperledgerFabric;私有链只对单个组织 开放,系统效率和隐私性更高.
以下从区块链关键数据结构、共识机制、密码学 相关技术和智能合约四个方面介绍区块链. 31 区块链关键数据结构
区块链是一种按照时间顺序将数据区块通过哈 希指针链接的链式数据结构,并借用密码学技术确 保区块链数据难以篡改和伪造.区块链中的每个区 块分为区块头和区块体两部分,区块头中主要包含 前一个区块的哈希值、时间戳、随机数Nonce、默克 尔根等.在比特币中,矿工通过暴力的方式寻找合适 的Nonce来破解满足工作量证明的哈希难题;默克 尔根是默克尔哈希树的根节点,默克尔哈希树[35]是 一种二叉树,叶子结点为区块体中交易的哈希值,中 间节点是将其子结点的哈希值拼接之后进行哈希计 算生成的哈希值.当修改默克尔哈希树中任意一个 结点的数据时,会从下向上影响到根结点的值.默克 尔哈希树的根结点作为区块内所有交易的摘要.当 对一笔交易进行验证时,可以从该笔交易对应的叶 子结点出发,直到根结点路径上所有结点的兄弟结点 作为验证的证据,待验证交易可以与这个证据生成根
0 5 3
2 计 算 机 学 报 2021年