掌桥专利:专业的专利平台
掌桥专利
首页

使用用户闲置资源进行算力贡献的系统、方法及电子设备

文献发布时间:2023-06-19 11:26:00


使用用户闲置资源进行算力贡献的系统、方法及电子设备

技术领域

本发明属于信息安全技术领域,涉及一种使用用户闲置资源进行算力贡献的 系统、方法及电子设备,具体涉及一种不泄露服务端请求数据的使用用户闲置资 源进行算力贡献的系统、方法及电子设备,本发明能够利用用户的闲置资源提供 算力进行挖矿,同时为提供算力的用户给予一定的奖励。

背景技术

随着大数据和物联网的快速发展,用户需要越来越多的计算资源。这也导致 许多用户终端设备ITD都具有一定的闲置资源,并且希望通过某种方式将闲置资 源外租给云服务CS,外租的过程需要保证不能泄露用户隐私信息。

现实生活中,用户可以通过在平台注册的的方式将自己的实际资源以获取报 酬的方式提供给其他用户使用,例如滴滴打车等。本文提出的将用户闲置资源提 供给云服务帮助计算的理念与此相似,只是提供的资源可能是存储、计算或其他 功能。这种方法类似于众包统计,只是云服务需要借助一部分用户闲置资源。

目前很多计算和服务建立在众包统计的基础上,但是当服务商将任务提供给 云服务的过程中可能会引入隐私泄露的风险,同样的,用户将闲置资源提供给云 服务的工程中也存在隐私泄露的风险。云服务使用用户闲置资源的过程不能知道 单个用户闲置资源的信息,同样用户除了提供资源以外,不能知道帮助计算的内 容,本发明主要针对该过程中存在的隐私泄露问题提出解决方法。

发明内容

为了解决上述技术问题,本发明提供了一种不泄露服务端请求数据的使用用 户闲置资源进行算力贡献的系统及方法。

本发明的系统所采用的技术方案是:一种使用用户闲置资源进行算力贡献的 系统,假设有n个具有闲置资源的用户终端设备ITD,存在m个雾设备FD,一 个云服务CS,服务商Service,和密钥生成中心KGC;

所述用户终端设备ITD是具有闲置资源的用户,且愿意将闲置资源提供给云 服务CS参与运算,从中获取一定的收益,但需要云服务CS提供隐私保护;

所述雾设备FD用于收集用户终端设备ITD上传的计算信息,对雾设备FD 管辖区域内的用户终端设备ITD信息进行聚合,即为云服务CS获取结果进行预 处理,如果服务商Service是该区域内的用户终端设备ITD,则由雾设备FD帮助 计算并直接返回计算结果给用户终端设备ITD,提高效率。

所述云服务CS具有存储和计算能力,能够接受服务商Service的委托帮助运 算,并将需要计算的任务分配给不同的具有闲置资源的用户终端设备ITD帮助运 算;

所述服务商Service是具有请求任务的用户,当用户终端设备ITD具有请求 任务时,也是服务商Service;如果用户终端设备ITD本身是服务商Service,则 直接由雾设备FD提供统计数据,不需经过云服务CS;

所述密钥生成中心KGC,根据安全参数生成系统参数,包括服务商Service 使用paillier加密的公私钥对{(n,g),(λ,μ)}以及云服务CS秘密共享参数p和q; 用户终端设备ITD、雾设备FD、云服务CS和服务商Service在密钥生成中心 KGC注册,得到相应的参数,包括用户终端设备ITD的假名信息PS

当雾设备FD接收到用户终端设备ITD上传的消息后首先需要判断该用户 是否是服务商Service,如果是,则该雾设备FD向其他任意t-1个雾设备FD发 送请求消息,共同得到所有用户终端设备ITD计算结果,并将结果提供给具有请 求任务的用户终端设备ITD,减少时延;如果服务商Service不是该区域内的用 户终端设备ITD,则由雾设备FD将该区域用户终端设备ITD计算结果聚合后上 传到云服务CS;云服务CS收到所有雾设备FD的聚合结果,通过以秘密共享的 方式恢复计算结果,并将结果返回给具有请求任务的服务商Service;这里云服 务CS帮助服务商Service计算只是为矿池提供一部分算力,并不是全部算力,因 此云服务并不能直接解密区块,获得区块奖励;用户终端设备ITD帮助计算之后云服务CS会给用户终端设备ITD提供一些报酬,要么是更好的服务,要么是租 金;如果用户终端设备ITD是具有请求任务的服务商Service,则云服务CS不需 要为该用户终端设备ITD提供任何报酬。该方法主要是利用用户的闲置资源,为 矿池提供更多的算力,过程中需要保证用户终端设备ITD隐私安全。用户终端设 备ITD不能根据自己的计算结果获取任何的有利信息,雾设备FD也不能知道任 何有效信息,云服务CS最终也不能知道具体哪个用户终端设备ITD提供了算力。

本发明的方法所采用的技术方案是:一种使用用户闲置资源进行算力贡献的 方法,包括以下步骤:

步骤1:密钥生成中心KGC根据安全参数生成系统参数,包括服务商Service 使用paillier加密的公私钥对{(n,g),(λ,μ)}以及云服务CS秘密共享参数p和q。; 用户终端设备ITD、雾设备FD、云服务CS和服务商Service在密钥生成中心 KGC注册,得到相应的参数,包括用户终端设备ITD的假名信息PS

步骤2:服务商Service向云服务CS发送请求任务;

步骤3:云服务CS分配任务,并发给不同的雾设备FD;

步骤4:雾设备FD分配任务,并发给不同的用户终端设备ITD;

步骤5:用户终端设备ITD帮助计算并上传计算结果到雾设备FD;

步骤6:雾设备FD聚合结果,上传给云服务CS;

步骤7:云服务CS聚合并返回给具有请求任务的服务商Service。

本发明的电子设备所采用的技术方案是:一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或 多个处理器执行时,使得所述一个或多个处理器实现如权利要求2至6中任一项 所述的使用用户闲置资源进行算力贡献的方法。

作为优选,步骤3的具体任务包括以下子步骤:

步骤3.1:云服务CS使用秘密共享的方式将任务分配成m个子任务;

步骤3.2:云服务CS将m个子任务根据密钥生成中心KGC提供的雾设备 FD信息发送给不同的雾设备FD。

作为优选,步骤4的具体任务包括以下子步骤:

步骤4.1:雾设备FD根据密钥生成中心KGC提供的假名信息将任务分成对 应区域用户终端设备ITD数量的子任务;假设雾设备FD收到k个用户终端设备 ITD假名信息,则雾设备FD将雾设备FD任务分成k个子任务;

步骤4.2:雾设备FD将k个子任务根据用户终端设备ITD假名信息发送给k 个具有闲置资源的用户终端设备ITD。

作为优选,步骤5的具体任务包括以下子步骤:

步骤5.1:用户终端设备ITD接收到任务,根据雾设备FD验证信息A

步骤5.2:计算完成后,用户终端设备ITD使用服务商Service的公钥加密数 据;

步骤5.3:上传加密计算结果到雾设备FD;用户终端设备如果ITD本身是 服务商Service,除了上传加密的计算结果以外还需要在上传数据时声明自己的 身份。

作为优选,步骤6的具体任务包括以下子步骤:

步骤6.1:雾设备FD接收到用户终端设备ITD上传的数据,首先查看是否 为服务商Service,如果不是,则执行步骤6.2;如果是,则执行步骤6.3;

步骤6.2:雾设备FD将所有该区域内的用户终端设备ITD数据聚合;

步骤6.3:雾设备FD联合另外t-1个雾设备FD得到计算结果的聚合密文;

步骤6.4:判断用户终端设备ITD是否为服务商Service;

如果用户终端设备ITD是服务商Service,雾设备FD将步骤6.3计算得到的 密文,根据假名信息发送给该用户终端设备ITD;步骤6.5:用户终端设备ITD使 用私钥解密得到明文计算结果,完成计算;

如果用户终端设备ITD不是服务商Service,查看是否接收到其他雾设备FD 的请求,如果有,则有权利决定是否提供数据帮助统计计算结果;如果没有,则 将该区域用户终端设备ITD数据聚合后上传给云服务CS。

作为优选,步骤7的具体任务包括以下子步骤:

步骤7.1:云服务CS将收到的其中t个合法雾设备FD的数据聚合;

步骤7.2:将聚合之后恢复的密文结果返回给服务商Service;

步骤7.3:服务商Service使用私钥解密得到明文计算结果。

本发明与现有技术相比有如下优点和有益效果:

(1)本发明在保证不泄露单个用户身份信息的情况下,通过用户的闲置资 源,为服务提供更多算力,具有很高的实用性。本发明中,雾设备FD不知道ITD 的真实身份,同时也不知道ITD的计算结果。

(2)本发明在雾设备FD和云服务CS端利用秘密共享的同态性质进行数据 聚合,节省带宽的同时,也保证了单个ITD身份隐私。

(3)本发明利用雾设备FD的低时延和距离ITD端近的特性,能够提高运 算的效率,为Service节省时间。

附图说明

图1:本发明实施例的系统框架图;

图2:本发明实施例的方法流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对 本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解 释本发明,并不用于限定本发明

本发明通过使用用户闲置资源进行算力贡献的系统及方法在比特币挖矿中 的应用对本发明做进一步的阐述。

请见图1,本发明提供的一种使用用户闲置资源进行算力贡献的挖矿方法, 具有分布式的系统架构,具体涉及如下实体:密钥生成中心(Key Generation Center, 一下简称KGC),具有闲置资源的用户终端设备(Idle Terminal Device,以下简称 ITD),雾设备(Fog Device,以下简称FD),云服务(Cloud Server,以下简称CS), 具有请求任务的服务商(Service),和密钥生成中心KGC。

假设区域内有一个CS,一个Service,l个ITD,m个FD,FD是一种边缘 分布,分布在ITD附近,每个FD管理k个ITD;当ITD具有闲置资源时,可以 选择是否将闲置资源有偿提供给云服务CS参与运算。管理ITD的FD通过无线 信道收集ITD上传的计算信息,并对管辖区域内的计算信息进行聚合,同时为CS 获取结果进行预处理。当ITD是发送请求任务的Service时,FD能够直接向该 ITD返回计算结果的密文,不需要通过CS,减少时延。云服务CS具有一定的存 储和计算能力,它接受Service的委托帮助运算,将需要计算的任务分配给不同 的ITD帮助运算,CS与Service之间通过无线信道通信。ITD与FD之间通过无 线网络通信,FD与CS通过无线网络通信。

本发明中云服务CS给具有闲置资源的用户终端设备委派任务,他需要借助 雾设备向用户委派任务。当ITD接收任务并帮助计算完成之后需要将结果上传给 云服务CS。由于雾设备具有低时延的优点,如果雾设备接收到数据后能够直接 发送给请求用户,就能提高请求用户的工作效率。随着比特币的运算不断上涨, 单个设备或者少量设备都无法通过计算得到比特币网络提供的区块奖励。因此如 果将海量环境中具有闲置资源的用户设备联合起来,就能提高算力,增加获得区 块奖励的概率。目前已经有人将少量算力合并运作,专业领域称为矿池。在矿池 机制中,无论提供算力多与少,都可以通过对矿池的贡献获得比特币奖励,也就 是多人合作挖矿。但是这种情况提供的算力很小,并且提供算力的用户隐私没有 受到保护。本发明针比特币的特性,提出由参与挖矿的服务商Service将部分计算任务委派给云服务CS,需要由云服务CS将一个完整任务进行分解(这里的 完整任务是Service提供的计算任务,可能是需要解决的矿池机制中问题的一部 分),把不同的子任务委派给不同的具有闲置资源的用户,由大量用户帮助运算, 提供更多的算力,作为回报云服务需要给用户一定的租金或者提供更好的服务。 本发明中,具有闲置资源的用户信息、用户帮助云服务器计算的内容和最后的计 算结果都需要保密的,因此本发明提出了一种使用用户闲置资源进行算力贡献的 挖矿方法。值得注意的是具有闲置资源的用户ITD也可能是参与挖矿的用户。本 发明提出,如果参与挖矿的用户同样也是具有闲置资源的用户,则计算任务可能 由雾设备完成,并直接将结果返回给该用户,如果不是具有闲置资源的用户,则 需要由云服务帮助计算,并将结果返回给该用户。

请见图2,本发明提供的一种使用用户闲置资源进行算力贡献的挖矿方法, 包括七个步骤:步骤1、系统初始化,步骤2、Service发送请求任务,步骤3、 云服务分配任务,步骤4、雾设备分配任务,步骤5、ITD帮助计算并上传计算 结果,步骤6、雾设备聚合结果,步骤7、云服务聚合并上传结果。

系统初始化包括图2中的步骤1。

步骤1.1:系统参数、Paillier同态加密密钥对的生成及分发,详细过程如下:

步骤1.1.1:密钥生成中心KGC选择两个保密的大素数p

步骤1.2:所有实体(ITD、FD、CS、Service)向密钥生成中心KGC发送 注册请求。

步骤1.2.1:具有闲置资源的用户终端设备ITD向密钥生成中心KGC发送注 册请求,完成系统注册。并对注册过的用户终端设备ITD按所处位置进行分组, 方便为雾设备FD提供假名消息;

步骤1.2.2:KGC返回ITD的假名信息PS

步骤1.2.3:雾设备FD向密钥生成中心KGC发送注册请求,完成系统注册。

步骤1.2.4:KGC返回FD所处区域ITD的假名信息PS

步骤1.2.5:云服务CS向密钥生成中心KGC发送注册请求,完成系统注册。

步骤1.2.6:KGC返回注册成功的验证消息A

步骤1.2.7:服务商Service向密钥生成中心KGC发送注册请求,完成系统注 册;

步骤1.2.8:KGC返回服务商Service使用Paillier加密的公私密钥对,其中 (n,g)为公钥,(λ,μ)为私钥。

步骤2中,对于密钥生成中心KGC发送的公私密钥对,Service向云服务CS 发送一个请求任务s。

步骤3的具体实现包括以下子步骤:

步骤3.1:云服务CS将任务分配成m个子任务;

步骤3.1.1:云服务CS使用秘密共享的方式将任务s∈Z

步骤3.1.2:CS在有限域G(p)内任选t-1(t≤m)个元素(a

步骤3.2:CS为所有的FD生成子任务s

步骤4的具体实现包括以下子步骤:

步骤4.1:雾设备FD收到任务后根据KGC提供的假名信息PS

步骤4.2:雾设备FD

步骤5的具体实现包括以下子步骤:

步骤5.1:ITD

步骤5.2:ITD

步骤5.3:如果用户终端设备ITD本身是请求数据的Service,除了上传加密 的计算结果C

步骤6的具体实现包括以下子步骤:

步骤6.1:雾设备FD

步骤6.2:如果其身份为Service,执行步骤6.2.1-6.2.4:

步骤6.2.1:雾设备FD将所有该区域内的用户终端设备ITD数据聚合得到C

步骤6.2.2:雾设备FD联合另外t-1个雾设备FD得到计算结果的聚合密文

步骤6.2.3:将结果C果发送给该ITD

步骤6.2.4:ITD使用私钥解密得到明文计算结果S,其中 S=L(e

步骤6.3:如果其身份不是Service,执行步骤6.3.1-6.3.2;

步骤6.3.1:雾设备FD将所有该区域内的用户终端设备ITD数据聚合得到C

步骤6.3.2:查看是否接收到其他雾设备FD的请求,如果有,则有权利决定 是否提供数据帮助统计计算结果。如果没有,则将该区域用户数据聚合C

步骤7的具体实现包括以下子步骤:

步骤7.1:云服务CS将收到的其中t个合法雾设备FD的数据恢复得到C;

步骤7.2:将聚合之后恢复的密文C返回给具有请求任务的服务商Service;

步骤7.3:具有请求任务服务商Service使用自己的私钥解密得到明文计算结 果S,S=L(e

整个过程中云服务CS不知道单个用户终端设备ITD的身份信息,也不知道 每一部分由哪个具体用户终端设备ITD计算。当所有计算完成之后,系统会根据 用户终端设备ITD的计算任务返回一定的奖励,可能是租金,也可能是云服务CS 的一些更好的服务,这需要根据用户终端设备ITD的需求决定。

本发明使用用户闲置资源进行算力贡献,帮助服务商Service参与挖矿,使 得在不泄露用户终端设备ITD隐私信息的前提下,借助秘密共享和paillier加密 实现对用户终端闲置资源的利用,向服务商Service提供更多的算力和计算资源。

本发明使用用户的闲置资源为挖矿提供更多算力,有利地促进了比特币的发 展。

应当理解的是,上述针对实施例的描述较为详细,并不能认为是对本发明专 利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明 权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范 围之内,本发明的请求保护范围应以所附权利要求为准。

相关技术
  • 使用用户闲置资源进行算力贡献的系统、方法及电子设备
  • 一种基于有效算力贡献的共识方法、装置及系统
技术分类

06120112923438