CN116150788A - 一种数据交换有效性验证方法、装置及设备 - Google Patents
一种数据交换有效性验证方法、装置及设备 Download PDFInfo
- Publication number
- CN116150788A CN116150788A CN202310055321.0A CN202310055321A CN116150788A CN 116150788 A CN116150788 A CN 116150788A CN 202310055321 A CN202310055321 A CN 202310055321A CN 116150788 A CN116150788 A CN 116150788A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- calculation result
- proving
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 146
- 238000004364 calculation method Methods 0.000 claims abstract description 213
- 230000008569 process Effects 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 87
- 238000004891 communication Methods 0.000 claims description 9
- 238000005192 partition Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 11
- 238000012550 audit Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种数据交换有效性验证方法、装置及设备,本发明涉及区块链技术领域,用于解决现有技术中无法验证数据交换过程中,数据计算过程可信和原始数据可信的问题。包括:获取数据需求方的至少包括对目标数据的处理要求的数据请求信息;进行审核通过后,对目标数据按照处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;将计算结果以及证明数据进行加密后存储到区块链上;数据需求方对计算结果有效性以及计算过程进行验证,验证通过后,完成数据交换过程。实现在数据交换过程中,可以验证计算结果对应的原始可信的同时,验证计算结果的处理过程是按照数据需求方的要求来处理的,从而保证数据处理过程的有效性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种数据交换有效性验证方法、装置及设备。
背景技术
区块链由于其去中心化、不可篡改性、可追溯性和可执行智能合约等特性,是解决交易可验证,可追溯的有效方法。由于其分布式数据账本的特性,广泛应用于电子投标、工业物联网等多个场景。在解决数据隐私性方面,区块链可结合多种密码学手段。如:属性加密、同态加密、可搜索加密和代理重加密结合的方式等,实现区块链上的数据隐私及身份隐私的保护。
零知识证明是一种密码学技术,其可实现证明者在不向验证者提供任何有价值信息的前提下,使验证者相信某个论断是正确的。零知识简洁的非交互知识论证(zk-SNARKs,zeroknowledgesuccinctargumentsofknowledge)是零知识证明的生成工具之一,在区块链的交易的平台中,应用于Zcash和ZETH等加密货币中,用于隐藏交换数据过程中发送者和接收者地址以及交换数据等隐私信息。
目前,用隐私计算实现的数据,虽然可用不可见保障了数据的安全性,但是仅仅依靠隐私计算来实现数据交换的过程中,往往由于数据可用不可见导致数据需求方也无法验证数据计算过程的有效性。
因此,提供了一种数据交换有效性验证方案。
发明内容
本发明的目的在于提供一种数据交换有效性验证方法、装置及设备,用于解决现有技术中无法验证数据交换过程中,数据计算过程可信和原始数据可信的问题。
为了实现上述目的,本发明提供如下技术方案:
第一方面,本发明提供一种数据交换有效性验证方法,包括:
获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
数据提供方对所述数据请求信息进行审核,得到审核结果;
所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
与现有技术相比,本发明提供的数据交换有效性验证方法,通过获取数据需求方的至少包括对目标数据的处理要求的数据请求信息;进行审核通过后,对目标数据按照处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;将计算结果以及证明数据进行加密后存储到区块链上;数据需求方对计算结果有效性以及计算过程进行验证,验证通过后,完成数据交换过程。实现在数据交换过程中,可以验证计算结果对应的原始可信的同时,验证计算结果的处理过程是按照数据需求方的要求来处理的,从而保证数据处理过程的有效性。
第二方面,本发明提供一种数据交换有效性验证装置,装置包括:
数据请求信息获取模块,用于获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
审核模块,用于数据提供方对所述数据请求信息进行审核,得到审核结果;
计算结果确定模块,用于所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
验证模块,用于将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
第三方面,本发明提供一种数据交换有效性验证设备,设备包括:
通信单元/通信接口,用于获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
处理单元/处理器,用于数据提供方对所述数据请求信息进行审核,得到审核结果;
所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
第四方面,本发明提供一种计算机存储介质,所述计算机存储介质中存储有指令,当所述指令被运行时,实现上述的数据交换有效性验证方法。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明提供的一种数据交换有效性验证方法流程示意图;
图2为本发明提供的一种数据交换有效性验证方法中整体验证过程示意图;
图3为本发明提供的一种数据交换有效性验证装置的结构示意图;
图4为本发明提供的一种数据交换有效性验证设备的结构示意图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中a,b,c可以是单个,也可以是多个。
传统数据交换是将原始数据进行交换,获取到数据之后可以无限复制传播数据,因此,不能保障数据安全性,侵犯了数据拥有者的权益。本发明通过将传统数据交换中,原始数据交换转换成数据计算结果的交换,数据需求方将需要的数据结果及数据应做的步骤提交给数据提供方,数据提供方按照数据需求方需求步骤加工数据,将数据结果反馈给数据需求方并通过零知识证明技术实现在不暴露原始数据的情况下,对外证明计算过程的正确性和数据的关联性,以及对原始数据的溯源。
对此,本发明提供一种数据交换有效性验证方法。
接下来,结合附图对本说明书实施例提供的方案进行说明:
图1为本发明提供的一种数据交换有效性验证方法流程示意图,如图1所示,该流程可以包括以下步骤:
步骤110:获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求。
数据请求信息可以是数据需求方直接向数据提供方发送的,也可以是数据提供方向区块链所在平台发送,区块链所在平台再转发给数据提供方。数据需求方发送的数据请求信息中可以包含数据需求方要求的处理步骤,或者需要使用的合约等相关信息。
步骤120:数据提供方对所述数据请求信息进行审核,得到审核结果。
数据提供方也可以称为数据持有方、数据属主方、数据所有方等。
数据提供方收到数据请求信息时,也需要对数据请求信息进行审核,例如:数据提供方可以审核数据需求方的身份信息,在确定数据需求方为可信用户时,才会为数据需求方提供数据,可信用户可以是与数据提供方之间有约定的客户。审核结果可以包括审核通过以及不通过,只有审核通过时,数据提供方才为数据需求方提供数据。审核不通过的话,数据提供方可以返回一个拒绝提供数据的响应信息。
步骤130:所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的。
目标数据可以是数据需求方想要的原始数据,原始数据可以包括个人数据、企业数据或者其他需要交换的数据,数据提供方和数据需求方可以是具有交易关系的主体,也可以是有数据交换需求的可信机构,例如:银行与工商局,银行与税务局等等。
零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
证明方和验证方拥有相同的某一个函数或一系列的数值。零知识证明的一般过程如下:证明方向验证方发送满足一定条件的第一随机值,验证方向证明方发送满足一定条件的第二随机值,证明方执行一个秘密的计算,并将结果发送给验证方,验证方对响应进行验证,如果每一次验证方都验证成功,则验证方就相信证明方拥有某种知识。而且此过程中,验证方没有得到关于这个知识的任何一点信息。
数据提供方对目标数据按照数据需求方的处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;该证明数据可以用来验证数据提供方提供的计算结果是按照处理要求对目标数据进行处理后得到的。
步骤140:将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
数据交换过程中,计算结果、计算过程以及证明数据等都可以一起打包加密后存储到区块链中,至于加密的方式可以根据实际需求进行选择。数据需求方可以从区块链上得到需要的计算结果,并根据链上存储的信息验证计算结果以及计算过程的有效性。
图1中的方法,过获取数据需求方的至少包括对目标数据的处理要求的数据请求信息;进行审核通过后,对目标数据按照处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;将计算结果以及证明数据进行加密后存储到区块链上;数据需求方对计算结果有效性以及计算过程进行验证,验证通过后,完成数据交换过程。实现在数据交换过程中,可以验证计算结果对应的原始可信的同时,验证计算结果的处理过程是按照数据需求方的要求来处理的,从而保证数据处理过程的有效性。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方式,下面进行说明。
可选的,本发明的方案在验证过程中,需要验证数据提供方提供的原始数据是否真实有效,还需要验证计算结果的有效性,计算结果是否有效需要进一步判断计算结果是否是采用数据需求方需要的目标数据按照数据需求方的要求处理得到的,如果是,则计算结果有效,反之,计算结果无效。
零知识证明可以抽象成一组输入和输出:公开输入、秘密输入、公开输出。输入和输出是和计算步骤对应的,零知识证明一个是可以将某些输入设置为外部不可见的,在此基础上,证明提交Proof数据的一方知道一组秘密输入,和公开输入一起,按照之前定义的计算步骤,计算出了公开输出。公开输入和公开输出能够从Proof数据中提取出来,对外部可见,秘密输入无法提取。
接下来,针对本发明的验证方案,将验证过程分为数据合规性验证以及计算过程的验证分别进行说明:
一、数据合规性验证
当所述验证为对所述目标数据有效性的验证时,所述数据需求方对所述计算结果进行验证,具体可以包括:
所述数据需求方从所述计算结果中抽取部分结果数据,将所述部分结果数据发送给所述数据提供方;
所述数据提供方确定所述部分结果数据对应的原始数据地址,并将所述原始数据地址进行加密存储到区块链上;
所述数据需求方解密链上的所述原始数据地址,验证所述原始数据地址对应的原始数据的合规性;
所述原始数据的合规性验证通过后,将所述原始数据按照所述处理要求进行处理,得到验证结果;
比对所述验证结果以及所述计算结果,确定所述目标数据的有效性;
当确定所述计算结果有效时,利用零知识证明生成所述计算结果的证明数据并存储到区块链上,完成数据交换过程。
零知识证明的其中一个秘密输入,是原始数据。通过在零知识证明中计算原始数据的哈希值,并且把哈希值作为公开输出公布出来,就实现了对原始数据的溯源。如果Proof(证据)通过了验证,说明本次计算使用的数据,其哈希值确实是输出的值。区块链进一步将哈希值和链上记录的哈希值进行比对,就可以确认执行计算所用到的数据,确实是之前链上登记过的。
通过对零知识证明的设计,数据需求方在拿到Proof数据后,可以从中解析出来一组哈希值。Proof数据可以证明数据需求方拿到的计算结果,是使用了这些哈希值对应的原始数据,按照计算步骤的要求算出来的。
这样,在必要的时候,数据需求方可以做抽样检验,要求数据提供方提供一部分原始数据。通过比对数据哈希值,数据需求方可以确认这些数据确实是之前计算时候用到的数据。
数据溯源的方法可以更进一步和区块链进行结合。数据提供方的数据在平时就不断将哈希值上链存证,只要数据有更新,就立即上链。当数据提供方执行了计算任务后,可以通过区块链自行验证数据的生成时间,避免数据持有者为了这次的任务临时伪造大量数据。
验证数据有效性过程可以如下:
由于零知识证明验证,输入数据需为定长数据;针对不同数量数据量时需先将数据进行分区,分区以满足零知识证明输入的要求,分别计算出各区数据hash并在区块链上存证。当数据需求方需要验证数据时,通过拿到的知识证明确定是对原始数据计算了hash的Proof,数据需求方可以从中解析出一组hash出来,这一组hash分别对应链上的hash,若一一对应且一致,则说明数据有效。
二、计算结果对应的计算过程的验证
所述数据请求信息中还包括预设的基于零知识证明对应的生成规则以及验证规则;所述生成规则以及所述验证规则与所述处理步骤对应且不同的所述处理步骤对应不同的生成规则以及验证规则。所述证明数据是按照所述生成规则生成的,所述证明数据和所述计算结果一起打包加密后存储到区块链上。
当所述验证为计算结果对应的计算过程的验证时,所述数据需求方对所述计算结果进行验证,具可以体包括:
所述数据需求方基于所述验证规则验证所述证明数据,若所述证明数据通过验证,则完成单次计算过程的验证;
数据提供方根据数据需求方发回的本次计算结果进行下一次计算,直至计算过程结束,对每步计算方法的验证完成对整个计算过程的验证。
如图2所示,涉及的主体为数据提供方、区块链以及数据需求方。具体实现过程如下:
在开始计算过程之前,数据需求方需要提供以下内容:计算方法以及一组零知识证明“生成方法”和"验证方法",其中计算方法和零知识证明方法是相关的,不同的计算步骤,可能会有不同的生成方法和验证方法。数据需求方需要将所有计算方法和对应的零知识证明“生成方法”发送给数据提供方,经数据提供方验证后开始进行计算过程。
计算过程开始,数据提供方根据计算方法得出计算结果后需要执行上述的零知识证明生成方法,生成一段证明数据(Proof数据),随后将该Proof数据上链存储。数据需求方得到Proof数据后,用区块链上的零知识证明验证合约来验证这段Proof数据,如果Proof数据通过了验证,数据需求方就可以相信拿到的计算结果一定是按照计算步骤的要求算出来的,这就完成了单次计算过程的验证。
数据需求方从Proof数据中提取出本次计算结果数据,并发送给数据提供方作为下次计算方法的输入。这样就可以根据上次计算结果来进行下一轮计算,并且可以说明数据需求方已经获得了本次的计算结果。数据提供方根据数据需求方发回的计算结果进行下一次计算,重复上述过程直至计算结束,通过对每步计算方法的验证完成了对计算过程的验证。
更为细节地,在这个过程中,数据需求方发出的请求行为和对数据请求的数据处理步骤上区块链记录,数据提供方在收到请求后做出审核,审核结果上链。将参与处理的原数据通过零知识证明生成一段特征数据,即证明数据,该特征数据可用于验证数据提供方按照数据需求方的要求处理了数据。该特征数据与计算结果会通过加密形式上链。数据提供方将计算结果和特征数据加密上链之后,数据需求方在数据交换平台进行数据验收,数据需求方通过区块链账户的私钥进行解密获取数据提供方提供的处理记录,并进行数据处理步骤和数据结果的验证。
数据提供方处理数据过程如下:
数据提供方审核通过数据需求方的数据需求请求,则数据提供方开始准备数据需求方的数据需求请求中的数据,并按照数据需求方数据需求请求中的数据的处理步骤处理数据。
数据提供方按照数据需求方的需要进行数据处理,数据提供方会根据数据需求方提供的数据处理步骤,例如:1,2,3,4等步骤,数据提供方在对数据进行计算的过程中,每进行完毕上述步骤中的1个,则会引用零知识证明生成一个对应的特征数据,当数据提供方,完成上述步骤后,会将每个步骤与对应的零知识证明生成的特征数据一一对应,与数据计算结果一并打包、加密上链,数据需求方通过零知识证明生成计算结果的特征数据并上链存证,数据提供方通过零知识证明可以验证数据需求方已经获取到上一步骤的计算结果,验证通过后开始下一步骤的计算。
数据需求方接收并验证数据,过程如下:
当数据提供方将数据计算步骤、数据计算结果打包、加密上链之后,数据需求方开始进行签收验证,验证过程为:1.首先进行计算步骤验证,确保数据提供方按照数据需求方的要求进行了对数据的处理,当计算步骤通过验证之后转入对结果的验证。2.对计算结果的验证,结果验证为抽查部分结果数据,将验证结果数据发送给数据提供方,数据提供方在收到数据结果验证要求后,提交该部分抽查数据的原始数据的地址,并将地址加密上链,数据需求方在通过解密链上的抽查的原始数据的地址,获取抽查的原始数据,验证数据合规性。然后按照之前数据需求方提供的计算步骤进行计算,得出验证结果。当数据需求方验证结果数据通过以后,利用零知识证明生成计算结果的特征数据并上链,则完成本次数据交换。
数据需求方在发出数据需求时,应给出计算步骤的同时,还可以给出一组零知识证明的"生成方法"和"验证方法",这组方法和计算步骤是相关的,不同的计算步骤,就会有不同的生成方法和验证方法。数据提供方,在交付计算结果的同时,还需要执行上述的生成方法,生成一段数据(Proof数据),和计算结果一起打包加密上链。
数据需求方用验证方法来验证这段Proof数据。如果Proof数据通过了验证,数据需求方就可以相信拿到的计算结果一定是按照计算步骤的要求算出来的。这就完成了计算过程的验证。
将参与处理的原数据通过零知识证明生成一段特征数据,该特征数据可用于验证数据提供方按照数据需求方的要求处理了数据。该特征数据与计算结果会通过加密形式上链。数据提供方将计算结果和特征数据加密上链之后,数据需求方在数据交换平台进行数据验收,数据需求方通过区块链账户的私钥进行解密获取数据提供方提供的处理记录,并进行数据处理步骤和数据结果的验证。
在数据交易开始前,数据需求方需要准备数据需求,包括但不限于数据要求、数据计算步骤、一组零知识证明生成及验证方法。数据提供方也需准备一组零知识证明生成及验证方法。
本发明提供的方案,通过零知识证明为原始数据真实准确,数据计算步骤可信进行证明;同时通过区块链存证交换技术,即为原始数据的变动进行存证,保障原始数据的真实完整,同时为数据交换过程存证,保障数据交换过程不可抵赖。另外,保护在数据提供方数据可用不可见,同时也保障了数据需求方需要的数据计算结果是真实可靠的。
基于同样的思路,本发明还提供一种数据交换有效性验证装置,如图3所示,所述装置可以包括:
数据请求信息获取模块310,用于获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
审核模块320,用于数据提供方对所述数据请求信息进行审核,得到审核结果;
计算结果确定模块330,用于所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
验证模块340,用于将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
基于图3中的装置,还可以包括一些具体的实施单元:
可选的,计算结果确定模块330,具体可以包括:
处理步骤获取单元,用于获取所述处理要求中要求的处理步骤;
处理单元,用于按照所述处理步骤对所述目标数据进行处理,每一个处理步骤完成时,通过零知识证明生成对应的证明数据;每个所述证明数据与处理步骤一一对应。
可选的,当所述验证为对所述目标数据有效性的验证时,所述验证模块340,具体可以包括:
部分结果数据抽取单元,用于所述数据需求方从所述计算结果中抽取部分结果数据,将所述部分结果数据发送给所述数据提供方;
原始数据地址确定单元,用于所述数据提供方确定所述部分结果数据对应的原始数据地址,并将所述原始数据地址进行加密存储到区块链上;
数据合规性验证单元,用于所述数据需求方解密链上的所述原始数据地址,验证所述原始数据地址对应的原始数据的合规性;
验证结果确定单元,用于所述原始数据的合规性验证通过后,将所述原始数据按照所述处理要求进行处理,得到验证结果;
数据有效性确定单元,用于比对所述验证结果以及所述计算结果,确定所述目标数据的有效性;
数据交换单元,用于当确定所述计算结果有效时,利用零知识证明生成所述计算结果的证明数据并存储到区块链上,完成数据交换过程。
可选的,所述数据请求信息中还包括预设的基于零知识证明对应的生成规则以及验证规则;所述生成规则以及所述验证规则与所述处理步骤对应且不同的所述处理步骤对应不同的生成规则以及验证规则。
可选的,所述证明数据是按照所述生成规则生成的,所述证明数据和所述计算结果一起打包加密后存储到区块链上;
当所述验证为计算结果对应的计算过程的验证时,所述验证模块340,具体可以包括:
证明数据验证单元,用于所述数据需求方基于所述验证规则验证所述证明数据,若所述证明数据通过验证,则完成单次计算过程的验证;
计算过程验证单元,用于数据提供方根据数据需求方发回的本次计算结果进行下一次计算,直至计算过程结束,对每步计算方法的验证完成对整个计算过程的验证。
可选的,所述区块链上存证有各分区数据对应的哈希值;各分区是根据数据的数据量对数据进行分区得到的;
所述证明数据验证单元,具体用于:
所述数据需求方通过区块链账户的私钥对区块链上的数据进行解密,获取证明数据,并对所述证明数据进行解析,得到一组验证哈希值;
将该组验证哈希值与所述区块链上存证的各分区数据对应的哈希值进行比对,若一致,则确定所述证明数据有效。
可选的,所述数据提供方的数据对应的哈希值加密后均在所述区块链中存证,当所述数据提供方的数据有更新时,将更新后的数据以及更新过程生成新的哈希值上链存储;
当所述数据提供方执行完成计算任务,则通过所述区块链自行验证数据的生成时间。
基于同样的思路,本说明书实施例还提供了一种数据交换有效性验证设备。图4为本发明提供的一种数据交换有效性验证设备。可以包括:
通信单元/通信接口,用于获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
处理单元/处理器,用于数据提供方对所述数据请求信息进行审核,得到审核结果;
所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
如图4所示,上述终端设备还可以包括通信线路。通信线路可包括一通路,在上述组件之间传送信息。
可选的,如图4所示,该终端设备还可以包括存储器。存储器用于存储执行本发明方案的计算机执行指令,并由处理器来控制执行。处理器用于执行存储器中存储的计算机执行指令,从而实现本发明实施例提供的方法。
在具体实现中,作为一种实施例,如图4所示,处理器可以包括一个或多个CPU,如图4中的CPU0和CPU1。
在具体实现中,作为一种实施例,如图4所示,终端设备可以包括多个处理器,如图4中的处理器。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。
上述主要从各个模块之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个模块为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件单元。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本说明书中的处理器还可以具有存储器的功能。存储器用于存储执行本发明方案的计算机执行指令,并由处理器来控制执行。处理器用于执行存储器中存储的计算机执行指令,从而实现本发明实施例提供的方法。
存储器可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,EEPROM)、只读光盘(compactdiscread-onlymemory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路与处理器相连接。存储器也可以和处理器集成在一起。
可选的,本发明实施例中的计算机执行指令也可以称之为应用程序代码,本发明实施例对此不作具体限定。
上述本发明实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processing,DSP)、ASIC、现成可编程门阵列(field-programmablegatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digitalvideodisc,DVD);还可以是半导体介质,例如,固态硬盘(solidstatedrive,SSD)。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种数据交换有效性验证方法,其特征在于,包括:
获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
数据提供方对所述数据请求信息进行审核,得到审核结果;
所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
2.根据权利要求1所述的方法,其特征在于,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据,具体包括:
获取所述处理要求中要求的处理步骤;
按照所述处理步骤对所述目标数据进行处理,每一个处理步骤完成时,通过零知识证明生成对应的证明数据;每个所述证明数据与处理步骤一一对应。
3.根据权利要求1所述的方法,其特征在于,当对所述计算结果的验证为对所述目标数据有效性的验证时,所述数据需求方对所述计算结果进行验证,具体包括:
所述数据需求方从所述计算结果中抽取部分结果数据,将所述部分结果数据发送给所述数据提供方;
所述数据提供方确定所述部分结果数据对应的原始数据地址,并将所述原始数据地址进行加密存储到区块链上;
所述数据需求方解密链上的所述原始数据地址,验证所述原始数据地址对应的原始数据的合规性;
所述原始数据的合规性验证通过后,将所述原始数据按照所述处理要求进行处理,得到验证结果;
比对所述验证结果以及所述计算结果,确定所述目标数据的有效性;
当确定所述计算结果有效时,利用零知识证明生成所述计算结果的证明数据并存储到区块链上,完成数据交换过程。
4.根据权利要求2所述的方法,其特征在于,所述数据请求信息中还包括预设的基于零知识证明对应的生成规则以及验证规则;所述生成规则以及所述验证规则与所述处理步骤对应且不同的所述处理步骤对应不同的生成规则以及验证规则。
5.根据权利要求4所述的方法,其特征在于,所述证明数据是按照所述生成规则生成的,所述证明数据和所述计算结果一起打包加密后存储到区块链上;
当对所述计算结果的验证为对计算结果对应的计算过程的验证时,所述数据需求方对所述计算结果进行验证,具体包括:
所述数据需求方基于所述验证规则验证所述证明数据,若所述证明数据通过验证,则完成单次计算过程的验证;
数据提供方根据数据需求方发回的本次计算结果进行下一次计算,直至计算过程结束,对每步计算方法的验证完成对整个计算过程的验证。
6.根据权利要求5所述的方法,其特征在于,所述区块链上存证有各分区数据对应的哈希值;各分区是根据数据的数据量对数据进行分区得到的;
所述数据需求方基于所述验证规则验证所述证明数据,具体包括:
所述数据需求方通过区块链账户的私钥对区块链上的数据进行解密,获取证明数据,并对所述证明数据进行解析,得到一组验证哈希值;
将该组验证哈希值与所述区块链上存证的各分区数据对应的哈希值进行比对,若一致,则确定所述证明数据有效。
7.根据权利要求1所述的方法,其特征在于,所述数据提供方的数据对应的哈希值加密后均在所述区块链中存证,当所述数据提供方的数据有更新时,将更新后的数据以及更新过程生成新的哈希值上链存储;
当所述数据提供方执行完成计算任务,则通过所述区块链自行验证数据的生成时间。
8.一种数据交换有效性验证装置,其特征在于,装置包括:
数据请求信息获取模块,用于获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
审核模块,用于数据提供方对所述数据请求信息进行审核,得到审核结果;
计算结果确定模块,用于所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
验证模块,用于将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
9.一种数据交换有效性验证设备,其特征在于,设备包括:
通信单元/通信接口,用于获取数据需求方的数据请求信息;所述数据请求信息中至少包括对目标数据的处理要求;
处理单元/处理器,用于数据提供方对所述数据请求信息进行审核,得到审核结果;
所述审核结果表示审核通过时,对目标数据按照所述处理要求进行计算,得到计算结果,并通过零知识证明生成证明数据;所述证明数据用于验证所述计算结果是按照所述处理要求对目标数据进行处理后得到的;
将所述计算结果以及所述证明数据进行加密后存储到区块链上;所述数据需求方对所述计算结果进行验证,验证通过后,完成数据交换过程;对所述计算结果的验证包括对目标数据有效性的验证以及计算结果对应的计算过程的验证。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,当所述指令被运行时,实现权利要求1~7任一项所述的数据交换有效性验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310055321.0A CN116150788A (zh) | 2023-01-17 | 2023-01-17 | 一种数据交换有效性验证方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310055321.0A CN116150788A (zh) | 2023-01-17 | 2023-01-17 | 一种数据交换有效性验证方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116150788A true CN116150788A (zh) | 2023-05-23 |
Family
ID=86353816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310055321.0A Pending CN116150788A (zh) | 2023-01-17 | 2023-01-17 | 一种数据交换有效性验证方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150788A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431929A (zh) * | 2023-06-12 | 2023-07-14 | 深圳前海环融联易信息科技服务有限公司 | 基于隐私计算的信息推荐方法、装置、设备及介质 |
-
2023
- 2023-01-17 CN CN202310055321.0A patent/CN116150788A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431929A (zh) * | 2023-06-12 | 2023-07-14 | 深圳前海环融联易信息科技服务有限公司 | 基于隐私计算的信息推荐方法、装置、设备及介质 |
CN116431929B (zh) * | 2023-06-12 | 2024-03-01 | 深圳前海环融联易信息科技服务有限公司 | 基于隐私计算的信息推荐方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842317B2 (en) | Blockchain-based authentication and authorization | |
JP6873270B2 (ja) | ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス | |
US20200336299A1 (en) | Method and system for managing decentralized data access permissions through a blockchain | |
CN109325331B (zh) | 基于区块链和可信计算平台的大数据采集交易系统 | |
US10600050B1 (en) | Secure custody of a ledger token and/or a quantity of cryptocurrency of a distributed ledger network through binding to a possession token | |
US11496312B2 (en) | Collecting surveys with secure identities via a blockchain | |
CN110419053B (zh) | 用于信息保护的系统和方法 | |
CN110383757B (zh) | 用于安全处理电子身份的系统和方法 | |
US10491396B2 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
CN112199714B (zh) | 基于区块链的隐私保护方法、装置及电子设备 | |
US20200159847A1 (en) | Contribution of multiparty data aggregation using distributed ledger technology | |
CN113407627B (zh) | 一种基于区块链的智能医疗网络系统及医疗数据共享方法 | |
US20210019745A1 (en) | Method for verifying a transaction in a blockchain database | |
CN114389810B (zh) | 证明生成方法及装置、电子设备、存储介质 | |
CN116150788A (zh) | 一种数据交换有效性验证方法、装置及设备 | |
CN111241586A (zh) | 区块链地址匿名处理方法及系统、终端、存储介质 | |
CN111079190A (zh) | 区块链供应链交易隐藏动态监管系统及方法 | |
CN113901424A (zh) | 一种数字身份属性的选择性披露方法和装置 | |
JP2022549777A (ja) | ブロックチェーンのトランザクションへの要求のパーティション | |
CN115048672A (zh) | 基于区块链的数据审计方法和装置、处理器及电子设备 | |
JP7222436B2 (ja) | 保証制御方法、情報処理装置および保証制御プログラム | |
CN113627911A (zh) | 一种基于区块链匿名收发红包的方法、设备及储存介质 | |
CN116561739B (zh) | 数据交易方法以及装置、电子设备、存储介质 | |
US12021992B2 (en) | System and method for authenticating user identity | |
CN112749964B (zh) | 一种信息监控方法、系统、设备及存储介质 |
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 |