CN114499900B - 基于零知识证明的区块链隐私数据共享方法 - Google Patents
基于零知识证明的区块链隐私数据共享方法 Download PDFInfo
- Publication number
- CN114499900B CN114499900B CN202210400957.XA CN202210400957A CN114499900B CN 114499900 B CN114499900 B CN 114499900B CN 202210400957 A CN202210400957 A CN 202210400957A CN 114499900 B CN114499900 B CN 114499900B
- Authority
- CN
- China
- Prior art keywords
- data
- contract
- block chain
- owner
- proof
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 102
- 238000012795 verification Methods 0.000 claims abstract description 55
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000012216 screening Methods 0.000 description 12
- 230000008520 organization Effects 0.000 description 9
- 238000010276 construction Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- MXBCYQUALCBQIJ-RYVPXURESA-N (8s,9s,10r,13s,14s,17r)-13-ethyl-17-ethynyl-11-methylidene-1,2,3,6,7,8,9,10,12,14,15,16-dodecahydrocyclopenta[a]phenanthren-17-ol;(8r,9s,13s,14s,17r)-17-ethynyl-13-methyl-7,8,9,11,12,14,15,16-octahydro-6h-cyclopenta[a]phenanthrene-3,17-diol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1.C1CC[C@@H]2[C@H]3C(=C)C[C@](CC)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1 MXBCYQUALCBQIJ-RYVPXURESA-N 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于区块链以及产业隐私数据保护技术领域,公开了一种基于零知识证明的区块链隐私数据共享方法。该方法针对产业隐私数据难以实现在各产业机构之间共享的问题,通过智能合约实现了数据共享,同时配合零知识证明技术实现了对产业隐私数据和处理结果的真实性验证,实现了产业隐私数据对使用方的可用不可见,保证了数据的隐私性,同时避免了数据使用方对数据的二次售卖问题;针对各产业机构为保护核心数据、对核心数据造假导致的展示数据与出售数据不一的问题,本发明通过零知识证明技术将数据证明上链存证,在不公示核心数据的情况下,实现了使用方对核心数据的自主验证,保证了核心数据的真实性。
Description
技术领域
本发明属于区块链以及产业隐私数据保护技术领域,尤其涉及一种基于零知识证明的区块链隐私数据共享方法。
背景技术
随着数字化产业的快速发展,产业大数据的安全问题越来越受重视,区块链因其去中心化、安全可信、共同维护等特点,为产业大数据的同步共享提供了可信的通信环境。
目前,基于区块链的产业大数据同步方法,也逐渐成为各大产业机构之间进行数据同步共享的主要方式,各大产业机构在进行产业数据共享时,往往需要将产业数据进行上链存储,此种方式虽然公开透明,但是在实际中存在如下几个方面的问题:
1. 产业机构在进行产业大数据交易共享时,部分产业数据中往往包含各种隐私数据,隐私数据在各产业机构之间难以实现真正的共享,导致隐私数据的浪费;
2. 容易造成隐私数据的泄露。产业数据出售之后,使用方可本地保存,一次交易、可多次使用,不法购买方可进行二次售卖,不利于维护数据原有方的权益;
3. 隐私数据容易被修改,导致购买方无法验证隐私数据的真实性。
部分产业机构在出售产业数据时,为保护核心数据(即隐私数据),会对各种核心数据进行修改,将错误的数据贡献给使用方,而使用方无法得知购买数据的真实性。
发明内容
本发明的目的在于提出一种基于零知识证明的区块链隐私数据共享方法,使得产业数据无需上链公开即可实现使用共享,保证了数据的隐私性,同时确保了数据的真实性。
本发明为了实现上述目的,采用如下技术方案:
基于零知识证明的区块链隐私数据共享方法,包括如下步骤:
步骤1. 数据所有方利用哈希算法对待共享数据进行计算得到数据哈希值,然后基于待共享数据、数据哈希值和数据摘要,利用零知识证明生成数据证明;
其中,数据摘要是指对待共享数据内容的相关描述信息,由数据所有方提供;
进一步生成包含数据所有方ID、数据所有方区块链节点ID、数据哈希值、数据摘要、数据证明、证明密钥、验证秘钥以及所有方私钥签名在内的数据存证记录;
所有方私钥签名是指采用数据所有方的私钥对数据哈希值加密得到的私钥签名;
数据所有方通过数据所有方区块链节点调用数据上链合约,将数据存证记录存储到区块链上;其中,待共享数据存储在数据所有方的本地数据库中;
数据上链合约是指将本地数据上传到区块链中的合约,用于上传各种区块链记录;
步骤2. 数据使用方浏览区块链上存储的多个数据存证记录,并根据相应数据存证记录中公开的数据摘要信息,选定目标数据对应的数据存证记录;
数据使用方通过数据使用方区块链节点调用零知识证明验证合约,验证目标数据的真实性,并获得目标数据真实性的验证结果;
验证通过后,数据使用方通过数据使用方区块链节点将数据处理合约部署到区块链上;
数据使用方生成数据使用申请,并通过数据使用方区块链节点调用数据上链合约,将数据使用申请广播到区块链中的所有区块链节点;
数据使用申请包括数据使用方ID、数据使用方区块链节点ID、目标数据哈希值、数据处理合约ID、数据所有方ID、数据所有方区块链节点ID以及使用方私钥签名;
使用方私钥签名是指采用数据使用方的私钥对目标数据哈希值加密得到的私钥签名;
零知识证明验证合约是指验证零知识证明的合约;
数据处理合约是指对数据使用方用于对目标数据进行数据处理的合约;
步骤3. 数据所有方通过数据所有方区块链节点收到数据使用申请之后,调用数据传输合约将存储在本地数据库中的目标数据传输到数据处理合约中;
数据传输合约是指将目标数据传输到目标数据处理合约的公用合约;
数据处理合约对目标数据进行数据处理,并将处理结果返回给数据传输合约,数据所有方通过数据所有方区块链节点从数据传输合约中获取处理结果;
数据所有方基于目标数据、目标数据哈希值、目标数据摘要、数据处理合约ID以及处理结果,利用零知识证明生成回复证明;
进一步生成包括所有方ID、数据处理合约ID、处理结果、使用方ID、目标数据哈希值、目标数据证明、证明密钥、验证秘钥以及回复证明在内的数据处理回复;
数据所有方通过数据所有方区块链节点调用数据上链合约,并将生成的数据处理回复广播到区块链中的所有区块链节点;
步骤4. 数据使用方通过数据使用方区块链节点接收到数据处理回复后,调用零知识证明验证合约,验证处理结果的真实性,并获得处理结果真实性的验证结果;
若验证结果为真,则实现待共享数据从数据所有方到数据使用方的使用共享。
本发明具有如下优点:
如上所述,本发明述及了一种基于零知识证明的区块链隐私数据共享方法,该方法针对产业隐私数据难以实现在各产业机构之间共享的问题,通过智能合约实现了数据共享,同时配合零知识证明技术实现了对产业隐私数据和处理结果的真实性验证,进而实现了产业隐私数据对使用方的可用不可见,从而保证了产业数据的隐私性,同时,避免了数据使用方对数据的二次售卖问题;针对各产业机构为保护核心数据、对核心数据造假,导致的展示数据与出售数据不一的问题,本发明通过零知识证明技术,将数据证明上链存证,在不公示核心数据的情况下,实现了使用方对核心数据的自主验证,保证了核心数据的真实性。
附图说明
图1为本发明实施例中基于零知识证明的区块链隐私数据共享方法的流程框图。
具体实施方式
本发明的基本构思为:提出一种基于零知识证明的区块链隐私数据共享方法,使得产业数据无需上链公开,即可实现使用共享,产业数据对使用方可用不可见。
此种产业数据的共享方式,一方面,可以保证数据贡献方(所有方)数据的隐私性,另一方面,数据使用方可自行购买验证数据的真实性,从而解决数据真实性问题。
基于以上发明构思,本发明首先搭建一个包含多个数据所有方以及多个数据使用方在内的用于产业数据共享的区块链网络。其中,在搭建的区块链网络中:
每个数据所有方处分别部署一台计算机,并对应一个数据所有方区块链节点,每个数据使用方处分别部署一台计算机,并对应一个数据使用方区块链节点。
此外,在区块链网络中的所有节点上部署智能合约,部署的智能合约包括数据上链合约、零知识证明验证合约以及数据传输合约。以上各个智能合约的作用分别如下:
数据上链合约是指将本地数据上传存储到区块链中,用于上传各种区块链记录。
零知识证明验证合约是指验证零知识证明的合约,在区块链网络搭建之初,由管理员用户将零知识证明验证合约部署到区块链中的各个区块链节点上。
数据传输合约是指将本地的目标数据传输到目标数据处理合约的公用合约,该数据传输合约也是区块链网络搭建之初部署在区块链网络中的各个区块链节点中。
下面结合附图以及具体实施方式对本发明做进一步详细说明:
如图1所示,基于零知识证明的区块链隐私数据共享方法,包括如下步骤:
步骤1. 数据所有方利用哈希算法对待共享数据进行计算得到数据哈希值,然后基于待共享数据、数据哈希值和数据摘要,利用零知识证明生成数据证明。
其中,数据所有方是指某个出售数据的产业机构。
数据哈希值是指通过哈希算法对数据计算得到的数字化摘要,计算过程如公式(1)所示:
数据哈希值=Hash (数据) 公式(1)
数据摘要是指对待共享数据内容的相关描述信息,由数据所有方提供。
数据证明Proof的计算过程如公式(2)所示:
数据证明Proof =Gen{gk,(数据、数据哈希值、数据摘要)} 公式(2)
其中,gk表示零知识证明的证明密钥,用于生成数据证明,对应的用于验证数据证明正确性的秘钥为验证秘钥vk,其中,证明密钥gk和验证秘钥vk均公开。
区块链上所有用户均可采用上述密钥生成或验证数据证明,其中:
在生成数据证明时,需要使用公式(2)中的所有参数,而验证数据证明只需用其中的公开参数,此处的公开参数为数据证明、gk、数据哈希值和数据摘要。
生成函数为Gen(gk,所有相关参数),验证函数为Ver(vk,公开参数)。
进一步生成包含数据所有方ID、数据所有方区块链节点ID、数据哈希值、数据摘要、数据证明Proof、证明密钥gk、验证秘钥vk以及所有方私钥签名在内的数据存证记录。
其中,所有方私钥签名是指采用数据所有方的私钥对数据哈希值加密得到的私钥签名。
数据所有方通过数据所有方区块链节点调用数据上链合约,将数据存证记录存储到区块链上;其中,待共享数据存储在数据所有方的本地数据库中。
步骤2. 数据使用方浏览区块链上存储的多个数据存证记录,并根据相应数据存证记录中公开的数据摘要信息,选定目标数据对应的数据存证记录。
数据使用方是指某个购买产业数据并使用的产业机构。
其中,数据使用方通过数据使用方区块链节点调用零知识证明验证合约,验证目标数据的真实性,并获得目标数据真实性的验证结果。
此处,验证结果是指采用零知识证明算法对数据存证记录中数据证明的验证结果。
验证结果的计算过程如公式(3)所示:
验证结果=Ver{vk,(数据证明、数据哈希值、数据摘要)} 公式(3)
验证通过后,数据使用方通过数据使用方区块链节点将数据处理合约部署到区块链上。其中,数据处理合约是指对数据使用方用于对目标数据进行数据处理的合约。
通过数据处理合约对目标数据进行处理,得到需要的处理结果,实现了数据使用方对产业数据的使用而不可见的使用共享,进而确保了数据所有方数据的隐私性。
数据使用方生成数据使用申请,并通过数据使用方区块链节点调用数据上链合约,将数据使用申请广播到区块链中的所有区块链节点。
数据使用申请包括数据使用方ID、数据使用方区块链节点ID、目标数据哈希值、数据处理合约ID、数据所有方ID、数据所有方区块链节点ID以及使用方私钥签名。
使用方私钥签名是指采用数据使用方的私钥对目标数据哈希值加密得到的私钥签名。
步骤3. 数据所有方通过数据所有方区块链节点收到数据使用申请之后,调用数据传输合约将存储在本地数据库中的目标数据传输到数据处理合约中。
本实施例中数据传输合约是将目标数据上传到数据处理合约供其使用,数据本身并不会在区块链中存证,而数据上链合约是将各种记录存证到区块链中,是永久存在的。
二者的区别是一个存到链上,一个并不存到链上,存到链上意味着公开。
数据处理合约对目标数据进行数据处理,并将处理结果返回给数据传输合约,数据所有方通过数据所有方区块链节点从数据传输合约中获取处理结果。
数据所有方基于目标数据、目标数据哈希值、目标数据摘要、数据处理合约ID以及处理结果,利用零知识证明生成回复证明,其中,目标数据哈希值、目标数据摘要、数据处理合约ID、处理结果、证明密钥gk、回复证明均为公开参数。
回复证明是指用数据处理合约对目标数据计算所得结果的证明,如公式(4)所示:
回复证明= Gen {gk,(目标数据、目标数据哈希值、目标数据摘要、数据处理合约ID、处理结果)} 公式(4)
进一步生成包括所有方ID、数据处理合约ID、处理结果、使用方ID、目标数据哈希值、目标数据证明、证明密钥、验证秘钥以及回复证明在内的数据处理回复。
数据所有方通过数据所有方区块链节点调用数据上链合约,并将生成的数据处理回复广播到区块链中的所有区块链节点。
步骤4. 数据使用方通过数据使用方区块链节点接收到数据处理回复后,调用零知识证明验证合约,验证处理结果的真实性,并获得处理结果真实性的验证结果。
验证处理结果的真实性的计算过程如公式(5)所示:验证结果=Ver{vk,(回复证明、目标数据哈希值、目标数据摘要、数据处理合约ID、处理结果)} 公式(5)
若验证结果为真,则实现待共享数据从数据所有方到数据使用方的使用共享。此时,数据使用方可依据可信的处理结果进行相关决策,比如生产或投资建设等。
本发明通过对隐私数据以及处理结果分别进行零知识证明验证,以确保对产业隐私数据和处理结果的真实性验证,实现了产业隐私数据对使用方的可用不可见,从而保证了产业数据的隐私性,避免了所有方隐私数据泄露的问题以及隐私数据的二次售卖问题。
下面以医药机构选址时,多个园区、产业机构在进行产业数据同步共享时的具体场景作为应用实例,对本发明述及的区块链隐私数据共享方法作进一步详细说明。
目前,医药公司在进行选址时,需要分析各种园区、机构的产业数据,但产业数据中往往包含各种园区、机构的各种隐私数据,例如园区规划、政策补贴以及同类型公司的相关数据等数据。为了保证园区、机构的产业数据在进行共享时,其隐私数据不会泄露,同时保证隐私数据的真实性,本应用实例给出了如下基于零知识证明的区块链隐私数据共享方法。
步骤1. 数据所有方A利用哈希算法对待共享数据a进行计算得到数据哈希值Hash_a,然后基于数据a、Hash_a和数据摘要I_a,利用零知识证明生成数据证明Proof_a。
数据所有方A是指某个出售数据的产业机构,在此应用实例中具体是指某个出售数据的园区及医药产业机构,数据所有方A出售的相关数据为园区未来规划、政府补贴策略以及医药产业机构的经营范围、知识产权、控股企业、盈亏情况等数据。
数据哈希值Hash_a的计算过程如公式(1)所示:Hash_a=Hash (a) 公式(1)
数据摘要I_a是指对待共享数据内容的相关描述信息,由数据所有方提供。
数据证明Proof_a的计算过程如公式(2)所示:
数据证明Proof_a =Gen{gk,(a、Hash_a、I_a)} 公式(2)
其中,gk表示零知识证明的证明密钥,用于生成数据证明Proof,对应的用于验证数据证明Proof正确性的秘钥为验证秘钥vk,其中,证明密钥gk和验证秘钥vk均公开。
所有链上用户均可采用上述密钥生成或验证数据证明Proof。
生成包含数据所有方ID、数据所有方区块链节点ID、数据哈希值、数据摘要、数据证明Proof、证明密钥gk、验证秘钥vk以及所有方私钥签名在内的数据存证记录Message_a。
Message_a={所有方A_ID;节点PA;Hash_a;I_a;Proof_a;gk;vk;APri_Ha}。
其中,APri_Ha为所有方A对Hash_a的私钥签名。
数据所有方A通过节点PA调用数据上链合约,将数据存证记录Message_a存储到区块链上;其中,待共享数据存储a在数据所有方A的本地数据库中。
步骤2. 数据使用方B浏览区块链上存储的多个数据存证记录,并根据相应数据存证记录中公开的数据摘要信息,选定目标数据(例如数据a)对应的数据存证记录。
数据使用方B是指某个购买产业数据并使用的产业机构,在此应用实例中具体是指需要购买各种园区、机构的产业数据并利用这些产业数据进行选址的医疗机构。
数据使用方B通过节点PB调用零知识证明验证合约,验证目标数据a的真实性,并获得目标数据a真实性的验证结果。验证结果的计算过程如公式(3)所示:
验证结果=Ver{vk,(Proof_a、Hash_a、I_a)} 公式(3)
验证通过表示存在数据a,Proof_a为其零知识证明,Hash_a为其数据哈希值、I_a为其摘要信息,数据使用方B通过节点PB将数据处理合约部署到区块链上。
数据处理合约是指对数据使用方用于对目标数据进行数据处理的合约,由于本应用实例中需要进行医疗机构选址,此处数据处理合约为打标筛选合约ChaincodeB_a。
打标筛选合约是依据使用方选址需求对目标数据a进行处理的打标筛选算法,通过对目标数据a的具体属性进行打标筛选,选出最适合医药机构进行投资建设的地址或园区。
需要说明的是,打标筛选算法在选址技术领域属于常用的算法,并非本发明的创新之处,因此,在本发明应用实例中并不对该打标筛选算法进行详细展开论述。
通过打标筛选合约ChaincodeB_a对目标数据a进行打标筛选处理,得到需要的处理结果,即选出最适合医药机构进行投资建设的地址或园区,从而实现了数据使用方B对产业数据a的使用而不可见的使用共享,确保了数据所有方数据a的隐私性。
数据使用方B生成数据使用申请Request_a={使用方B_ID;节点PB_ID;Hash_a;合约ChaincodeB_a名称;所有方A_ID;节点PA_ID;私钥签名BPri_Ha}。
其中,BPri_Ha为使用方B对Hash_a的私钥签名。数据使用方B通过节点PB调用数据上链合约,将数据使用申请Request_a广播到区块链中的所有区块链节点。
步骤3. 数据所有方A通过节点PA收到数据使用申请Request_a之后,调用数据传输合约将存储在本地数据库中的目标数据a传输到打标筛选合约ChaincodeB_a中。
打标筛选合约ChaincodeB_a对目标数据a进行数据处理,通过对目标数据a的具体属性进行打标筛选,选出最适合医药机构进行投资建设的地址或园区。
打标筛选合约ChaincodeB_a将处理结果ResultB_a返回给数据传输合约,数据所有方A通过节点PA从数据传输合约中获取处理结果ResultB_a。
数据所有方基于目标数据a、目标数据哈希值Hash_a、目标数据摘要I_a、合约ChaincodeB_a名称以及处理结果ResultB_a,利用零知识证明生成回复证明Proof_Ra。
回复证明Proof_Ra= Gen {gk,(目标数据a、目标数据哈希值Hash_a、目标数据摘要I_a、合约ChaincodeB_a名称、处理结果ResultB_a)} 公式(4)
生成包括所有方ID、数据处理合约ID、处理结果、使用方ID、目标数据哈希值、目标数据证明、证明密钥、验证秘钥以及回复证明在内的数据处理回复ReplyB_a。
数据处理回复ReplyB_a={所有方A_ID;合约ChaincodeB_a名称;处理结果ResultB_a;使用方B_ID;Hash_a;I_a;Proof_a;gk;vk;Proof_Ra }。数据所有方A通过节点PA调用数据上链合约,并将生成的数据处理回复ReplyB_a广播到区块链中的所有区块链节点。
步骤4. 数据使用方B通过节点PB接收到数据处理回复ReplyB_a后,调用零知识证明验证合约,验证处理结果ResultB_a的真实性,并获得处理结果真实性的验证结果。
验证处理结果ResultB_a的真实性的计算过程如公式(5)所示:
验证结果=Ver{vk,(回复证明Proof_Ra、目标数据哈希值Hash_a、目标数据摘要I_a、合约ChaincodeB_a名称、处理结果ResultB_a)} 公式(5)
若处理结果ResultB_a可信,则实现待共享数据a从数据所有方A到数据使用方B的使用共享,此种共享方式为可用但不可见的使用共享。
通过以上使用共享方式,有效地解决了目前大数据在基于区块链等方法进行数据共享的过程中,导致所有方隐私数据泄露的问题以及隐私数据的二次售卖问题。
同时通过零知识证明技术,在不公开产业核心数据的情况下,实现了使用方对数据以及处理结果真实性的自主验证,避免了数据所有方的展示数据与售卖数据不一致的问题。
数据使用方依据可信的处理结果,选取最适合医药机构的地址或园区进行投资建设。
本发明很好地实现了产业隐私数据在各产业机构之间的共享,同时配合零知识证明技术实现了对产业隐私数据和处理结果的真实性验证,实现了产业隐私数据对使用方的可用不可见,从而保证了产业数据的隐私性,同时,避免了数据使用方对数据的二次售卖。
此外,针对各产业机构为保护核心数据、对核心数据造假,导致的展示数据与出售数据不一的问题,本发明通过零知识证明技术,将数据证明上链存证,在不公示核心数据的情况下,实现了使用方对核心数据的自主验证,保证了核心数据的真实性。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。
Claims (5)
1.基于零知识证明的区块链隐私数据共享方法,其特征在于,包括如下步骤:
步骤1. 数据所有方利用哈希算法对待共享数据进行计算得到数据哈希值,然后基于待共享数据、数据哈希值和数据摘要,利用零知识证明生成数据证明;
其中,数据摘要是指对待共享数据内容的相关描述信息,由数据所有方提供;
进一步生成包含数据所有方ID、数据所有方区块链节点ID、数据哈希值、数据摘要、数据证明、证明密钥、验证秘钥以及所有方私钥签名在内的数据存证记录;
所有方私钥签名是指采用数据所有方的私钥对数据哈希值加密得到的私钥签名;
数据所有方通过数据所有方区块链节点调用数据上链合约,将数据存证记录存储到区块链上;其中,待共享数据存储在所述数据所有方的本地数据库中;
所述数据上链合约是指将本地数据上传到区块链中的合约,用于上传各种区块链记录;
步骤2. 数据使用方浏览区块链上存储的多个数据存证记录,并根据相应数据存证记录中公开的数据摘要信息,选定目标数据对应的数据存证记录;
所述数据使用方通过数据使用方区块链节点调用零知识证明验证合约,验证目标数据的真实性,并获得目标数据真实性的验证结果;
验证通过后,数据使用方通过数据使用方区块链节点将数据处理合约部署到区块链上;
所述数据使用方生成数据使用申请,并通过所述数据使用方区块链节点调用所述数据上链合约,将所述数据使用申请广播到区块链中的所有区块链节点;
所述数据使用申请包括数据使用方ID、数据使用方区块链节点ID、目标数据哈希值、数据处理合约ID、数据所有方ID、数据所有方区块链节点ID以及使用方私钥签名;
使用方私钥签名是指采用数据使用方的私钥对目标数据哈希值加密得到的私钥签名;
所述零知识证明验证合约是指验证零知识证明的合约;
所述数据处理合约是指对数据使用方用于对目标数据进行数据处理的合约;
步骤3. 数据所有方通过所述数据所有方区块链节点收到所述数据使用申请之后,调用数据传输合约将存储在本地数据库中的目标数据传输到所述数据处理合约中;
所述数据传输合约是指将目标数据传输到目标数据处理合约的公用合约;
数据处理合约对目标数据进行数据处理,并将处理结果返回给数据传输合约,数据所有方通过所述数据所有方区块链节点从数据传输合约中获取所述处理结果;
数据所有方基于所述目标数据、目标数据哈希值、目标数据摘要、数据处理合约ID以及处理结果,利用零知识证明生成回复证明;
进一步生成包括所有方ID、数据处理合约ID、处理结果、使用方ID、目标数据哈希值、目标数据证明、证明密钥、验证秘钥以及回复证明在内的数据处理回复;
数据所有方通过所述数据所有方区块链节点调用所述数据上链合约,并将生成的所述数据处理回复广播到区块链中的所有区块链节点;
步骤4. 数据使用方通过数据使用方区块链节点接收到所述数据处理回复后,调用所述零知识证明验证合约,验证处理结果的真实性,并获得处理结果真实性的验证结果;
若验证结果为真,则实现待共享数据从数据所有方到数据使用方的使用共享。
2.根据权利要求1所述的基于零知识证明的区块链隐私数据共享方法,其特征在于,
所述步骤1中,数据哈希值的计算过程如公式(1)所示:
数据哈希值=Hash (待共享数据) 公式(1)
所述步骤1中,数据证明的计算过程如公式(2)所示:
数据证明=Gen{gk,(待共享数据、数据哈希值、数据摘要)} 公式(2)
其中,Gen{}表示生成函数,gk表示零知识证明的证明密钥,用于生成数据证明,对应的用于验证数据证明正确性的秘钥为验证秘钥vk,其中,证明密钥gk和验证秘钥vk均公开。
3.根据权利要求2所述的基于零知识证明的区块链隐私数据共享方法,其特征在于,
所述步骤2中,验证目标数据的真实性的计算过程如公式(3)所示:
验证结果=Ver{vk,(数据证明、数据哈希值、数据摘要)} 公式(3)
其中,Ver{}表示验证函数。
4.根据权利要求3所述的基于零知识证明的区块链隐私数据共享方法,其特征在于,
所述步骤3中,回复证明的计算过程如公式(4)所示:回复证明= Gen {gk,(目标数据、目标数据哈希值、目标数据摘要、数据处理合约ID、处理结果)} 公式(4)。
5.根据权利要求4所述的基于零知识证明的区块链隐私数据共享方法,其特征在于,
所述步骤4中,验证处理结果的真实性的计算过程如公式(5)所示:验证结果=Ver{vk,(回复证明、目标数据哈希值、目标数据摘要、数据处理合约ID、处理结果)} 公式(5)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210400957.XA CN114499900B (zh) | 2022-04-18 | 2022-04-18 | 基于零知识证明的区块链隐私数据共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210400957.XA CN114499900B (zh) | 2022-04-18 | 2022-04-18 | 基于零知识证明的区块链隐私数据共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114499900A CN114499900A (zh) | 2022-05-13 |
CN114499900B true CN114499900B (zh) | 2022-07-12 |
Family
ID=81489584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210400957.XA Active CN114499900B (zh) | 2022-04-18 | 2022-04-18 | 基于零知识证明的区块链隐私数据共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114499900B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781521A (zh) * | 2018-12-06 | 2020-02-11 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法及系统 |
CN112765268A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 基于区块链的数据隐私保护方法、装置及设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210017432A (ko) * | 2019-08-08 | 2021-02-17 | 한국전자통신연구원 | 블록체인 기반 개인정보 관리 장치 및 방법 |
US11514439B2 (en) * | 2020-02-26 | 2022-11-29 | Nice Ltd. | System and method using zero knowledge proofs for alert sharing |
US20230198777A1 (en) * | 2020-05-28 | 2023-06-22 | Koninklijke Philips N.V. | Authenticating a public key of a first person |
CN111770200B (zh) * | 2020-08-31 | 2020-12-08 | 支付宝(杭州)信息技术有限公司 | 一种信息共享方法和系统 |
CN113746824B (zh) * | 2021-08-26 | 2023-09-12 | 浙商银行股份有限公司 | 基于区块链跨链的隐私数据共享方法、设备及存储介质 |
CN113505398A (zh) * | 2021-09-09 | 2021-10-15 | 杭州费尔斯通科技有限公司 | 产业大数据安全共享的方法、系统、电子装置和存储介质 |
CN114143080A (zh) * | 2021-11-30 | 2022-03-04 | 兰州理工大学 | 基于零知识证明的区块链数据隐私保护和共享方法 |
CN114244534A (zh) * | 2021-12-21 | 2022-03-25 | 杭州趣链科技有限公司 | 数据存储方法、装置、设备和存储介质 |
-
2022
- 2022-04-18 CN CN202210400957.XA patent/CN114499900B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781521A (zh) * | 2018-12-06 | 2020-02-11 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法及系统 |
CN112765268A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 基于区块链的数据隐私保护方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114499900A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409122B (zh) | 文件存储方法及其电子设备、存储介质 | |
EP4120114A1 (en) | Data processing method and apparatus, smart device and storage medium | |
CN109889504B (zh) | 去中心化数据访问权交易方法及系统 | |
CN107274139A (zh) | 仓单数据管理方法和计算机可读介质 | |
WO2019007396A1 (zh) | 基于智能合约进行加密交易的方法和装置以及区块链 | |
US20210182872A1 (en) | Smart logistics management using blockchain | |
CN111444273B (zh) | 一种基于区块链的数据授权方法以及装置 | |
CN111444550A (zh) | 基于区块链的业务数据的验证方法、装置及可读存储介质 | |
CN114329529A (zh) | 一种基于区块链的资产数据管理方法及系统 | |
CN109600366A (zh) | 基于区块链的保护用户数据隐私的方法及装置 | |
US11356258B2 (en) | Methods and systems for distributed cryptographically secured data validation | |
CN109785170A (zh) | 基于区块链的投保方法、基于区块链的投保系统 | |
CN109636610B (zh) | 一种去中心化的数据交易系统及方法 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN112035863B (zh) | 一种基于智能合约方式的电子合同取证方法及系统 | |
US20210319479A1 (en) | Blockchain-based system and method for peer-to-peer online advertising auction | |
WO2021017635A1 (zh) | 一种数字资产金融系统 | |
CN114499900B (zh) | 基于零知识证明的区块链隐私数据共享方法 | |
CN113034138A (zh) | 一种基于区块链的隐私保护方法 | |
CN111552950A (zh) | 一种软件授权方法、装置及计算机可读存储介质 | |
CN111507818A (zh) | 一种基于区块链的信息共享方法、装置及存储介质 | |
CN115794947A (zh) | 数据同步方法、装置、存储介质及电子设备 | |
CN115776384A (zh) | 一种基于区块链的民航网络安全威胁情报共享方法 | |
CN111125734B (zh) | 一种数据处理方法及系统 | |
CN111460492A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310051 floor 7, block B, No. 482 Qianmo Road, Binjiang District, Hangzhou, Zhejiang Patentee after: Huoshi Creation Technology Co.,Ltd. Address before: 310051 floor 7, block B, No. 482 Qianmo Road, Binjiang District, Hangzhou, Zhejiang Patentee before: HANGZHOU FIRESTONE TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |