【CN109919614A】一种区块链中使用零知识证明保护智能合约隐私的方法【专利】

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 (43)申请公布日 (21)申请号 201910150108.1

(22)申请日 2019.02.28

(71)申请人 北京科技大学

地址 100083 北京市海淀区学院路30号

(72)发明人 程旭辉 黄旗明 梅宇 

(74)专利代理机构 北京市广友专利事务所有限

责任公司 11237

代理人 张仲波

(51)Int.Cl.

G06Q 20/38(2012.01)

G06F 21/62(2013.01)

(54)发明名称

一种区块链中使用零知识证明保护智能合

约隐私的方法

(57)摘要

本发明涉及一种区块链中使用零知识证明

保护智能合约隐私的方法,包括:构建一个可以

保护智能合约隐私的系统,该系统分为三部分:

第一、使用基于格问题提出的零知识证明协议构

建一个部署与区块链上的公共智能合约,用于用

户合约的调用,执行和验证,以期达到保护用户

合约运行和执行结果的隐私性;第二、构建一个

对所存储的用户合约仅返回合约哈希值的分布

式存储网络,以期达到保护用户合约源代码隐私

的目的;第三、可以为用户提供包含合约部署和

调用接口的用户端,以便和区块链平台以及分布

式存储网络进行交互。权利要求书2页 说明书5页 附图3页CN 109919614 A 2019.06.21

C N 109919614

A

1.一种区块链中使用零知识证明保护智能合约隐私的方法,其特征在于,包括:构建一个可以保护智能合约隐私的系统,该系统分为三部分:部署于区块链上的公共智能合约,分布式存储网络以及与区块链和分布式存储网络交互的用户端。

2.根据权利要求1所述的方法,其特征在于,部署所述公共智能合约的步骤包括:

首先基于格问题提出一种零知识证明协议算法,并基于该算法,使用编程语言开发一个公共智能合约,将公共智能合约部署到区块链上,在用户准备执行自己私人智能合约的时候,调用该公共智能合约来实现私人合约的调用、执行和验证过程。

3.根据权利要求2所述的方法,其特征在于:所述零知识证明协议算法的工作步骤包括:

加密算法:输入:公钥pk=(a,t,p,

q)以及

挑战域:χ={c∈R:||c||∞=1,||c||1≤36},

加密哈希函数标准差:输出:零知识证明密文

第一步:在集合S k 中随机均匀的选取随机向量;第二步:

利用公式计算得出密文证明π中

的其中I k 为k维的单位矩阵,0k ×k 为元素均为0的k维矩阵,为用户要加密的明文;

第三步:对于集合

从中随机选取向量

第四步:

计算

第五步:

计算

第六步:

使得

第七步:判断如下条件,如果||z||∞>6·σ,则返回第三步,

否则输出零知识证明验证算法:输入:

零知识证明公钥pk=(a,t,p,q),加密使用的哈希函数H,标准差σ,输出为0或者1,0代表验证失败,1代表验证通过;

权 利 要 求 书1/2页2CN 109919614 A

相关文档
最新文档