技术新讯 > 电子通信装置的制造及其应用技术 > 基于区块链并行投票共识和多附加侧链的联邦学习方法和系统与流程  >  正文

基于区块链并行投票共识和多附加侧链的联邦学习方法和系统与流程

  • 国知局
  • 2024-08-02 14:56:04

本发明涉及信息处理,尤其涉及一种基于区块链并行投票共识和多附加侧链的联邦学习方法和系统。

背景技术:

1、随着现时互联网信息技术与区块链技术的发展,在各个行业的金融交易、信息通信与存储过程中,大部分企业都普遍运用区块链技术与人工智能技术(例如:联邦学习算法)以提高在金融交易、信息通信与存储过程的安全性与稳定性,但现时大部分企业采用的处理方法都缺乏灵活性和可扩展性,计算和存储资源的利用效率较低,且容易面临投毒攻击的风险,从而造成企业服务器在计算、通信和存储的开销较大的问题。

2、因此,现时提供一种基于区块链并行投票共识和多附加侧链的联邦学习方法和系统,进而能够有效减少服务器的计算和通信量,缓解节点压力,降低加入网络的门槛,提高系统的安全性、稳定性与去中心化程度,以及在有效抵御投毒攻击的同时,提升全局模型数据上链存证的效率,提高系统吞吐量和处理能力。

技术实现思路

1、本发明提供了一种基于区块链并行投票共识和多附加侧链的联邦学习的方法和系统,能够有效减少服务器的计算和通信量,提高系统的安全性、稳定性与去中心化程度,以及在有效抵御投毒攻击的同时,提升全局模型数据上链存证的效率,提高系统吞吐量和处理能力。

2、为了解决上述技术问题,本发明第一方面公开了一种基于区块链并行投票共识和多附加侧链的联邦学习方法,所述方法包括:

3、针对需求方的任务需求接入联邦学习系统并发布训练任务;

4、根据所述训练任务的需求信息初始化所述训练任务的训练参数,并根据所述训练参数构建本地模型,其中,所述需求信息包括:区块链网络的共识节点集合、委员会节点集合、客户端节点集合与需求方集合;

5、通过所述客户端节点集合中的至少一个客户端节点对所述本地模型进行模型训练与参数更新,得到每一个客户端节点对应的更新模型与更新参数;

6、通过所述委员会节点集合的至少一个委员会节点对所述更新模型与所述更新参数进行验证,得到通过验证后的更新模型与更新参数,并对通过验证后的更新模型与更新参数进行共识上链的操作;

7、通过所述委员会节点集合中的至少一个委员会节点对所述更新参数进行聚合,得到聚合后的聚合参数,并通过所述区块链网络的共识节点对所述聚合参数进行验证,得到通过验证后的聚合参数;

8、根据所述区块链网络的共识节点设置每个共识周期内的共识节点角色;

9、根据所述共识节点角色进行并行投票共识,得到投票结果,并对所述投票结果进行上链操作,所述投票结果包括所述通过验证后的聚合参数。

10、作为一种可选的实施方式,在本发明第一方面中,所述训练参数包括:训练数据集、训练模型参数与训练要求参数,所述区块链网络的共识节点集合包括至少一个共识节点,所述区块链网络包括主链网络与侧链网络,所述客户端节点集合包括至少一个客户端集合,所述需求方集合包括至少一个需求方;

11、在所述根据所述训练任务的需求信息初始化所述训练任务的模型参数,并根据所述模型参数构建本地模型之后,所述方法还包括:

12、根据所述区块链网络的共识节点信息,选择至少一个共识节点组成委员会节点集合,所述委员会节点集合用于任务共识;

13、创建所述训练任务的训练通道,并创建所述训练任务,所述训练通道的通道信息包括:参与所述训练任务的客户端节点集合、委员会节点集合与通道标识;

14、发布所述训练任务至所述区块链网络,并根据所述训练任务更新本地任务列表;

15、当检测到所述客户端节点集合中存在任意一个目标客户端节点选中所述本地任务列表中的任意一个目标训练任务时,根据所述目标训练任务连接至所述区块链网络中与所述目标训练任务相匹配的训练任务,并在所述训练任务对应的合约上签名,并将所述目标客户端节点添加至所述训练任务对应的训练通道。

