CN109447602B - 一种保护隐私的多中心协同分布式数字货币混币方法 - Google Patents

一种保护隐私的多中心协同分布式数字货币混币方法 Download PDF

Info

Publication number
CN109447602B
CN109447602B CN201811203714.7A CN201811203714A CN109447602B CN 109447602 B CN109447602 B CN 109447602B CN 201811203714 A CN201811203714 A CN 201811203714A CN 109447602 B CN109447602 B CN 109447602B
Authority
CN
China
Prior art keywords
currency
committee
mixed
digital
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811203714.7A
Other languages
English (en)
Other versions
CN109447602A (zh
Inventor
张宗洋
喻辉
刘建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201811203714.7A priority Critical patent/CN109447602B/zh
Publication of CN109447602A publication Critical patent/CN109447602A/zh
Application granted granted Critical
Publication of CN109447602B publication Critical patent/CN109447602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明涉及一种保护隐私的多中心协同分布式数字货币混币方法,属于计算机应用技术。本发明方法包括:(1)数字货币用户将数字货币资金转入混币委员会地址;(2)混币委员会确认数字货币用户的交易,并对数字货币提款序列号盲化值进行签名;(3)数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化,并向混币委员会发送将资金取出至最终收款地址的请求;(4)混币委员会检查将资金取出至最终收款地址的请求,生成并签名转出至最终收款地址的交易。本发明采用多个混币中心协作,有效保护用户安全与隐私并避免中心单点失败;无需参与者间协作,有效降低成本并提高效率,同时可有效抵抗拒绝服务攻击。

Description

一种保护隐私的多中心协同分布式数字货币混币方法
技术领域
本发明涉及一种保护隐私的多中心协同分布式数字货币混币方法,尤其涉及一种多中心协同实现的分布式数字货币混币方法,属于计算机应用技术。
背景技术
中本聪于2008年发明的比特币是第一个基于区块链的数字货币。此后,莱特币、以太坊等的出现进一步丰富和完善了数字货币生态。由于具备去中心化、跨国界、无需信任等特点,数字货币使用范围不断扩大,包括中国与英国在内的政府开始考虑法定数字货币设计。
然而,大部分数字货币存在无法保护用户隐私的缺陷。以使用最为广泛的比特币为例,虽然在推出之初,其被当作一种匿名支付手段,但是实际能提供的隐私保护十分有限。比特币采用假名机制保护用户隐私,用户转账时无需使用真实身份,因此仅从比特币交易无法得知用户的身份。但是为了保证去中心化的特性,比特币必须维护一个公共账本(通过区块链实现),所有比特币交易均保存在区块链上。任何人都可以访问比特币区块链,攻击者通过分析交易,可以识别出属于同一用户的比特币地址。一旦用户的真实身份与某比特币地址链接,攻击者即可窥探到用户所有交易行为。因此,在此类数字货币的实际使用中,用户的所有交易记录都是公开可查询的。
为解决上述缺陷,设计和部署数字货币隐私保护方案至关重要。一种解决方案是通过混币混淆资金持有者的身份。现有的混币方案主要分为两种,一种是去中心化的方案,将混币过程在对等节点环境中完成,这种方式效率较为低下,且易受拒绝服务攻击影响;另一种是利用混币中心完成混币,但是需要设计复杂的协议确保混币中心无法窃取资金、无法链接输入与输出。为解决传统混币方案的缺陷,我们发明了本方法,涉及的主要技术包括区块链技术、Boneh-Lynn-Shacham(BLS)签名算法等。
首先,区块链技术自2008年中本聪发明比特币以来,已被应用于各类数字货币中,其本质上是一种分布式数据库。区块链由一系列区块(block)构成,每个区块内至少包括“前一区块杂凑值”和“本区块数据梅克尔树根(Merkle root)”两部分。其中,前一区块杂凑值可以看作指向上一个区块的指针,确保了区块链上区块的先后顺序,梅克尔树根确保本区块的数据不会遭到篡改。区块链可以为分布式***提供防篡改的账本,只要持有最后一个区块的杂凑值,就可以验证整条区块链上的所有数据。
其次,BLS算法是Boneh,Lynn和Shacham在ASIACRYPT 2001上提出的一种短签名算法,在同样的安全性下,其签名长度仅为DSA算法的一半。在PKC 2003上,Boldyreva提出了基于BLS算法的盲签名方案,其允许用户将消息m盲化后交给签名者进行签名,当用户拿到盲化消息的签名后,可以将其去盲化,得到对原始消息m的签名,从而允许***露m的同时得到签名。Boneh,Drijvers和Neven在2018年提出基于BLS算法的紧凑多重签名(CompactMulti-Signatures)方案,允许多个实体对同一消息的签名合成为一个单一签名,对于有多个参与者的情况,显著降低签名总长度。
发明内容
本发明的目的是提出一种保护隐私的多中心协同分布式数字货币混币方法,以克服现有技术在效率和成本方面的不足,保证用户在区块链上的金额转移无法被第三方监控,可用于解决用户在交易过程中身份暴露的问题。
本发明提出的保护隐私的多中心协同分布式数字货币混币方法,包括以下步骤:
(1)将数字货币资金转入混币委员会地址,具体过程如下:
(1-1)生成一个数字货币提款序列号,包括以下步骤:
(1-1-1)第一数字货币用户,利用数字货币地址生成方法,依次生成私钥skend、公钥pkend和最终收款地址addr,并存储备用;
或第二数字货币用户,利用数字货币地址生成方法,依次生成私钥skend、公钥pkend和最终收款地址addr,并将生成的最终收款地址addr发送给第一数字货币用户;
(1-1-2)根据上述步骤(1-1)的最终收款地址addr,计算数字货币提款序列号sn,sn←H(addr),其中H()代表杂凑算法,将任意输入映射到p阶循环群上,g是循环群的生成元;
从{1,2……,p-1}选取随机数r,得到数字货币提款序列号盲化值
Figure BDA0001830673670000021
Figure BDA0001830673670000022
(1-2)生成一个从第一数字货币用户转入混币委员会地址的交易,包括以下步骤:
(1-2-1)第一数字货币用户根据已有的数字货币交易输出,生成一个数字货币交易txin,数字货币交易txin的输出为混币委员会指定的地址,并在该交易中嵌入上述步骤(1-2)的数字货币提款序列号盲化值
Figure BDA0001830673670000023
(1-2-2)第一数字货币用户对数字货币交易txin签名,将签名记为
Figure BDA0001830673670000031
并将
Figure BDA0001830673670000032
Figure BDA0001830673670000033
发送至数字货币区块链,并将与
Figure BDA0001830673670000034
对应的识别码记为txid;
(1-3)向混币委员会发出验证上述步骤(2)的交易的请求,第一数字货币用户将
Figure BDA0001830673670000035
Figure BDA0001830673670000036
发送至混币委员会,等待混币委员会确认与签名;
(2)混币委员会确认上述第一数字货币用户的交易,并对数字货币提款序列号盲化值进行签名,包括以下步骤:
(2-1)混币委员会确认上述第一数字货币用户的交易:
混币委员会中的成员收到消息
Figure BDA0001830673670000037
后,从混币委员会内部维护的区块链获取包含所有交易识别码的列表,并对txid进行判断,若txid不在上述交易识别码列表中,则将
Figure BDA0001830673670000038
转发至混币委员会中的其他所有成员,等待与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嵌入且只嵌入了
Figure BDA0001830673670000039
则进行步骤(2-3),若txin未嵌入
Figure BDA00018306736700000310
或嵌入其他数据,则终止操作;
(2-3)混币委员会成员对数字货币提款序列号盲化值签名:
混币委员会成员对数字货币提款序列号盲化值
Figure BDA00018306736700000311
进行签名,得到签名
Figure BDA00018306736700000312
其中i为该混币委员会成员编号,并将
Figure BDA00018306736700000313
三元组发送给混币委员会的所有其他成员;
(2-4)混币委员会成员对数字货币提款序列号盲化值签名合成:
混币委员会成员收到超过n/2的
Figure BDA00018306736700000314
时,采用紧凑多重签名方法将所有签名
Figure BDA00018306736700000315
合成为单一签名
Figure BDA00018306736700000318
并记录所有收到签名的成员列表list,将
Figure BDA00018306736700000316
记入混币委员会维护的内部区块链,将
Figure BDA00018306736700000317
返回给第一数字货币用户,其中n为混币委员会中的所有成员数;
(3)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化,第一数字货币用户或第二数字货币用户向混币委员会发送将资金取出至最终收款地址的请求,包括以下步骤:
(3-1)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化:
(3-1-1)第一数字货币用户收到混币委员会成员返回的
Figure BDA0001830673670000041
Figure BDA0001830673670000042
去盲化,得到σ,
Figure BDA0001830673670000043
其中,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进行判断,若
Figure BDA0001830673670000044
Figure BDA0001830673670000045
则进入步骤(4-1-3),若sn∈lsn,则终止操作;
(4-1-3)混币委员会成员对收到(σ,addr)进行签名验证,若σ是
Figure BDA0001830673670000046
的合法签名,则进入步骤(4-1-4),若σ不是
Figure BDA0001830673670000051
的合法签名,则终止操作;
(4-1-4)混币委员会成员生成转出至最终收款地址的交易tx,交易tx的输入为混币委员会的地址,输出为最终收款地址addr,将(addr,σ,tx)发送给混币委员会的所有其他成员;
(4-2)混币委员会对转出至最终收款地址的交易tx进行检查:
(4-2-1)混币委员会成员根据收到的其他混币委员会成员发送的(addr,σ,tx),根据其中的addr计算得到数字货币提款序列号sn;
(4-2-2)对混币委员会维护的内部区块链中的已处理序列号列表lsn进行判断,若
Figure BDA0001830673670000052
Figure BDA0001830673670000053
则进入步骤(4-2-3),若sn∈lsn,则终止操作;
(4-2-3)对收到(σ,addr)进行签名验证,若σ是
Figure BDA0001830673670000054
的合法签名,则进入步骤(4-2-4),若σ不是
Figure BDA0001830673670000055
的合法签名,则终止操作;
(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)发送至数字货币区块链。
本发明提出的保护隐私的多中心协同分布式数字货币混币方法,其优点是:
1、本发明方法该具备资金转入与资金匿名转出功能,可用于实现单个用户的已有货币混币或多用户的匿名支付。可以进一步应用区块链技术,实现多混币中心的协调。
2、本发明方法中,参与者之间无需协作与交互,降低参与用户的通信与计算成本无需担心单点失败,存在多个混币中心且相互可替代,避免单个中心故障导致的服务暂停。
3、本发明方法的响应速度快,资金转入与转出速度不大于数字货币区块链,减少等待时间。
4、本发明方法抵抗拒绝服务攻击,恶意的参与者无法终止其他诚实参与者的操作,无需信任混币中心,混币中心相互制约,少数恶意中心无法成功窃取用户货币或窥探交易隐私。
附图说明
图1是本发明方法中数字货币提款序列号盲化值签名阶段流程示意图。
图2是本发明方法中数字货币转出至最终收款地址的交易生成与签名阶段流程示意图。
图1和图2中,序号(2-1)至(2-4)、(4-1)至(4-4)代表本发明方法中相应的步骤,各步骤由混币委员会完成。
具体实施方式
本发明提出的保护隐私的多中心协同分布式数字货币混币方法,包括以下步骤:
(1)将数字货币资金转入混币委员会地址,具体过程如下:
(1-1)生成一个数字货币提款序列号,包括以下步骤:
(1-1-1)第一数字货币用户,利用数字货币地址生成方法,依次生成私钥skend、公钥pkend和最终收款地址addr,并存储备用;
或第二数字货币用户,利用数字货币地址生成方法,依次生成私钥skend、公钥pkend和最终收款地址addr,并将生成的最终收款地址addr发送给第一数字货币用户;
(1-1-2)根据上述步骤(1-1)的最终收款地址addr,计算数字货币提款序列号sn,sn←H(addr),其中H()代表杂凑算法,将任意输入映射到p阶循环群上,g是循环群的生成元;
从{1,2……,p-1}选取随机数r,得到数字货币提款序列号盲化值
Figure BDA0001830673670000061
Figure BDA0001830673670000062
(1-2)生成一个从第一数字货币用户转入混币委员会地址的交易,包括以下步骤:
(1-2-1)第一数字货币用户根据已有的数字货币交易输出,生成一个数字货币交易txin,数字货币交易txin的输出为混币委员会指定的地址,并在该交易中嵌入上述步骤(1-2)的数字货币提款序列号盲化值
Figure BDA0001830673670000063
(1-2-2)第一数字货币用户对数字货币交易txin签名,将签名记为
Figure BDA0001830673670000064
并将
Figure BDA0001830673670000065
Figure BDA0001830673670000071
发送至数字货币区块链,并将与
Figure BDA0001830673670000072
对应的识别码记为txid;
(1-3)向混币委员会发出验证上述步骤(2)的交易的请求,第一数字货币用户将
Figure BDA0001830673670000073
Figure BDA0001830673670000074
发送至混币委员会,等待混币委员会确认与签名;
(2)混币委员会确认上述第一数字货币用户的交易,并对数字货币提款序列号盲化值进行签名,包括以下步骤,如图1所示:
(2-1)混币委员会确认上述第一数字货币用户的交易:
混币委员会中的成员收到消息
Figure BDA0001830673670000075
后,从混币委员会内部维护的区块链获取包含所有交易识别码的列表,并对txid进行判断,若txid不在上述交易识别码列表中,则将
Figure BDA0001830673670000076
转发至混币委员会中的其他所有成员,等待与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嵌入且只嵌入了
Figure BDA0001830673670000077
则进行步骤(2-3),若txin未嵌入
Figure BDA0001830673670000078
或嵌入其他数据,则终止操作;
(2-3)混币委员会成员对数字货币提款序列号盲化值签名:
混币委员会成员对数字货币提款序列号盲化值
Figure BDA0001830673670000079
进行签名,得到签名
Figure BDA00018306736700000710
其中i为该混币委员会成员编号,并将
Figure BDA00018306736700000711
三元组发送给混币委员会的所有其他成员;
(2-4)混币委员会成员对数字货币提款序列号盲化值签名合成:
混币委员会成员收到超过n/2的
Figure BDA00018306736700000712
时,采用紧凑多重签名方法将所有签名
Figure BDA00018306736700000713
合成为单一签名
Figure BDA00018306736700000714
并记录所有收到签名的成员列表list,将
Figure BDA00018306736700000715
记入混币委员会维护的内部区块链,将
Figure BDA00018306736700000716
返回给第一数字货币用户,其中n为混币委员会中的所有成员数;
(3)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化,第一数字货币用户或第二数字货币用户向混币委员会发送将资金取出至最终收款地址的请求,包括以下步骤:
(3-1)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化:
(3-1-1)第一数字货币用户收到混币委员会成员返回的
Figure BDA0001830673670000081
Figure BDA0001830673670000082
去盲化,得到σ,
Figure BDA0001830673670000083
其中,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)混币委员会检查第一数字货币用户或第二数字货币用户将资金取出至最终收款地址的请求,生成转出至最终收款地址的交易,并对转出至最终收款地址的交易签名,包括以下步骤,如图2所示:
(4-1)混币委员会检查将资金取出至最终收款地址的请求,并生成转出至最终收款地址的交易:
(4-1-1)混币委员会成员收到(σ,addr),并根据其中的addr计算得到数字货币提款序列号sn;
(4-1-2)对混币委员会维护的内部区块链中的已处理序列号列表lsn进行判断,若
Figure BDA0001830673670000084
Figure BDA0001830673670000085
则进入步骤(4-1-3),若sn∈lsn,则终止操作;
(4-1-3)混币委员会成员对收到(σ,addr)进行签名验证,若σ是
Figure BDA0001830673670000086
的合法签名,则进入步骤(4-1-4),若σ不是
Figure BDA0001830673670000087
的合法签名,则终止操作;
(4-1-4)混币委员会成员生成转出至最终收款地址的交易tx,交易tx的输入为混币委员会的地址,输出为最终收款地址addr,将(addr,σ,tx)发送给混币委员会的所有其他成员;
(4-2)混币委员会对转出至最终收款地址的交易tx进行检查:
(4-2-1)混币委员会成员根据收到的其他混币委员会成员发送的(addr,σ,tx),根据其中的addr计算得到数字货币提款序列号sn;
(4-2-2)对混币委员会维护的内部区块链中的已处理序列号列表lsn进行判断,若
Figure BDA0001830673670000091
Figure BDA0001830673670000092
则进入步骤(4-2-3),若sn∈lsn,则终止操作;
(4-2-3)对收到(σ,addr)进行签名验证,若σ是
Figure BDA0001830673670000093
的合法签名,则进入步骤(4-2-4),若σ不是
Figure BDA0001830673670000094
的合法签名,则终止操作;
(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)发送至数字货币区块链。

Claims (1)

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,得到数字货币提款序列号盲化值
Figure FDA0003147073490000011
Figure FDA0003147073490000012
(1-2)生成一个从第一数字货币用户转入混币委员会地址的交易,包括以下步骤:
(1-2-1)第一数字货币用户根据已有的数字货币交易输出,生成一个数字货币交易txin,数字货币交易txin的输出为混币委员会指定的地址,并在该交易中嵌入上述步骤(1-1-2)的数字货币提款序列号盲化值
Figure FDA0003147073490000013
(1-2-2)第一数字货币用户对数字货币交易txin签名,将签名记为
Figure FDA0003147073490000014
并将
Figure FDA0003147073490000015
Figure FDA0003147073490000016
发送至数字货币区块链,并将与
Figure FDA0003147073490000017
对应的识别码记为txid;
(1-3)向混币委员会发出验证交易的请求,第一数字货币用户将
Figure FDA0003147073490000018
发送至混币委员会,等待混币委员会确认与签名;
(2)混币委员会确认上述第一数字货币用户的交易,并对数字货币提款序列号盲化值进行签名,包括以下步骤:
(2-1)混币委员会确认上述第一数字货币用户的交易:
混币委员会中的成员收到消息
Figure FDA0003147073490000019
后,从混币委员会内部维护的区块链获取包含所有交易识别码的列表,并对txid进行判断,若txid不在上述交易识别码列表中,则将
Figure FDA00031470734900000110
转发至混币委员会中的其他所有成员,等待与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嵌入且只嵌入了
Figure FDA0003147073490000021
则进行步骤(2-3),若txin未嵌入
Figure FDA0003147073490000022
或嵌入其他数据,则终止操作;
(2-3)混币委员会成员对数字货币提款序列号盲化值签名:
混币委员会成员对数字货币提款序列号盲化值
Figure FDA0003147073490000023
进行签名,得到签名
Figure FDA0003147073490000024
其中i为该混币委员会成员编号,并将
Figure FDA0003147073490000025
三元组发送给混币委员会的所有其他成员;
(2-4)混币委员会成员对数字货币提款序列号盲化值签名合成:
混币委员会成员收到超过n/2的
Figure FDA0003147073490000026
时,采用紧凑多重签名方法将所有签名
Figure FDA0003147073490000027
合成为单一签名
Figure FDA0003147073490000028
并记录所有收到签名的成员列表list,将
Figure FDA0003147073490000029
记入混币委员会维护的内部区块链,将
Figure FDA00031470734900000210
返回给第一数字货币用户,其中n为混币委员会中的所有成员数;
(3)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化,第一数字货币用户或第二数字货币用户向混币委员会发送将资金取出至最终收款地址的请求,包括以下步骤:
(3-1)第一数字货币用户将混币委员会成员对数字货币提款序列号盲化值签名去盲化:
(3-1-1)第一数字货币用户收到混币委员会成员返回的
Figure FDA00031470734900000211
Figure FDA00031470734900000212
去盲化,得到σ,
Figure FDA00031470734900000213
其中,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进行判断,若
Figure FDA0003147073490000031
Figure FDA0003147073490000032
则进入步骤(4-1-3),若sn∈lsn,则终止操作;
(4-1-3)混币委员会成员对收到(σ,addr)进行签名验证,若σ是
Figure FDA0003147073490000033
的合法签名,则进入步骤(4-1-4),若σ不是
Figure FDA0003147073490000034
的合法签名,则终止操作;
(4-1-4)混币委员会成员生成转出至最终收款地址的交易tx,交易tx的输入为混币委员会的地址,输出为最终收款地址addr,将(addr,σ,tx)发送给混币委员会的所有其他成员;
(4-2)混币委员会对转出至最终收款地址的交易tx进行检查:
(4-2-1)混币委员会成员根据收到的其他混币委员会成员发送的(addr,σ,tx),根据其中的addr计算得到数字货币提款序列号sn;
(4-2-2)对混币委员会维护的内部区块链中的已处理序列号列表lsn进行判断,若
Figure FDA0003147073490000035
Figure FDA0003147073490000036
则进入步骤(4-2-3),若sn∈lsn,则终止操作;
(4-2-3)对收到(σ,addr)进行签名验证,若σ是
Figure FDA0003147073490000037
的合法签名,则进入步骤(4-2-4),若σ不是
Figure FDA0003147073490000041
的合法签名,则终止操作;
(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)发送至数字货币区块链。
CN201811203714.7A 2018-10-16 2018-10-16 一种保护隐私的多中心协同分布式数字货币混币方法 Active CN109447602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811203714.7A CN109447602B (zh) 2018-10-16 2018-10-16 一种保护隐私的多中心协同分布式数字货币混币方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811203714.7A CN109447602B (zh) 2018-10-16 2018-10-16 一种保护隐私的多中心协同分布式数字货币混币方法

