1.一种基于区块链的雾网络中任务卸载优化方法,其特征在于:该方法包括以下步骤:建立一个基于区块链的雾网络,由设备层、雾服务层和云服务层组成;
设备层由SMEs组成,包括智能手机、智能穿戴设备和智能车辆;
雾服务层包括N个FSs,用集合Ωa={F1,F2,...,Fn,...,FN},n=1,2,...,N表示;在FSn的覆盖范围内有K个SME,用集合Ψa={Sn,1,Sn,2,...,Sn,k,...,Sn,K},k=1,2,...,K表示;
Sn,k表示FSn覆盖范围内的SME k;
所述雾网络中存在两种卸载方式,即卸载到FS或D2D设备群组;用向量δ={δn,1,δn,2,...,δn,k,...,δn,K,},k=1,2,...,K,在FSn的覆盖范围内有K个SME,δn,k∈{0,1}表示卸载方式,δn,k=0表示Sn,k卸载到D2D设备群组,即卸载方式0;δn,k=1表示Sn,k卸载到FS,即卸载方式1;
步骤201:系统初始化;
步骤202:SMEs在LBS注册成为合法实体,LBS授予身份地址In,k和证书Cn,k,能够唯一表示SMEk;然后,将公钥PKn,k和私钥SKn,k,<PKn,k,SKn,k>,以及用于实现资源货币交易的钱包地址{WALn,k}发送给SMEs;
步骤203:SMEs向LBS申请加入区块链网络;
步骤204:LBS验证SMEs节点是否有效,验证通过则同意加入网络,反之不作响应;
步骤205:通过LBS验证其认证之后,SMEs将资源需求发送给LBS,FSs将可用资源和QoS约束发送给LBS,LBS将可用资源、资源需求和QoS约束写入资源交易的智能合约;
步骤206:自动触发智能合约,SMEs选择将任务卸载到附近的FSs或D2D设备群组;
步骤207:Sn,k选择卸载到D2D设备群组,即卸载方式0;
步骤208:Sn,k选择附近的D2D设备群组对卸载请求消息Rn,k进行数字签名,再将Rn,k和数字签名用Sn,k的私钥进行加密,发送给D2D设备群组;
步骤209:D2D设备群组用Sn,k的公钥解密并验证数字签名以及交易,验证通过则执行计算任务An,k,否则不对卸载请求消息作出响应;
步骤210:D2D设备群组执行计算任务,并将计算结果返回给Sn,k;
步骤211:根据资源交易的智能合约得出资源价格,Sn,k按价格支付给D2D设备群组一定数量的资源硬币;
步骤212:Sn,k选择卸载到附近的FSs,即卸载方式1;
步骤213:Sn,k选择雾服务器FSn,对卸载请求消息Rn,k进行数字签名,再将Rn,k和数字签名用Sn,k的私钥进行加密发送给FSn;
步骤214:FSn用Sn,k的公钥解密并验证数字签名以及交易,验证通过则执行卸载任务An,k,否则不对卸载请求消息作出响应;
步骤215:FSn执行计算任务并将计算结果返回给Sn,k;
步骤216:根据资源交易的智能合约得出的资源价格,Sn,k按价格支付给FSn一定数量的资源硬币,资源硬币从Sn,k的钱包地址转移到FSn的钱包地址;
步骤217:SMEs对其被覆盖区域内的FSs进行投票,一人一票,SME投票的权重与股权值无关;
步骤218:票数前M名的FSs作为验证集,其中包括一个管理器 和M‑1个验证器步骤219:验证集中的M个FSs轮流充当管理器步骤220:Sn,k将交易记录发送到关联的FSn;
步骤221:FSn将交易记录广播;
步骤222:管理器 构建一个由所有事务组成的新区块,进行签名后广播给区块链系统中的验证器
步骤223:接收到新区块的验证器 将根据哈希值和数字签名来验证其正确性;
步骤224:管理器 从超过三分之二的验证器 接收到提交消息;
步骤225:管理器 将新的区块添加时间戳放入区块链中;
步骤226:验证器 仅将区块头内容,包括上一区块哈希值,当前区块哈希值,时间戳,梅克尔根值返回到SMEs,以节省SMEs的存储空间;
步骤227:结束。