16、作为一种可选的实施方式,在本发明第一方面中,所述通过所述客户端节点集合中的至少一个客户端节点对所述本地模型进行模型训练与参数更新,得到每一个客户端节点对应的更新模型与更新参数,包括:

17、通过所述客户端节点集合中的至少一个客户端节点对所述本地模型进行预设轮次的模型训练与参数更新,得到每一个客户端节点对应的每一轮次的更新模型与更新参数;

18、以及,所述通过所述委员会节点集合的至少一个委员会节点对所述更新模型与所述更新参数进行验证,得到通过验证后的更新模型与更新参数,并对通过验证后的更新模型与更新参数进行共识上链的操作,包括:

19、通过所述委员会节点集合的至少一个委员会节点对所述更新模型与所述更新参数进行正确性校验,得到通过正确性校验后的更新模型与更新参数;

20、对所述通过正确性校验后的更新模型与更新参数进行质量评估,得到所述更新模型与所述更新参数对应的质量评估分数,并判断所述更新模型与所述更新参数对应的质量评估分数是否大于或等于预设的分数阈值;

21、当判断到所述更新模型与所述更新参数对应的质量评估分数大于或等于预设的分数阈值时,确定所述更新模型与所述更新参数通过质量评估;

22、对通过质量评估的更新模型对应的客户端节点进行预设共识类型的共识,在共识完成后将所述更新模型与所述更新参数上传至所述侧链网络。

23、作为一种可选的实施方式,在本发明第一方面中,所述通过所述委员会节点集合中的至少一个委员会节点对所述更新参数进行聚合,得到聚合后的聚合参数,包括:

24、通过所述委员会节点集合中的至少一个委员会节点,根据聚合算法并基于本地账本存储的模型参数,对每一轮次中至少一个客户端节点得到的更新参数进行聚合,得到聚合后每一轮次中至少一个客户端节点的聚合参数;

25、以及,所述通过所述区块链网络的共识节点对所述聚合参数进行验证,得到通过验证后的聚合参数,包括:

26、通过所述委员会节点计算每一轮次中至少一个客户端节点的聚合参数的哈希值,并将所述聚合参数的哈希值发送至所述委员会节点所处的委员会节点网络;

27、通过所述委员会节点网络判断其他委员会节点所计算的聚合参数的哈希值是否与所述委员会节点所计算的所述聚合参数的哈希值相同;

28、当判断到所述其他委员会节点中存在任意一个目标委员会节点所计算的聚合参数的哈希值与所述委员会节点所计算的所述聚合参数的哈希值相同时,对所述目标委员会节点进行标记;

29、确定每一轮次的目标委员会节点的标记次数,并对所述标记次数进行排序,得到所述标记次数最多对应的聚合参数;

30、通过所述主链网络对所述标记次数最多对应的聚合参数进行正确性校验,得到通过正确性校验后的目标聚合参数。

31、作为一种可选的实施方式,在本发明第一方面中,所述根据所述区块链网络的共识节点设置每个共识周期内的共识节点角色,包括:

32、根据所述区块链网络的共识节点对应的可用资源计算对应的记账权重;

33、基于所述记账权重以及预设的算法确定出每个共识周期内的记账节点,并根据所述记账节点设置每个共识周期内的共识节点角色;

34、其中,所述根据所述区块链网络的共识节点对应的可用资源计算对应的记账权重,包括:

35、对于所述区块链网络中的每一个共识节点,计算所述共识节点对应的计算资源参数、存储资源参数与通信资源参数;

36、根据所述计算资源参数、所述存储资源参数与所述通信资源参数计算所述共识节点的记账权重;

37、对所述区块链网络的所有共识节点对应的记账权重进行归一化处理,得到归一化处理后的所有共识节点对应的记账权重集合;

38、所述基于所述记账权重以及预设的算法确定出每个共识周期内的记账节点,包括:

39、根据预设的密钥长度,生成每个共识周期内共识操作所使用的密钥对;

40、将所述记账权重集合以及所述每个共识周期内共识操作所使用的密钥对输入至所述可验证随机函数进行计算,得到所述记账权重集合的输出参数与证明参数;

41、根据所述记账权重集合的输出参数与证明参数,以及预设的线性或非线性函数,计算所述记账权重集合的随机性指标;

42、基于所述随机性指标,通过抽签算法抽取出每个共识周期内的记账节点,并对抽取出的每个共识周期内的记账节点进行验证。

43、作为一种可选的实施方式,在本发明第一方面中,所述基于所述随机性指标,通过抽签算法抽取出每个共识周期内的记账节点,包括:

44、基于所述随机性指标计算每一个共识节点对应的抽签概率;

45、初始化每一个共识节点的中签次数为0;

46、以所述抽签概率作为初始输入参数,进行以所述中签次数为迭代次数以及实际成功次数为k次的伯努利试验,并判断是否满足预设的伯努利试验条件,并判断所述伯努利试验的输出结果是否满足预设的伯努利试验条件;

47、当判断到满足预设的伯努利试验条件时,令所述迭代次数累加一次,重复执行所述伯努利试验的操作;

48、当判断到不满足预设的伯努利试验条件时,停止执行所述伯努利试验的操作,得到每一个共识节点的输出结果集合;

49、根据所述每一个共识节点的输出结果集合得到所有共识节点的中签次数集合,对所述中签次数集合中的所有共识节点对应的中签次数进行排序,并选择对应中签次数最多的前z个节点作为每个共识周期内的记账节点;

50、其中,所述表示为所述输出参数,所述表示为所述证明参数。

51、作为一种可选的实施方式,在本发明第一方面中,所述共识节点角色的角色类型包括:记账节点、领导节点、潜在记账节点、投票节点中的至少一种。

52、本发明第二方面公开了一种基于区块链并行投票共识和多附加侧链的联邦学习系统,所述系统包括:

53、接入发布模块,用于针对需求方的任务需求接入联邦学习系统并发布训练任务;

54、初始化构建模块,用于根据所述接入发布模块发布的所述训练任务的需求信息初始化所述训练任务的模型参数,并根据所述模型参数构建本地模型,其中,所述需求信息包括:区块链网络的共识节点集合、委员会节点集合、客户端节点集合与需求方集合;

55、训练更新模块,用于通过所述客户端节点集合中的至少一个客户端节点对所述初始化构建模块构建的所述本地模型进行模型训练与参数更新,得到每一个客户端节点对应的更新模型与更新参数;

56、验证模块,用于通过所述委员会节点集合的至少一个委员会节点对所述训练更新模块训练更新得到的所述更新模型与所述更新参数进行验证,得到通过验证后的更新模型与更新参数;

57、共识上链模块,用于将所述验证模块验证后的更新模型与更新参数进行共识上链的操作;

58、聚合模块,用于通过所述委员会节点集合中的至少一个委员会节点对所述训练更新模块更新的所述更新参数进行聚合,得到聚合后的聚合参数;

59、所述验证模块,还用于通过所述区块链网络的共识节点对所述聚合模块聚合的所述聚合参数进行验证, 得到通过验证后的聚合参数;

60、设置模块,用于根据所述接入发布模块发布的所述训练任务的需求信息中的所述区块链网络的共识节点设置每个共识周期内的共识节点角色;

61、所述共识上链模块,还用于根据所述设置模块设置的所述共识节点角色进行并行投票共识,得到投票结果,并对所述投票结果进行上链操作,所述投票结果包括所述通过验证后的聚合参数。

62、作为一种可选的实施方式,在本发明第二方面中,所述训练参数包括:训练数据集、训练模型参数与训练要求参数,所述区块链网络的共识节点集合包括至少一个共识节点,所述区块链网络包括主链网络与侧链网络,所述客户端节点集合包括至少一个客户端集合,所述需求方集合包括至少一个需求方;

63、所述装置还包括:

64、选择模块,用于在所述初始化构建模块根据所述训练任务的需求信息初始化所述训练任务的模型参数,并根据所述模型参数构建本地模型之后,根据所述区块链网络的共识节点信息,选择至少一个共识节点组成委员会节点集合,所述委员会节点集合用于任务共识;

65、创建模块,用于创建所述接入发布模块发布的所述训练任务的训练通道,并创建所述训练任务,所述训练通道的通道信息包括:参与所述训练任务的客户端节点集合、委员会节点集合与通道标识;

66、发布更新模块,用于发布所述创建模块创建的所述训练任务至所述区块链网络,并根据所述训练任务更新本地任务列表;

67、连接模块,用于当检测到所述客户端节点集合中存在任意一个目标客户端节点选中所述发布更新模块更新的所述本地任务列表中的任意一个目标训练任务时,根据所述目标训练任务连接至所述区块链网络中与所述目标训练任务相匹配的训练任务;

68、签名模块,用于在所述连接模块所连接的所述训练任务对应的合约上签名;

69、添加模块,用于将所述目标客户端节点添加至所述连接模块所连接的所述训练任务对应的训练通道。

70、作为一种可选的实施方式,在本发明第二方面中,所述训练更新模块通过所述客户端节点集合中的至少一个客户端节点对所述本地模型进行模型训练与参数更新,得到每一个客户端节点对应的更新模型与更新参数的具体方式为:

71、通过所述客户端节点集合中的至少一个客户端节点对所述本地模型进行预设轮次的模型训练与参数更新,得到每一个客户端节点对应的每一轮次的更新模型与更新参数;

72、以及,所述验证模块通过所述委员会节点集合的至少一个委员会节点对所述更新模型与所述更新参数进行验证,得到通过验证后的更新模型与更新参数的具体方式为:

73、通过所述委员会节点集合的至少一个委员会节点对所述更新模型与所述更新参数进行正确性校验,得到通过正确性校验后的更新模型与更新参数;

74、对所述通过正确性校验后的更新模型与更新参数进行质量评估,得到所述更新模型与所述更新参数对应的质量评估分数,并判断所述更新模型与所述更新参数对应的质量评估分数是否大于或等于预设的分数阈值;

75、当判断到所述更新模型与所述更新参数对应的质量评估分数大于或等于预设的分数阈值时,确定所述更新模型与所述更新参数通过质量评估;

76、所述共识上链模块对通过验证后的更新模型与更新参数进行共识上链的操作的具体方式为:

77、对通过质量评估的更新模型对应的客户端节点进行预设共识类型的共识,在共识完成后将所述更新模型与所述更新参数上传至所述侧链网络。

78、作为一种可选的实施方式,在本发明第二方面中,所述聚合模块通过所述委员会节点集合中的至少一个委员会节点对所述更新参数进行聚合,得到聚合后的聚合参数的具体方式为:

79、通过所述委员会节点集合中的至少一个委员会节点,根据聚合算法并基于本地账本存储的模型参数,对每一轮次中至少一个客户端节点得到的更新参数进行聚合,得到聚合后每一轮次中至少一个客户端节点的聚合参数;

80、以及,所述验证模块通过所述区块链网络的共识节点对所述聚合参数进行验证,得到通过验证后的聚合参数的具体方式为:

81、通过所述委员会节点计算每一轮次中至少一个客户端节点的聚合参数的哈希值,并将所述聚合参数的哈希值发送至所述委员会节点所处的委员会节点网络;

82、通过所述委员会节点网络判断其他委员会节点所计算的聚合参数的哈希值是否与所述委员会节点所计算的所述聚合参数的哈希值相同;

83、当判断到所述其他委员会节点中存在任意一个目标委员会节点所计算的聚合参数的哈希值与所述委员会节点所计算的所述聚合参数的哈希值相同时,对所述目标委员会节点进行标记;

84、确定每一轮次的目标委员会节点的标记次数,并对所述标记次数进行排序,得到所述标记次数最多对应的聚合参数;

85、通过所述主链网络对所述标记次数最多对应的聚合参数进行正确性校验,得到通过正确性校验后的目标聚合参数。

86、作为一种可选的实施方式,在本发明第二方面中,所述设置模块根据所述区块链网络的共识节点设置每个共识周期内的共识节点角色的具体方式为:

87、根据所述区块链网络的共识节点对应的可用资源计算对应的记账权重;

88、基于所述记账权重以及预设的算法确定出每个共识周期内的记账节点,并根据所述记账节点设置每个共识周期内的共识节点角色;

89、其中,所述根据所述区块链网络的共识节点对应的可用资源计算对应的记账权重的具体方式为:

90、对于所述区块链网络中的每一个共识节点,计算所述共识节点对应的计算资源参数、存储资源参数与通信资源参数;

91、根据所述计算资源参数、所述存储资源参数与所述通信资源参数计算所述共识节点的记账权重;

92、对所述区块链网络的所有共识节点对应的记账权重进行归一化处理,得到归一化处理后的所有共识节点对应的记账权重集合;

93、所述基于所述记账权重以及预设的算法确定出每个共识周期内的记账节点的具体方式为:

94、根据预设的密钥长度,生成每个共识周期内共识操作所使用的密钥对;

95、将所述记账权重集合以及所述每个共识周期内共识操作所使用的密钥对输入至所述可验证随机函数进行计算,得到所述记账权重集合的输出参数与证明参数;

96、根据所述记账权重集合的输出参数与证明参数,以及预设的线性或非线性函数,计算所述记账权重集合的随机性指标;

97、基于所述随机性指标,通过抽签算法抽取出每个共识周期内的记账节点,并对抽取出的每个共识周期内的记账节点进行验证。

98、作为一种可选的实施方式,在本发明第二方面中,所述设置模块基于所述随机性指标,通过抽签算法抽取出每个共识周期内的记账节点的具体方式为:

99、基于所述随机性指标计算每一个共识节点对应的抽签概率;

100、初始化每一个共识节点的中签次数为0;

101、以所述抽签概率作为初始输入参数,进行以所述中签次数为迭代次数以及实际成功次数为k次的伯努利试验,并判断是否满足预设的伯努利试验条件;

102、当判断到满足预设的伯努利试验条件时,令所述迭代次数累加一次,重复执行所述伯努利试验的操作;

103、当判断到不满足预设的伯努利试验条件时,停止执行所述伯努利试验的操作,得到每一个共识节点的输出结果集合;

104、根据所述每一个共识节点的输出结果集合得到所有共识节点的中签次数集合,对所述中签次数集合中的所有共识节点对应的中签次数进行排序,并选择对应中签次数最多的前z个节点作为每个共识周期内的记账节点;

105、其中,所述表示为所述输出参数,所述表示为所述证明参数。

106、作为一种可选的实施方式,在本发明第二方面中,所述共识节点角色的角色类型包括:记账节点、领导节点、潜在记账节点、投票节点中的至少一种。

107、本发明第三方面公开了另一种基于区块链并行投票共识和多附加侧链的联邦学习系统,所述系统包括:

108、存储有可执行程序代码的存储器;

109、与所述存储器耦合的处理器;

110、所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于区块链并行投票共识和多附加侧链的联邦学习方法。

111、本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的基于区块链并行投票共识和多附加侧链的联邦学习方法。

112、与现有技术相比,本发明实施例具有以下有益效果:

113、本发明提供一种基于区块链并行投票共识和多附加侧链的联邦学习方法和系统,该方法包括:针对需求方的任务需求接入联邦学习系统并发布训练任务,根据训练任务的需求信息初始化训练任务的训练参数,并根据训练参数构建本地模型,对本地模型进行模型训练、参数更新与验证,将通过验证后的更新模型与更新参数进行共识上链,以及对更新参数进行聚合与验证,将通过验证后的聚合参数进行共识上链,最后根据区块链网络的共识节点确定出记账节点,根据记账节点设置共识节点角色,对所有共识节点角色进行并行投票共识,并将最终投票结果进行上链。可见,实施本发明能够根据发布的训练任务对应的训练参数构建本地模型,通过客户端节点对本地模型进行模型训练、参数更新与验证与共识上链,以及通过委员会节点对更新参数进行聚合与验证,将通过验证后的聚合参数进行共识上链,有利于减少服务器的计算和通信量,有效降低账本存储和共识通信的开销的同时,提高系统的安全性、稳定性;根据区块链网络的共识节点设置共识节点角色,对所有共识节点角色进行并行投票共识,并将最终投票结果进行上链,能够在有效抵御恶意网络攻击的同时,提升全局模型数据上链存证的效率,提高系统吞吐量和处理能力。

本文地址:https://www.jishuxx.com/zhuanli/20240801/244377.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。