1.一种区块链监管与激励下的联邦学习数据共享方法,其特征在于,应用于区块链、联邦学习框架以及星际文件系统IPFS之间,所述方法包括如下步骤:数据共享参与方作为节点注册至区块链,并通过区块链向星际文件系统IPFS发起节点注册事务,通过节点注册事务记录节点注册信息,节点注册信息包括节点的标识信息、节点本地数据集的数据信息、节点的角色标识值、节点的公钥、节点的信誉值、事务标识以及时间戳;
作为联邦学习请求者的节点向区块链发送数据共享请求,并通过区块链向星际文件系统IPFS发起数据共享事务,通过数据共享事务记录数据共享请求信息,数据共享请求信息包括节点的标识信息、联邦学习的初始模型、联邦学习的数据要求及训练指标、支付价格、事务标识以及时间戳;
区块链验证数据共享请求的有效性后,基于数据共享请求筛选并确认参与数据共享任务的节点,为确认参与数据共享任务的节点分配角色,选择一个节点作为计算中心、一个节点作为聚合节点、其他节点作为联邦学习参与者,并基于分配的角色更新对应节点的角色标识值;
联邦学习参与者与聚合节点配合执行数据共享任务、并分别通过区块链向星际文件系统IPFS发起数据共享事务,执行数据共享任务时,联邦学习参与者及聚合节点访问星际共享系统IPFS并将初始模型下载至本地,基于数据共享任务、联邦学习参与者和聚合节点配合进行迭代模型训练直至得到最终的全局模型,聚合节点对最终的全局模型加密后发送至区块链并返回联邦学习请求者,其中,数据共享事务用于记录对应节点在执行数据共享任务时上传的数据;
对于执行完成的数据共享任务,对应的计算中心执行节点贡献任务、并通过区块链向星际文件系统IPFS发起节点贡献事务,基于预定义于区块链的智能合约对参与数据共享任务的聚合节点和计算中心进行贡献值计算,并基于预定义于区块链的智能合约对参与数据共享任务的各节点进行信誉值计算,其中,执行节点贡献任务时,计算中心通过区块链访问星际文件系统IPFS、基于智能合约中定义的奖励机制对参与数据共享任务的联邦学习参与者进行贡献值计算,并通过节点贡献事务记录节点贡献相关信息,节点贡献相关信息中包括计算中心的标识信息、事务标识、时间戳以及联邦学习参与者的标识信息、贡献值和应得利润。
2.根据权利要求1所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,区块链接收数据共享请求后,验证数据共享请求的格式是否有效,并验证数据请求者是否注册至区块链的节点;
区块链验证数据共享请求有效性后,基于数据共享请求中联邦学习的数据要求及训练指标、对注册至区块链的节点进行节点检索,基于节点的注册信息检索能执行数据共享任务的节点形成节点集,并向节点集中每个节点下发数据共享任务,对于接收数据共享任务的节点,为每个节点分配角色并下发角色确认消息,各节点向区块链返回角色接受消息后,执行数据共享任务,如果存在节点向区块链返回角色拒绝消息,重新分配角色并下发角色确认消息。
3.根据权利要求1所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,基于数据共享任务、联邦学习参与者和聚合节点配合进行迭代模型训练直至得到最终的全局模型,对于每轮模型训练,包括如下步骤:每个联邦学习参与者基于本地数据对本地模型进行模型训练,得到本地模型的梯度,并将本地模型的梯度上传聚合节点;
聚合节点对所有联邦学习参与者本地模型的梯度进行聚合计算,得到全局模型的更新梯度,基于全局模型的更新梯度对全局模型进行更新,并将全局模型的更新梯度下发至各联邦学习参与者,每个联邦学习参与者基于全局模型的更新梯度对本地模型进行更新,并进行下一轮模型训练,直至达到训练指标;
其中,聚合节点通过FedAvg方法对所有联邦学习参与者本地模型的梯度进行聚合,计算公式如下:,
其中, 表示全局模型的更新梯度, 表示学习率,K表示联邦学习参与者的数量,表示第i个训练参与方本地模型的梯度;
基于全局模型的更新梯度对全局模型进行更新,计算公式如下:
,
其中, 表示更新后的全局模型, 表示更新前的全局模型。
4.根据权利要求1所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,对于节点对星际文件系统IPFS的访问,所述星际文件系统IPFS用于通过基于属性的联邦学习访问控制模型对节点提出的访问控制请求进行决策;
所述基于属性的联邦学习访问控制模型中定义有实体、属性、请求和操作许可;
其中,实体由六元组S、O、E、AO、TR和NR组成,六元组元素中S表示主体,O表示对象,E表示环境,AO表示访问操作,TR表示为任务角色,NR表示为节点信誉;
其中,实体的属性通过三元组
SA:表示主体属性,包括访问请求者的名称;
OA:表示对象属性,包括请求资源的所有者;
EA:表示环境属性,包括用户访问的时间、当前威胁级别和用户位置;
AOA:表示访问操作属性,为主体向对象提交的操作请求,操作请求包括读、写、执行和修改;
TRA:表示任务角色属性,包括联邦学习参与者、计算中心和聚合节点;
NRA:表示用户信誉值,对于节点,注册至区块链是信誉值为随机赋值,节点参与数据共享任务时,基于节点上传数据共享事务中记录的信息对信誉值进行更新;
其中,操作许可表示为节点操作的权限,表示为(allow,deny)←(SA,OA,EA,AOA,TRA,NRA),其中所述基于属性的联邦学习访问控制模型表示基于属性的访问请求AAR,如果节点的属性满足基于属性的访问请求AAR,允许节点访问星际文件系统IPFS,否则拒绝节点访问星际文件系统IPFS。
5.根据权利要求4所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,区块链中配置有访问控制模块,所述访问控制模块用于基于所述基于属性的联邦学习访问控制模型对节点的访问进行决策;
所述访问控制模块包括策略执行点PEP、策略管理点PAP、属性权威点AAP、策略决策点PDP、任务角色管理点TRMP以及节点信誉管理点NRMP,所述策略执行点PEP用于执行如下:接受主体发送的访问控制请求,基于访问控制请求中提供的节点的标识信息、请求访问对象以及访问操作构建基于属性的访问控制请求AAR,并将基于属性的访问控制请求AAR发送至策略决策点PDP;
所述策略决策点PDP用于将基于属性的访问控制请求AAR转发至属性权威点AAP;
所述属性权威点AAP用于执行如下:接收基于属性的访问控制请求AAR,基于存储于星际文件系统的事务记录验证SA、OA、EA、AOA的正确性,验证后,将基于属性的访问控制请求AAR转发至任务角色管理点TRMP以及节点信誉管理点NRMP;
所述任务角色管理点TRMP用于执行如下:接收基于属性的访问控制请求AAR,基于存储于星际文件系统的事务记录完善TRA的值,完善后,将基于属性的访问控制请求AAR发送至属性权威点AAP;
所述节点信誉管理点NRMP用于执行如下:收基于属性的访问控制请求AAR,基于存储于星际文件系统的事务记录完善NRA的值,完善后,将基于属性的访问控制请求AAR发送至属性权威点AAP;
对应的,所述属性权威点AAP用于执行如下:整合所有属性信息SA,OA,EA,AOA,TRA,NRA,形成完整的基于属性的访问控制请求AAR,并将基于属性的访问控制请求AAR返回至策略决策点PDP;
对应的,所述策略决策点PDP用于执行如下:基于更新后基于属性的访问控制请求AAR、向策略管理节点PAP发起授权策略查询请求,基于授权策略查询请求、向策略决策点PDP返回相应的授权策略;
对应的,所述策略决策点PDP用基于授权策略确定允许访问或拒绝访问,并将决策发送至策略执行点PEP;
对应的,所述策略执行点PEP用于基于决策向请求访问的节点提供反馈。
6.根据权利要求1所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,对于参与数据共享任务的联邦学习参与者,基于联邦学习参与者提供数据的质量、通过基于Shapley值的激励机制对每个联邦学习参与者进行贡献值计算和应得利润分配,其中联邦学习参与提供数据包括本地数据集以及本地模型的梯度。
7.根据权利要求6所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,对于N个参与数据共享任务的节点中的K个联邦学习参与者,基于联邦学习参与者提供数据的质量、通过基于Shapley值的激励机制对每个联邦学习参与者进行贡献值计算和应得利润分配,包括如下步骤:对于作为联邦学习参与者的节点,计算全局模型的梯度更新与节点本地模型的梯度之间的差值,通过差值评估节点提供数据的质量并作为节点对全局模型的优化贡献,对于节点i,优化贡献 计算公式如下:,
其中, 表示K个联邦学习参与者聚合的模型梯度, 表示节点i加入K个联邦学习参与者聚合后的模型梯度,K表示参与数据共享任务的联邦学习参与者总数;
对于作为联邦学习参与者的节点,计算中心提供本地数据的贡献权重,对于节点i,贡献权重 计算公式如下:,
其中, 表示节点i提供本地数据集的大小;
对于作为联邦学习参与者的节点,基于节点的优化贡献和以及贡献权重计算中心的Shapley值作为贡献值,对于节点i,贡献值 计算公式如下:,
其中,N表示参与数据共享任务的节点总数, 表示加权因子, 的计算公式如下:
,
对于作为联邦学习参与者的节点,基于节点的贡献值计算中心在每轮聚合实的应得利润,节点i在第t轮聚合时应得利润 计算公式如下:,
,
其中,P表示联邦学习请求者提供的价格, 表示分配给参与数据共享任务的聚合节点的应得利润, 表示分配给参与数据共享任务的计算中心的应得利润, 表示分配给参与数据共享任务的所有联邦学习参与者的应得利润;
对于所有参与数据共享任务的联邦学习参与者,在第t轮聚合之后应得利润 计算公式如下:。
8.根据权利要求1‑7任一项所述的区块链监管与激励下的联邦学习数据共享方法,其特征在于,对于节点注册信息,节点的标识信息包括节点名称和节点ID,节点本地数据集的数据信息包括数据集的大小、数据格式以及数据类型;
对于数据共享请求信息,节点的标识信息包括节点名称和节点ID,联邦学习的数据要求及训练指标包括参与训练数据集的大小、数据格式以及数据类型,还包括最终全局模型的最小精确度;
对于联邦学习参与者,数据共享事务记录的信息包括节点的标识信息、每轮模型训练时本地模型的梯度、训练状态、事务标识以及时间戳,其中,节点的标识信息包括节点名称和节点ID,全局模型为最终全局模型时,训练状态对应的参数值为true,全局模型仍在训练时,训练状态对应的参数值为false;
对于聚合节点,数据共享事务记录的信息包括节点的标识信息、每轮模型训练时全局模型的梯度更新、训练状态、事务标识以及时间戳,其中,节点的标识信息包括节点名称和节点ID,全局模型为最终全局模型时,训练状态对应的参数值为true,全局模型仍在训练时,训练状态对应的参数值为false。