基于区块链的云边协同系统研究与设计

2021-04-06 00:39庄丽婉
信息安全研究 2021年4期
关键词:信誉服务商视图

金 韬 庄丽婉 张 晨 黄 韬

1(东南大学网络空间安全学院 南京 210096)

2(网络通信与安全紫金山实验室 南京 211111)

3(北京邮电大学 北京 100876)

(cat_jintao@seu.edu.cn)

1 研究背景与相关技术

1.1 云边协同

在近十几年的科技发展中,云计算在效益、规模、自动化、互操作性和集中性等方面能为企业带来许多好处,因此许多互联网公司的服务完全存在于云上或在很大程度上依赖于云.但随着云计算不断发展,边缘应用数量急速增长,数据来源广,数据量庞大[1],仅靠云计算无法高效敏捷地解决复杂多样的生产生活场景,因此云边协同成为新的技术浪潮.云计算与边缘计算相结合,可实现实时或更快速的数据处理和分析,节省网络资源,离线运行并支持断点续传,提高本地数据的安全性等[2].

云计算与边缘计算需要通过紧密协同才能更好地满足各种需求场景的匹配,从而最大化体现云计算与边缘计算的应用价值[3].云边协同平台是云计算与边缘计算紧密协同的应用之一.云边协同平台实现了用户空闲资源的充分利用,同时节约资源需求方的资源使用成本.结合云边协同平台的自动化配置与动态调度能力,用户可以通过云边协同技术将应用或计算任务动态便捷地部署在云服务商的资源设备上,相比于传统的云服务,可实现秒级调度,动态灵活地收缩扩容资源,同时降低获取资源服务的成本.但在该场景下,目前资源的调度与资费结算通常由云边协同平台负责,无法向用户与云服务商保证调度的公平性与透明性,因此用户在使用云服务时面临着用户、云边协同平台、云服务商三者互不信任的问题,这在一定程度上制约了云边协同的发展.

1.2 区块链

区块链(blockchain)是一种由多方共同维护,利用密码学来保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的分布式账本技术[4].区块链本质的特征就是在一个分布式系统中无须通过中心节点的控制即可使各节点保持数据的一致性,因此具有高可靠性、透明可信、不可伪造和防篡改的优势.

区块链系统中包含共识机制、存储机制、P2P(peer-to-peer)通信机制以及智能合约技术,其中智能合约技术在区块链系统中扮演重要的角色.智能合约是一种能够自动执行条款的数字合约,可以被预定事件触发后自动执行,并且执行结果不可被篡改[5].智能合约理论上用户可以实现任何想要实现的业务功能,并且智能合约的运行不需要人为干预,具有一定的自治性、强制性与自我验证性[6].

根据不同应用场景和设计体系,区块链系统采用不同的开放共享和节点准入方案.区块链系统有3种部署模式:公有链、联盟链和私有链[8].其中公有链开放程度高,共识效率低,所有节点都可参与共识与数据读写,地位平等,且可随时加入与退出;联盟链开放程度较低,共识效率较高[9],由一群具有共同利益或需求的组织组成委员会共同维护,只有特定节点才能参与共识与数据读写.

比特币[9]与以太坊[10]为公有链的知名项目.比特币目前已运行12年.2021年初,比特币突破4万美元,全球超过1万个全节点.以太坊是一个开源的有智能合约功能的公共区块链平台,2018年,以太币成为市值第二高的加密货币.以太坊采用外部账户和合约账户,能够高效查询用户余额和历史交易记录.Hyperledger Fabric[11],FISCO BCOS[12]为联盟链的知名项目.Fabric面向企业级应用场景的许可区块链,目的是为解决企业主体之间互不信任问题,降低业务流转间的信任成本,实现数据、资源共享.FISCO BCOS是国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台.

1.3 区块链在云边协同业务的应用场景分析

对于云边协同技术而言,可信性、可靠性、公平性是云边协同发展亟需解决的三大问题.虽然相较于传统的云服务,云边协同可实现秒级调度,动态灵活地收缩扩容资源,但云边协同平台的资源调度对用户与云服务商而言仍是不透明的,并且由于调度的不透明性导致计费与结算的依据无法追溯.区块链技术以去中心化、匿名性以及数据不可篡改为主要特征,与云边协同技术长期发展目标不谋而合.通过区块链技术可保证云边协同调度的公平性、透明性,计费结算的可靠性、可追溯性.因此云边协同技术和区块链的技术之间的相互融合可以较好地解决用户、云服务商与云边协同平台三者互不信任的问题.

