CoopEdge:基于去中心化区块链的合作边缘计算平台

Yuan L, He Q, Tan S, et al. Coopedge: A decentralized blockchain-based platform for cooperative edge computing[C]//Proceedings of the Web Conference 2021. 2021: 2245-2257.

论文地址:https://doi.org/10.1145/3442381.3449994

CoopEdge是本文提出的一种基于去中心化区块链的合作边缘计算平台,旨在促进边缘服务器进行合作边缘计算。在CoopEdge上,超过计算负载的边缘服务器可以发布一个计算任务,其他的边缘服务器根据他们的计算能力和声誉来进行竞争这个计算任务的执行权。任务执行完成后,由各个边缘服务器对执行任务的边缘服务器进行共识操作,在区块链上记录其性能。

1 介绍

边缘计算通过将终端用户连接到与他们距离相近的边缘服务器,可以实现低延迟的服务传输。但是,边缘服务器与云服务器不同,其计算能力有限,在用户密度高的区域,往往不能处理所有的用户请求的任务。这就要求了邻近的边缘服务器能够互相卸载任务,进行合作边缘计算。 就如图1所示,边缘服务器s_{1}可以将任务卸载到s_{5}s_{6}

在边缘计算环境中,边缘服务器通常由不同的基础设施提供商进行部署和管理,如Amazon和Verizon等。那么,当Amazon边缘服务器s_{1}想将任务卸载给Verizon边缘服务器s_{6}时,s_{6}就可能因为不合利益而拒绝执行任务。同时,边缘服务器s_{4}s_{5}也会因为剩余计算资源的不足而拒绝执行任务。这就需要对边缘服务器进行激励

另一个问题是信任问题,假设s_{3}接受了s_{1}的任务卸载,但是由于s_{3}几乎已经过载了,不能按时完成任务的执行,为了保证低延迟,需要选择最可靠、最能按时完成任务的边缘服务器。

 2 CoopEdge概述

 在CoopEdge中,有四个角色,分别为:任务发布者任务候选者任务执行者任务记录者

 

 CoopEdge架构的任务执行的流程如下:

步骤一:作为任务发布者的边缘服务器将进行对等卸载(peer-offloaded)任务的要求和基本奖励发送给所有的边缘服务器。

步骤二:接收到已发布的任务后,各个边缘服务器检查其与任务发布者的网络延迟,如果在阈值\eta以内,该边缘服务器就成为任务候选者。

步骤三:任务发布者在所有的任务候选者中选择一个最可靠的边缘服务器成为任务执行者。

步骤四:任务发布者广播其决策并将任务卸载给任务执行者。

步骤五:任务执行者执行任务,并将结果返回给任务发布者,并广播其任务的完成。

步骤六:任务发布者将关于任务的信息打包到一个交易中,并广播它。

步骤七:基于边缘服务器的声誉,通过分布式共识选择任务记录者。由任务记录者创建一个交易块。

步骤八:任务记录者将交易块广播到其他的边缘服务器进行验证,并收集验证结果,如果达成共识,就将交易块添加到区块链中。

(阈值η是预先指定的范围的边缘服务器,可以竞争和执行预卸载任务。 例如,小的\eta值通常会排除那些远离任务发布服务器的值,因为高的网络延迟会延迟用户任务的完成。  )

3 激励机制

 CoopEdge采用积分的形式来创建激励机制。边缘服务器可以通过

1)以任务执行者的身份赢得一个任务的执行权并且按时完成任务,获得交易奖励

2)作为任务记录者成功将任务交易块提交到区块链,获得记账奖励

交易奖励包括:基本奖励额外奖励。基本奖励为按时完成任务的奖励,额外奖励为提前完成任务的奖励。同时,如果未能按时完成任务,只能获得1/4的基本奖励。

 其中的奖励都为积分。

4 声誉机制

4.1 声誉计算

在声誉系统中,有两个问题需要解决:1)不能由于完成少量的交易而获得高声誉,因为可能掩盖其过去糟糕的性能;2)不能由于完成大量交易的平均水平而获得高声誉,因为可能隐藏了其中的错误行为。

CoopEdge使用一个窗口u来确定在评估边缘服务器声誉时要考虑的最近的交易数量。它是指定的,对于不同用户密度的地区,可以指定不同的值。

在3中,额外奖励用于奖励边缘服务器提前完成任务,其同时也可以定义为边缘服务器的性能。

最近的交易通常更能表现出边缘服务器完成任务的未来性能,因此采用指数移动平均(EMA)技术来计算声誉:

rp_{s}^{n+1}=\left\{\begin{matrix} 0 & n=0\\ \rho \cdot r_{e}^{n+1}+(1-\rho)\cdot rp_{s}^{n} & n>0 \end{matrix}\right.

rp_{s}^{n}表示边缘服务器s在过去n此交易中获得的声誉,r_{e}^{n+1}表示n+1次取得的额外奖励,同时也是其性能,参数\rho\in [0,1]用于表示交易权重随时间的减少速度。一般来说,在计算边缘服务器的声誉时,一个较大的\rho函数会为最近的交易分配更多的权重。

其计算过程可以表示为:

rp_{s}^{1}=0

rp_{s}^{2}=\rho \cdot r_{e}^{2}+(1-\rho )\cdot rp_{s}^{1}=\rho \cdot r_{e}^{2}

rp_{s}^{3}=\rho \cdot r_{e}^{3}+(1-\rho )\cdot rp_{s}^{2}=\rho \cdot r_{e}^{3}+\rho (1-\rho )\cdot r_{e}^{2}

...

rp_{s}^{n+1}=\rho \cdot r_{e}^{n+1}+(1-\rho )\cdot rp_{s}^{n}=\rho \cdot r_{e}^{n+1}+\rho (1-\rho )\cdot r_{e}^{n}+...+\rho (1-\rho )^{n-1}\cdot r_{e}^{2}

可以看出最近的交易占据最大的权重。

 4.2 任务执行者选择

任务执行者的选择考虑边缘服务器的延迟和声誉,边缘服务器的得分计算为:

sc_{i}=w_{1}\cdot {rp_{i}}'+w_{2}\cdot {\delta_{i}}'

其中,{rp_{i}}'{\delta_{i}}'分别为归一化后边缘服务器i的声誉和延迟,w_{1}w_{2}为权重系数且w_{1}+w_{2}=1。延迟为从任务发布者发布任务到边缘服务器i接收到消息的时间。

4.3 安全威胁

本研究中,考虑1)一个同步网络,其中的消息在已知的有限时间内传递;2)经典的对手模型,即n>=3f+1,其中n为边缘服务器的总数,f为相互勾结的对抗性边缘服务器的最大数量。


n>3f (n=3f+1) ?

n是总节点数,f是拜占庭节点数,拜占庭节点可能不发送消息可能发送错误消息。
如果要达成一致,在f个拜占庭节点都不发送消息的情况下,必须要收到n-f个消息才可进行共识,所以n-f是需要收到的消息最小应答数目。
节点如果收到n-f个消息想进行共识就需要这n-f个消息中的正确节点发送消息数大于拜占庭节点发送的消息。
n-f个消息中拜占庭节点最多有f个消息,所以正确消息数n-f-f,共识条件n-f-f>f,即n>3f, n_min=3f+1.

引用自:https://www.cnblogs.com/naixil/p/13185602.html


那么,潜在的威胁有:

1)恶意的边缘服务器可能完成对等卸载任务,但试图伪造完成时间。恶意边缘服务器也可能会给声誉系统注入虚假评级,例如,给其他恶意边缘服务器任意高的评级,或给真正的边缘服务器虚假低的评级。

2)恶意边缘服务器可能会不断地将对等卸载的任务交给特定的边缘服务器,以增加其声誉。

对于1),本文采用分布式共识来使所有边缘服务器共同评估和确认。对于2),本文的竞争机制只会让高性能和高声誉的边缘服务器来执行任务。

5 共识机制

5.1 概述

CoopEdge中有两个部分需要用共识机制来验证,为1)卸载任务的完成时间;2)验证任务发布者是否有足够的积分支付奖励。

在区块链中,通常会选择一个矿工来创建一个新的块,本文受PBFT(实用拜占庭共识算法)和Hotstuff的启发,根据所有边缘服务器的声誉来选择一个leader来作为任务记录者,为每个交易创建一个交易块和一个记账块。交易块包含交易的开始时间、完成时间、基本奖励和额外奖励。记账块包含leader创建交易块并将其添加到区块链中的记账奖励。

在PBFT中,采用一个视图变更(view-change)来变更失效的主节点。同样,在CoopEdge中,当leader在一段时间内没有响应时,也采用同样的机制来变更leader。

从下面两张图中,也可以看出,PBFT的通信复杂度为O(n^{2}),而本文的PoER由于各个服务器可以直接和leader进行通信,所以复杂度为O(n)

更加详细的PBFT内容可以访问:https://blog.csdn.net/weixin_43927408/article/details/90382199

5.2 共识过程

共识过程具有三步,包括第一阶段验证、第二阶段预提交和第三阶段提交,如上图所示。

第一阶段验证。这个阶段,Leader将任务的信息打包成一个新交易块并生成一个验证信息,表示为\left \langle Validate,v,n,blockID \right \rangle,v是视图编号(可以说一个视图对应一个Leader),n是序列号表示相应的交易,blockID为交易的ID。然后,Leader广播交易块和Validate消息。边缘服务器收到消息后,首先通过视图v验证此消息是否为Leader发送,然后验证交易块中的时间和奖励信息。

在CoopEdge中,每个边缘服务器会记录每个交易的开始时间和完成时间,并可以通过这两个计算任务花费的时间time_{d}{}'。同时,在打包的交易块中,有任务完成的时间time_{d}。将两者作比较,如果差值不大于一个阈值\eta,那么就认为交易块有效。

接着,验证任务发布者剩余积分是否能够支付足够的奖励给任务执行者。

如果两者验证成功,则边缘服务器将验证结果\left \langle Validate,v,n,blockID \right \rangle发送给Leader,作为投票。

第二阶段预提交。在接收到至少2f的验证投票后,leader通过预提交消息广播投票结果,通知所有边缘服务器进入预提交阶段,发送\left \langle PER-Commit,v,n,blockID \right \rangle消息。在接收到预提交消息时,边缘服务器将交易块添加到其日志中,并返回一个\left \langle Ready,v,n,blockID \right \rangle的Ready消息,通知Leader他们已经准备提交。

(这里的2f是由于总共至少3f+1个边缘服务器,其中最多有f个恶意边缘服务器,至少2f表明所有的边缘服务器形成了共识。)

第三阶段提交。当Leader接收到至少2f个Ready消息后,广播\left \langle Commit,v,n,blockID \right \rangle消息,通知所有边缘服务器正式提交交易块。

6 实验评估

本文进行了大量的实验,以对比基线和两个最先进的实现来评估CoopEdge的性能。结果表明,该方法能够以较低的开销提高和平衡系统吞吐量。其详细内容可以阅读论文,其实验内容不再详细描述。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值