一种基于多方协作的隐私计算方法及装置与流程

专利2023-09-07  117



1.本说明书多个实施例涉及区块链技术领域,尤其涉及一种基于多方协作的隐私计算方法及装置。


背景技术:

2.隐私计算(privacy compute),是指在保护数据本身不对外泄露的前提下,实现数据分析计算的技术。例如,目前主流的隐私计算技术通常可以包括,fl(federated learning,联邦学习)技术、mpc(secure multi-party computation,多方安全计算)技术,tee(trusted execute environment,可信执行环境)技术,等等。在实际应用中,参与隐私计算的数据可能来自于多个不同的数据源,因此如何利用多个不同的数据源的数据来进行隐私计算,是业界一直以来关注的重点。


技术实现要素:

3.本说明书提出一种基于多方协作的隐私计算方法,基于区块链的数据协作平台对接了多个协作参与方;所述方法应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;其中,所述多个协作参与方分别维护了用于参与隐私计算的数据;所述方法包括:
4.获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
5.获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
6.创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
7.本说明书还提出一种基于多方协作的隐私计算方法,所述方法应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述多个协作参与方分别维护了用于参与隐私计算的数据;所述方法包括:
8.获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
9.获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实
例化计算流程;
10.创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
11.本说明书还提出一种基于多方协作的隐私计算装置,基于区块链的数据协作平台对接了多个协作参与方;所述方法应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;其中,所述多个协作参与方分别维护了用于参与隐私计算的数据;所述装置包括:
12.第一获取模块,获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
13.第一生成模块,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
14.第一部署模块,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
15.本说明书还提出一种基于多方协作的隐私计算装置,所述装置应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述多个协作参与方分别维护了用于参与隐私计算的数据;所述装置包括:
16.第二获取模块,获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
17.第二生成模块,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
18.第二部署模块创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
19.在本说明书以上的技术方案中,不仅可以在针对来自多个数据源的数据进行隐私计算时,让隐私计算的计算过程更加透明可信并且便于追溯;而且,还可以在用户不了解各个协作参与方对于数据使用的安全性要求的前提下,基于数据协作平台自身的隐私计算能力,针对用户不同的计算需求,规划出不同的能够满足各个协作参与方对于数据使用的安全性要求的实例化计算流程,从而使得该数据协作平台可以灵活的适配不同的数据隐私场景,可以激活更多的隐私计算场景。
附图说明
20.图1是本说明书一示例性实施例示出的数据协作平台的系统架构图。
21.图2是本说明书根据一示例性实施例示出的一种基于多方协作的隐私计算方法的流程图。
22.图3是本说明书根据一示例性实施例示出的一种对多个协作参与方维护的数据进行虚拟化处理的示意图。
23.图4是本说明书根据一示例性实施例示出的另一种基于多方协作的隐私计算方法的流程图。
24.图5是一示例性实施例提供的一种电子设备的示意结构图。
25.图6是本说明书根据一示例性实施例示出的一种基于多方协作的隐私计算装置的框图。
26.图7是本说明书根据一示例性实施例示出的另一种基于多方协作的隐私计算装置的框图。
具体实施方式
27.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
28.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
29.在针对来自多个不同的数据源的数据进行隐私计算的场景中,为了打破各个数据源之间的信息孤岛,实现充分的数据融合,通常会搭建一个中心化的数据协作平台。该中心化的数据协作平台,通常负责对各个数据源的数据进行调度管理。在需要针对来自多个不同的数据源的数据进行隐私计算时,可以由该数据协作平台从不同的数据源分别查询数据,并基于自身的隐私计算能力,对查询到的数据进行隐私计算处理。
30.然而,在实际应用中,不同的数据源对于其维护的数据的使用,通常都具有不同的安全性要求;比如,部分数据源可能会出于隐私保护的目的,禁止将数据导出其所在的数据域进行使用,或者不允许将其维护的数据与其他数据源维护的数据进行汇总后使用,等等。
31.而不同的数据源对于数据的安全性要求上存在的这种差异,可能会衍生出大量的数据查询和隐私计算的场景。因此,对于数据协作平台来说,如何灵活的去适配这些数据查询和隐私计算的场景,则具有非常重要的意义。
32.基于此,本说明书提出一种在基于多个数据源维护的数据进行隐私计算的场景下,基于数据协作平台自身的隐私计算能力,在用户不了解各个协作参与方对于数据使用的安全性要求的前提下,来灵活的规划与用户定制的计算流程对应的满足各个数据源的安
全性要求的实例化计算流程的技术方案。
33.在实现时,可以搭建一个基于区块链的数据协作平台,该数据协作平台可以对接多个协作参与方。其中,每一个协作参与方,都可以维护用于参与隐私计算的数据。
34.对于该多个协作参与方中的任一目标协作参与方来说,接入该目标协作参与方对应的服务端的用户,在具有针对该多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算需求时,可以基于与隐私计算相关的功能性算子库中的功能性算子,指定一个与自身的计算需求对应的计算流程。
35.而该目标协方参与方对应的服务端,在获取到用户指定的计算流程之后,可以进一步获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与隐私计算相关的实例化算子库中选择满足该数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于上述至少一个实例化算子生成与上述计算流程对应的实例化计算流程。
36.然后,可以创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
37.在以上技术方案中,不仅可以在针对来自多个数据源的数据进行隐私计算时,让隐私计算的计算过程更加透明可信并且便于追溯;
38.而且,还可以在用户不了解各个协作参与方对于数据使用的安全性要求的前提下,基于数据协作平台自身的隐私计算能力,针对用户不同的计算需求,规划出不同的能够满足各个协作参与方对于数据使用的安全性要求的实例化计算流程,从而使得该数据协作平台可以灵活的适配不同的数据隐私场景,可以激活更多的隐私计算场景。
39.请参见图1,图1是本说明书一示例性实施例示出的数据协作平台的系统架构图。
40.如图1所示,上述数据协作平台,具体可以是一个基于区块链的隐私协作平台,可以对接一个区块链网络,以及多个协作参与方(即多个数据源)。该数据协作平台可以对该多个协作参与方维护的数据进行计算调度,从全局的数据视角完成隐私计算。
41.例如,在符合各个协作参与方对数据的安全性要求的前提下,将各个协作参与方维护的数据作为一个整体进行隐私计算。
42.对于各个协作参与方来说,可以分别维护数据集合和计算结果集。其中,数据集,用于存储参与隐私计算的数据。上述计算结果集,用于存储针对上述数据集中的数据进行隐私计算得到的计算结果。该计算结果具体可以是中间计算结果,也可以是最终的计算结果。
43.需要说明的是,上述数据集和上述计算结果集,具体都可以是一个数据库。对于不同的协作参与方来说,采用的数据库可以是同构的数据库,也可以是异构的数据库,在本说明书中不进行特别限定。
44.除了上述数据集和计算结果集以外,各个协作参与方还可以搭载若干与隐私计算相关的实例化算子和功能组件。
45.如图1所示,各个协作参与方搭载的与隐私计算相关的实例化算子,具体可以包括基于mpc的实例化算子、基于tee的实例化算子、以及基于tl的实例算子,等等。每一种实例化算子,都对应一种基于特定的隐私计算技术实现的一项计算操作或者计算功能。而对于
某一项具体的计算操作或者计算功能来说,可以对应基于多种隐私计算技术实现的多种实例化算子。
46.例如,以要实现的计算功能为求交集计算为例,那么与该求交集计算功能对应的实例化算子,具体可以包括基于mpc的求交集计算的实例化算子,基于tee的求交集计算的实例化算子,等等。也即,对于求交集计算功能,可以分别基于mpc技术和tee技术实现出两种实例化算子。
47.如图1所示,各个协作参与方搭载的功能组件,具体可以包括以下几种:
48.应用执行规划组件,用于基于各个协作参与方针对其维护的数据的数据安全要求,从数据协作平台管理的实例化算子库中,选择与用户指定的计算流程中包含的至少一个功能性算子对应的至少一个实例化算子,再基于上述至少一个实例化算子规划出,满足各个协作参与方的上述数据安全要求的,与上述计算流程对应的实例化计算流程。此时该实例化计算流程,即为基于用户指定的计算流程,规划出的一个具体的用于进行隐私计算的数据协作应用。
49.应用合约管理组件,用于生成与上述实例化计算流程对应的隐私计算逻辑相关的执行代码,并将生成的执行代码编译成为智能合约代码,并在与数据协作平台对接的区块链网络中部署包含上述智能合约代码的智能合约。
50.执行调度组件,用于与上述智能合约进行交互,通过监听区块链上存储的智能合约的调用结果,来进一步调用本地的实例化算子,来完成相关的隐私计算,并将计算结果提交给上述智能合约。
51.其中,需要说明的是,以上示出的各个功能组件,仅为示意性的,在实际应用中,可以基于实际的需求对其中的部分组件的进行整合,也可以对部分组件进行进一步的拆分,在本说明书中不进行特别限定。
52.还需要说明的是,以上示出的各个功能组件中除了执行调度组件以外的其它组件,可以由数据协作平台分布式的部署在各个协作参与方(图1示出的就是这种分布式的部署在各个协作参与方的情况),也可以中心化的部署在数据协作平台上,在本说明书中不进行特别限定。例如,可以中心化的部署在用于对上述区块链网络进行管理的一个区块链服务平台(图1中未示出)上。
53.请继续参见图1,各个协作参与方来说,还可以面向用户提供一个应用执行客户端。
54.该应用执行客户端,具体用于面向用户提供数据协作平台的接入服务,用户可以通过该应用执行客户端,基于数据协作平台管理的功能性算子,来指定与自身的隐私计算需求对应的计算流程,还可以通过该执行客户端,发起针对上述智能合约的合约调用,并通过该应用执行客户端,来查询该智能合约的调用结果。
55.请参见图2,图2是本说明书根据一示例性实施例示出的一种基于多方协作的隐私计算方法的流程图,该方法可以应用于图1所示的多个协作参与方中的任一目标协作参与方对应的服务端;所述方法包括:
56.步骤202,获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
57.上述协作参与方,具体可以接入数据协作平台的数据提供方。例如,在一个例子中,上述多个协作参与方,具体可以包括分布在不同地域的多个数据中心。
58.本说明书中描述的算子,是指针对各个协作参与方维护的数据进行隐私计算的过程中所涉及的各种计算操作/计算功能。也即,针对各个协作参与方维护的数据进行隐私计算的过程中所涉及的任何一项计算操作/计算功能,都可以称之为是一个算子。
59.上述功能性算子,是指一项待实现的计算功能或者计算操作。针对各个协作参与方维护的数据进行隐私计算的过程中所涉及的任何一项待实现的计算操作/计算功能,都可以称之为是一个功能性算子。而上述实例化算子,则是指基于特定的隐私计算技术已经实现的一项计算功能或者计算操作。
60.例如,目前主流的隐私计算技术通常可以包括,fl技术、mpc技术,以及tee技术等等,因此上述实例化算子库中的实例化算子,可以包括基于fl技术实现的实例化算子、基于mpc技术实现的实例化算子、以及基于tee技术实现的算子,等等。
61.又如,以上述功能性算子为“求交集计算”为例,此时待实现的计算功能为“求交集计算”,那么与该功能性算子对应的实例化算子,具体可以包括基于mpc技术实现的求交集计算的实例化算子,基于tee技术实现的求交集计算的实例化算子,等等。也即,对于求交集计算功能,可以分别基于mpc技术和tee技术实现出两种实例化算子。
62.在实际应用中,数据协作平台自身的隐私计算能力,通常是由数据协作平台管理的实例化算子库来决定,该实例化算子库中包含的实例化算子的种类越丰富,表明该数据协作平台自身的隐私计算能力越强大。
63.在示出的一种实施方式中,数据协作平台管理的实例化算子库中的实例化算子,具体可以基于数据协作平台支持的隐私计算技术实现的算子,还可以包含基于各个协作参与方支持的隐私计算技术实现的算子。通过这种方式,使得数据协作平台可以涵盖接入的各个协作参与方的隐私计算能力。在本说明书中,各个协作参与方可以分别在其本地维护用于参与隐私计算的数据集合。而为了打破各个协作参与方之间的信息孤岛,数据协作平台可以基于数据虚拟化技术,针对各个协作参与方分别维护的数据集进行数据虚拟化处理。
64.数据虚拟机化技术,是一种将多个数据源维护的物理数据,在逻辑层面映射成虚拟数据,进而将多个数据源维护的物理数据整合成为一个逻辑上的虚拟数据集合(也称之为逻辑视图),供上层应用使用的技术。通过对各个协作参与方维护的数据集进行数据虚拟化处理,可以将各个协作参与方维护的数据集整合成为一个虚拟数据集合,供用户使用。
65.其中,在将多个数据源维护的物理数据映射成为虚拟数据时,通常是指将物理数据中包含的物理数据属性,映射成为虚拟数据属性的过程。需要说明的是,将物理数据中包含的物理数据属性映射成为虚拟数据属性时,具体可以采用一对一映射的方式,将物理数据中包含的一个物理数据属性,映射成为一个对应的虚拟数据属性,也可以采用多对一映射的方式,将物理数据中包含的多个物理数据属性,映射成为一个对应的虚拟数据属性。
66.例如,请参见图3,图3为本说明书一示例性实施例示出的一种对多个协作参与方维护的数据进行数据虚拟化处理的示意图。
67.如图3所示,假设协作参与方1维护的数据集1中存储的数据包括属性1-3,协作参与方2维护的数据集2中存储的数据包括属性4-7,协作参与方3维护的数据集3中存储的数
据包括属性8-11。其中,每一个属性都可以代表数据表中的一个字段。对数据集1-3中存储的数据进行数据虚拟化处理之后得到的虚拟数据表,可以包含属性a-f。
68.其中,如图3所示出的数据虚拟化处理方式可知,数据集1中的属性1,数据集2中的属性4,以及数据集3中的属性8,采用多对一映射的方式,映射成了虚拟数据表中的属性a;数据集1中的属性2,数据集2中的属性5,以及数据集3中的属性9,采用多对一映射的方式,映射成了虚拟数据表中的属性b;数据集1中的属性3和数据集2中的属性6,采用多对一映射的方式,映射成了虚拟数据表中的属性c。而数据集3中的属性10,采用一对一映射的方式,映射成了虚拟数据表中的属性d;数据集2中的属性7,采用一对一映射的方式,映射成了虚拟数据表中的属性e;数据集3中的属性11,采用一对一映射的方式,映射成了虚拟数据表中的属性f。
69.需要强调的是,图3示出的数据映射方式,仅为示例性的,在实际应用中,对多个协作参与方维护的数据进行数据虚拟化时所采用的数据映射方式,通常取决于数据本身的数据语义,在本说明书中不进行特别限定;例如,在进行数据映射时,如果分布在不同的协作参与方的多个数据字段的数据语义相关,则可以采用将该多个数据字段映射成为一个虚拟数据属性的方式。
70.在针对各个协作参与方维护的数据集进行数据虚拟化处理完成后,可以将得到的虚拟数据表在下发至各个协作参与方,由各个协作参与方进一步将该虚拟数据表作为能够全局的反映各协作参与方维护的数据状况的数据视图,向用户进行输出展示。
71.而通过客户端接入上述目标协作参与方的用户在具有隐私计算需求时,可以通过该客户端输入针对该虚拟数据表的数据查询请求的方式,以全局的数据视角来发起数据查询。
72.其中,上述数据查询请求,具体用于向数据协作平台来表达用户的数据查询需求,关于该数据查询请求的具体形式,在本说明书中不进行特别限定。例如,在一个例子中,上述数据查询请求具体可以是用户输入的数据查询语句(比如sql语句)。
73.当完成数据查询之后,用户可以基于数据协作平台管理的功能性算子,来指定与自身的隐私计算需求对应的计算流程。
74.其中,需要说明的是,上述计算流程的具体内容,通常取决于用户的隐私计算的需求,在本说明书中不进行特别限定,在实际应用中,用户可以通过对上述功能算子库中的功能算子来进行任意形式的组合,来定制与自身的计算需求对应的计算流程。其中,用户基于数据协作平台管理的功能性算子,来指定与自身的隐私计算需求对应的计算流程的操作,具体可以在客户端上来完成。
75.例如,假设上述虚拟数据集合为存储用户个人信息的用户信息表,该信息表中包括性别字段和年龄字段。在这种场景下,如果用户针对该用户信息表的隐私计算需求是“查询该用户信息表中存储的男性用户的年龄数据的平均值”,那么此时用户可以选择上述功能算子库中的与“针对该用户信息表中的男性用户的用户信息进行查询计算”这一计算功能对应的功能算子,与“针对该用户信息表中的男性用户的用户信息中的年龄数据的筛选计算”这一计算功能对应的功能算子,以及与“针对筛选出的年龄数据的平均值计算子操作”这一计算功能对应的功能算子,然后基于选择的这三个功能性算子,来定制与自身的隐私计算需求对应的计算流程。
76.又如,如果用户针对该用户信息表的隐私计算需求是“基于该用户信息表中的用户数据训练一个机器学习模型”,此时用户可以选择上述功能算子库中的与“机器学习训练”这一计算功能对应的功能算子,来定制与自身的隐私计算需求对应的计算流程。
77.在示出的一种实施方式中,与上述目标协作参与方对应的服务端,具体可以将数据协作平台管理的与隐私计算相关的功能算子库,通过该客户端向该用户进行输出,并获取用户在输出的功能算子库中选择的至少一个功能性算子,然后再基于上述至少一个功能性算子生成针对上述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程。
78.在示出的一种实现方式中,与上述目标协作参与方对应的服务端,具体可以通过该客户端向用户输出一个计算流程规划界面;其中,该计算流程规划界面可以包括该功能算子库。用户可以通过该计算流程规划界面与客户端进行交互,来表达自身的隐私计算需求。比如,用户可以在该计算流程规划界面中进行操作,从功能算子库中选择的至少一个功能性算子,并在该计算流程规划界面中为上述至少一个功能性算子指定的逻辑顺序来向客户端表达自身的计算需求。例如,在一个例子中,用户可以通过在计算流程规划界面中为上述至少一个功能性算子指定单向的逻辑顺序,将上述至少一个功能性算子构成一张dag(directed acyclic graph,有向无环图)图形结构。
79.其中,需要说明的是,用户在计算流程规划界面中的操作方式,在本说明书中不进行特别限定。例如,在一个例子中,可以将功能算子库中包含的功能性算子以选项的形式通过上述计算流程规划界面向用户输入,而用户可以从中选中至少一个功能性算子,并在上述计算流程规划界面中为选中的这些功能性算子之间设置单向的连线,来表达功能性算子之间的逻辑顺序,然后基于该单向的逻辑顺序,将上述至少一个功能性算子串接成dag图形结构,来作为自己指定的计算流程。
80.步骤204,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
81.与上述目标协作参与方对应的服务端,在获取到用户指定的针对上述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程之后,可以从管理的上述实例化算子库中,选择与上述至少一个功能性算子对应的至少一个实例化算子,并基于选择出的上述至少一个实例化算子生成与上述计算流程对应的实例化查询流程。
82.其中,需要说明的是,在实际应用中,不同的数据源对于其维护的数据的使用,通常都具有不同的安全性要求;比如,部分数据源可能会出于隐私保护的目的,禁止将数据导出其所在的数据域进行使用,或者不允许将其维护的数据与其他数据源维护的数据进行汇总后使用,等等。因此,为了确保选择出的实例化算子能够满足各个协作参与方对于数据使用的安全性要求,可以参考各个协作参与方对于数据使用的安全性要求,从上述实例化算子库中来选择合适的实例化算子。
83.在这种情况下,与上述目标协作参与方对应的服务端,在获取到用户指定的针对上述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程之后,具体可以先获取各协作参与方针对其维护的数据的数据安全要求,再从上述实例化算子库
中选择满足上述数据安全要求的,与上述至少一个功能性算子对应的至少一个实例化算子。
84.通过这种方式,使得用户在不了解的各个协作参与方对数据使用的安全性要求的前提下,数据协作平台仍然能够基于用户的隐私计算需求,自动化的为用户选择能够满足各个协作参与方对数据使用的安全性要求的实例化算子。
85.其中,由于各个协作参与方针对其维护的数据配置的数据安全策略,某种程度上可以反映各个协作参与方对数据使用的安全性要求;因此,在获取各协作参与方针对其维护的数据的数据安全要求时,具体可以先获取各个协作参与方针对其维护的数据配置的数据安全策略,当获取到各个协作参与方针对其维护的数据配置的数据安全策略之后,可以基于该数据安全策略,来进一步确定出各个协作参与方对于其维护的数据的数据安全要求。
86.其中,各个协作参与方针对其维护的数据配置的数据安全策略的具体内容,通常取决于各个协作参与方对数据使用的具体的安全性要求,因此在本说明书不再进行具体的限定。
87.在示出的一种实施方式中,上述数据安全策略具体可以包括以下示出的一项或者多项的组合:
88.针对所述数据配置的安全级别;
89.针对所述数据配置的安全防护级别;
90.与其它的协作参与方的数据信任关系;
91.与以上数据安全策略相对应的是,各个协作参与方对数据使用的安全性要求,具体也可以包括以下示出的一项或者多项的组合:
92.基于所述安全级别确定出的,是否允许将数据导出其所在的数据域的安全性要求;
93.基于所述安全防护级别确定出的,是否允许对数据以及针对数据的隐私计算结果进行数据脱敏处理的安全性要求;
94.基于所述数据信任关系确定出的,是否允许将数据与其它的协作参与方维护的数据进行汇总的安全性要求。
95.在示出的一种实施方式中,对于实例化算子库中包含的实例化算子库,也可以为其配置对应的数据安全要求。为实例化算子库配置的数据安全要求,具体用于指示该实例化算子能够满足的数据安全要求。
96.在这种情况下,具体可以先在实例算子库中查找与上述至少一个功能性算子对应的至少一个实例化算子;此时查找到的这些实例化算子中可能会存在不满足上述安全性要求的实例化算子。
97.然后,可以将上述至少部分协作参与方针对其维护的数据的数据安全要求,与查找到的上述至少一个实例化算子对应的数据安全要求进行匹配;然后可以基于匹配结果,从上述至少一个实例化算子中进一步选择与上述至少部分协作参与方针对其维护的数据的数据安全要求匹配的实例化算子。
98.在示出的一种实施方式中,数据协作平台具体可以在与上述多个协作参与方对应的服务端上,分布式的部署流程规划组件,该流程规划组件,具体可以用于获取上述至少部
分协作参与方针对其维护的数据的数据安全要求,从与管理的实例化算子库中选择满足上述数据安全要求的与上述至少一个功能性算子对应的至少一个实例化算子,并基于上述至少一个实例化算子生成与所述计算流程对应的实例化计算流程。上述数据协作平台管理的实例化算子库,具体也可以分别下发至各个协作参与方对应的服务端,由各个协作参与方分别进行维护。
99.在这种情况下,与上述目标协作参与方对应的服务端在获取到用户指定的计算流程之后,可以调用该流程规划组件,获取上述至少部分协作参与方针对其维护的数据的数据安全要求,从本地维护的与上述隐私计算相关的实例化算子库中,选择满足上述数据安全要求的与上述至少一个功能性算子对应的至少一个实例化算子,并基于上述至少一个实例化算子生成与上述计算流程对应的实例化查询流程。
100.例如,请继续参见图1,上述流程规划组件,具体可以包括图1示出的应用执行规划组件。此时上述实例化计算流程,即为基于用户指定的由功能性算子构成的计算流程,规划出的一个具体的用于隐私计算的数据协作应用。
101.在示出的一种实施方式中,在基于上述至少一个实例化算子生成与上述计算流程对应的实例化计算流程时,具体可以基于上述至少一个实例化算子生成多个实例化计算流程,再将该多个实例化计算流程向用户进行输出展示,以由用户从该多个实例化计算流程中选择一个最优的查询流程。当然,在实际应用中,具体也可以默认基于上述至少一个实例化算子生成一个最优的实例化计算流程。
102.步骤208,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
103.与上述目标协作参与方对应的服务端在基于上述至少一个实例化算子生成了上述实例化计算流程之后,可以进一步将该实例化计算流程编译成智能合约的形式,部署到与数据协作平台对接的区块链网络中。
104.例如,在一个例子中,上述服务端可以先自动生成与上述实例化计算流程对应的隐私计算逻辑相关的执行代码,并将生成的执行代码编译成为智能合约代码;然后,在与上述数据协作平台对接的区块链网络中部署包含该智能合约代码的智能合约。其中,部署智能合约的具体过程,在本说明书中不再进行详述。比如,在实际应用中,通过可以基于该智能合约代码打包一笔智能合约创建交易,将该智能合约创建交易发布到区块链网络中。而区块链网络中的节点设备可以对该智能合约创建交易进行共识校验,并在共识校验通过后,执行该智能合约调用交易,在区块链中创建一个智能合约账户,并将该智能合约代码锚定到该智能合约账户中,以完成智能合约的创建。
105.在示出的一种实施方式中,数据协作平台具体可以在与上述多个协作参与方对应的服务端上,分布式的部署智能合约管理组件,该智能合约管理组件,具体可以用于生成与上述实例化计算流程对应的隐私计算逻辑相关的执行代码,并将生成的执行代码编译成为智能合约代码,并在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。
106.在这种情况下,与上述目标协作参与方对应的服务端在基于上述至少一个实例化算子生成了上述实例化计算流程之后,可以调用该智能合约管理组件,进一步生成与上述
实例化计算流程对应的隐私计算逻辑相关的执行代码,并将生成的执行代码编译成为智能合约代码,并在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。
107.例如,请继续参见图1,上述智能合约管理组件,具体可以包括图1示出的应用合约管理组件。
108.在本说明书中,当上述智能合约部署完成,此时用户可以通过客户端来发起针对该智能合约的合约调用,来完成针对上述至少部分协作参与方维护的数据的隐私计算。
109.例如,请继续参见图1,当上述智能合约部署完成,用户可以通过图1示出的应用执行客户端,来发起针对该智能合约的合约调用,并通过该应用执行客户端,来查询该智能合约的调用结果。
110.在示出的一种实施方式中,与上述实例化计算流程对应的隐私计算逻辑,具体可以是一个与实例化计算流程对应的计算调度逻辑;其中,该计算调度逻辑具体用于针对上述至少一个实例化算子进行计算调度,以完成针对上述至少部分协作参与方维护的数据的隐私计算。
111.在这种情况下,上述智能合约具体可以是一个针对上述隐私计算逻辑进行计算调度的智能合约。在该智能合约中除了需要维护与上述实例化计算流程中的各个实例化算子对应的计算调度顺序以外,还需要维护与上述各个实例化算子对应的计算状态,该计算状态用于表示各个实例化算子是否完成计算。
112.当用户通过上述客户端触发调用了该智能合约之后,该智能合约可以按照计算调度顺序,确定首先需要进行调用的实例化算子,然后生成一个与该实例化算子对应的计算事件。而该实例化算子所在的服务端上的执行调度组件,在监听到该计算事件之后,可以进一步调用该实例化算子执行数据隐私计算,并在计算完成后将计算结果提到给智能合约。而智能合约收到该计算结果后,会触发将该实例化算子的计算状态,更新为已完成计算状态。而该实例化的计算状态,被更新为已完成计算状态后,此时智能合约会继续确定需要进行调用的下一个实例化算子,并执行如上所述的相同的执行流程,以此类推,直到上述实例化计算流程中的各个实例化算子,按照计算调度顺序依次完成数据隐私计算。
113.请参见图4,图4是本说明书根据一示例性实施例示出的一种基于多方协作的隐私计算方法的流程图,该方法可以应用于图1所示的数据协作平台;例如,该数据协作平台具体可以是一个用于对上述区块链网络进行管理的一个区块链服务平台;比如,baas(blockchain as a service,区块链即服务)平台;所述方法包括:
114.步骤402,获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
115.在本实施例中,与上述目标协作参与方对应的服务端,在获取到用户指定的针对上述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程之后,可以将该数据查询请求上传至上述数据协作平台,由该数据协作平台进行中心化的处理。
116.步骤404,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能
性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
117.步骤406,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
118.上述数据协作平台在收到上述目标协作参与方上传的上述实例化计算流程之后,可以执行步骤404-406示出的执行逻辑,对该实例化计算流程进行中心化的处理,具体的实施细节请参考图2示出的实施例的描述,在本说明书中不再进行详述。
119.在以上技术方案中,不仅可以在针对来自多个数据源的数据进行隐私计算时,降低数据的使用复杂度,还可以让数据使用的过程更加透明可信并且便于追溯。
120.例如,通过数据虚拟化处理技术,将各个协作参与方维护的数据进行数据虚拟化处理得到一个虚拟数据集合,不仅可以实现多数据源的充分数据融合,还可以让用户在该虚拟数据集合的基础上,从全局的数据视角来使用数据,而不必需要数据在各个协作参与方的数据存储状况,因此可以显著的降低数据使用的复杂度。而通过将生成的查询流程以智能合约的形式部署在区块链供用户调用,可以充分利用智能合约的特点,让每一次查询都透明可信并且便于追溯。
121.而且,还可以在用户不了解各个协作参与方对于数据使用的安全性要求的前提下,基于数据协作平台自身的隐私计算能力,针对用户不同的计算需求,规划出不同的能够满足各个协作参与方对于数据使用的安全性要求的实例化计算流程,从而使得该数据协作平台可以灵活的适配不同的数据隐私场景,可以激活更多的隐私计算场景。
122.例如,不同的数据源对于其维护的数据的使用,通常都具有不同的安全性要求。而作为具有数据使用需求的用户一方来说,通常并不了解各个数据源对于数据的使用的安全性要求,这造成了用户很难基于自身的隐私计算需求规划出一套完美满足各个数据源对于数据的使用的安全性要求的计算流程。
123.而通过以上技术方案,由于可以基于数据协作平台自身的隐私计算能力,将各个数据源对于数据使用的安全性要求作为参考,来自动为用户规划出能够满足各个协作参与方对于数据使用的安全性要求的实例化计算流程,对于用户来说,不再需要关注各个数据源对于数据的使用的安全性要求,对于数据协作平台来说,其对于隐私计算场景的适配能力也会得到明显的提升,因此这就让数据协助平台激活更多的分别能够满足不同的数据源的安全性要求的数据隐私计算场景变为了可能。
124.与前述方法的实施例相对应,本说明书还提供了装置、电子设备以及存储介质的实施例。
125.图5是一示例性实施例提供的一种电子设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
126.如图6所示,图6是本说明书根据一示例性实施例示出的一种基于多方协作的隐私计算装置的框图,该装置可以应用于如图5所示的电子设备中,以实现本说明书的技术方案。所述装置600包括:
127.第一获取模块601,获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
128.第一生成模块602,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
129.第一部署模块603,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
130.上述装置600的各个模块的具体细节已经在之前描述的方法流程中进行了详细的描述,因此此处不再赘述。
131.如图7所示,图7是本说明书根据一示例性实施例示出的另一种用户服务使用装置的框图,该装置也可以应用于如图5所示的电子设备中,以实现本说明书的技术方案。所述装置700包括:
132.第二获取模块701,获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;
133.第二解析模块702,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
134.第二生成模块703,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。
135.上述装置700的各个模块的具体细节已经在之前描述的方法流程中进行了详细的描述,因此此处不再赘述。
136.相应的,本说明书还提供一种电子设备,所述电子设备包括有处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为实现之前描述的全部的方法流程中的步骤。
137.相应的,本说明书还提供一种计算机可读存储介质,其上存储有可执行的指令;其中,该指令被处理器执行时,实现之前描述的全部的方法流程中的步骤。
138.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以
不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
139.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
140.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
141.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
142.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
143.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
144.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
145.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
146.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区
分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
147.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

技术特征:
1.一种基于多方协作的隐私计算方法,基于区块链的数据协作平台对接了多个协作参与方;所述方法应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;其中,所述多个协作参与方分别维护了用于参与隐私计算的数据;所述方法包括:获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。2.根据权利要求1所述的方法,获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程,包括:将与所述隐私计算相关的功能算子库通过与所述目标协作参与方对应的用户客户端向所述用户进行输出,并获取用户在输出的所述功能算子库中选择的至少一个功能性算子,基于所述至少一个功能性算子生成针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程。3.根据权利要求2所述的方法,将所述功能算子库通过与所述目标协作参与方对应的用户客户端向所述用户进行输出,并获取用户在输出的所述功能算子库中选择的至少一个功能性算子,基于所述至少一个功能性算子生成针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程,包括:通过与所述目标协作参与方对应的用户客户端向所述用户输出计算流程规划界面;其中,所述计算流程规划界面包括所述功能算子库;获取所述用户在所述计算流程规划界面中从所述功能算子库中选择的至少一个功能性算子,以及在所述计算流程规划界面中为所述至少一个功能性算子指定的逻辑顺序;基于所述至少一个功能性算子以及为所述至少一个功能性算子指定的逻辑顺序生成针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程。4.根据权利要求3所述的方法,所述计算流程包括由所述至少一个功能性算子构成的dag图形结构。5.根据权利要求1所述的方法,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,包括:获取所述至少部分协作参与方针对其维护的数据配置的数据安全策略;基于所述数据安全策略确定所述至少部分协作参与方针对其维护的数据的数据安全要求。6.根据权利要求5所述的方法,所述数据安全策略包括以下示出的一项或者多项的组合:针对所述数据配置的安全级别;针对所述数据配置的安全防护级别;
与其它的协作参与方的数据信任关系;相应的,所述数据安全要求包括以下示出的一项或者多项的组合:基于所述安全级别确定出的,是否允许将所述数据导出其所在的数据域的安全性要求;基于所述安全防护级别确定出的,是否允许对所述数据以及针对所述数据的隐私计算结果进行数据脱敏处理的安全性要求;基于所述数据信任关系确定出的,是否允许将所述数据与其它的协作参与方维护的数据进行汇总的安全性要求。7.根据权利要求1所述的方法,所述数据协作平台在与所述多个协作参与方对应的服务端上,分布式的部署了流程规划组件;所述多个协作参与方对应的服务端上分别维护了所述实例化算子库;获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程,包括:调用所述流程规划组件,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从本地维护的所述实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程。8.根据权利要求7所述的方法,所述实例化算子库包括若干实例化算子和与所述实例化算子对应的数据安全要求;从所述实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,包括:查找所述实例化算子库中与所述至少一个功能性算子对应的至少一个实例化算子;将所述至少部分协作参与方针对其维护的数据的数据安全要求,与查找到的所述至少一个实例化算子对应的数据安全要求进行匹配;基于匹配结果,从所述至少一个实例化算子中选择与所述至少部分协作参与方针对其维护的数据的数据安全要求匹配的实例化算子。9.根据权利要求8所述的方法,所述实例化算子包括基于所述数据协作平台和所述协作参与方支持的隐私计算技术实现的算子。10.根据权利要求9所述的方法,所述实例化算子包括以下示出的一项或者多项的组合:基于tee实现的实例化算子;基于mpc实现的实例化算子;基于tl实现的实例化算子。11.根据权利要求1所述的方法,基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程,包括:基于所述至少一个实例化算子生成多个实例化计算流程;将所述多个实例化计算流程向所述用户进行输出展示,以由所述用户从所述多个实例
化计算流程中选择与所述计算流程对应的实例化计算流程。12.根据权利要求1所述的方法,所述数据协作平台在与所述多个协作参与方对应的服务端上,分布式的部署了智能合约管理组件;创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,包括:调用所述智能合约管理组件,生成与所述实例化计算流程对应的隐私计算逻辑相关的执行代码,并将生成的所述执行代码编译成为智能合约代码;在与所述数据协作平台对接的区块链网络中部署包含所述智能合约代码的智能合约。13.根据权利要求12所述的方法,与所述实例化计算流程对应的隐私计算逻辑,包括与所述实例化计算流程对应的计算调度逻辑;其中,所述计算调度逻辑用于针对所述至少一个实例化算子进行计算调度,以完成针对所述至少部分协作参与方维护的数据的隐私计算。14.根据权利要求1所述的方法,所述多个协作参与方包括分布在不同地域的多个数据中心。15.根据权利要求1所述的方法,所述数据协作平台包括与所述区块链网络对应的区块链服务平台。16.一种基于多方协作的隐私计算方法,所述方法应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述多个协作参与方分别维护了用于参与隐私计算的数据;所述方法包括:获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。17.一种基于多方协作的隐私计算装置,基于区块链的数据协作平台对接了多个协作参与方;所述装置应用于与所述多个协作参与方中的任一目标协作参与方对应的服务端;其中,所述多个协作参与方分别维护了用于参与隐私计算的数据;所述装置包括:第一获取模块,获取用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;第一生成模块,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;
第一部署模块,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。18.一种基于多方协作的隐私计算装置,所述装置应用于基于区块链的数据协作平台;其中,所述数据协作平台对接了多个协作参与方;所述多个协作参与方分别维护了用于参与隐私计算的数据;所述装置包括:第二获取模块,获取所述多个协作参与方中的任一目标协作参与方对应服务端上传的,由用户指定的针对所述多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;其中,所述计算流程包括由所述用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;第二生成模块,获取所述至少部分协作参与方针对其维护的数据的数据安全要求,从与所述隐私计算相关的实例化算子库中选择满足所述数据安全要求的与所述至少一个功能性算子对应的至少一个实例化算子,并基于所述至少一个实例化算子生成与所述计算流程对应的实例化计算流程;第二部署模块,创建包含与所述实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的所述智能合约部署到与所述数据协作平台对接的区块链网络中,以供所述用户进行调用。19.一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求1-16中任一项所述的方法。20.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-16中任一项所述方法的步骤。

技术总结
本说明书一个或多个实施例提供一种基于多方协作的隐私计算方法及装置。所述方法包括:获取用户指定的针对多个协作参与方中的至少部分协作参与方维护的数据进行隐私计算的计算流程;计算流程包括由用户指定的与所述隐私计算相关的至少一个功能性算子构成的计算流程;获取至少部分协作参与方针对其维护的数据的数据安全要求,从与隐私计算相关的实例化算子库中选择满足所述数据安全要求的与至少一个功能性算子对应的至少一个实例化算子,并基于至少一个实例化算子生成与所述计算流程对应的实例化计算流程;创建包含与实例化计算流程对应的隐私计算逻辑的智能合约,并将创建的智能合约部署到与数据协作平台对接的区块链网络中。链网络中。链网络中。


技术研发人员:马超 王天雨 孙善禄 杨仁慧
受保护的技术使用者:蚂蚁区块链科技(上海)有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-4981.html

最新回复(0)