[发明专利]一种基于区块链的密码货币交易隐私保护方法及系统有效
申请号: | 201810332361.4 | 申请日: | 2018-04-13 |
公开(公告)号: | CN108737068B | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 任伟;肖睿阳 | 申请(专利权)人: | 中国地质大学(武汉) |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;H04L29/06;G06Q20/38;G06Q20/06;G06F21/64 |
代理公司: | 武汉知产时代知识产权代理有限公司 42238 | 代理人: | 龚春来 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于区块链的密码货币交易隐私保护方法及系统,所述方法包含如下步骤:形成混币组、创建混币器钱包、货币汇总、发送混币需求、接收混币需求、创建混币交易、混币交易签名、交易信息发送及混币信息验证。本方法可以用于保护区块链交易隐私信息,设计出的基于随机节点的混币方法,可以割裂交易双方之间的直接联系,消除交易信息之间的发送方和接收方的关联性,从而达到保护密码货币交易隐私的目的。 | ||
搜索关键词: | 一种 基于 区块 密码 货币 交易 隐私 保护 方法 系统 | ||
【主权项】:
1.一种基于区块链的密码货币交易隐私保护方法,其特征在于,包含如下步骤:S1、形成混币组:区块链的混币节点P向全网节点广播混币请求MSG_REQUEST,同一时间段内广播混币请求MSG_REQUEST的m个混币节点P组成混币组PGROUP,全部混币节点P随机按顺序产生不重复的编号Pi,其中1≤i≤m;S2、创建混币器钱包:混币组PGROUP随机选取一个公开的大素数p和公开的本原元g∈Zp*,其中Zp*为p‑1阶循环乘法群,每个混币节点Pi均随机选取一个整数xi作为混币器私钥碎片,混币器节点P1计算出y1=gx1mod p并将y1发送给P2,P2计算出y2=y1x2mod p=gx1x2mod p并将y2发送给p3,以此类推,最终混币节点Pm计算出ym=(ym‑1)xmmod p=gx1x2...xmmod p,混币组PGROUP将ym记为混币器完整公钥pubkey,混币组PGROUP根据混币器完整公钥pubkey通过哈希运算得hash(gx1+x2+...+xm),记为混币器钱包地址Address,其中,1≤i≤m,1≤xi≤p‑2;S3、货币汇总:混币组PGROUP内各个节点Pi将参与混币的货币生成同一笔交易Co_Mes并分别形成签名SIGNPi_Co_MES后,所述交易的输出地址为混币器公钥地址Address,其中1≤i≤m;S4、发送混币需求:混币节点Pi任意选择所述混币组PGROUP中的任一混币节点Pj发送混币需求信息Mi,其中1≤i,j≤m且i≠j;S5、接收混币需求:混币节点Pj接收混币节点Pi发送的混币需求信息Mi,若混币节点Pj参与混币的剩余金额LAST_Sj大于或等于混币需求信息Mi中的混币需求金额Mi_Si,则Pj接收该笔混币需求信息Mi并在PGROUP中广播接收信息Rj;若混币节点Pj参与混币的剩余金额LAST_Sj小于混币需求信息Mi中的混币需求金额Mi_Si,则Pj部分接收该笔混币需求信息Mi并在PGROUP中广播部分接收信息Rj,同时Pj将未被满足的混币需求信息Mi’按照步骤S4继续发送混币需求,此后Pj不再继续接取混币需求,其中,1≤i,j≤m且i≠j;S6、创建混币交易:当混币节点Pi收到全部接收信息Rj后,验证是否存在接收信息,使得混币节点Pi发出的全部混币需求均被满足,且验证是否全部接收信息上的目标金额等于混币器钱包上全部金额,若均通过验证,则随机选择其中一个混币节点Pi根据全部接收信息R生成混币交易信息FINAL,并将FINAL在PGROUP中广播;若不能通过验证,返回步骤S4重新发送全部混币需求,其中,1≤i≤m;S7、混币交易签名:每个混币节点Pi均随机选取一个秘密整数ki,ki均与p‑1互质,混币器节点P1计算出r1=gk1mod p和v1=x1*gk1mod p并将r1、v1发送给P2,P2计算出r2=r1k2mod p=gk1k2mod p和v2=v1*x2*gk2mod p=x1*x2*gk1+k2mod p并将r2、v2发送给p3,以此类推,最终混币节点Pm计算出rm=(rm‑1)kmmod p=gk1k2...kmmod p和vm=(vm‑1)*xm*gkmmod p=x1*x2*...*xm*gk1+k2+...+kmmod p,混币组PGROUP将rm记为混币器签名1,混币器节点P1计算出s1=(FINAL‑vm)*k1‑1mod(p‑1)并将s1发送给P2,P2计算出s2=s1*k2‑1mod(p‑1)=(FINAL‑vm)*k1‑1*k2‑1mod(p‑1),以此类推,最终混币节点Pm计算出sm=(sm‑1)*km‑1mod(p‑1)=(FINAL‑vm)*k1‑1*k2‑1*...*km‑1mod(p‑1),混币组PGROUP将sm记为混币器签名3,混币器节点Pm计算出dm=gkmmod p并将dm发送给(Pm‑1),(Pm‑1)计算出(dm‑1)=dm*gkm‑1mod p=gkm+km‑1mod p并将(dm‑1)发送给(Pm‑2),以此类推,最终混币节点Pm计算出d1=d2*gk1mod p=gk1+k2+...+kmmod p,混币组PGROUP将d1记为混币器签名2,获得混币交易签名SIGN_FINAL=(rm,d1,sm),其中,1≤i≤m,1≤ki≤p‑2;S8、交易信息发送:混币组PGROUP中任一混币节点Pi均可以将交易信息FINAL和混币交易签名SIGN_FINAL=(rm,d1,sm)发送给上链节点BP,其中,1≤i≤m;S9、混币信息验证:上链节点BP得到所述公钥pubkey、公开的大素数p、公开的本原元g、交易信息FINAL和签名SIGN_FINAL,计算出ANS=pubkeyd1rmsm,并判断ANS是否等于gFINAL,若相等,则BP将FINAL放进区块;若不相等,则BP拒绝将FINAL放进区块。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国地质大学(武汉),未经中国地质大学(武汉)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810332361.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种基于S盒的分割方法
- 下一篇:一种支持错误记录定位可验证数据库的检测方法