CN112699387A - 基于区块链的数据处理方法、装置、电子设备及区块链 - Google Patents
基于区块链的数据处理方法、装置、电子设备及区块链 Download PDFInfo
- Publication number
- CN112699387A CN112699387A CN202011566743.7A CN202011566743A CN112699387A CN 112699387 A CN112699387 A CN 112699387A CN 202011566743 A CN202011566743 A CN 202011566743A CN 112699387 A CN112699387 A CN 112699387A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- block
- block chain
- calculation
- 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 abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 258
- 238000004364 calculation method Methods 0.000 claims abstract description 121
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000000903 blocking effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 16
- 239000012634 fragment Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链的数据处理方法、装置、电子设备及区块链,方法应用于所述区块链上的数据提供方,所述方法包括:在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置、电子设备及区块链。
背景技术
区块链技术,其目标在于实现数据的分布式可靠存储。区块链在具体实现中,数据在网络内多节点上采用增量式存储,并且通过安全散列函数确保了入链数据的不可篡改,通过共识算法和网络传输协议实现了数据在各节点上存储的一致性。
区块链上的数据提供方将私有数据上链,提供给计算参与方进行相应功能的计算,从而得到计算结果。
但是,区块链上私有数据被上链,会使得数据提供方的隐私数据被计算参与方得知,从而存在数据安全性较低的情况。
发明内容
有鉴于此,本申请提供一种基于区块链的数据处理方法、装置、电子设备及区块链,如下:
一种基于区块链的数据处理方法,应用于所述区块链上的数据提供方,所述方法包括:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
上述方法,优选的,对所述目标数据块进行拆分处理,以得到多个子数据块,包括:
按照拆分规则,对所述目标数据块进行拆分处理,以得到多个子数据块;其中,所述拆分规则由所述数据处理请求对应的请求方确定,所述请求方为所述区块链上的节点。
上述方法,优选的,所述拆分规则至少包括:至少根据所述区块链上的计算参与方的数量和随机数对所述目标数据块进行拆分,以使得分块得到的子数据块的大小与所述随机数相关。
上述方法,优选的,将所述子数据块分别传输给所述区块链上的计算参与方,包括:
按照分发规则,将所述子数据块分别传输给所述区块链上的计算参与方;其中,所述分发规则由所述数据处理请求对应的请求方确定,所述请求方为所述区块链上的节点。
上述方法,优选的,所述分发规则至少包括:至少根据所述区块链上处于在线状态的计算参与方进行分发;
其中,同一计算参与方所获得到的属于同一数据提供方的目标子数据块组成该数据提供方所持的目标数据块的部分。
上述方法,优选的,所述区块链上处于在线状态的计算参与方在所述区块链上所有计算参与方中的占比大于预设的比例阈值。
上述方法,优选的,还包括:
将所述子数据块存储到所述数据提供方对应的私有存储区域中,所述私有存储区域仅将其访问权限赋予所述私有存储区域对应的数据提供方。
一种基于区块链的数据处理装置,应用于所述区块链上的数据提供方,所述装置包括:
数据块拆分单元,用于在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
数据块分发单元,用于将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
一种电子设备,所述电子设备为所述区块链上的数据提供方,所述电子设备包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
一种区块链,包括:
至少两个计算参与方和至少一个数据提供方;
其中,所述数据提供方用于:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
从上述技术方案可以看出,本申请公开的一种基于区块链的数据处理方法、装置、电子设备及区块链中,在区块链上的数据提供方中在获得到数据处理请求之后,对数据处理请求对应的目标数据块进行拆分处理,以得到多个子数据块,再将子数据块分别传输给区块链上的计算参与方,而计算参与方在得到至少一个目标子数据块之后,对这些目标子数据块进行第一处理,进而在得到第一处理结果后将第一处理结果上传到区块链上,并且获得区块链上的其他计算参与方所上传的其他处理结果,由此,计算参与方可以在区块链上,对第一处理结果和其他计算方法所上传的其他处理结果进行第二处理,以得到第二处理结果。可见,本申请中区块链上的数据提供方将数据处理请求对应的目标数据块进行拆分,再分发给区块链上的各个计算参与方,而每个计算参与方分别在链下对数据提供方拆分出来的部分子数据块进行第一处理,再在链上对其他计算参与方上传到区块链上的处理结果进行第二处理,由此,任意一个计算参与方只能获知数据提供方的部分数据,而不会获得到某个数据提供方的所有原始数据,而在链上计算参与方进行第二处理时的数据则是经过其他计算参与方各自在链下进行第一处理所得到的结果,由此,任意计算参与方也无法根据其他计算参与方的处理结果还原出相应的原始数据,因此,本申请中在通过区块链上的计算参与方进行数据处理时,各个计算参与方不会获得到数据提供方所提供的隐私数据,由此提高数据的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种基于区块链的数据处理方法中的交互流程图;
图2为本申请实施例中区块链的架构图;
图3为本申请实施例中数据块拆分的示例图;
图4为本申请实施例中区块链上计算参与方进行处理结果上链的示例图;
图5为本申请实施例一提供的一种基于区块链的数据处理方法中的另一交互流程图;
图6为本申请实施例二提供的一种基于区块链的数据处理装置的结构示意图;
图7为本申请实施例三提供的一种电子设备的结构示意图;
图8为本申请实施例的应用示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种基于区块链的数据处理方法的实现流程图,该方法可以适用于区块链上的数据提供方,数据提供方为区块链上具有数据存储能力的参与节点设备,如计算机或服务器等,数据提供方能够响应于数据处理请求提供相应的数据,基于此,区块链上的计算参与方能够利用其具有计算能力的部件如处理器和内存等对数据处理请求进行响应并执行相应的计算处理,得到与数据处理请求对应的处理结果。其中,计算参与方相对于数据提供方而言,计算参与方也可以作为数据提供方,数据提供方也可以作为计算参与方,区块链上可以有多个计算参与方以及至少一个数据提供方,如图2中所示。本实施例中的技术方案主要用于提高区块链上进行数据处理时的数据安全性。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:获得数据处理请求。
其中,数据处理请求由请求方提出,该请求方可以为区块链上的节点,如,请求方可以是某个计算参与方、某个数据提供方,也可以是区块链上的其他参与节点,或者也可以不是区块链上的节点。
需要说明的是,数据处理请求中包含有实现数据计算所需要的目标数据块的标识,还可以包含有数据处理请求的请求类型,这里的请求类型表征数据处理请求所要实现的数据处理目标,如计算平均工资或者获得推荐结果等类型。
步骤102:对数据处理请求对应的目标数据块进行拆分处理,以得到多个子数据块。
其中,本实施例中可以按照预设的规则或者配置信息对目标数据块进行拆分处理,由此,目标数据块被拆分成多个子数据块,如图3中所示,每个子数据块为目标数据块的一部分。
步骤103:将子数据块分别传输给区块链上的计算参与方,以使得计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到区块链上,并使得在区块链上计算参与方对第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
其中,数据提供方可以将子数据块分别分发给区块链上的每个处于在线状态的计算参与方,或者数据提供方将子数据块分别分发给区块链上的一部分处于在线状态的计算参与方。
而计算参与方在获得到一个或多个数据提供方所发送的目标数据块之后,计算参与方可以根据数据处理请求对应的请求类型对目标子数据块进行第一处理,得到第一处理结果。例如,本实施例中,计算参与方首先获得至少一个第一处理算子,这些第一处理算子的类型与数据处理请求对应的请求类型相关,例如,针对求平均工资的数据处理请求,相应的第一处理算子为加和计算的处理算子;之后,利用第一处理算子,对获得到的目标子数据块进行第一处理,得到第一处理结果,例如,利用加和计算的处理算子对计算参与方所获得的目标子数据块进行加和计算,得到第一处理结果。
需要说明的是,计算参与方在目标子数据块仅为1个的时候,利用加和计算的处理算法对这一个目标子数据块加0处理,得到第一处理结果。
在具体实现中,计算参与方可以通过计算参与方与区块链之间的通信接口,将第一处理结果上传到区块链上,基于此,区块链上的其他计算参与方能够获知该第一处理结果,相应的,本实施例中的计算参与方也能够获知其他计算参与方上传到区块链上的其他处理结果。
基于此,计算参与方可以通过计算参与方与区块链之间的通信接口,读取其他计算参与方所上传的其他处理结果,而这里的其他计算参与方所上传的其他处理结果是指:其他计算参与方对各自所接收到的数据提供方所分发的子数据块进行第一处理所得到的处理结果,如图4中所示,由此,区块链上所有参与到与数据处理请求对应的数据计算中的计算参与方均会将自己进行第一处理所得到的第一处理结果上传到区块链,同时也可以读取区块链上其他计算参与方进行第一处理所得到的第一处理结果。
而计算参与方对第一处理结果和其他处理结果进行第二处理所得到的第二处理结果即为针对数据处理请求的处理结果,如用户A和用户B的月平均工资。具体的,本实施例中可以根据数据处理请求对应的请求类型对经过各个计算参与方的第一处理的处理结果进行第二处理,得到第二处理结果。
例如,本实施例中,计算参与方首先获得至少一个第二处理算子,这些第二处理算子的类型与数据处理请求对应的请求类型相关,且第二处理算子与第一处理算子相关联,例如,针对求平均工资的数据处理请求以及加和计算的第一处理算子,相应的第二处理算子为加和再求均值的处理算子;之后,利用第二处理算子,对经过第一处理所得到的第一处理结果和其他计算参与方上传到区块链的其他处理结果进行第二处理,从而得到第二处理结果。例如,利用加和再求均值的处理算子对第一处理结果和其他处理结果进行加和再求均值,以得到第二处理结果。
另外,计算参与方在将第一处理结果上传到区块链上时,先将第一处理结果按照预设的加密规则进行加密,例如使用公钥进行加密,之后,将加密后的第一处理结果上传到区块链上;而计算参与方在获得区块链上的其他计算参与方所上传的其他处理结果时,可以先按照预设的解密规则,对区块链上的其他计算参与方所上传的其他处理结果进行解密,例如使用私钥进行解密,以得到解密后的其他处理结果。
而计算参与方在获得至少一个数据提供方传输的至少一个目标子数据块之后,还可以将获得到的目标子数据块存储到计算参与方对应的私有存储区域中,计算参与方的私有存储区域仅将其访问权限赋予私有存储区域对应的计算参与方,区块链上的其他参与节点没有访问该计算参与方的私有存储区域的权限。
进一步的,计算参与方还可以获得对目标子数据块进行第一处理过程中所产生的中间处理结果,并将中间处理结果存储在计算参与方的私有存储区域中。
从上述技术方案可以看出,本申请实施例一提供的一种基于区块链的数据处理方法中,在区块链上的数据提供方中在获得到数据处理请求之后,对数据处理请求对应的目标数据块进行拆分处理,以得到多个子数据块,再将子数据块分别传输给区块链上的计算参与方,而计算参与方在得到至少一个目标子数据块之后,对这些目标子数据块进行第一处理,进而在得到第一处理结果后将第一处理结果上传到区块链上,并且获得区块链上的其他计算参与方所上传的其他处理结果,由此,计算参与方可以在区块链上,对第一处理结果和其他计算方法所上传的其他处理结果进行第二处理,以得到第二处理结果。可见,本实施例中区块链上的数据提供方将数据处理请求对应的目标数据块进行拆分,再分发给区块链上的各个计算参与方,而每个计算参与方分别在链下对数据提供方拆分出来的部分子数据块进行第一处理,再在链上对其他计算参与方上传到区块链上的处理结果进行第二处理,由此,任意一个计算参与方只能获知数据提供方的部分数据,而不会获得到某个数据提供方的所有原始数据,而在链上计算参与方进行第二处理时的数据则是经过其他计算参与方各自在链下进行第一处理所得到的结果,由此,任意计算参与方也无法根据其他计算参与方的处理结果还原出相应的原始数据,因此,本实施例中在通过区块链上的计算参与方进行数据处理时,各个计算参与方不会获得到数据提供方所提供的隐私数据,由此提高数据的安全性。
在一种实现方式中,步骤102中在对目标数据块进行拆分处理时,可以通过以下方式实现:
按照拆分规则,对目标数据块进行拆分处理,以得到多个子数据块,这里的拆分规则可以由数据处理请求对应的请求方确定,而请求方为区块链上的节点或者是非区块链上的设备。
具体实现中,拆分规则可以为:至少根据区块链上的计算参与方的数量和随机数对目标数据块进行拆分,以使得分块得到的子数据块的大小与随机数相关。例如,数据提供方将目标数据块按照计算参与方的数量进行拆分,而拆分出来的子数据块的数量可以大于计算参与方的数量或者可以小于计算参与方的数量,当然也可以等于计算参与方的数量,而拆分出来的子数据块的大小可以相同或不同,也就是说,数据提供方按照随机数对目标数据块进行非等量拆分,拆分出来的子数据块的大小与随机数相关。
在一种实现方式中,数据提供方对于数值型的目标数据块可以进行数值拆分,例如将数值1000拆分成900和100,拆分后的子数据块的加和值为总数据值;
在另一种实现方式中,数据提供方对于数据包类型的目标数据块可以进行包拆分,例如,将1000个数据包中的前900个拆分到一个子数据块中,见后100个拆分到一个数据块中。
例如,区块链上处于在线状态的计算参与方有3个,基于此,数据提供方可以将其目标数据块如当月工资拆分成3个子数据块,而每个子数据块的大小如部分工资数值与完全相同,例如,将工资1200拆分成3个400;
或者,区块链上处于在线状态的计算参与方有3个,基于此,数据提供方可以将其目标数据块如当月工资拆分成2个子数据块,而每个子数据块的大小如部分工资数值分别与随机数相对应,例如,将工资1200拆分成700和500;
或者,区块链上处于在线状态的计算参与方有3个,基于此,数据提供方可以将其目标数据块如当月工资拆分成4个子数据块,而每个子数据块的大小如部分工资数值分别与随机数相对应,例如,将工资1200拆分成600、300、200和100;
等等。
在一种实现方式中,步骤103中在将子数据块分别传输给区块链上的计算参与方时,可以通过以下方式实现:
按照分发规则,将子数据块分别传输给区块链上的计算参与方,而分发规则由数据处理请求对应的请求方确定。
具体实现中,分发规则可以为:至少根据区块链上处于在线状态的计算参与方进行分发,且同一计算参与方所获得到的属于同一数据提供方的目标子数据块组成该数据提供方所持的目标数据块的部分。
也就是说,数据提供方在将其所有子数据块进行广播之后,得到该数据提供方的某个计算参与方可能只得到这个数据提供方的一个子数据块,或者,可能得到这个数据提供方的多个子数据块,但是,不会得到属于同一个数据提供方的所有子数据块,由此,得到目标子数据块的计算参与方就不会根据所得到的目标子数据块拼接出数据提供方的原始目标数据块。
需要说明的是,经过数据提供方的子数据块广播之后,可能存在某个计算参与方没有得到该数据提供方的子数据块,但是,该计算参与方会得到其他数据提供方所广播的子数据块,也就是说,数据提供方的子数据块可能分发区块链上每个处于在线状态的计算参与方,或者,也可能只分发给区块链上处于在线状态的计算参与方中的部分参与方。
例如,区块链上处于在线状态的计算参与方有3个,基于此,数据提供方可以将其目标数据块如当月工资拆分成3个子数据块,而每个子数据块的大小如部分工资数值与完全相同,之后,将三个子数据块分别分发给区块链上的这三个计算参与方,每个计算参与方得到一个目标子数据块,例如,将工资1200拆分成3个400,相应每个计算参与方分别得到一个400;
或者,区块链上处于在线状态的计算参与方有3个,基于此,数据提供方可以将其目标数据块如当月工资拆分成2个子数据块,而每个子数据块的大小如部分工资数值分别与随机数相对应,之后,将2个数据块进行广播,并分发给区块链上的三个计算参与方中的两个,例如,将工资1200拆分成700和500,一个计算参与方得到一个700,另一计算参与方得到一个500,第三个计算参与方没有得到该数据提供方的子数据块;
或者,区块链上处于在线状态的计算参与方有3个,基于此,数据提供方可以将其目标数据块如当月工资拆分成4个子数据块,而每个子数据块的大小如部分工资数值分别与随机数相对应,之后,将4个数据块进行广播,并分发给区块链上的三个计算参与方,例如,将工资1200拆分成600、300、200和100,一个计算参与方得到一个600,另一计算参与方得到一个300,第三个计算参与方得到一个200,最后一个计算参与方得到一个100。
需要特别说明的是,计算参与方所获得到的属于同一数据提供方的目标子数据块为组成该数据提供方所持的目标数据块的部分,是指,计算参与方所获得到的目标子数据块的数量小于数据提供方对其目标数据块所拆分出来的子数据块的数量,由此,不论计算参与方将其所获得到的目标子数据块进行拼接的结果是多少,在计算参与方一侧,是缺少至少一个子数据块才能拼接成数据提供方的完整的目标数据块的,由于计算参与方无法获得所缺少的子数据块的具体数据内容,因此,计算参与方一侧无法还原出数据提供方的完整的目标数据块。
例如,数据提供方将工资1000分成三个子数据块:600、400和0,在将这三个子数据块分发给区块链上的两个计算参与方,第一个计算参与方得到600和400,另一个计算参与方得到0,由此,在第一个计算参与方看来,其虽然得到600和400,但是无法知晓第三个子数据块,因此,无法还原出数据提供方的工资1000,在第二个计算参与方一侧同理,由于无法知晓其他两个子数据块,因此,同样无法还原出数据提供方的工资1000。
可选的,为了实现数据处理的不可篡改和可靠性,区块链上处于在线状态的计算参与方在区块链上所有计算参与方中的占比大于预设的比例阈值,如占比超过三分之一。也就是说,参与到数据处理请求对应的数据计算中的计算参与方在区块链上所有计算参与方中的占比超过阈值。
在一种实现方式中,在步骤102之后,还可以包括以下步骤,如图5中所示:
步骤104:将子数据块存储到数据提供方对应的私有存储区域中。
其中,私有存储区域仅将其访问权限赋予所述私有存储区域对应的数据提供方。这里的私有存储区域仅将其访问权限赋予私有存储区域对应的数据提供方,而区块链上的其他节点没有对该数据提供方对应的私有存储区域的访问权限,由此,保证数据提供方的数据的安全性。
参考图6,为本申请实施例二提供的一种基于区块链的数据处理装置的结构示意图,该装置可以配置在区块链上的数据提供方,如图2中所示的数据提供方。本实施例中的技术方案主要用于提高区块链上进行数据处理时的数据安全性。
具体的,本实施例中的装置可以包括以下单元:
数据块拆分单元601,用于在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
数据块分发单元602,用于将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
从上述技术方案可以看出,本申请实施例二提供的一种基于区块链的数据处理装置中,在区块链上的数据提供方中在获得到数据处理请求之后,对数据处理请求对应的目标数据块进行拆分处理,以得到多个子数据块,再将子数据块分别传输给区块链上的计算参与方,而计算参与方在得到至少一个目标子数据块之后,对这些目标子数据块进行第一处理,进而在得到第一处理结果后将第一处理结果上传到区块链上,并且获得区块链上的其他计算参与方所上传的其他处理结果,由此,计算参与方可以在区块链上,对第一处理结果和其他计算方法所上传的其他处理结果进行第二处理,以得到第二处理结果。可见,本实施例中区块链上的数据提供方将数据处理请求对应的目标数据块进行拆分,再分发给区块链上的各个计算参与方,而每个计算参与方分别在链下对数据提供方拆分出来的部分子数据块进行第一处理,再在链上对其他计算参与方上传到区块链上的处理结果进行第二处理,由此,任意一个计算参与方只能获知数据提供方的部分数据,而不会获得到某个数据提供方的所有原始数据,而在链上计算参与方进行第二处理时的数据则是经过其他计算参与方各自在链下进行第一处理所得到的结果,由此,任意计算参与方也无法根据其他计算参与方的处理结果还原出相应的原始数据,因此,本实施例中在通过区块链上的计算参与方进行数据处理时,各个计算参与方不会获得到数据提供方所提供的隐私数据,由此提高数据的安全性。
在一种实现方式中,数据块拆分单元601具体用于:按照拆分规则,对所述目标数据块进行拆分处理,以得到多个子数据块;其中,所述拆分规则由所述数据处理请求对应的请求方确定,所述请求方为所述区块链上的节点。
可选的,所述拆分规则至少包括:至少根据所述区块链上的计算参与方的数量和随机数对所述目标数据块进行拆分,以使得分块得到的子数据块的大小与所述随机数相关。
在一种实现方式中,数据块分发单元602具体用于:按照分发规则,将所述子数据块分别传输给所述区块链上的计算参与方;其中,所述分发规则由所述数据处理请求对应的请求方确定,所述请求方为所述区块链上的节点。
可选的,所述分发规则至少包括:至少根据所述区块链上处于在线状态的计算参与方进行分发;其中,同一计算参与方所获得到的属于同一数据提供方的目标子数据块组成该数据提供方所持的目标数据块的部分。
另外,所述区块链上处于在线状态的计算参与方在所述区块链上所有计算参与方中的占比大于预设的比例阈值。
在一种实现方式中,数据块拆分单元601还用于:将所述子数据块存储到所述数据提供方对应的私有存储区域中,所述私有存储区域仅将其访问权限赋予所述私有存储区域对应的数据提供方。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
参考图7,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为区块链上的数据提供方,如图2中所示的数据提供方。本实施例中的技术方案主要用于提高区块链上进行数据处理时的数据安全性。
具体的,本实施例中的电子设备可以包括以下结构:
存储器701,用于存储应用程序和所述应用程序运行所产生的数据;
处理器702,用于执行所述应用程序,以实现:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
从上述技术方案可以看出,本申请实施例三提供的一种电子设备中,在区块链上的数据提供方中在获得到数据处理请求之后,对数据处理请求对应的目标数据块进行拆分处理,以得到多个子数据块,再将子数据块分别传输给区块链上的计算参与方,而计算参与方在得到至少一个目标子数据块之后,对这些目标子数据块进行第一处理,进而在得到第一处理结果后将第一处理结果上传到区块链上,并且获得区块链上的其他计算参与方所上传的其他处理结果,由此,计算参与方可以在区块链上,对第一处理结果和其他计算方法所上传的其他处理结果进行第二处理,以得到第二处理结果。可见,本实施例中区块链上的数据提供方将数据处理请求对应的目标数据块进行拆分,再分发给区块链上的各个计算参与方,而每个计算参与方分别在链下对数据提供方拆分出来的部分子数据块进行第一处理,再在链上对其他计算参与方上传到区块链上的处理结果进行第二处理,由此,任意一个计算参与方只能获知数据提供方的部分数据,而不会获得到某个数据提供方的所有原始数据,而在链上计算参与方进行第二处理时的数据则是经过其他计算参与方各自在链下进行第一处理所得到的结果,由此,任意计算参与方也无法根据其他计算参与方的处理结果还原出相应的原始数据,因此,本实施例中在通过区块链上的计算参与方进行数据处理时,各个计算参与方不会获得到数据提供方所提供的隐私数据,由此提高数据的安全性。
需要说明的是,本实施例中处理器的具体实现可以参考前文中的相应内容,此处不再详述。
基于图2所示,本申请实施例四所实现的区块链中,包含有至少两个计算参与方和至少一个数据提供方,这里的计算参与方和数据提供方式针对在对数据处理请求所进行的数据计算中所实现的功能而言,计算参与方也可以作为数据提供方,数据提供方也可以作为计算参与方。
其中,数据提供方用于:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
基于以上实现方案,以项目推荐的数据处理请求为例,以下对本申请的技术方案进行举例说明:
如图8中所示,Alice作为交易发起者(请求方)指定分发策略(collectionpolicy),同时作为数据提供方将自己的数据块进行拆分,得到两个数据分片:CP(A1,X1)和CP(A2,X2),之后将数据分片按照分发策略分发给区块链上的计算参与方peer1和peer2中的Delear;同时,Alice将分发策略发送给Delear和另一数据提供方Bob,而Bob对分发策略进行响应,将自己的数据块进行拆分,得到两个数据分片B1和B2,再将数据分片按照分发策略将数据分片分发给区块链上的peer1和peer2,基于此,peer1和peer2中的Delear先对收集到的数据分片进行链下的私有计算,再将计算结果进行哈希计算之后实现加密上链存储,之后,在区块链上的各个计算参与方分别对上链的计算结果进行解密后再进行公开计算,得到最终的计算结果。
或者,计算参与方中的Delear作为交易发起者指定分发策略,将分发策略发送给相应的各个数据提供方Alice和Bob,Alice和Bob分别响应该分发策略,各自将自己的数据块进行拆分,分别得到两个数据分片:CP(A1,X1)和CP(A2,X2)以及B1和B2,之后将数据分片按照分发策略分发给区块链上的计算参与方peer1和peer2中的Delear,基于此,peer1和peer2中的Delear先对收集到的数据分片进行链下的私有计算,再将计算结果进行哈希计算之后实现加密上链存储,之后,在区块链上的各个计算参与方分别对上链的计算结果进行解密后再进行公开计算,得到最终的计算结果。
需要说明的是,各个计算参与方还将收集到的数据分片存储到自己的私有存储区域,以保证数据安全。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于区块链的数据处理方法,应用于所述区块链上的数据提供方,所述方法包括:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
2.根据权利要求1所述的方法,对所述目标数据块进行拆分处理,以得到多个子数据块,包括:
按照拆分规则,对所述目标数据块进行拆分处理,以得到多个子数据块;其中,所述拆分规则由所述数据处理请求对应的请求方确定,所述请求方为所述区块链上的节点。
3.根据权利要求2所述的方法,所述拆分规则至少包括:至少根据所述区块链上的计算参与方的数量和随机数对所述目标数据块进行拆分,以使得分块得到的子数据块的大小与所述随机数相关。
4.根据权利要求1所述的方法,将所述子数据块分别传输给所述区块链上的计算参与方,包括:
按照分发规则,将所述子数据块分别传输给所述区块链上的计算参与方;其中,所述分发规则由所述数据处理请求对应的请求方确定,所述请求方为所述区块链上的节点。
5.根据权利要求4所述的方法,所述分发规则至少包括:至少根据所述区块链上处于在线状态的计算参与方进行分发;
其中,同一计算参与方所获得到的属于同一数据提供方的目标子数据块组成该数据提供方所持的目标数据块的部分。
6.根据权利要求4所述的方法,所述区块链上处于在线状态的计算参与方在所述区块链上所有计算参与方中的占比大于预设的比例阈值。
7.根据权利要求1所述的方法,还包括:
将所述子数据块存储到所述数据提供方对应的私有存储区域中,所述私有存储区域仅将其访问权限赋予所述私有存储区域对应的数据提供方。
8.一种基于区块链的数据处理装置,应用于所述区块链上的数据提供方,所述装置包括:
数据块拆分单元,用于在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
数据块分发单元,用于将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
9.一种电子设备,所述电子设备为所述区块链上的数据提供方,所述电子设备包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
10.一种区块链,包括:
至少两个计算参与方和至少一个数据提供方;
其中,所述数据提供方用于:
在获得到数据处理请求的情况下,对目标数据块进行拆分处理,以得到多个子数据块,所述目标数据块为所述数据处理请求对应的数据块;
将所述子数据块分别传输给所述区块链上的计算参与方,以使得所述计算参与方在根据所获得到的目标子数据进行第一处理之后将得到的第一处理结果上传到所述区块链上,并使得在所述区块链上所述计算参与方对所述第一处理结果和其他计算参与方所上传的其他处理结果进行第二处理,以得到第二处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566743.7A CN112699387A (zh) | 2020-12-25 | 2020-12-25 | 基于区块链的数据处理方法、装置、电子设备及区块链 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566743.7A CN112699387A (zh) | 2020-12-25 | 2020-12-25 | 基于区块链的数据处理方法、装置、电子设备及区块链 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699387A true CN112699387A (zh) | 2021-04-23 |
Family
ID=75510849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011566743.7A Pending CN112699387A (zh) | 2020-12-25 | 2020-12-25 | 基于区块链的数据处理方法、装置、电子设备及区块链 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699387A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886876A (zh) * | 2021-09-30 | 2022-01-04 | 联想(北京)有限公司 | 数据处理方法、装置、系统和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086140A (zh) * | 2018-08-21 | 2018-12-25 | 上海点融信息科技有限责任公司 | 在区块链中进行数据处理的方法、装置及存储介质 |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
-
2020
- 2020-12-25 CN CN202011566743.7A patent/CN112699387A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086140A (zh) * | 2018-08-21 | 2018-12-25 | 上海点融信息科技有限责任公司 | 在区块链中进行数据处理的方法、装置及存储介质 |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886876A (zh) * | 2021-09-30 | 2022-01-04 | 联想(北京)有限公司 | 数据处理方法、装置、系统和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12067129B2 (en) | Privacy preserving computation protocol for data analytics | |
CN108282333B (zh) | 工业云环境下多边缘节点协作模式下数据安全共享方法 | |
US7856100B2 (en) | Privacy-preserving data aggregation using homomorphic encryption | |
US8396218B2 (en) | Cryptographic module distribution system, apparatus, and program | |
CN110400164B (zh) | 数据确定方法和装置、存储介质及电子装置 | |
JP4156588B2 (ja) | 暗号通信システム、その鍵配布サーバ、端末装置及び鍵共有方法 | |
CN114448730B (zh) | 基于区块链网络的报文转发方法及装置、交易处理方法 | |
CN112685752A (zh) | 基于区块链的数据处理方法、装置、电子设备及区块链 | |
CN110690964B (zh) | 一种量子服务区块链的创建方法与应用系统 | |
CN106941404A (zh) | 密钥保护方法及装置 | |
CN113191863A (zh) | 投标方法、第三方设备、发标方设备及投标方设备 | |
CN114362947B (zh) | 一种广域量子密钥服务方法与系统 | |
EP1903740A1 (en) | Method for implementing a state tracking mechanism in a communications session between a server and a client system | |
US20210083853A1 (en) | Key distribution system, terminal device, key distribution method, and program | |
US20110019822A1 (en) | Keys for protecting user access to media | |
CN112699387A (zh) | 基于区块链的数据处理方法、装置、电子设备及区块链 | |
CN110784318B (zh) | 群密钥更新方法、装置、电子设备、存储介质及通信系统 | |
CN115001719B (zh) | 隐私数据处理系统、方法、装置、计算机设备及存储介质 | |
CN114531455B (zh) | 基于边缘协助的多云安全存储方法 | |
CN115567203A (zh) | 一种恢复秘密信息的方法、装置、设备及存储介质 | |
CN116155483A (zh) | 区块链签名机安全设计方法及签名机 | |
Arora et al. | Securing web documents by using piggybacked framework based on Newton's forward interpolation method | |
CN114422114A (zh) | 基于多时间服务器的时控性加密方法和系统 | |
CN111368309A (zh) | 信息处理方法、系统及设备 | |
Almashaqbeh et al. | CAPnet: a defense against cache accounting attacks on content distribution networks |
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 |