CN112685793A - 基于区块链的数据处理方法、装置和系统 - Google Patents
基于区块链的数据处理方法、装置和系统 Download PDFInfo
- Publication number
- CN112685793A CN112685793A CN202011562201.2A CN202011562201A CN112685793A CN 112685793 A CN112685793 A CN 112685793A CN 202011562201 A CN202011562201 A CN 202011562201A CN 112685793 A CN112685793 A CN 112685793A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- target data
- calculation
- participants
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 30
- 238000012545 processing Methods 0.000 claims abstract description 238
- 238000004364 calculation method Methods 0.000 claims abstract description 139
- 238000000034 method Methods 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims description 34
- 238000012795 verification Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 58
- 238000013507 mapping Methods 0.000 description 13
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000009133 cooperative interaction Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种基于区块链的数据处理方法、装置和系统,该方法中,持有目标数据的数据提供方,获得区块链上多个计算参与方的计算参与方信息,及目标数据所需的处理类型,利用拆分规则对目标数据进行拆分,得到目标数据的多个数据块,并将目标数据的多个数据块分发至所述多个计算参与方。由此可见,本申请提出了利用区块链上的多个计算参与方对数据提供方所持有数据经拆分后所得的数据块而非原始明文数据进行处理,以协同合作执行某项计算任务的技术思路,任一计算参与方均不涉及对数据提供方隐私数据的获取与处理,从而,避免了数据提供方隐私数据的泄漏,实现了一种高效的安全多方计算方案。
Description
技术领域
本申请属于区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置和系统。
背景技术
安全多方计算(Secure Multi-Party Computation,MPC)的目标在于,在一个互不信任的多用户网络中,解决两个或多个用户能够在不泄漏各自私有输入信息的情况下而协同合作执行某项计算任务的问题。
目前,如何提供一种能够高效解决上述技术问题的安全多方计算方案,成为本领域值得研究的课题。
发明内容
有鉴于此,本申请提供了一种基于区块链的数据处理方法、装置和系统。
具体技术方案如下:
一种基于区块链的数据处理方法,应用于持有目标数据的数据提供方;
所述方法包括:
获得区块链上多个计算参与方的计算参与方信息,及所述目标数据所需的处理类型;
利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块;所述拆分规则与所述处理类型和所述计算参与方信息对应;
将所述目标数据的多个数据块分发至所述多个计算参与方。
可选的,所述处理类型为第一类型;
所述利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块,包括:
将所述目标数据拆分成第一数量的多个数据块;
其中,所述第一数量为所述计算参与方信息表征的计算参与方数量。
所述将所述目标数据的多个数据块分发至所述多个计算参与方,包括:
按照一对一方式,将所述目标数据的多个数据块分发至所述多个计算参与方。
可选的,所述处理类型为第二类型;
所述利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块,包括:
将所述目标数据拆分成第二数量的多个数据块;
其中,所述第二数量小于所述计算参与方信息表征的计算参与方数量,多个第二数量的乘积等于所述计算参与方数量,所述多个第二数量为参与处理的多个数据提供方的目标数据在数据拆分中分别拆分得到的数据块数量;
所述将所述目标数据的多个数据块分发至所述多个计算参与方,包括:
按照一对多方式,将所述目标数据的每个数据块发送至从所述多个计算参与方中选取的数量为多个的计算参与方;
目标数据的不同数据块发送至所述多个计算参与方中的不同计算参与方,不同计算参与方获得的不同数据提供方的数据块的数据块组合不同。
可选的,所述方法中:
若所述多个数据提供方为多于两个的数据提供方,所述多个数据提供方对应的数据处理任务预先被拆分为多个子任务;
其中,每个子任务用于指示:对两个数据提供方的目标数据进行所述第二类型的处理,或对两个中间结果进行所述第二类型的处理,或对一个数据提供方的目标数据与一个中间结果进行所述第二类型的处理;
所述中间结果为:对所述多个数据提供方的各目标数据中的相应部分目标数据进行所述第二类型的处理后所得的结果。
可选的,该方法还包括:
确定所述目标数据的校验信息,将所述校验信息存储至所述数据提供方在所述区块链对应的私有存储区域。
一种基于区块链的数据处理方法,应用于区块链上的审计方;
所述方法包括:
获得所述区块链上的第二处理结果;
其中,所述第二处理结果为所述区块链上的重构方对多个计算参与方的多个第一处理结果进行第二处理得到的结果,一个计算参与方通过对获得的多个数据提供方的多个数据块进行第一处理得到相应的第一处理结果;数据提供方的数据块基于利用拆分规则对目标数据进行拆分得到;
获得多个数据提供方的多个目标数据;
对所述多个目标数据进行第三处理,得到第三处理结果;其中,所述第三处理与所述第一处理的处理类型一致;
验证所述第三处理结果与所述第二处理结果的一致性。
可选的,所述获得多个数据提供方的多个目标数据,包括:
从不同数据提供方在区块链上分别对应的私有存储区域,获取相应的校验信息;
基于获得的校验信息,从相应数据提供方获得相应目标数据,得到所述多个数据提供方的多个目标数据。
一种基于区块链的数据处理装置,应用于持有目标数据的数据提供方;
所述装置包括:
第一获取单元,用于获得区块链上多个计算参与方的计算参与方信息,及所述目标数据所需的处理类型;
拆分单元,用于利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块;所述拆分规则与所述处理类型和所述计算参与方信息对应;
传输单元,用于将所述目标数据的多个数据块分发至所述多个计算参与方。
一种基于区块链的数据处理装置,应用于区块链上的审计方;
所述装置包括:
第二获取单元,用于获得所述区块链上的第二处理结果;
其中,所述第二处理结果为所述区块链上的重构方对多个计算参与方的多个第一处理结果进行第二处理得到的结果,一个计算参与方通过对获得的多个数据提供方的多个数据块进行第一处理得到相应的第一处理结果;数据提供方的数据块基于利用拆分规则对目标数据进行拆分得到;
第三获取单元,用于获得多个数据提供方的多个目标数据;
处理单元,用于对所述多个目标数据进行第三处理,得到第三处理结果;其中,所述第三处理与所述第一处理的处理类型一致;
验证单元,用于验证所述第三处理结果与所述第二处理结果的一致性。
一种基于区块链的数据处理系统,包括:多个数据提供方,以及区块链上的多个计算参与方、重构方及审计方;
其中:
每一数据提供方,用于执行如上任一项所述的应用于数据提供方的基于区块链的数据处理方法;
每一计算参与方,用于:获得多个数据提供方传输的多个数据块;一个数据提供方传输至一个计算参与方的数据块,为所述数据提供方对持有的目标数据进行拆分得到的多个数据块中的一个;对获得的多个数据块进行第一处理,得到第一处理结果;将所述第一处理结果发送至所述重构方;
所述重构方,用于:对多个计算参与方发送的多个第一处理结果进行第二处理得到第二处理结果,并将所述第二处理结果上传至所述区块链;
所述审计方,用于执行如上任一项所述的应用于审计方的基于区块链的数据处理方法。
由以上方案可知,本申请提供的基于区块链的数据处理方法、装置和系统中,持有目标数据的数据提供方,获得区块链上多个计算参与方的计算参与方信息,及目标数据所需的处理类型,利用拆分规则对目标数据进行拆分,得到目标数据的多个数据块,并将目标数据的多个数据块分发至所述多个计算参与方。由此可见,本申请提出了利用区块链上的多个计算参与方对数据提供方所持有数据经拆分后所得的数据块而非原始明文数据进行处理,以协同合作执行某项计算任务的技术思路,任一计算参与方均不涉及对数据提供方隐私数据的获取与处理,从而,避免了数据提供方隐私数据的泄漏,实现了一种高效的安全多方计算方案。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例提供的应用于数据提供方的基于区块链的数据处理方法的流程示意图;
图2是本申请实施例提供的加法处理中数据拆分及分发的示意图;
图3是本申请实施例提供的乘法处理中数据拆分及分发的示意图;
图4是本申请实施例提供的应用于审计方的基于区块链的数据处理方法的流程示意图;
图5是本申请实施例提供的基于区块链的加法处理的处理逻辑示意图;
图6是本申请实施例提供的基于区块链的乘法处理的处理逻辑示意图;
图7是本申请实施例提供的应用于数据提供方的基于区块链的数据处理装置的结构示意图;
图8是本申请实施例提供的应用于审计方的基于区块链的数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
安全多方计算的目标在于,在一个互不信任的多用户网络中,解决两个或多个用户能够在不泄漏各自私有输入信息的情况下而协同合作执行某项计算任务的问题。当前主流的安全多方计算模型,有基于混淆电路(Garbled Circuit)的计算模型和基于秘密分享(Secret Share)的计算模型,这两种模型在通信阶段都依赖于不经意传输(ObliviousTransfer)协议,而不经意传输协议是耗时且非抗量子(不能够抗击量子攻击)的。另外,安全多方计算协议还存在输入信息和输出信息的可验证性问题。
对于依赖于不经意传输协议的计算模型,已经有很多工作对此做出了性能优化,例如03年Ishai等人提出的不经意传输扩展协议(Oblivious TransferExtension)。而对于输入输出信息的可验证问题,最早可追溯至89年Tal等人的可验证的秘密共享方案(Verifiable Secret Share),该方案运用零知识证明技术解决可验证问题,但零知识证明技术存在速率低等性能问题。
有鉴于此,本申请提供了一种基于区块链的数据处理方法、装置和系统,以实现一种性能更优的安全多方计算方案,避免对数据提供方隐私数据的泄漏,保障区块链数据处理时的信息安全性。
参见图1,为本申请实施例提供的基于区块链的数据处理方法的流程示意图,该方法应用于持有目标数据的数据提供方;数据提供方可以是但不限于账务处理中持有待统计账务数据的各方,如各个子公司(终端设备)等,或者,还可以是购物等交易中持有商品价目数据的卖方及持有所购买商品数量的买方等等,本申请实现的安全多方计算方案的应用场景及数据提供方可以是灵活多样的,在此不作限制。
如图1所示,本申请实施例的基于区块链的数据处理方法,可以包括:
步骤101、获得区块链上多个计算参与方的计算参与方信息,及数据提供方持有的目标数据所需的处理类型。
计算参与方可以是区块链上的具有数据处理功能的节点。本申请实施例中,计算参与方的数量为多个,多个计算参与方通过协同合作而执行某项计算任务,并达到安全多方计算的目的。
更具体的,作为计算参与方的节点,可以是区块链上的背书节点。区块链上用于背书的节点称为背书节点,背书节点主要用于响应特定的链代码的背书请求,在交易提交前对交易进行背书处理,一个交易需要得到包含一个或多个背书节点的背书(而且这些背书应该是有效的)。
区块链内的现有背书机制是系统预先设置背书节点,提案节点提交新的交易请求后,由背书节点对新交易进行模拟链码执行,确定交易合法合规后,将背书结果签名后返还给提案节点,并由其最终汇总生成最终提交信息,通过排序服务(order service)提交给全体节点,实现交易上链的确认操作(commit)。而背书节点在具体的执行过程中,将完全可见交易的全部内容,即背书节点能够对其背书的数据进行无阻碍访问,因此背书节点是区块链信息泄露的主要通道。本申请实施例通过对区块链上背书节点的数据处理过程进行改进,而提升交易(如数据比对)过程中区块链的数据处理安全性,同时达到安全多方计算的目的。
实际应用中,在数据提供方获得区块链上多个计算参与方的计算参与方信息,及所述目标数据所需的处理类型之前,可首先由任务发起方向区块链发起相应安全多方计算任务的任务申请,例如,由多个数据提供方中的某一数据提供方(如购物交易中待统计某商品交易额的卖方)或独立于各数据提供方的一代理方(如会计所在的总公司终端)作为任务发起方,向区块链上的代理方或任务控制方发起任务申请,任务申请中可以但不限于携带任务的处理类型、参与任务处理的多个数据提供方的信息及多个数据提供方的目标数据(如参与账务统计的某一参数),响应于交易申请,区块链向各数据提供方反馈携带有计算参与方信息及处理类型的响应信息。
其中,代理方或任务控制方具体可以是区块链上的一个或多个节点,任务申请中携带的数据提供方信息,可以包括但不限于数据提供方终端设备的IP(InternetProtocol,网际互连协议)地址,和/或设备UUID(Universally Unique Identifier,通用唯一识别码)等信息。
响应信息中携带的计算参与方信息可以但不限于包括遴选的多个背书节点的节点信息列表,处理类型可以是但不限于相加处理(如将各个子公司的账务数据进行累加统计)、相乘处理(如在购物交易中,基于购买的某商品的数量而确定该商品的总交易额)等。
每一数据提供方相应得到区块链反馈的多个计算参与方的计算参与方信息,及对所持有目标数据的处理类型信息。
步骤102、利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块。
其中,所述拆分规则与目标数据所需的处理类型以及计算参与方信息(如计算参与方的数量)对应。本申请主要将数据提供方的目标数据所需的处理类型分为两种:第一类型和第二类型。
可选的,第一类型具体可以为加法类型,第二类型具体可以为乘法类型。
其中,在数据提供方的目标数据所需的处理类型为第一类型即加法类型情况下,本步骤102中所采用的拆分规则,具体可以为:将目标数据拆分成第一数量的多个数据块;第一数量为计算参与方信息表征的计算参与方数量。
实施中,具体可基于随机数将目标数据拆分为数量为计算参与方数量的多个数据块。
例如,以目标数据为100为例,假设计算参与方数量为2,则可基于随机数37,将该目标数据100拆分为37和73,若需要将目标数据拆分成多于两个的数据块,则相应可基于多个随机数完成数据拆分。
在数据提供方的目标数据所需的处理类型为第二类型即乘法类型情况下,本步骤102中所采用的拆分规则,具体可以为:将目标数据拆分成第二数量的多个数据块。
其中,第二数量小于计算参与方信息表征的计算参与方数量,多个第二数量的乘积等于所述计算参与方数量,所述多个第二数量为参与处理的多个数据提供方的目标数据在数据拆分中分别拆分得到的数据块数量。
例如,假设对于持有数据A的第一数据提供方,和持有数据B的第二数据提供方,需计算A*B,若计算参与方信息表征共有4个计算参与方,则可基于随机数将A、B分别拆分成两个数据块:A1、A2,B1、B2。若计算参与方信息表征共有6个计算参与方,则可基于随机数将A、B中的之一拆成2个数据块,另一个拆分成3个数据块,如:A1、A2、A3,B1、B2;或者,A1、A2,B1、B2、B3。
本申请实施例中,数据拆分操作由数据提供方完成,不涉及任何代理或第三方,相应避免了数据提供方的隐私数据被任何代理或第三方获知,避免了在数据拆分阶段的隐私泄露风险。
步骤103、将所述目标数据的多个数据块分发至所述多个计算参与方。
在将目标数据的多个数据块分发至多个计算参与方时,所使用的分发方式同样与目标数据所需的处理类型相关,其中,若目标数据所需的处理类型不同,则所使用的分发方式相应不同。
在目标数据所需的处理类型为第一类型即加法类型情况下,可选的,可按照一对一方式,将目标数据的多个数据块分发至区块链上的多个计算参与方,这样对于多个数据提供方的待进行相加运算的多个目标数据,每一计算参与方可获得多个目标数据中每一目标数据的相应数据块,并且,不同计算参与方获得的每一目标数据的数据块不同,具体如图2所示。
每一计算参与方在获得多个目标数据的各个相应数据块后,对获得的各个数据块进行相加运算,得到各个数据块的和值,以目标数据包括A、B、C三个数据(对应有三个数据提供方),并将每个数据拆分为2个数据块(即A:A1,A2;B:B1,B2;C:C1,C2)为例,计算参与方1如Peer1相应获得A1、B1、C1(当然,还可以是其他组合,如A1、B2、C1),并对各数据块进行相加运算得到A1+B1+C1;计算参与方2如Peer2相应获得A2、B2、C2(可以是其他相应组合,如A2、B1、C2),并对各数据块进行相加运算得到A2+B2+C2。
之后,每一计算参与方可将计算得到的数据块和值传输至区块链上的重构方,重构方可以包括区块链上的一个或多个节点,由重构方收集各个计算参与方对数据块的运算结果,并通过对收集的各运算结果进行整合重构,得到对应于多个数据提供方的最终处理结果,并将处理结果上传至区块链,以供数据提供方查询获取。
如对于上述的示例,重构方收集两个计算参与方的运算结果A1+B1+C1、A2+B2+C2,并通过对收集的各运算结果进行累加计算实现重构,最终得到(A1+B1+C1)+(A2+B2+C2),本质应为A+B,满足了各数据提供方对其目标数据的第一类型(相加)的处理需求,例如,可满足账务处理中对各个子公司账户余额的累加统计需求等,但处理过程中无论是计算参与方还是重构方均无法得知各数据提供方的目标数据的明文信息。
在目标数据所需的处理类型为第二类型即乘法类型情况下,可选的,可按照一对多方式,将目标数据的每个数据块发送至从多个计算参与方中选取的数量为多个的计算参与方。
更具体地,在一对多分发方式中,假设目标数据被拆分为n个数据块,而计算参与方的数量为m个,则可将目标数据经拆分所得的每一数据块发送至从m个计算参与方中选取的m/n个计算参与方,其中,目标数据的不同数据块发送至多个计算参与方中的不同计算参与方,不同计算参与方获得的不同数据提供方的数据块的数据块组合不同。
假设,对于持有数据A的第一数据提供方,和持有数据B的第二数据提供方,需计算A*B,若共有4个计算参与方,则在基于随机数将A、B分别拆分成两个数据块(A:A1,A2;B:B1,B2)之后,可将数据A的每一数据块(A1,A2)发送至4/2=2个计算参与方,同理,将数据B的每一数据块(B1,B2)发送至4/2=2个计算参与方。并且,数据A的不同数据块发送至4个计算参与方中的不同计算参与方,同理,数据B的不同数据块发送至4个计算参与方中的不同计算参与方,不同计算参与方获得的数据A、B的数据块的数据块组合不同。
如图3所示,提供了将数据A的两个数据块(A1,A2)和数据B的两个数据块(B1,B2)分发至4个计算节点的一种可选实施方式,基于上述分发原则,各节点可分别得到数据块:
Peer1:A1、B1;
Peer2:A2、B2;
Peer3:A1、B2;
Peer4:A2、B1。
每一计算参与方在获得多个目标数据的各个相应数据块后,对获得的各个数据块进行相乘运算,得到各个数据块的乘积,如Peer1得到A1*B1,Peer2得到A2*B2,Peer3得到A1*B2,Peer4得到A2*B1,并将计算结果传输至区块链上的重构方。
重构方收集各个计算参与方对数据块的运算结果,并通过对收集的各运算结果进行整合重构,得到对应于多个数据提供方的最终处理结果,并将处理结果上传至区块链,以供数据提供方查询获取。
如对于上述的示例,重构方收集各节点的运算结果:A1*B1,A2*B2,A1*B2,A2*B1;并通过对收集的各运算结果进行整合重构(A1*B1+A2*B2+A1*B2+A2*B1)而得到对应于多个数据提供方的最终处理结果。该最终处理结果A1*B1+A2*B2+A1*B2+A2*B1本质应为A*B,满足了各数据提供方对其目标数据的第二类型(相乘)的处理需求,例如,可满足购物场景中根据商品单价及购入的商品数量而计算商品总交易额的需求等,但处理过程中无论是计算参与方还是重构方均无法得知各数据提供方的目标数据的明文信息。
需要说明的是,上述的数据拆分及数据分发方式,仅为本申请实施例提供的示例性说明,未考虑冗余计算的情况;实际应用中,还可以根据需求而设置冗余策略,例如,对于多个数据提供方的数据处理需求,计算参与方按相应冗余倍数(如0、1、2…k等)为数据提供方提供数据处理服务,其中,冗余倍数为0表示无冗余;在存在冗余的情况下,进行数据拆分时,对于加法处理类型,具体可由每一数据提供方将其持有的目标数据拆分为m/(p+1)个数据块,其中,m表示计算参与方数量,p表示冗余倍数;在乘法处理类型中,对于各个待进行相乘运算的目标数据,在将其分别进行拆分后,各目标数据的数据块数量乘积为m/(p+1)。
由以上方案可知,本实施例提供的基于区块链的数据处理方法中,持有目标数据的数据提供方,获得区块链上多个计算参与方的计算参与方信息,及目标数据所需的处理类型,利用拆分规则对目标数据进行拆分,得到目标数据的多个数据块,并将目标数据的多个数据块分发至所述多个计算参与方。由此可见,本申请提出了利用区块链上的多个计算参与方对数据提供方所持有数据经拆分后所得的数据块而非原始明文数据进行处理,以协同合作执行某项计算任务的技术思路,任一计算参与方均不涉及对数据提供方隐私数据的获取与处理,从而,避免了数据提供方隐私数据的泄漏,实现了一种高效的安全多方计算方案。
在目标数据所需的处理类型为第二类型即乘法类型的情况下,可选的,数据提供方从区块链(如区块链上的代理方或任务控制方)获得的计算参与方信息具体可以包括一目标排序序列。
该目标排序序列为对多个计算参与方标识进行排序后所得的序列。
在此基础上,数据提供方按照一对多方式,将目标数据的每个数据块发送至从多个计算参与方中选取的数量为多个的计算参与方,具体可实现为:
1)基于预定的不同数据块与排序序列中不同位号的映射规则,确定所述目标数据的每个数据块在所述目标排序序列中对应的多个计算参与方标识;
2)将所述目标数据的每个数据块,发送至所对应的多个计算参与方标识指示的多个计算参与方。
具体地,对于需参与数据处理的多个数据提供方,若各个数据提供方分别将持有的目标数据拆分成相同数量的多个数据块,一种可选实施方式是:区块链,如区块链上的代理方或任务控制方,响应于任务发起方发起的任务申请,向各个数据提供方反馈包括有不同排序序列的响应信息,而不同数据提供方采用相同的映射规则,不同数据提供方通过从区块链获得多个计算参与方标识的不同排序序列,使得在基于相同映射规则向计算参与方发送数据块后,不同计算参与方能得到不同数据提供方的数据块的不同数据块组合。
以下举例说明:
比如对于A*B=(A1+A2)*(B1+B2),区块链上的任务控制方向数据A的提供方——客户端1发送节点序列:(Peer1,Peer2,Peer3,Peer4),客户端1根据映射规则:{第一个数据块→节点位号1、3,第二个数据块→节点位号2、4},将A1与Peer 1、Peer3对应,将A2与Peer 2、Peer4对应;区块链向数据B的提供方——客户端2发送另一节点序列:(Peer1、Peer2、Peer4、Peer3),客户端2根据相同的映射规则,将B1与Peer 1、Peer4对应,将B2与Peer 2、Peer 3对应。在此基础上,将各数据块分别发送至所对应的计算节点。最终有:
Peer1:A1、B1;
Peer2:A2、B2;
Peer3:A1、B2;
Peer4:A2、B1。
在各个数据提供方分别将持有的目标数据拆分成相同数量的多个数据块的情形下,另一种可选实施方式是:
区块链向各个数据提供方反馈包括有相同排序序列的响应信息,而不同数据提供方采用不同的映射规则,不同数据提供方针对相同的排序序列通过采用不同的映射规则,使得在向计算参与方发送数据块后,不同计算参与方能得到不同数据提供方的数据块的不同数据块组合。
以下举例说明:
比如对于A*B=(A1+A2)*(B1+B2),区块链向数据A的提供方——客户端1,以及数据B的提供方——客户端2,均发送节点序列:(Peer 1、Peer 2、Peer 3、Peer 4)。客户端1根据映射规则:{第一个数据块→节点位号1、3,第二个数据块→节点位号2、4},将A1与Peer 1、Peer3对应,将A2与Peer 2、Peer4对应;客户端2根据映射规则:{第一个数据块→节点位号1、4,第二个数据块→节点位号2、3},将B1与Peer 1、Peer4对应,将B2与Peer 2、Peer3对应。在此基础上,将各数据块分别发送至所对应的计算节点。
若各个数据提供方分别将持有的目标数据拆分成不同数量的多个数据块,区块链可以向不同数据提供方反馈多个计算参与方标识的相同或不同排序序列,且不同数据提供方根据不同的映射规则,将其目标数据的不同数据块分别与不同的计算参与方对应并进行数据的分发,并且在分发数据后,应保证不同计算参与方能得到不同数据提供方的数据块的不同数据块组合。这里不再一一举例说明。
实施中,可以预先在数据提供方配置映射规则,或者还可以在区块链向数据提供方反馈包括计算节点排序序列的响应信息时,一并在响应信息中携带所需的映射规则,本实施例对此不加限制。
在本申请一可选实施例中,在目标数据所需的处理类型为第二类型即乘法类型的情况下,若参与数据处理的多个数据提供方具体为多于两个的数据提供方,则多个数据提供方对应的数据处理任务预先被拆分为多个子任务。
其中,每个子任务用于指示:对两个数据提供方的目标数据进行所述第二处理类型的处理,或对两个中间结果进行所述第二处理类型的处理,或对一个数据提供方的目标数据与一个中间结果进行所述第二处理类型的处理;
所述中间结果为:对所述多个数据提供方的各目标数据中的相应部分目标数据进行所述处理类型的处理后所得的结果。
例如,对于乘法类型的数据处理任务,假设共有三个数据提供方,分别持有目标数据A、B、C,现需要计算A*B*C,则可以将A*B*C这一计算任务拆分为两个子任务:
子任务1:A*B;
子任务2:(A*B)*C。
每个子任务对应两个待处理数据,如子任务2对应的待处理数据为(A*B)与C,子任务2需在子任务1已完成相应得到A*B的结果数值的基础上进行。
实施中,具体可由多个数据提供方中的一个数据提供方,或者各数据提供方对应的代理(如负责数据统计的会计所在的终端),或者区块链上的任务控制方或者代理方对计算任务进行拆分,本实施对此不加限制。
这样,对于包括任意数量目标数据的处理任务,可通过任务拆分,将其分解为分别对应两个待处理数据的多个子任务,相应地,最少仅需提供4个计算参与方(计算节点),即可完成对任意复杂程度、包括任意数量目标数据的乘法任务的处理。从而,基于本实施例的处理方式,可使得在乘法任务包括的目标数据数量较多、任务较复杂情况下,降低任务对区块链上计算节点的占用量,仅分配较少数量的计算节点即可满足任意复杂程度的乘法计算任务的处理需求。
可选的,本申请的应用于数据提供方的上述数据处理方法,还可以包括:
确定目标数据的校验信息,将所述校验信息存储至所述数据提供方在所述区块链对应的私有存储区域。
本实施例中,每个数据提供方在区块链上对应有相应的私有存储区域,具体可以但不限于实现为私有数据库的形式,并可采用数据提供方信息加以标识区分。数据提供方信息可以包括但不限于数据提供方的设备IP地址和/或UUID等信息。
其中,数据提供方具体可利用哈希算法对持有的目标数据进行哈希运算,将所得的哈希值作为目标数据的校验信息,并将校验信息存储至数据提供方在区块链上对应的私有存储区域。
该操作可以在任务发起方向区块链进行任务申请,直至重构方将任务处理结果上传至区块链的时间段内的任意时间执行。
上传至区块链私有存储区域的校验信息,具体可应用于后续对重构方上传至区块链的最终处理结果的验证处理中。
本申请实施例还公开了一种应用于审计方的基于区块链的数据处理方法,该审计方为区块链上的审计方,具体可以为区块链上的具有审计处理功能的一个或多个节点。
参见图4,该应用于审计方的基于区块链的数据处理方法可以包括:
步骤401、获得所述区块链上的第二处理结果。
其中,其中,第二处理结果为区块链上的重构方对多个计算参与方的多个第一处理结果进行第二处理得到的结果,一个计算参与方通过对获得的多个数据提供方的多个数据块进行第一处理得到相应的第一处理结果;数据提供方的数据块基于利用拆分规则对目标数据进行拆分得到。
第一处理与数据提供方的目标数据所需的处理类型相一致。数据提供方的目标数据所需的处理类型可以是加法类型或乘法类型,相对应的,第一处理可以是对数据块的相加运算,如上文所述的A1+B1+C1,或者还可以是对数据块的相乘运算,如上文所述的A1*B1。
重构方收集各计算参与方的多个第一处理结果,并对各计算参与方的多个第一处理结果进行第二处理,该第二处理具体为基于累加的重构处理,相应得到对应于多个数据提供方的第二处理结果,如上文所述的(A1+B1+C1)+(A2+B2+C2),或A1*B1+A1*B2+A2*B1+A2*B2,并将第二处理结果上传至区块链,以供各数据提供方获取,和/或供审计方获取并对其进行验证处理。
实施中,在向区块链上传第二处理结果时,可关联上传所对应的各数据提供方信息,如各数据提供方的设备IP地址或设备UUID等,以使审计方获取第二处理结果时,能同时获知所对应的各个数据提供方。
步骤402、获得多个数据提供方的多个目标数据。
审计方默认可信,具有访问数据提供方在区块链上对应的私有存储区域的权限。
审计方具体可基于第二处理结果对应的各数据提供方信息,如数据提供方的设备IP或设备UUID,访问各数据提供方在区块链上对应的私有存储区域,从中读取各数据提供方上传的校验信息,如哈希值,并根据读取的校验信息从数据提供方获取相对应的目标数据,得到多个数据提供方的多个目标数据。
步骤403、对所述多个目标数据进行第三处理,得到第三处理结果。
其中,第三处理与第一处理的处理类型一致,具体可以为加法计算或乘法计算,需视各数据提供方目标数据的处理需求而定。
在各数据提供方的目标数据所需的处理类型为加法类型的情况下,审计方将获得的各个目标数据进行相加运算,得到各目标数据的和值,如A+B+C;在各数据提供方的目标数据所需的处理类型为乘法类型的情况下,审计方将获得的各个目标数据进行相乘运算,得到各目标数据的乘积,如A*B。
步骤404、验证所述第三处理结果与所述第二处理结果的一致性。
审计方具体可判定计算得到的第三处理结果(如各目标数据的和值或乘积)与重构方上传至区块链的第二处理结果是否相同,若相同,则表示计算参与方与重构方对各数据提供方目标数据的处理过程无误,相应表示上传至区块链的第二处理结果是正确的,通过了一致性验证;否则,若两者不相同,则计算参与方和/或重构方对各数据提供方目标数据的处理过程存在错误,相应的,重构方上传至区块链的第二处理结果错误,从而解决了安全多方计算中输入信息和输出信息的一致性验证问题。
由于传统技术中,各数据提供方的信息(如,待进行账务统计的各子公司的账务余额,或商品单价、所售出数量等)被所有计算参与方(如,多个背书节点)得到,因此,每个计算参与方均可独立完成处理任务所需的数据处理,处理任务对应的数据处理过程不涉及多个节点之间的协同,从而,传统技术中区块链仅具备链下计算能力;本申请通过在各数据提供方进行数据拆分,向各计算参与方分发拆分得到的数据块而非完整数据,使得各计算参与方以及重构方借助相互之间的协同交互才能完成任务所需的数据处理,从而实现了区块链的链上计算能力,对于区块链的背书处理来说,实现了对现有背书机制的改进,通过区块链的链上计算能力进一步提升了背书处理中的信息安全性。
另外,由于本申请基于拆分规则将数据拆分成数据块,并通过对数据块而非完整数据(如明文形式或加密后密文形式的完整数据等)进行处理而实现对数据的安全多方计算任务,从而具有信息论安全的理论基础,难以被暴力破解,克服了不经意传输协议的非抗量子问题,同时基于本申请的技术方案,可将复杂运算经过电路化技术转换成加法和/或乘法算子,具有较高的处理性能(如处理速率较高),性能方面超过了不经意传输扩展协议和零知识证明技术。
以下提供本申请实施例的基于区块链的数据处理方法的一应用示例。
其中,具体提供有分别对应于加法及乘法处理类型相应示例。
参见图5,在加法处理示例中,多个数据提供方分别提供的待处理数据为(A,B,C…)(个数大于等于2)、计算节点为(P1,P2,P3…Pm),m≥2,重构节点为(D1,D2,D3…Dk),k≥1,任务目的在于,在计算节点、重构节点无法得到数据A、B、C…的前提下,而计算得到各数据的和值。
该任务可分为初始化、秘密分享和重构三个阶段,具体如下:
初始化阶段:
每一数据提供方将需要参与计算的数据(A或B或C…)对应的校验信息(如哈希值),提交到在区块链网络对应的私有数据库中。
秘密分享阶段:
2)Pi收到各数据提供方发来的数据块(Ai,Bi,Ci…),并计算Ti=Ai+Bi+Ci…;
3)Pi将Ti发送给一个或多个重构节点;
重构阶段:
2)重构节点将重构结果提交(如直接提交,或在多个重构节点参与重构时将多个重构结果验证一致后提交)到区块链公开账本。
后续可由审计方基于区块链私有数据库中的校验信息获取数据提供方的数据,并对提交结果进行验证。
参见图6,在乘法处理示例中,多个数据提供方分别提供的待处理数据为(A,B),待处理数据的个数等于2,如果大于2可以在计算任务中做算子拆分;计算节点为(P1,P2,P3,P4),计算节点个数等于4,如果集群内有多于4个的计算节点,可以在计算任务中进行节点遴选,重构节点为(D1,D2,D3…Dk),k≥1,任务目的在于,在计算节点、代理节点无法得到数据A、B的前提下,而计算得到A、B的乘积。
该任务同样可分为初始化、秘密分享和重构三个阶段,具体如下:
初始化阶段:
每一数据提供方将需要参与计算的数据(A或B)对应的校验信息(如哈希值),提交到在区块链网络对应的私有数据库中。
秘密分享阶段:
1)数据A的提供方将数据A基于随机数拆分成两个数据块:(A1,A2),A=A1+A2,并将A1发送给P1,P3;将A2发送给P2,P4;
2)数据B的提供方将数据B基于随机数拆分成两个数据块:(B1,B2),B=B1+B2,并将B1发送给P1,P4;将B2发送给P2,P3;
3)Pi将收到的数据块做乘积运算,具体的,P1计算T1=A1*B1,P2计算T2=A2*B2,P3计算T3=A1*B2,P4计算T1=A2*B1;
4)Pi将Ti发送给一个或多个重构节点;
重构阶段:
1)一个或多个重构节点收集Ti并进行重构(Rec),通过秘密共享的性质可知,经过重构,可得到:
2)重构节点将重构结果提交(如直接提交,或在多个重构节点参与重构时将多个重构结果验证一致后提交)到区块链公开账本。
后续可由审计方基于区块链私有数据库中的校验值获取数据提供方的数据,并对提交结果进行验证。
对应于上述的应用于数据提供方的基于区块链的数据处理方法,本申请实施例还公开了一种基于区块链的数据处理装置,该装置应用于持有目标数据的数据提供方,参见图7示出的该装置的结构示意图,该装置可以包括:
第一获取单元701,用于获得区块链上多个计算参与方的计算参与方信息,及所述目标数据所需的处理类型;
拆分单元702,用于利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块;所述拆分规则与所述处理类型和所述计算参与方信息对应;
传输单元703,用于将所述目标数据的多个数据块分发至所述多个计算参与方。
在本申请实施例的一可选实施方式中,所述处理类型为第一类型;
拆分单元702,具体用于:将所述目标数据拆分成第一数量的多个数据块;
其中,所述第一数量为所述计算参与方信息表征的计算参与方数量。
传输单元703,具体用于:按照一对一方式,将所述目标数据的多个数据块分发至所述多个计算参与方。
在本申请实施例的一可选实施方式中,所述处理类型为第二类型;
拆分单元702,具体用于:将所述目标数据拆分成第二数量的多个数据块;
其中,所述第二数量小于所述计算参与方信息表征的计算参与方数量,多个第二数量的乘积等于所述计算参与方数量,所述多个第二数量为参与处理的多个数据提供方的目标数据在数据拆分中分别拆分得到的数据块数量;
传输单元703,具体用于:按照一对多方式,将所述目标数据的每个数据块发送至从所述多个计算参与方中选取的数量为多个的计算参与方;
目标数据的不同数据块发送至所述多个计算参与方中的不同计算参与方,不同计算参与方获得的不同数据提供方的数据块的数据块组合不同。
在本申请实施例的一可选实施方式中,所述计算参与方信息包括:从所述区块链上的控制方获得的一目标排序序列,所述目标排序序列为对多个计算参与方标识进行排序后所得的序列;
传输单元703按照一对多方式,将所述目标数据的每个数据块发送至从所述多个计算参与方中选取的数量为多个的计算参与方,包括:
基于预定的不同数据块与排序序列中不同位号的映射规则,确定所述目标数据的每个数据块在所述目标排序序列中对应的多个计算参与方标识;
将所述目标数据的每个数据块,发送至所对应的多个计算参与方标识指示的多个计算参与方。
在本申请实施例的一可选实施方式中,若多个数据提供方为多于两个的数据提供方,多个数据提供方对应的数据处理任务预先被拆分为多个子任务;
其中,每个子任务用于指示:对两个数据提供方的目标数据进行所述第二类型的处理,或对两个中间结果进行所述第二类型的处理,或对一个数据提供方的目标数据与一个中间结果进行所述第二类型的处理;
所述中间结果为:对所述多个数据提供方的各目标数据中的相应部分目标数据进行所述第二类型的处理后所得的结果。
在本申请实施例的一可选实施方式中,传输单元703还用于:将确定的目标数据的校验信息传输至所述数据提供方在所述区块链对应的私有存储区域进行存储。
对于本申请实施例公开的应用于数据提供方的基于区块链的数据处理装置而言,由于其与上文任一方法实施例公开的应用于数据提供方的基于区块链的数据处理方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例中应用于数据提供方的基于区块链的数据处理方法部分的说明即可,此处不再详述。
对应于上述的应用于审计方的基于区块链的数据处理方法,本申请实施例还公开了另一种基于区块链的数据处理装置,该装置应用于区块链上的审计,参见图8示出的该装置的结构示意图,该装置可以包括:
第二获取单元801,用于获得所述区块链上的第二处理结果;
其中,所述第二处理结果为所述区块链上的重构方对多个计算参与方的多个第一处理结果进行第二处理得到的结果,一个计算参与方通过对获得的多个数据提供方的多个数据块进行第一处理得到相应的第一处理结果;数据提供方的数据块基于利用拆分规则对目标数据进行拆分得到;
第三获取单元802,用于获得多个数据提供方的多个目标数据;
处理单元803,用于对所述多个目标数据进行第三处理,得到第三处理结果;其中,所述第三处理与所述第一处理的处理类型一致;
验证单元804,用于验证所述第三处理结果与所述第二处理结果的一致性。
在本申请实施例的一可选实施方式中,第三获取单元802,具体用于:
从不同数据提供方在区块链上分别对应的私有存储区域,获取相应的校验信息;基于获得的校验信息,从相应数据提供方获得相应目标数据,得到所述多个数据提供方的多个目标数据。
对于本申请实施例公开的应用于审计方的基于区块链的数据处理装置而言,由于其与上文任一方法实施例公开的应用于审计方的基于区块链的数据处理方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例中应用于审计方的基于区块链的数据处理方法部分的说明即可,此处不再详述。
另外,本申请实施例还公开了一种基于区块链的数据处理系统,该系统包括:多个数据提供方,以及区块链上的多个计算参与方、重构方及审计方。
其中:
每一数据提供方用于执行如上任一实施例公开的应用于数据提供方的基于区块链的数据处理方法;
每一计算参与方,用于:获得多个数据提供方传输的多个数据块;一个数据提供方传输至一个计算参与方的数据块,为所述数据提供方对持有的目标数据进行拆分得到的多个数据块中的一个;对获得的多个数据块进行第一处理,得到第一处理结果;将所述第一处理结果发送至所述重构方;
所述重构方,用于:对多个计算参与方发送的多个第一处理结果进行第二处理得到第二处理结果,并将所述第二处理结果上传至所述区块链;
所述审计方,用于执行如上相应实施例公开的应用于审计方的基于区块链的数据处理方法。
关于该系统中数据提供方、计算参与方、重构方以及审计方之间的协同合作处理过程,具体可对照参见上文各方法实施例公开的基于区块链的数据处理方法的相关说明,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种基于区块链的数据处理方法,应用于持有目标数据的数据提供方;
所述方法包括:
获得区块链上多个计算参与方的计算参与方信息,及所述目标数据所需的处理类型;
利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块;所述拆分规则与所述处理类型和所述计算参与方信息对应;
将所述目标数据的多个数据块分发至所述多个计算参与方。
2.根据权利要求1所述的方法,所述处理类型为第一类型;
所述利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块,包括:
将所述目标数据拆分成第一数量的多个数据块;
其中,所述第一数量为所述计算参与方信息表征的计算参与方数量;
所述将所述目标数据的多个数据块分发至所述多个计算参与方,包括:
按照一对一方式,将所述目标数据的多个数据块分发至所述多个计算参与方。
3.根据权利要求1所述的方法,所述处理类型为第二类型;
所述利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块,包括:
将所述目标数据拆分成第二数量的多个数据块;
其中,所述第二数量小于所述计算参与方信息表征的计算参与方数量,多个第二数量的乘积等于所述计算参与方数量,所述多个第二数量为参与处理的多个数据提供方的目标数据在数据拆分中分别拆分得到的数据块数量;
所述将所述目标数据的多个数据块分发至所述多个计算参与方,包括:
按照一对多方式,将所述目标数据的每个数据块发送至从所述多个计算参与方中选取的数量为多个的计算参与方;
目标数据的不同数据块发送至所述多个计算参与方中的不同计算参与方,不同计算参与方获得的不同数据提供方的数据块的数据块组合不同。
4.根据权利要求3所述的方法,其中:
若所述多个数据提供方为多于两个的数据提供方,所述多个数据提供方对应的数据处理任务预先被拆分为多个子任务;
其中,每个子任务用于指示:对两个数据提供方的目标数据进行所述第二类型的处理,或对两个中间结果进行所述第二类型的处理,或对一个数据提供方的目标数据与一个中间结果进行所述第二类型的处理;
所述中间结果为:对所述多个数据提供方的各目标数据中的相应部分目标数据进行所述第二类型的处理后所得的结果。
5.根据权利要求1所述的方法,该方法还包括:
确定所述目标数据的校验信息,将所述校验信息存储至所述数据提供方在所述区块链对应的私有存储区域。
6.一种基于区块链的数据处理方法,应用于区块链上的审计方;
所述方法包括:
获得所述区块链上的第二处理结果;
其中,所述第二处理结果为所述区块链上的重构方对多个计算参与方的多个第一处理结果进行第二处理得到的结果,一个计算参与方通过对获得的多个数据提供方的多个数据块进行第一处理得到相应的第一处理结果;数据提供方的数据块基于利用拆分规则对目标数据进行拆分得到;
获得多个数据提供方的多个目标数据;
对所述多个目标数据进行第三处理,得到第三处理结果;其中,所述第三处理与所述第一处理的处理类型一致;
验证所述第三处理结果与所述第二处理结果的一致性。
7.根据权利要求6所述的方法,所述获得多个数据提供方的多个目标数据,包括:
从不同数据提供方在区块链上分别对应的私有存储区域,获取相应的校验信息;
基于获得的校验信息,从相应数据提供方获得相应目标数据,得到所述多个数据提供方的多个目标数据。
8.一种基于区块链的数据处理装置,应用于持有目标数据的数据提供方;
所述装置包括:
第一获取单元,用于获得区块链上多个计算参与方的计算参与方信息,及所述目标数据所需的处理类型;
拆分单元,用于利用拆分规则对所述目标数据进行拆分,得到所述目标数据的多个数据块;所述拆分规则与所述处理类型和所述计算参与方信息对应;
传输单元,用于将所述目标数据的多个数据块分发至所述多个计算参与方。
9.一种基于区块链的数据处理装置,应用于区块链上的审计方;
所述装置包括:
第二获取单元,用于获得所述区块链上的第二处理结果;
其中,所述第二处理结果为所述区块链上的重构方对多个计算参与方的多个第一处理结果进行第二处理得到的结果,一个计算参与方通过对获得的多个数据提供方的多个数据块进行第一处理得到相应的第一处理结果;数据提供方的数据块基于利用拆分规则对目标数据进行拆分得到;
第三获取单元,用于获得多个数据提供方的多个目标数据;
处理单元,用于对所述多个目标数据进行第三处理,得到第三处理结果;其中,所述第三处理与所述第一处理的处理类型一致;
验证单元,用于验证所述第三处理结果与所述第二处理结果的一致性。
10.一种基于区块链的数据处理系统,包括:多个数据提供方,以及区块链上的多个计算参与方、重构方及审计方;
其中:
每一数据提供方,用于执行如权利要求1-5任一项所述的方法;
每一计算参与方,用于:获得多个数据提供方传输的多个数据块;一个数据提供方传输至一个计算参与方的数据块,为所述数据提供方对持有的目标数据进行拆分得到的多个数据块中的一个;对获得的多个数据块进行第一处理,得到第一处理结果;将所述第一处理结果发送至所述重构方;
所述重构方,用于:对多个计算参与方发送的多个第一处理结果进行第二处理得到第二处理结果,并将所述第二处理结果上传至所述区块链;
所述审计方,用于执行如权利要求6-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011562201.2A CN112685793A (zh) | 2020-12-25 | 2020-12-25 | 基于区块链的数据处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011562201.2A CN112685793A (zh) | 2020-12-25 | 2020-12-25 | 基于区块链的数据处理方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685793A true CN112685793A (zh) | 2021-04-20 |
Family
ID=75451788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011562201.2A Pending CN112685793A (zh) | 2020-12-25 | 2020-12-25 | 基于区块链的数据处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685793A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849844A (zh) * | 2021-11-26 | 2021-12-28 | 杭州安恒信息技术股份有限公司 | 一种多方数据安全计算方法、系统、装置及存储介质 |
US20230017790A1 (en) * | 2021-07-13 | 2023-01-19 | Huazhong University Of Science And Technology | Graphic-blockchain-orientated hybrid consensus implementation apparatus and implementation method thereof |
CN117371025A (zh) * | 2023-09-18 | 2024-01-09 | 泉城省实验室 | 一种去中心化机器学习模型训练方法及系统 |
CN117725622A (zh) * | 2024-02-18 | 2024-03-19 | 北京安华金和科技有限公司 | 一种多方安全计算的权限控制方法和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611692A (zh) * | 2011-01-14 | 2012-07-25 | 微软公司 | 多承租人数据中心中的安全计算 |
CN109086140A (zh) * | 2018-08-21 | 2018-12-25 | 上海点融信息科技有限责任公司 | 在区块链中进行数据处理的方法、装置及存储介质 |
CN109255247A (zh) * | 2018-08-14 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN110061829A (zh) * | 2019-04-26 | 2019-07-26 | 上海点融信息科技有限责任公司 | 基于区块链网络的安全多方计算方法、装置及存储介质 |
US20200057860A1 (en) * | 2018-08-20 | 2020-02-20 | Cisco Technology, Inc. | Blockchain-based auditing, instantiation and maintenance of 5g network slices |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
CN111092931A (zh) * | 2019-11-15 | 2020-05-01 | 中国科学院计算技术研究所 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
CN111338841A (zh) * | 2018-12-19 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 数据处理方法、装置、设备和存储介质 |
WO2020151323A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 一种基于数据分片的数据存储方法、设备及介质 |
CN111815322A (zh) * | 2020-06-08 | 2020-10-23 | 北京邮电大学 | 一种基于以太坊的具备可选隐私服务的分布式支付方法 |
-
2020
- 2020-12-25 CN CN202011562201.2A patent/CN112685793A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611692A (zh) * | 2011-01-14 | 2012-07-25 | 微软公司 | 多承租人数据中心中的安全计算 |
CN109255247A (zh) * | 2018-08-14 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
US20200057860A1 (en) * | 2018-08-20 | 2020-02-20 | Cisco Technology, Inc. | Blockchain-based auditing, instantiation and maintenance of 5g network slices |
CN109086140A (zh) * | 2018-08-21 | 2018-12-25 | 上海点融信息科技有限责任公司 | 在区块链中进行数据处理的方法、装置及存储介质 |
CN111338841A (zh) * | 2018-12-19 | 2020-06-26 | 北京京东尚科信息技术有限公司 | 数据处理方法、装置、设备和存储介质 |
WO2020151323A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 一种基于数据分片的数据存储方法、设备及介质 |
CN110061829A (zh) * | 2019-04-26 | 2019-07-26 | 上海点融信息科技有限责任公司 | 基于区块链网络的安全多方计算方法、装置及存储介质 |
CN111092931A (zh) * | 2019-11-15 | 2020-05-01 | 中国科学院计算技术研究所 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
CN111815322A (zh) * | 2020-06-08 | 2020-10-23 | 北京邮电大学 | 一种基于以太坊的具备可选隐私服务的分布式支付方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230017790A1 (en) * | 2021-07-13 | 2023-01-19 | Huazhong University Of Science And Technology | Graphic-blockchain-orientated hybrid consensus implementation apparatus and implementation method thereof |
CN113849844A (zh) * | 2021-11-26 | 2021-12-28 | 杭州安恒信息技术股份有限公司 | 一种多方数据安全计算方法、系统、装置及存储介质 |
WO2023092829A1 (zh) * | 2021-11-26 | 2023-06-01 | 杭州安恒信息技术股份有限公司 | 一种多方数据安全计算方法、系统、装置及存储介质 |
CN117371025A (zh) * | 2023-09-18 | 2024-01-09 | 泉城省实验室 | 一种去中心化机器学习模型训练方法及系统 |
CN117371025B (zh) * | 2023-09-18 | 2024-04-16 | 泉城省实验室 | 一种去中心化机器学习模型训练方法及系统 |
CN117725622A (zh) * | 2024-02-18 | 2024-03-19 | 北京安华金和科技有限公司 | 一种多方安全计算的权限控制方法和系统 |
CN117725622B (zh) * | 2024-02-18 | 2024-04-30 | 北京安华金和科技有限公司 | 一种多方安全计算的权限控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107180350B (zh) | 一种基于区块链的多方共享交易元数据的方法、装置及系统 | |
CN112685793A (zh) | 基于区块链的数据处理方法、装置和系统 | |
US8150041B2 (en) | Secure computation of private values | |
US8527590B2 (en) | Solving mixed integer programs with peer-to-peer applications | |
WO2018193341A1 (en) | Computer-implemented system and method for performing transaction mixing on a blockchain | |
US12010236B2 (en) | Blockchain-based crowdsourcing | |
CN113536379B (zh) | 一种隐私数据的查询方法、装置及电子设备 | |
CN112257102B (zh) | 基于区块链的能源交易隐私保护方法 | |
CN111951060B (zh) | 一种基于区块链的安全税控发票数据交易方法 | |
Bag et al. | A privacy-aware decentralized and personalized reputation system | |
US20100332599A1 (en) | System, method, and computer program for solving mixed integer programs with peer-to-peer applications | |
US20240121109A1 (en) | Digital signatures | |
US20240179211A1 (en) | Computer-implemented system and method for controlling processing steps of a distributed system | |
CN116342249A (zh) | 基于区块链的贷款风险评估方法及装置 | |
CN112669150A (zh) | 基于区块链的数据处理方法、装置及系统 | |
CN113656829A (zh) | 一种基于格密码与联盟链的医疗数据安全共享方法 | |
CN114513304A (zh) | 去中心化安全多方隐私求和计算方法及系统 | |
CN112685752A (zh) | 基于区块链的数据处理方法、装置、电子设备及区块链 | |
CN112685770A (zh) | 基于区块链的数据处理方法、装置及系统 | |
CN117592991B (zh) | 一种基于门限签名的高效区块链跨链数据交换方法 | |
Bîrjoveanu et al. | Multi-party E-Commerce Protocols for Complex Transactions | |
CN116822650A (zh) | 确定模型训练参与方的方法和装置 | |
AU2022335168A1 (en) | Method of transaction escrow using blockchain wallets | |
Mbandu et al. | Recommender Privacy Preserving Reputation Based Medical Services Scheme Using a Variant of ElGamal | |
JP2004513542A (ja) | 顧客の要求を処理する方法およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |