一种基于零知识证明的交易方法及装置制造方法及图纸

技术编号:20845054 阅读:27 留言:0更新日期:2019-04-13 09:00
本发明专利技术提供了一种基于零知识证明的交易方法及装置,该基于零知识证明的交易方法包括:区块链上的第一节点接收到交易发起方发送的交易转账请求时,为所述交易转账请求生成对应的隐私交易地址;在所述区块链上广播所述隐私交易地址;所述交易发起方与所述交易接收方,利用所述隐私交易地址进行交易。本发明专利技术提供的方案能够降低交易过程中信息泄露的风险。

【技术实现步骤摘要】
一种基于零知识证明的交易方法及装置
本专利技术涉及计算机
,特别涉及一种基于零知识证明的交易方法及装置。
技术介绍
由于区块链具有无法被篡改的特性,其在金融、保险等领域具有广泛的应用前景。在区块链中,任意的交易双方之间的交易都会以广播的形式公布到全链的各个节点。目前,基于区块链进行的交易,交易双方的基本信息、交易信息以及交易记录等采用明文形式存储到区块链的各个节点,这样会存在泄露交易双方的基本信息、交易信息以及交易记录等信息的风险。
技术实现思路
本专利技术实施例提供了一种基于零知识证明的交易方法及装置,能够降低交易过程中信息泄露的风险。第一方面,本专利技术实施例提供了一种基于零知识证明的交易方法,包括:区块链上的第一节点接收到交易发起方发送的交易转账请求时,为所述交易转账请求生成对应的隐私交易地址;在所述区块链上广播所述隐私交易地址;所述交易发起方与所述交易接收方,利用所述隐私交易地址进行交易。可选地,在所述接收到交易发起方发送的交易转账请求之后,在所述为所述交易转账请求生成对应的隐私交易地址之前,进一步包括:解析所述交易转账请求相关的交易信息;根据所述交易信息,为所述交易发起方计算第一交易集合,利用交易接收方的一个公钥加密所述第一交易集合;将加密后的所述第一交易集合发布到所在区块链上;在接收到所述交易接收方确定所述第一交易集合为真后,执行所述为所述交易转账请求生成对应的隐私交易地址。可选地,上述基于零知识证明的交易方法进一步包括:为每一个区块链注册用户分配两个公钥和私钥;所述交易发起方和所述交易接收方均为所述区块链注册用户;所述为所述交易转账请求生成对应的隐私交易地址,包括:利用下述隐私交易地址计算公式,生成隐私交易地址;交易地址计算公式:Sadd=sha256(M×r)×Q+N其中,所述Sadd表征所述隐私交易地址;所述sha256()表征256位的哈希算法;所述M和N表征所述交易接收方的两个公钥;所述r表征所述区块链上一个共识参数;所述Q表征所述隐私交易地址的公钥;所述N表征所述交易接收方的公钥;所述利用所述隐私交易地址进行交易,包括:利用下述随机数计算公式,为所述交易发起方计算随机数;随机数计算公式:R=r×Q其中,所述R表征所述交易发起方对应的随机数;所述r表征所述区块链上一个共识参数;所述Q表征所述隐私交易地址的公钥;利用所述隐私交易地址、所述交易发起方对应的随机数以及交易金额,组成广播数组Ub=[Sadd,R,W],并广播所述广播数组,其中,Ub表征所述广播数组;所述W表征交易金额;基于所述广播数组,进行资金转账交易。可选地,所述基于所述广播数组,进行资金转账交易,包括:区块链上的第二节点接收到所述交易接收方支配所述隐私交易地址上的资金时,利用下述隐私交易地址查找公式,计算待查找隐私交易地址;P=sha256(m×R)×Q′+N其中,所述P表征待查找隐私交易地址;所述sha256()表征256位的哈希算法;所述m表征与公钥M对应的私钥;所述R表征所述交易发起方对应的随机数;所述Q′表征目标隐私交易地址的公钥;所述N表征所述交易接收方的公钥;当所述P与目标广播数组中的目标隐私交易地址绝对相同时,锁定所述目标隐私交易地址;利用下述私钥恢复公式,计算所述目标隐私交易地址的私钥;私钥恢复公式:Pk=sha256(m×R)+n其中,所述Pk表征所述目标隐私交易地址的私钥;所述sha256()表征256位的哈希算法;所述m表征与公钥M对应的私钥;所述R表征所述交易发起方对应的随机数;所述n表征与公钥N对应的私钥;利用所述目标隐私交易地址的私钥和所述交易接收方的签名,支配所述目标隐私交易地址上的资金。可选地,上述基于零知识证明的交易方法进一步包括:为所述交易发起方设置第一同态加密函数,为所述交易接收方设置第一同态解密函数,其中,所述第一同态加密函数与所述第一同态解密函数,满足下述第一加密-解密关系式;第一加密-解密关系式:(C1+C2+…+Cn)×r=D1(E1(r×C1)+E1(r×C2)+…+E1(r×Cn))其中,C1,C2,...,Cn表征各个交易细节;r表征所述区块链上一个共识参数;D1()表征所述第一同态解密函数;E1()表征所述第一同态加密函数;所述根据所述交易信息,为所述交易发起方计算第一交易集合,包括:根据下述发起交易计算公式,计算所述交易发起方的第一交易集合;发起交易计算公式:T={SignA,Ua,Ub,E1(r×C1),E1(r×C2),...,E1(r×Cn),hash(C1,C2,...Cn)}其中,T表征所述第一交易集合;SignA表征所述交易发起方的签名;Ua表征所述交易发起方的身份标识;Ub表征所述交易接收方的身份标识;r表征所述区块链上一个共识参数;E1()表征所述第一同态加密函数;C1,C2,...,Cn表征各个交易细节;hash()表征哈希算法。可选地,所述交易接收方确定所述第一交易集合为真,包括:在所述区块链上的第二节点上,所述交易接收方利用自身私钥解密所述第一交易集合;利用所述第一同态解密函数解析所述第一交易集合中的各个所述交易细节;在解析出的各个所述交易细节满足所述交易接收方预设的第一交易限制条件时,确定所述第一交易集合为真。可选地,上述基于零知识证明的交易方法进一步包括:为所述交易发起方设置第二同态解密函数,为所述交易接收方设置第二同态加密函数,其中,所述第二同态加密函数与所述第二同态解密函数,满足下述第二加密-解密关系式;第二加密-解密关系式:(G1+G2+…+Gm)×r=D2(E2(r×G1)+E2(r×G2)+…+E2(r×Gm))其中,G1,G2,...,Gm表征所述交易接收方发布的售卖虚拟产品的各个产品细节;r表征所述区块链上一个共识参数;D2()表征所述第二同态解密函数;E2()表征所述第二同态加密函数;在所述接收交易发起方发送的交易转账请求之前,进一步包括:区块链上的第二节点根据所述交易接收方发布的虚拟产品的各个产品细节,利用下述产品计算公式,计算第二交易集合;产品计算公式:M={SignB,Ub,E2(r×G1),E2(r×G2),...,E2(r×Gm),hash(G1,G2,...Gm)}其中,M表征所述第二交易集合;SignB表征所述交易接收方的签名;Ub表征所述交易接收方的身份标识;r表征所述区块链上一个共识参数;E2()表征所述第二同态加密函数;G1,G2,...Gm表征虚拟产品的各个产品细节;hash()表征哈希算法;所述第二节点将所述第二交易集合发布到所在区块链上;所述第一节点利用所述第二同态解密函数解析所述第二交易集合中的虚拟产品的各个产品细节;所述第一节点在解析出的所述虚拟产品的各个产品细节满足所述交易发起方预设的第二交易限制条件时,执行所述接收到交易发起方发送的交易转账请求。可选地,上述基于零知识证明的交易方法进一步包括:根据所述区块链的共识机制,构建下述映射关系;映射关系:username→{pubkey,flag,other}其中,所述username表征注册用户的用户名;所述pubkey表征所述注册用户的一个公钥;所述flag表征所述注册用户的特征信息;所述other表征所述注册用户的可选特征信息;所述交易本文档来自技高网...

【技术保护点】
1.一种基于零知识证明的交易方法,其特征在于,包括:区块链上的第一节点接收到交易发起方发送的交易转账请求时,为所述交易转账请求生成对应的隐私交易地址;在所述区块链上广播所述隐私交易地址;所述交易发起方与所述交易接收方,利用所述隐私交易地址进行交易。

【技术特征摘要】
1.一种基于零知识证明的交易方法,其特征在于,包括:区块链上的第一节点接收到交易发起方发送的交易转账请求时,为所述交易转账请求生成对应的隐私交易地址;在所述区块链上广播所述隐私交易地址;所述交易发起方与所述交易接收方,利用所述隐私交易地址进行交易。2.根据权利要求1所述的基于零知识证明的交易方法,其特征在于,在所述接收到交易发起方发送的交易转账请求之后,在所述为所述交易转账请求生成对应的隐私交易地址之前,进一步包括:解析所述交易转账请求相关的交易信息;根据所述交易信息,为所述交易发起方计算第一交易集合,利用交易接收方的一个公钥加密所述第一交易集合;将加密后的所述第一交易集合发布到所在区块链上;在接收到所述交易接收方确定所述第一交易集合为真后,执行所述为所述交易转账请求生成对应的隐私交易地址。3.根据权利要求1所述的基于零知识证明的交易方法,其特征在于,进一步包括:为每一个区块链注册用户分配两个公钥和私钥;所述交易发起方和所述交易接收方均为所述区块链注册用户;所述为所述交易转账请求生成对应的隐私交易地址,包括:利用下述隐私交易地址计算公式,生成隐私交易地址;交易地址计算公式:Sadd=sha256(M×r)×Q+N其中,所述Sadd表征所述隐私交易地址;所述sha256()表征256位的哈希算法;所述M和N表征所述交易接收方的两个公钥;所述r表征所述区块链上一个共识参数;所述Q表征所述隐私交易地址的公钥;所述N表征所述交易接收方的公钥;所述利用所述隐私交易地址进行交易,包括:利用下述随机数计算公式,为所述交易发起方计算随机数;随机数计算公式:R=r×Q其中,所述R表征所述交易发起方对应的随机数;所述r表征所述区块链上一个共识参数;所述Q表征所述隐私交易地址的公钥;利用所述隐私交易地址、所述交易发起方对应的随机数以及交易金额,组成广播数组Ub=[Sadd,R,W],并广播所述广播数组,其中,Ub表征所述广播数组;所述W表征交易金额;基于所述广播数组,进行资金转账交易。4.根据权利要求3所述的基于零知识证明的交易方法,其特征在于,所述基于所述广播数组,进行资金转账交易,包括:区块链上的第二节点接收到所述交易接收方支配所述隐私交易地址上的资金时,利用下述隐私交易地址查找公式,计算待查找隐私交易地址;P=sha256(m×R)×Q′+N其中,所述P表征待查找隐私交易地址;所述sha256()表征256位的哈希算法;所述m表征与公钥M对应的私钥;所述R表征所述交易发起方对应的随机数;所述Q′表征目标隐私交易地址的公钥;所述N表征所述交易接收方的公钥;当所述P与目标广播数组中的目标隐私交易地址绝对相同时,锁定所述目标隐私交易地址;利用下述私钥恢复公式,计算所述目标隐私交易地址的私钥;私钥恢复公式:Pk=sha256(m×R)+n其中,所述Pk表征所述目标隐私交易地址的私钥;所述sha256()表征256位的哈希算法;所述m表征与公钥M对应的私钥;所述R表征所述交易发起方对应的随机数;所述n表征与公钥N对应的私钥;利用所述目标隐私交易地址的私钥和所述交易接收方的签名,支配所述目标隐私交易地址上的资金。5.根据权利要求2所述的基于零知识证明的交易方法,其特征在于,进一步包括:为所述交易发起方设置第一同态加密函数,为所述交易接收方设置第一同态解密函数,其中,所述第一同态加密函数与所述第一同态解密函数,满足下述第一加密-解密关系式;第一加密-解密关系式:(C1+C2+…+Cn)×r=D1(E1(r×C1)+E1(r×C2)+…+E1(r×Cn))其中,C1,C2,...,Cn表征各个交易细节;r表征所述区块链上一个共识参数;D1()表征所述第一同态解密函数;E1()表征所述第一同态加密函数;所述根据所述交易信息,为所述交易发起方计算第一交易集合,包括:根据下述发起交易计算公式,计算所述交易发起方的第一交易集合;发起交易计算公式:T={SignA,Ua,Ub,E1(r×C1),E1(r×C2),...,E1(r×Cn),hash(C1,C2,...Cn)}其中,T表征所述第一交易集合;SignA表征所述交易发起方的签名;Ua表征所述交易发起方的身份标识;Ub表征所述交易接收方的身份标识;r表征所述区块链上一个共识参数;E1()表征所述第一同态加密函数;C1,C2,...,Cn表征各个交易细节;hash()表征哈希算法。6.根据权利要求2或5所述的基于零知识证明的交易方法,其特征在于,所述交易接收方确定所述第一交易集合为真,包括:在所述区块链上的第二节点上,所述交易接收方利用自身私钥解密所述第一交易集合;利用所述第一同态解密函数解析所述第一交易集合中的各个所述交易细节;在解析出的各个所述交易细节满足所述交易接收方预设的第一交易限制条件时,确定所述第一交易集合为真。7.根据权利要求1所述的基于零知识证明的交易方法,其特征在于,进一步包括:为所述交易发起方设置第二同态解密函数,为所述交易接收方设置第二同态加密函数,其中,所述第二同态加密函数与所述第二同态解密函数,满足下述第二加密-解密关系式;第二加密-解密关系式:(G1+G2+…+Gm)×r=D2(E2(r×G1)+E2(r×G2)+…+E2(r×Gm))其中,G1,G2,...,Gm表征所述交易接收方发布的售卖虚拟产品的各个产品细节;r表征所述区块链上一个共识参数;D2()表征所述第二同态解密函数;E2()表征所述第二同态加密函数;在所述接收交易发起方发送的交易转账请求之前,进一步包括:区块链上的第二节点根据所述交易接收方发布的虚拟产品的各个产品细节,利用下述产品计算公式,计算第二交易集合;产品计算公式:M={Si...

【专利技术属性】
技术研发人员:阮安邦魏明马飞吴扬飞郭桂生
申请(专利权)人:北京八分量信息科技有限公司
类型:发明
国别省市:北京,11

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

1