首页> 中国专利> 一种多方联合计算的联盟链处理方法

一种多方联合计算的联盟链处理方法

摘要

本申请公开了一种多方联合计算的联盟链处理方法,包括步骤:S1、发布者在区块链上发布任务,创建并调用智能合约,将任务奖励放置于智能合约中,进入步骤S2;S2、执行者参与任务,上交一笔押金至智能合约中,进入步骤S3;S3、执行者训练并加密模型参数和数据上传至智能合约,进入步骤S4;S4、智能合约对模型参数和数据进行评分,进入步骤S5;S5、判断智能合约评分结果是否达到停止条件,是,则进入步骤S6,否则回到步骤S3;S6、智能合约将模型参数和数据加密发送给发布者,关键信息数据打包成区块上传至区块链。以解决现有技术中是着重于学习奖励的分配,缺乏加密解密算法对于执行者的数据隐私进行保护的问题。

著录项

  • 公开/公告号CN112668049A

    专利类型发明专利

  • 公开/公告日2021-04-16

    原文格式PDF

  • 申请/专利权人 杭州趣链科技有限公司;

    申请/专利号CN202011610251.3

  • 申请日2020-12-30

  • 分类号G06F21/62(20130101);G06F21/60(20130101);H04L29/06(20060101);H04L9/30(20060101);G06N20/00(20190101);G06N3/08(20060101);G06T7/00(20170101);

  • 代理机构11562 北京东方盛凡知识产权代理事务所(普通合伙);

  • 代理人谢秀娟

  • 地址 310051 浙江省杭州市滨江区丹枫路399号2号楼A楼2001

  • 入库时间 2023-06-19 10:38:35

说明书

技术领域

本发明涉及区块链技术领域,具体而言,涉及一种多方联合计算的联盟链处理方法。

背景技术

随着社会的发展,对于算力、合作共赢的要求也逐步提高。原先的工作只需要单独一方的算力就能完成,现在的需要有更多方的算力介入才可以合作完成某一项工作。由此出现了众包平台,结合了多方的工作贡献和算力去解决发布者给出的特定任务。众包平台的思想方式十分值得采纳,但是众包平台并不像描述一样的具有如此大的优势,对于用户来说,众包平台就是相当于中心化,存在一定程度中心化的腐败。对于项目方来说,在众包平台的发布费需要一定的费用额度。众包平台并不能很好的保护用户的隐私数据等等。

区块链是一个天然的去中心化平台,所有人都可以参与且监督任务的真实性。联邦学习可以防止因为中心化导致的恶意参与者的攻击(例如窃取任务数据),因为联邦学习不进行数据交互,只是上传训练模型的参数,不但可以保护用户持有的数据隐私,还可以减少区块链存储费用。因此,区块链和联邦学习的结合给带来了更多可能性,不仅双重保护了用户的隐私和数据的隐私,而且同时能获得较好的效果。

现有技术中的缺陷在于,一部分现有技术将区块链和联邦学习结合的技术是简单的将两者进行结合,还有一部分现有技术是着重于学习奖励的分配,没有对于执行者的数据隐私进行保护。

发明内容

本发明的主要目的在于提供一种多方联合计算的联盟链处理方法,以解决现有技术中是着重于学习奖励的分配,缺乏加密解密算法对于执行者的数据隐私进行保护的问题。

为了实现上述目的,本发明提供了如下技术:

一种多方联合计算的联盟链处理方法,包括步骤:

S1、发布者在区块链上发布任务,创建并调用智能合约,将任务奖励放置于智能合约中,进入步骤S2;

S2、执行者参与任务,上交一笔押金至智能合约中,进入步骤S3;

S3、执行者训练并加密模型参数和数据上传至智能合约,进入步骤S4;

S4、智能合约对模型参数和数据进行评分,进入步骤S5;

S5、判断智能合约评分结果是否达到停止条件,是,则进入步骤S6,否则回到步骤S3;

S6、智能合约将模型参数和数据加密发送给发布者,关键信息数据打包成区块上传至区块链。

进一步地,在步骤S3中,执行者的模型训练完成之后,利用智能合约给予的公钥进行加密模型参数和数据生成密文上传至智能合约。

进一步地,智能合约的加密方法包括:

S10、发布者选定一条椭圆曲线,并取椭圆曲线上一点,作为基点,选择一个私钥,并生成公钥,将椭圆曲线、公钥和基点传输到智能合约;

S11、智能合约将发布者给的公钥作为私钥,在椭圆曲线上选择一点,作为基点,将选定的私钥,并生成公钥,将椭圆曲线、公钥和基点传输到执行者;

S12、执行者从椭圆曲线中的阶数选择一个随机数,结合智能合约提供的公钥,对执行者的信息,其训练的数据模型参数和数据进行加密,生成密文,并且发送至智能合约。

进一步地,智能合约的解密方法包括:

S13、智能合约是使用自身的私钥对执行者传输上来的密文数据进行解密;

S14、智能合约从椭圆曲线中的阶数选择一个随机数,结合发布者提供的公钥对其训练的数据模型参数和数据进行加密,生成密文,并且发送至发布者。

进一步地,执行者训练并加密模型的数据为元数据。

进一步地,在步骤S4中,智能合约对模型参数和元数据进行评分的公式为:

其中α表示发布者规定的数据准确度值的比重,β表示发布者规定的数据量的比重,A表示所有执行者训练模型的准确度值之和,A

进一步地,执行者提供的数据量的多少与表示执行者提供的模型参数和元数据的可靠性成正比。

进一步地,数据训练模型的准确率加速发布者获取模型参数数据。

进一步地,数据训练模型参数和元数据的可靠性,需结合实际情况评估判断,得出结果。

进一步地,还包括步骤S7、训练结束,根据评分分配奖励。

与现有技术相比较,本发明能够带来如下技术效果:

1、首先,与常用的RSA加密算法进行比较发现,在相同的安全性下,这种加密算法的密钥的长度较短(256位),占用更少的存储空间和更少的带宽,加密速度变得更快,以更低的计算代价得到了更高的安全性。使用了公钥当作私钥的思想再次进行加密,让加密算法的难度提升,可以使得任务发布者能够关注模型参数数据的真实可靠性,避免过多关注执行者的私人信息。其次,区块链和联邦学习的结合并不是首创,有部分将区块链和联邦学习结合的现有技术是简单的将两者进行结合,还有一部分现有技术是着重于学习奖励的分配,没有对于执行者的数据隐私进行保护。本发明使用基于智能合约的改进的加密算法,将公钥的一部分当作自身的私钥再次创建公钥,从而加密保护执行者隐私,在保护隐私的同时可以利用联邦学习,结合多方的数据和算力进行学习训练。

2、本发明实现去中心化的操作模式,不仅改进了加密算法,并且联邦学习有天然的保护数据隐私的作用,更加提高了数据的安全性。而且设置了更公平的奖励分配机制,使得任务发布者可以更高效地解决了自身无法完成的任务。

3、本发明可用于在联盟链上做联邦学习的多种类任务,实施例以图像识别中的医学疾病图像诊断识别为例。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,使得本发明的其它特征、目的和优点变得更明显。本发明的示意性实施例附图及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明一种多方联合计算的联盟链处理方法的流程图;

图2是本发明一种多方联合计算的联盟链处理方法的智能合约的加密解密流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本发明中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。

另外,术语“多个”的含义应为两个以及两个以上。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

实施例1

如图1和2所示,一种多方联合计算的联盟链处理方法,包括步骤:

S1、发布者在区块链上发布任务,创建并调用智能合约,将任务奖励放置于智能合约中,进入步骤S2;

S2、执行者参与任务,上交一笔押金至智能合约中,进入步骤S3;

S3、执行者训练并加密模型参数和数据上传至智能合约,进入步骤S4;

在步骤S3中,执行者的模型训练完成之后,利用智能合约给予的公钥进行加密模型参数和数据生成密文上传至智能合约。

智能合约的加密和解密方法包括:

S10、发布者Pub选定一条椭圆曲线E

S11、智能合约SC将发布者Pub给的公钥K

S12、执行者Exe从椭圆曲线中的阶{1,2,……,n}选择一个随机数r

S13、智能合约SC使用自身的私钥K

(M

S14、智能合约SC从椭圆曲线中的阶{1,2,……,n}选择一个随机数r

S4、智能合约对模型参数和数据进行评分,进入步骤S5;

在步骤S4中,智能合约对模型参数和元数据进行评分的公式为:

其中α表示发布者规定的数据准确度值的比重,β表示发布者规定的数据量的比重,A表示所有执行者训练模型的准确度值之和,A

执行者提供的数据量的多少与表示执行者提供的模型参数和元数据的可靠性成正比。

数据训练模型的准确率加速发布者获取模型参数数据。

数据训练模型参数和元数据的可靠性,需结合实际情况评估判断,得出结果。

S5、判断智能合约评分结果是否达到停止条件,是,则进入步骤S6,否则回到步骤S3;

S6、智能合约将模型参数和数据加密发送给发布者,关键信息数据打包成区块上传至区块链。

执行者训练并加密模型的数据为元数据。

还包括步骤S7、训练结束,根据评分分配奖励。

实施例2

如图1和2所示,在联盟链中的各个节点都可以称为发布者或者执行者,在本次实施例中节点就相当于医院。

一.发布者(发布方医院A)在联盟链上发布一个脑部癌症CT图像诊断识别的联邦学习任务,创建并调用智能合约,将该疾病图像任务的奖励放置于智能合约。

发布方医院A需要发布任务的基本需求,例如,方案功能为要准确判断识别出脑部癌症区域以及判断癌症的临床分期、数据特性为执行方医院的影像科的脑部CT图像以及图像数据应设置为向量化矩阵的格式、模型结构为已搭建好的脑部癌症CT图像诊断神经网络模型等。

发布方医院A还需要为智能合约设定相关的规则和要求,如下:

规则:数据检收的标准为判断准确度值为95以上、一轮最大等待时间为30min等,未按时完成任务的将判定为这轮怠工。

要求:

1)智能合约需将执行方医院训练模型完成并评分有效数据的记录整合打包上传至联盟链,展示给联盟链的所有节点;

2)将执行方提供的参数数据中的信息去掉执行方医院涉及数据隐私信息,只将筛选过后符合设置要求的模型参数传输给发布方医院A。

二.执行者(执行方医院B、C)想要参与疾病诊断识别任务,必须要在联盟链上交一笔押金至智能合约,当执行方医院完成确认参与动作并交纳押金之后开始任务。

由智能合约将发布方医院A生成随机初始化模型交予执行方医院进行训练,执行方医院采用自身医院持有的脑部CT图像数据在自身本地进行模型训练。

训练结束之后,执行方医院需要将包括钱包地址、模型训练参数、模型训练准确度值、参与脑部癌症图像诊断识别训练的数据集大小以及部分可公开分享的图像数据等元数据以交易的方式上传到智能合约。正是考虑到各个医院有属于自身医院内部病患的隐私数据,故使用联邦学习的训练方式,执行方医院自身持有数据不上传,可以降低区块链存储费用。

元数据格式:M=[wa,p,acc,s,pd,...],M表示执行方医院上传的元数据,其中wa表示执行方医院的钱包地址,p表示训练模型参数,acc表示模型训练的准确度值,S表示参与脑部癌症图像诊断识别训练的数据集大小,pd表示部分可公开分享的图像数据。

假设,执行方医院B、执行方医院C上传至智能合约的元数据为:

三.执行方医院将脑部癌症CT图像诊断识别模型训练完成之后,利用智能合约给予的公钥进行加密模型参数等数据生成密文上传至智能合约。

一种基于智能合约的加密解密方法如下:例如,

S10、发布方医院A选定一条椭圆曲线E

S11、智能合约将发布方医院A给的公钥K

S12、执行方医院从椭圆曲线中的阶{1,2,……,n}中选择一个随机数r

例如,以数据“456789”为例,r

C1={r

设置函数:

Fun(G_x,G_y,key,a,p):

temp_x=G_x

temp_y=G_y

while key!=1:

temp_x,temp_y=get_np(temp_x,temp_y,G_x,G_y,a,p)

key-=1

return temp_x,temp_y

decrypto

S13、智能合约SC从椭圆曲线中的G

例如,以处理后的元数据|M

S7.智能合根据要求进行评分并分配奖励。

当智能合约获得执行方医院上传的元数据,首先整合多方的可公开的脑部CT图像形成一个测试集数据集data_set,其次智能合约使用不同执行方医院提供的模型参数p进行测试获得的准确度值test_acc和执行方医院提供的准确度值acc相比较,训练测试得出的准确率差值,从而考察数据训练模型参数等相关数据的可靠性。最终结合上述内容以及执行方医院提供的数据量的多少,综合评估执行方的得分并分配奖励。

例如:

执行方医院B、执行方医院C的脑部CT图像数据整合为测试集数据data_set

分别将执行方医院B、执行方医院C的模型参数设置到脑部癌症CT图像诊断神经网络模型中,利用上述的数据集进行测试,获得测试准确度值。

假设,测试结果:

执行方医院B:test_acc:95,acc:96执行方医院C:test_acc:97,acc:95

执行方医院B、执行方医院C所提供的数据量

执行方医院B:S

根据上述的条件,带入评分公式中可得

其中α表示发布者规定的数据准确度值的比重,β表示发布者规定的数据量的比重,A表示所有执行者训练模型的准确度值之和,A

执行方医院B:

执行方医院C:

按照分数高低等级排序,按照比例分配奖励。

与现有技术相比较,本发明能够带来如下技术效果:

1、首先,与常用的RSA加密算法进行比较发现,在相同的安全性下,这种加密算法的密钥的长度较短(256位),占用更少的存储空间和更少的带宽,加密速度变得更快,以更低的计算代价得到了更高的安全性。使用了公钥当作私钥的思想再次进行加密,让加密算法的难度提升,可以使得任务发布者能够关注模型参数数据的真实可靠性,避免过多关注执行者的私人信息。其次,区块链和联邦学习的结合并不是首创,有部分将区块链和联邦学习结合的现有技术是简单的将两者进行结合,还有一部分现有技术是着重于学习奖励的分配,没有对于执行者的数据隐私进行保护。本发明使用基于智能合约的改进的加密算法,将公钥的一部分当作自身的私钥再次创建公钥,从而加密保护执行者隐私,在保护隐私的同时可以利用联邦学习,结合多方的数据和算力进行学习训练。

2、本发明实现去中心化的操作模式,不仅改进了加密算法,并且联邦学习有天然的保护数据隐私的作用,更加提高了数据的安全性。而且设置了更公平的奖励分配机制,使得任务发布者可以更高效地解决了自身无法完成的任务。

3、本发明可用于在联盟链上做联邦学习的多种类任务,实施例以图像识别中的医学疾病图像诊断识别为例。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号