一种基于区块链和零知识证明的数据验证系统实现方法技术方案

技术编号:38754826 阅读:14 留言:0更新日期:2023-09-10 09:39
本发明专利技术公开了一种基于区块链和零知识证明的数据验证系统实现方法。本发明专利技术通过在数据验证阶段,数据使用端根据验证需求向链上智能合约预付对应的数据验证费用,通过与智能合约交互完成需求满足性以及数据真实持有性的验证;在数据声明阶段,数据拥有端对数据进行默克尔树化并生成特征零知识证明,通过与智能合约交互完成数据的链上验证与存证,并在数据验证阶段,数据拥有端回应数据真实持有性的挑战,生成挑战数据块集的存在性证明并进行链上验证与存证,从而无需依赖第三方服务可行执行环境或可信硬件,确保数据验证的独立性和安全性,并在整个数据真实性验证过程中,数据始终保存在数据所有者的本地安全环境,实现数据的完全不流动。完全不流动。完全不流动。

【技术实现步骤摘要】
一种基于区块链和零知识证明的数据验证系统实现方法


[0001]本专利技术涉及区块链
,尤其是一种基于区块链和零知识证明的数据验证系统实现方法。

技术介绍

[0002]相关技术中,随着数字经济时代的兴起,数据资源成为数字经济的关键要素,数据作为商品进行交易也日益成为理论与实践的热门议题。目前国内主流的数据交易模式主要依赖数据交易所充当中介,负责收集、整理各方数据,并提供对双方的交易服务。但该直接买卖源数据的中心化交易模式存在着诸多问题:(1)安全性问题:中心化数据交易模式会集中所有数据在一个中心化平台上,如果该平台遭受黑客攻击或者内部员工滥用权限,用户的数据将可能被窃取或者滥用,导致隐私泄露等问题;(2)不透明性问题:中心化数据交易平台的交易过程和交易规则通常由平台方设定,缺乏透明度。用户对于平台的决策和操作缺乏控制和监督能力,难以保证公正性;(3)数据壁垒问题:中心化数据交易模式通常要求数据的所有权归平台方所有,用户不能自由地将自己的数据交易给其他平台或个人,导致数据壁垒,限制了用户数据的流动性和使用价值;(4)中心化垄断问题:中心化数据交易模式通常由少数几个平台垄断市场,用户难以获得多样化的交易选择,而且平台方往往具有议价能力,容易捆绑销售、涨价等问题;(5)风险控制问题:中心化数据交易模式往往缺乏有效的风险控制机制,一旦出现交易风险,将对用户造成严重的损失。
[0003]对于上述问题,目前已有针对数据交易模式的研究,例如基于数据计算结果的数据交易模式。该模式中交易内容为数据的计算结果,实现交易数据价值而不交易数据,解决数据转售、泄露等安全问题。但该模式中由于需求方对数据的不可见,也带来了数据的真实性问题。目前已有研究聚焦到数据真实性的验证问题,主要依赖于引入第三方服务或可信执行环境实现对数据真实性的验证,无法实现数据的完全不流动,存在第三方可信问题以及硬件限制,且验证无法保证数据隐私,验证成本高,效率低。

技术实现思路

[0004]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种基于区块链和零知识证明的数据验证系统实现方法,能够解决现有数据交易模式中的安全性、透明度、数据壁垒、垄断和风险控制问题。
[0005]一方面,本专利技术实施例提供了一种基于区块链和零知识证明的数据验证系统实现方法,所述方法包括数据声明阶段和数据验证阶段,所述方法包括以下步骤:
[0006]在数据验证阶段,数据使用端根据验证需求向链上智能合约预付对应的数据验证费用,通过与智能合约交互完成需求满足性以及数据真实持有性的验证;所述数据使用端为数据真实性的验证方;
[0007]在数据声明阶段,数据拥有端对数据进行默克尔树化并生成特征零知识证明,通过与智能合约交互完成数据的链上验证与存证;在数据验证阶段,数据拥有端回应数据真
实持有性的挑战,生成挑战数据块集的存在性证明并进行链上验证与存证;所述数据拥有端为数据真实性的证明方;
[0008]其中,通过可信设置子社区设置所述零知识证明的初始化参数,通过CA机构验证用户身份的合法性;所述可信设置子社区和所述CA机构组成可信设置社区;通过区块链记录默克尔树信息、数据特性信息和挑战数据块集的存在性。
[0009]在一些实施例中,所述对数据进行默克尔树化包括构造特征默克尔树和构造数据块默克尔树;
[0010]所述特征默克尔树用于数据需求满足性验证;
[0011]所述数据块默克尔树用于数据真实持有性验证。
[0012]在一些实施例中,所述构造特征默克尔树包括叶子节点层的混淆设置,所述叶子节点层的混淆包括特征值的混淆和新节点的混淆;
[0013]所述特征值的混淆通过第一随机数和特征进行哈希运算作为叶子节点值;
[0014]所述新节点的混淆通过第二随机数进行哈希运算作为所述特征默克尔树的新叶子节点。
[0015]在一些实施例中,所述数据块默克尔树包括多叉树结构;对于多个孩子节点的聚合,所述数据块默克尔树通过依次拼接各个节点哈希串的子串,对所述子串进行哈希运算。
[0016]在一些实施例中,在所述生成特征零知识证明时,特征证明电路对应秘密输入的计算过程,所述秘密输入的计算过程包括第一默克尔路径、第二默克尔路径和第一预设值;所述第一默克尔路径由叶子节点开始记录到根节点路径上兄弟节点的值得到,所述第二默克尔路径由兄弟节点的位置得到,所述第一预设值由树深计算得到。
[0017]在一些实施例中,所述智能合约包括数据声明合约和数据验证合约;所述数据声明合约用于数据声明阶段,以完成数据拥有端对待售数据的链上声明以及存证;所述数据验证合约用于完成数据真实性验证;所述数据真实性验证包括数据需求满足性验证和数据真实持有性的声明与验证。
[0018]在一些实施例中,所述数据声明合约定义了结构体,所述结构体包括数据拥有端、特征默克尔树根哈希值、数据块默克尔树根哈希值、数据特征列表和数据块集的存在性。
[0019]另一方面,本专利技术实施例提供了一种基于区块链和零知识证明的数据验证系统实现装置,所述装置的数据处理过程包括数据声明阶段和数据验证阶段,所述装置包括:
[0020]第一模块,用于在数据验证阶段,数据使用端根据验证需求向链上智能合约预付对应的数据验证费用,通过与智能合约交互完成需求满足性以及数据真实持有性的验证;所述数据使用端为数据真实性的验证方;
[0021]第二模块,用于在数据声明阶段,数据拥有端对数据进行默克尔树化并生成特征零知识证明,通过与智能合约交互完成数据的链上验证与存证;在数据验证阶段,数据拥有端回应数据真实持有性的挑战,生成挑战数据块集的存在性证明并进行链上验证与存证;所述数据拥有端为数据真实性的证明方;
[0022]其中,通过可信设置子社区设置所述零知识证明的初始化参数,通过CA机构验证用户身份的合法性;所述可信设置子社区和所述CA机构组成可信设置社区;通过区块链记录默克尔树信息、数据特性信息和挑战数据块集的存在性。
[0023]另一方面,本专利技术实施例提供了一种基于区块链和零知识证明的数据验证系统实
现装置,包括:
[0024]至少一个存储器,用于存储程序;
[0025]至少一个处理器,用于加载所述程序以执行所述的一种基于区块链和零知识证明的数据验证系统实现方法。
[0026]另一方面,本专利技术实施例提供了一种存储介质,其中存储有计算机可执行的程序,所述计算机可执行的程序被处理器执行时用于实现所述的一种基于区块链和零知识证明的数据验证系统实现方法。
[0027]本专利技术实施例提供的一种基于区块链和零知识证明的数据验证系统实现方法,具有如下
[0028]有益效果:
[0029]本专利技术通过在数据验证阶段,数据使用端根据验证需求向链上智能合约预付对应的数据验证费用,通过与智能合约交互完成需求满足性以及数据真实持有性的验证;在数据声明阶段,数据拥有端对数据进行默克尔树化并生成特征零知识证明,通过与智能合约交互本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链和零知识证明的数据验证系统实现方法,其特征在于,所述方法包括数据声明阶段和数据验证阶段,所述方法包括以下步骤:在数据验证阶段,数据使用端根据验证需求向链上智能合约预付对应的数据验证费用,通过与智能合约交互完成需求满足性以及数据真实持有性的验证;所述数据使用端为数据真实性的验证方;在数据声明阶段,数据拥有端对数据进行默克尔树化并生成特征零知识证明,通过与智能合约交互完成数据的链上验证与存证;在数据验证阶段,数据拥有端回应数据真实持有性的挑战,生成挑战数据块集的存在性证明并进行链上验证与存证;所述数据拥有端为数据真实性的证明方;其中,通过可信设置子社区设置所述零知识证明的初始化参数,通过CA机构验证用户身份的合法性;所述可信设置子社区和所述CA机构组成可信设置社区;通过区块链记录默克尔树信息、数据特性信息和挑战数据块集的存在性。2.根据权利要求1所述的一种基于区块链和零知识证明的数据验证系统实现方法,其特征在于,所述对数据进行默克尔树化包括构造特征默克尔树和构造数据块默克尔树;所述特征默克尔树用于数据需求满足性验证;所述数据块默克尔树用于数据真实持有性验证。3.根据权利要求2所述的一种基于区块链和零知识证明的数据验证系统实现方法,其特征在于,所述构造特征默克尔树包括叶子节点层的混淆设置,所述叶子节点层的混淆包括特征值的混淆和新节点的混淆;所述特征值的混淆通过第一随机数和特征进行哈希运算作为叶子节点值;所述新节点的混淆通过第二随机数进行哈希运算作为所述特征默克尔树的新叶子节点。4.根据权利要求3所述的一种基于区块链和零知识证明的数据验证系统实现方法,其特征在于,所述数据块默克尔树包括多叉树结构;对于多个孩子节点的聚合,所述数据块默克尔树通过依次拼接各个节点哈希串的子串,对所述子串进行哈希运算。5.根据权利要求1所述的一种基于区块链和零知识证明的数据验证系统实现方法,其特征在于,在所述生成特征零知识证明时,特征证明电路对应秘密输入的计算过程,所述秘密输入的计算过程包括第一默克尔路径、第二默克尔路径和第一预设值;所述第一默克尔路径由叶子节点开始记录到根节点路径上兄弟节点的值得到,所述第二默克尔路径由兄弟节点的位...

【专利技术属性】
技术研发人员:唐华魏泽铭马善思周煜赵淦森梁楚峰张俊朗
申请(专利权)人:华南师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1