[发明专利]一种保护隐私的多中心协同分布式数字货币混币方法有效
| 申请号: | 201811203714.7 | 申请日: | 2018-10-16 |
| 公开(公告)号: | CN109447602B | 公开(公告)日: | 2021-11-02 |
| 发明(设计)人: | 张宗洋;喻辉;刘建伟 | 申请(专利权)人: | 北京航空航天大学 |
| 主分类号: | G06Q20/06 | 分类号: | G06Q20/06;G06Q20/38;G06Q20/42 |
| 代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 罗文群 |
| 地址: | 100191*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 保护 隐私 中心 协同 分布式 数字 货币 方法 | ||
1.一种保护隐私的多中心协同分布式数字货币混币方法,其特征在于该方法包括以下步骤:
(1)将数字货币资金转入混币委员会地址,具体过程如下:
(1-1)生成一个数字货币提款序列号,包括以下步骤:
(1-1-1)第一数字货币用户,利用数字货币地址生成方法,依次生成私钥skend、公钥pkend和最终收款地址addr,并存储备用;
或第二数字货币用户,利用数字货币地址生成方法,依次生成私钥skend、公钥pkend和最终收款地址addr,并将生成的最终收款地址addr发送给第一数字货币用户;
(1-1-2)根据上述步骤(1-1-1)的最终收款地址addr,计算数字货币提款序列号sn,sn←H(addr),其中H()代表杂凑算法,将任意输入映射到p阶循环群上,g是循环群的生成元;
从{1,2……,p-1}选取随机数r,得到数字货币提款序列号盲化值
(1-2)生成一个从第一数字货币用户转入混币委员会地址的交易,包括以下步骤:
(1-2-1)第一数字货币用户根据已有的数字货币交易输出,生成一个数字货币交易txin,数字货币交易txin的输出为混币委员会指定的地址,并在该交易中嵌入上述步骤(1-1-2)的数字货币提款序列号盲化值
(1-2-2)第一数字货币用户对数字货币交易txin签名,将签名记为并将发送至数字货币区块链,并将与对应的识别码记为txid;
(1-3)向混币委员会发出验证交易的请求,第一数字货币用户将发送至混币委员会,等待混币委员会确认与签名;
(2)混币委员会确认上述第一数字货币用户的交易,并对数字货币提款序列号盲化值进行签名,包括以下步骤:
(2-1)混币委员会确认上述第一数字货币用户的交易:
混币委员会中的成员收到消息后,从混币委员会内部维护的区块链获取包含所有交易识别码的列表,并对txid进行判断,若txid不在上述交易识别码列表中,则将转发至混币委员会中的其他所有成员,等待与txid相对应的交易txin在数字货币区块链上被确认,并进行步骤(2-2),若txid已记录在混币委员会维护的内部区块链,或数字货币区块链确认等待超时,则终止操作;
(2-2)混币委员会检查上述第一数字货币用户的交易:
(2-2-1)混币委员会成员检查txin的输出地址,若txin的输出为混币委员会的地址,则进行步骤(2-2-2),若txin的输出不是混币委员会的地址,则终止操作;
(2-2-2)混币委员会成员检查txin的输出金额,若输出金额满足混币委员会设定的混币要求,则进行步骤(2-2-3),若输出金额不满足混币委员会设定的混币要求,则终止操作;
(2-2-3)混币委员会成员检查txin中的嵌入数据,若txin嵌入且只嵌入了则进行步骤(2-3),若txin未嵌入或嵌入其他数据,则终止操作;
(2-3)混币委员会成员对数字货币提款序列号盲化值签名:
混币委员会成员对数字货币提款序列号盲化值进行签名,得到签名其中i为该混币委员会成员编号,并将三元组发送给混币委员会的所有其他成员;
(2-4)混币委员会成员对数字货币提款序列号盲化值签名合成:
混币委员会成员收到超过n/2的时,采用紧凑多重签名方法将所有签名合成为单一签名并记录所有收到签名的成员列表list,将记入混币委员会维护的内部区块链,将返回给第一数字货币用户,其中n为混币委员会中的所有成员数;
(3)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化,第一数字货币用户或第二数字货币用户向混币委员会发送将资金取出至最终收款地址的请求,包括以下步骤:
(3-1)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化:
(3-1-1)第一数字货币用户收到混币委员会成员返回的将去盲化,得到σ,其中,pk为混币委员会的公钥,r为步骤(1-1-2)中从{1,2……,p-1}选取的随机数;
(3-1-2)若在上述步骤(1-1-1)中,最终收款地址addr由第二数字货币用户生成,则第一数字货币用户将(addr,σ)发送给第二数字货币用户;
(3-2)第一数字货币用户或第二数字货币用户向混币委员会发送将资金取出至最终收款地址的请求:
若在上述步骤(1-1-1)中,最终收款地址addr由第一数字货币用户生成,则第一数字货币用户向混币委员会提交(σ,addr),并等待混币委员会将相应资金发送到最终收款地址addr;
若在上述步骤(1-1-1)中,最终收款地址addr由第二数字货币用户生成,则第二数字货币用户收到来自第一数字货币用户的(addr,σ)后,存储(addr,σ)备用;当第二数字货币用户需要资金转出时,向混币委员会提交请求(σ,addr),并等待混币委员会将资金发送到地址addr;
(4)混币委员会检查第一数字货币用户或第二数字货币用户将资金取出至最终收款地址的请求,生成转出至最终收款地址的交易,并对转出至最终收款地址的交易签名,包括以下步骤:
(4-1)混币委员会检查将资金取出至最终收款地址的请求,并生成转出至最终收款地址的交易:
(4-1-1)混币委员会成员收到(σ,addr),并根据其中的addr计算得到数字货币提款序列号sn;
(4-1-2)对混币委员会维护的内部区块链中的已处理序列号列表lsn进行判断,若则进入步骤(4-1-3),若sn∈lsn,则终止操作;
(4-1-3)混币委员会成员对收到(σ,addr)进行签名验证,若σ是的合法签名,则进入步骤(4-1-4),若σ不是的合法签名,则终止操作;
(4-1-4)混币委员会成员生成转出至最终收款地址的交易tx,交易tx的输入为混币委员会的地址,输出为最终收款地址addr,将(addr,σ,tx)发送给混币委员会的所有其他成员;
(4-2)混币委员会对转出至最终收款地址的交易tx进行检查:
(4-2-1)混币委员会成员根据收到的其他混币委员会成员发送的(addr,σ,tx),根据其中的addr计算得到数字货币提款序列号sn;
(4-2-2)对混币委员会维护的内部区块链中的已处理序列号列表lsn进行判断,若则进入步骤(4-2-3),若sn∈lsn,则终止操作;
(4-2-3)对收到(σ,addr)进行签名验证,若σ是的合法签名,则进入步骤(4-2-4),若σ不是的合法签名,则终止操作;
(4-2-4)混币委员会成员根据数字货币区块链上的所有输出信息,对(addr,σ,tx)中的交易tx进行判断,若交易tx是合法的数字货币交易,则进入步骤(4-3),若交易tx不是合法的数字货币交易,则终止操作;
(4-3)混币委员会对转出至最终收款地址的交易tx进行签名:
(4-3-1)混币委员会成员对验证通过的转出至最终收款地址的交易tx进行数字货币区块链交易签名,得到σtx,i;
(4-3-2)将(addr,tx,σtx,i)发送给混币委员会的所有其他成员;
(4-4)混币委员会将转出至最终收款地址的交易tx提交至数字货币区块链:
(4-4-1)混币委员会任意成员收到n/2个以上σtx,i后,获得多重签名σtx:
σtx={σtx,i}i∈list’,
其中list’为该混币委员会成员收到签名的混币委员会成员列表;
(4-4-2)将(sn,tx,σtx)记入混币委员会维护的内部区块链;
(4-4-3)将已签名转出至最终收款地址的交易(tx,σtx)发送至数字货币区块链。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811203714.7/1.html,转载请声明来源钻瓜专利网。