Publications (2)

Publication Number Publication Date
CN109447602A CN109447602A (zh) 2019-03-08
CN109447602B true CN109447602B (zh) 2021-11-02

Family

ID=65545660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811203714.7A Active CN109447602B (zh) 2018-10-16 2018-10-16 一种保护隐私的多中心协同分布式数字货币混币方法

Country Status (1)

Country Link
CN (1) CN109447602B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961288B (zh) * 2019-03-22 2022-04-26 北京沃东天骏信息技术有限公司 基于盲签名的交易方法及装置
CN110175912B (zh) * 2019-04-08 2023-05-05 西安链融科技有限公司 基于委员会的区块链跨链资产转移方法、区块链信息终端
CN112771562A (zh) * 2019-10-31 2021-05-07 深圳市网心科技有限公司 基于账户模型的交易方法、装置、***和存储介质
CN111680735B (zh) * 2020-06-02 2022-09-06 浙江大学 一种基于启发式交易分析的混币服务分析方法
CN111698084B (zh) * 2020-06-04 2021-02-05 电子科技大学 一种基于区块链的隐匿通信方法
TWI773161B (zh) * 2021-03-02 2022-08-01 雲想科技股份有限公司 數位簽章私鑰驗證方法
CN113450091B (zh) * 2021-06-21 2023-06-02 北京理工大学 一种基于混合器技术的联盟链隐私保护方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11062303B2 (en) * 2015-06-08 2021-07-13 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Tim Ruffing 等.CoinShuffle: Practical Decentralized Coin Mixing for Bitcoin.《ESORICS 2014,Part II》.2014, *
区块链隐私技术综述;张宪等;《信息安全研究》;20171105(第11期);全文 *
基于区块链的多方隐私保护公平合同签署协议;吴进喜 等;《信息安全学报》;20180531;第3卷(第3期);全文 *

