【CN109919614A】一种区块链中使用零知识证明保护智能合约隐私的方法【专利】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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