目前国内已在云边协同领域进行了深入地探索.将云平台资源(计算资源、存储资源等)封装为一种服务提供给用户,在此类服务模式下云边平台可以看作一个巨大的资源池,用户可以动态灵活地部署自己的应用.但随着云服务的不断发展,大量云服务出现,云服务商鱼龙混杂,用户隐私受到侵犯的同时云服务商也面临恶意用户的威胁.因此伴随着云服务的不断壮大,双方迫切地需要一种适应云环境下的可控监管体系,以促进云服务良性发展.文献[13]提出了一种基于第三方监管的可控云计算平台服务模型.文献[14]根据三权分立的理论设计了一种云审计数据的可追踪归责方案.但这类监管方式往往过于中心化,用户与云服务商只能选择相信中心第三方的数据信息,并且监管审计过程需要人工介入,效率较低.而此类缺陷却是区块链的天然优势,在不需要三方间强信任关系的条件下不仅可以保证数据的真实性、可溯源性,也可以做到监管审查的公平透明.文献[15]指出区块链保存的电子证据具有证据能力及证明力的决定性因素,阐述了区块链电子证据应用之必然.

国外在此云服务场景也有类似的研究,其中伯克利开放式网络计算平台BOINC(Berkeley Open Infrastructure for Network Computing)是当前最大的网格计算平台,是由加州大学伯克利分校计算机系于2002年开发上线的大型分布式计算系统[16].BOINC将全球大量自愿提供的闲置资源应用于计算密集型科研项目.但随着超算、云计算、边缘计算等现代技术的不断涌现,BOINC也面临着应用场景有限、分布区域失衡、缺乏激励机制等问题.因此BOINC积极引入代币经济机制、区块链以及无服务器运算(serverless computing)等新兴技术,通过价值算力证明PoVC(proof of valuable computing)共识机制与BOINC代币(COP),致力于打造下一代分布式云计算的基础设施,将计算资源更高效地应用至实际意义的场景,实现算力的社会价值.

本文提出了基于区块链的云边协同业务系统及其实现方法,首先引入第三方作为中立的云边协同平台,通过云边协同平台的资源调度控制器为用户实现多个云服务商的资源动态调度,充分整合各个云服务商的资源,为用户提供定制化云服务,解除了单一云服务商锁定的问题,同时可为用户进行自动化的资源优选.其次是利用区块链与智能合约技术,设计云边协同平台的签约、调度、采集、结算等业务流程,可实现云边协同平台资源优化调度过程中数据的透明与不可篡改,可有效解决用户面对多个云服务商时的互不信任问题,同时提出信誉机制,为云边协同平台的运行提供重要保障.

2 系统架构设计

本文提出了一种基于区块链的云边协同业务系统,使用联盟链的部署模式,提供准入功能,通过智能合约进行签约结算,降低成本提高效率.从业务主体上看,本系统共有用户、云服务商和云边协同平台三大主体.从系统模块组件上看,可以分为非区块链部分与区块链部分,模块组成如图1所示.

2.1 区块链部分

本系统采用联盟链的部署模式,区块链的参与主体有用户、云服务商和云边协同平台.区块链主要负责合约签订、调度指令记录、资源计量信息记录、账单记录、信用记录.

2.1.1 区块链部署模式

智能合约是运行在区块链虚拟机或容器中的一段代码,用于控制交易过程,保证交易数据的一致性、完整性.在本系统中,用于实现用户、云服务商与云边协同平台之间的签约与结算、身份校验授权、信用惩处等业务功能.智能合约按功能划分,具体如下:

1) 身份校验、授权鉴权模块.负责鉴定三方读写权限.

2) 签约模块.负责多方合同的签订.

3) 记账模块.负责在资源调度过程中记录调度信息以及计量结算信息.

4) 结算模块.负责结算用户(或云服务商)与云边协同平台之间的账单流程.

5) 信用模块.负责记录云服务商、云边协同平台和用户的违规情况,用作后期惩罚的凭证.

2.1.2 区块链信息记录

在调度过程中,云边协同平台中调度器进行调度时将调度指令上传区块链.在采集过程中,云服务商定时构建资源视图(视图中包含计量信息)经过用户与云边协同平台签名后将该资源视图上传区块链.在结算过程中,云边协同平台生成账单,经过用户(或云服务商)确认后转账,转账完成后将账单与转账凭证上传区块链.

区块链根据选取的共识算法保证上链信息的正确性.区块链的链式结构保证上链信息的不可篡改性和可追溯性.因此调度指令上链可保证调度的公平性,资源计量信息上链可保证结算账单数据来源的可靠性,账单与转账凭证上链可保证转账记录的不可篡改性.

2.2 非区块链部分

非区块链部分包括用户模块、云服务商模块与云边协同服务模块三大模块.

用户模块包含用户客户端,用户客户端为用户实现与区块链和云边协同平台服务端交互的功能.用户可通过客户端获取链上数据,也可向云边协同平台提交资源需求蓝图.

云服务商模块包含云服务商客户端以及资源设备.其中云服务商客户端为云服务商管理员实现与区块链和云边协同平台服务端交互的功能,云服务商管理员可通过客户端获取链上数据也可向云边协同平台提交资源参数;资源设备为用户提供云计算服务支持.

图2 许可管理功能模块

云边协同服务模块负责根据签约数据以及资源池情况进行智能化的资源调度.组件可分为平台设备、平台服务端、区块链访问控制器三大部分.平台设备包含调度器、分布式键值对存储系统(ETCD)、Prometheus(普罗米修斯)——开源监控告警系统、时间序列数据库(time series database, TSDB).调度器负责对空闲资源进行调度,调度指令写入ETCD;ETCD主要负责存储合法的蓝图、可提供资源参数与调度指令信息,定时发送给区块链访问控制器;Prometheus执行计量操作,定时将结算数据发送给TSDB;TSDB存储计量信息,定量发送给区块链访问控制器.平台服务端主要有业务展示、注册、认证、签约等功能.区块链访问控制器实现平台设备与区块链平台的交互.

3 系统功能模块与流程

本系统功能模块可分为许可管理、签约、调度采集、资费结算4个环节,具体展开如下.

3.1 许可管理

认证与授权是联盟链平台不可或缺的功能,基于区块链的云边协同业务系统旨在搭建联盟链平台,控制用户、应用、节点的准入,对想要加入平台的区块链用户及其部署的节点进行身份认证与权限管理,打造可信的交易环境.用户与节点需要通过准入证书,在区块链中进行签名认证;用户登录区块链的设备应用,如客户端与节点设备需要加载通信许可、服务许可等证书颁发机构(certificate authority, CA)证书才能在区块链中进行通信,提供服务.

在系统中,认证即加入到区块链的所有用户以及他们所拥有的节点进行身份信息审核,包括身份证号、机构代码、相关资质等,审核通过后调用CA系统为用户或节点颁发证书,赋予其进入区块链网络的权限.如图2所示为本系统的许可管理功能模块设计图.

3.2 签 约

首先云服务商进行区块链许可管理流程,通过客户端连接到区块链平台,当云服务商加入系统时,云服务商与云边协同平台签署资源提供合同,合同记录了云服务商可提供的资源参数信息,签署完成后云服务商即加入本系统,合同上传至区块链平台.

其次用户进行区块链许可管理流程,通过客户端连接到区块链平台,当用户加入系统时,用户与云边协同平台签署资源需求合同,合同记录了用户的资源需求参数,签署完成后用户即加入本系统,合同上传至区块链平台.至此用户、云服务商均加入本系统.

3.3 调度采集

签约完成后,云边协同平台调度模块(调度器、ETCD)负责根据签约数据和全局资源视图进行智能化的资源调度.调度完成后云边协同平台将调度指令、平台方签名上传区块链,同时云边协同平台采集模块(Prometheus,TSDB)收集全局资源视图与资源使用视图.全局资源视图用于智能化调度的依据,资源使用视图用于资费结算的依据.资源使用视图采集流程如图3所示:

图3 云边协同采集与调度

云服务商定时构建资源使用视图(视图中包含该段时间内资源计量信息、云服务商签名)并发送给用户与云边协同平台.云边协同平台与用户验证资源使用视图,如正确则签名,并发回给云服务商.云服务商收到签名后,将资源使用视图、平台方签名、云服务商签名、用户签名上传至区块链.

3.4 资费结算

本系统依据签约的流程可将资费结算分为2类:用户资费结算、云服务商资费结算.其中账单由资源使用视图生成.

3.4.1 用户资费结算

云边协同平台发起结算申请并生成账单发送给用户(账单中包含云边协同平台签名),用户若同意该账单,则与云边协同平台进行线下转账,转账成功后,云边协同平台将账单、转账凭证上传至区块链.至此资费结算信息上链,用户结算流程完成.

图4 资费结算流程

3.4.2 云服务商资费结算

云服务商资费结算与用户结算不同,由于云服务商为收款方,因此由云服务商向云边协同平台发起结算申请.发起结算申请后云边协同平台生成账单信息并签名,发送给云服务商(账单中包含云边协同平台签名),云服务商若同意该账单,云边协同平台向云服务商线下转账,转账成功后,云服务商将账单、转账凭证上传至区块链.至此资费结算信息上链,云服务商结算流程完成,资费结算如图4所示.

4 信誉机制

针对本系统本文还提出了一种信誉机制,它用于表示云服务商的信用情况,近期信誉文本可影响该云服务商被调度概率,同时可用作后期惩处的凭证.信誉值增加来源包含提供服务时资源贡献情况以及用户评价,用户差评或资源计量信息故意上报错误等则会触发惩处流程.信誉值与惩处记录均上传至区块链平台.

4.1 信誉模型

由于资源提供情况与用户评价之间量级差距较大,可能出现“大数吃小数”的错误,从而导致信誉值计算不合理.由于原始数据的分布可以近似为高斯分布,因此采用标准差法对资源提供的数据进行归一化处理,信誉模型如下所示:

其中,S(xi)为完成任务xi后增加的信誉数;Z(xi)=((xi-μ1)σ1)×10,Z(xi)表示资源提供方在完成任务时消耗的资源归一化后的表达式,其中表示样本均值,表示样本方差;M(xi)表示资源提供方的平均在线时间,即活跃度函数;P(xi)表示用户对xi的评分,P(xi)∈[0,10];t1+t2+t3=1,t1,t2,t3的具体取值要根据场景来决定;F表示影响因子.

近期平均信誉值RAC[16]:

RAC(new)为新的近期信誉值;RAC(old)为之前的信誉值;d(t)为衰减函数;t是从上一次RAC更新到本次RAC之间的以秒计的时间间隔(常量604 800指1周的总秒数);credit(new)为完成任务或定时结算后增加的信誉数(即S(xi)).此处假设1周算1个周期,新加入的用户会被分配基础信誉值.

4.2 信誉惩处

为了更好地维护云边协同平台与区块链系统,将对一些恶意牟利或破坏行为进行惩处.对于一些作恶行为惩处力度的衡量依据为作恶行为对云边协同平台与区块链的影响.

如表1中有物理层面故意破坏、计量数据故意上报错误、用户严重差评等行为会触发信誉惩处.每一种作恶行为对系统的影响因子不同,如当云服务商对物理层面进行破坏时,如频繁断电、实际调度时与申报的可提供资源参数不符等情况,将云服务商设备部署资源大小与云服务商信誉多少作为扣除信誉的权重,对云服务商进行惩处,若云服务商在系统中承担更多的任务,发生作恶行为时惩处力度也更大.

表1 信誉惩处

5 总结与展望

本文提出了一种基于区块链的云边协同业务系统,并通过云边协同与区块链技术相结合给出了具体的系统架构.思路上,利用区块链对于数据存证的不可篡改的特性,对于多方间的调度、采集和账单数据进行可信存证,解决了云边协同主体间资源调度时的互不信任问题.这需要对于云边协同的签约、调度、采集和结算等业务功能模块与接口流程等方面进行重构.另外本文还提出了一种信誉惩处机制,该机制可以动态地衡量云服务商的服务质量并对违规行为作出相应措施,同时有利于市场良性竞争,保持云边协同生态的稳定发展.

本系统中区块链与云边协同采取松耦合的设计,由云边协同平台负责统一资源调度.虽然松耦合的方式下兼容性较高,但目前云边调度平台掌控所有资源分布,以资源利用率、调度效率为导向统一进行调度.首先去中心化程度仍能进一步优化,可采用分布式调度子系统进行集群管理的模式.其次云边协同平台调度算法并未实现上链,未来将考虑通过智能合约的方式可信地运行云边调度算法.但分布式调度子系统会影响资源利用率和调度效率,基于智能合约的调度模式由于算法的复杂性会导致调度算法性能的大幅度降低.未来的工作方向可基于以上问题进行深入研究.

另外,在系统的安全隐私[17]等方面,后续可将零知识证明、同态加密等技术与系统融合,实现数据加密与身份隐匿,提高系统的隐私性;以及许可管理多级CA的具体架构、黑名单与白名单的详细设计等问题.

猜你喜欢
信誉服务商视图
以质量求发展 以信誉赢市场
航天卫星领域专业服务商
基于单片机MCU的IPMI健康管理系统设计与实现
论IaaS云服务商的著作权侵权责任
信誉如“金”
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
江苏德盛德旺食品:信誉为翅飞五洲