Also Published As

Publication number Publication date
CN109447602A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109447602B (zh) 一种保护隐私的多中心协同分布式数字货币混币方法
JP7292365B2 (ja) ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム
CN108833081B (zh) 一种基于区块链的设备组网认证方法
US20210192498A1 (en) Random number generation in a blockchain
CN109274505B (zh) 一种基于区块链技术的匿名电子选举方法
CN110709873A (zh) 不可信任的确定性状态机
TW201732666A (zh) 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統
CN109074434A (zh) 使用分布式散列表和点对点分布式分类账验证数字资产所有权的方法和***
EP3726774A1 (en) Transparent blockchain sidechains to support blockchain processing heterogeneity
CN110503434A (zh) 基于哈希算法的数据验证方法、装置、设备和存储介质
CN112789825A (zh) 用于转移对数字资源的访问的计算机实现的***和方法
CN109743182B (zh) 基于区块链的智能合约核准方法及***
CN112003820A (zh) 一种基于环签名和聚合签名的区块链共识优化方法
CN113095826A (zh) 基于区块链多签名的隐蔽通信方法及***
CN111314086A (zh) 一种区块链隐私协议的实现方法
CN106909852A (zh) 基于三重md5加密算法的智能合约加密方法及装置
Liu et al. An efficient strategy to eliminate malleability of bitcoin transaction
CN114169888B (zh) 一种通用型支持多重签名的加密货币保管方法
CN113810185B (zh) 一种抗陷门泄露的链上数据修复***及方法
US11368286B1 (en) Txilm: lossy block compression with salted short hashing
Ko et al. Private key recovery on bitcoin with duplicated signatures
CN112989409A (zh) 格上基于盲混币的区块链隐私保护方案
Hajar et al. Blockchain Security Attacks: A Review Study
CN111539821A (zh) 防止交易所代用户投票、被黑客盗币的区块链合约解决方法
US11288663B1 (en) Blockring service, system, and method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant