System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机系统,尤其涉及一种执行多方计算任务的方法、装置、电子设备和存储介质。
技术介绍
1、mpc(multi-party computation,多方安全计算)技术允许多个参与方在没有可信第三方的情况下协同计算一个约定函数,确保除计算结果外,各参与方无法通过交互数据推断出其他参与方的原始数据。这种特性使得mpc在隐私保护和数据安全方面具有天然的优势。
2、然而,mpc的实现依赖于复杂的密码学算法和协议,如同态加密、秘密分享和不经意传输等,这些技术要求用户具备深厚的密码学知识和编程能力,尤其是在界面操作过程中,用户往往不知道自己是任务发起方还是数据提供方,复杂的操作界面让用户无从下手,增加了操作的复杂性和不便性。
技术实现思路
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、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过识别节点的角色并配置角色的对应管理权限,可以保证发起方和参与方的用户能够查看不同的界面,这样用户根据界面提供的操作流程进行操作即可完成多方计算任务,发起方和参与方的界面区分开来,可以提供直观的操作指导,无需用户在复杂的界面中选择某个角色对应的操作选项,提高多方安全计算时的操作便捷性。
本文档来自技高网...【技术保护点】
1.一种执行多方计算任务的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,采用所述管理权限对应的界面操作流程执行所述多方计算任务包括:
3.根据权利要求2所述的方法,其特征在于,根据所述节点数据构建并发布所述参与方的子模型之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在检测到所述发起方的查询请求的情况下,结合所述发起方的节点数据和每个所述参与方的子模型执行所述多方计算任务包括:
5.根据权利要求4所述的方法,其特征在于,获取每个所述参与方的子模型包括:
6.根据权利要求2所述的方法,其特征在于,采用所述数据导入方式和所述导入配置参数导入节点数据包括:
7.根据权利要求3所述的方法,其特征在于,根据所述节点数据构建所述参与方的子模型之后,所述方法还包括:
8.一种执行多方计算任务的模块,其特征在于,所述模块包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
...【技术特征摘要】
1.一种执行多方计算任务的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,采用所述管理权限对应的界面操作流程执行所述多方计算任务包括:
3.根据权利要求2所述的方法,其特征在于,根据所述节点数据构建并发布所述参与方的子模型之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在检测到所述发起方的查询请求的情况下,结合所述发起方的节点数据和每个所述参与方的子模型执行所述多方计算任务包括:
5.根据权利要求4所述的方法,其特征在于,获取每个所述参与方的子模型包括:
6.根据权利...
【专利技术属性】
技术研发人员:陈晓丰,胡麦芳,李禹申,郑佩玉,张璐,
申请(专利权)人:杭州趣链科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。