广东工业大学学报  2021, Vol. 38Issue (1): 64-68.  DOI: 10.12052/gdutxb.200041.
0

引用本文 

聂敏航, 欧毓毅. 一种可自定义金额的数字货币去中心化混淆方案[J]. 广东工业大学学报, 2021, 38(1): 64-68. DOI: 10.12052/gdutxb.200041.
Nie Min-hang, Ou Yu-yi. A Digital Currency Decentralized Obfuscation Scheme with Customizable Amounts[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2021, 38(1): 64-68. DOI: 10.12052/gdutxb.200041.

基金项目:

国家自然科学基金资助项目(61572144)

作者简介:

聂敏航(1994–),男,硕士研究生,主要研究方向为区块链技术、信息安全。

通信作者

欧毓毅(1974–),女,副教授,硕士生导师,主要研究方向为计算机网络系统集成,E-mail:ouyuyi@163.com

文章历史

收稿日期:2020-03-11
一种可自定义金额的数字货币去中心化混淆方案
聂敏航, 欧毓毅    
广东工业大学 计算机学院,广东 广州 510006
摘要: 区块链是随比特币等数字货币兴起的一种全新的去中心化架构, 具有去信任化的特点。在区块链中用假名来提供匿名性, 然而研究表明这种匿名并不安全, 通过交易图谱分析可以发现不同假名间的关联性, 找到同一用户的假名, 破坏匿名性。通过地址的混合可以解决这一问题。本文提出了一种去中心化的混币方法, 通过分析证明, 该方法能有效地保障用户的隐私, 还能实现用户不同金额的混合, 增加便捷性。
关键词: 区块链    数字货币    隐私保护    不可链接性    匿名性    
A Digital Currency Decentralized Obfuscation Scheme with Customizable Amounts
Nie Min-hang, Ou Yu-yi    
School of Computers, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Blockchain is a new decentralized architecture with the rise of bitcoin and other digital currencies. In blockchain, pseudonyms are used to provide anonymity. However, studies have shown that such anonymity is not safe. Correlation between different pseudonyms can be found through transaction graph analysis, and the pseudonyms of the same user can be found to destroy anonymity. This problem can be solved by mixing addresses. A decentralized hybrid method is proposed, which is proved by analysis to be able to effectively protect users' privacy and realize the mixing of different amounts of users to increase the convenience.
Key words: block chain    digital currency    privacy protection    unlinkability    anonymity    

当前区块链已成为各国重点研究的技术之一。数字货币是区块链的一项重要应用,中国人民银行从2014年就开始研究数字货币,计划把数字货币和电子支付工具结合起来,替代一部分现金[1];2016年12月国务院将区块链写入《“十三五”国家信息化规划》[2];2019年,Facebook正式公开数字货币Libra计划,意在打造一套全球性的数字货币。作为货币,保障用户的隐私至关重要[3-7]。然而区块链上的每一笔交易都需向全网络公开,以便所有的用户验证此次交易是否合法、是否存在双重花费等问题。由于这种公开透明性,每笔交易的交易金额、地址都清晰地记录在链上,攻击者通过分析这些数据可以知晓哪些地址属于同一个人,甚至可以知道这个人在现实中的身份,对用户的隐私造成极大的威胁[8]。要保障用户的隐私必须做到匿名性和不可链接性。匿名性是指无法通过链上的交易知晓用户的真实身份;不可链接性是指无法将同一用户的不同地址链接起来且无法将同一用户的不同交易链接起来。

根据文献[8-11],区块链的匿名性为伪匿名性,通过对发布在区块链上的交易图谱进行分析能够获得用户交易地址的链接关系,甚至可以将用户地址和IP地址关联起来[12-13],因此并不能保护用户的隐私。然而区块链因其分布式的特点,传统的隐私保护方法在此并不能很好地适用。

本文提出了一种改进的数字货币混合方案,有混币需要的用户将资金委托给一组混币服务器,混币服务器群组在相互配合和监督下完成混合操作。该方法可以保证资金的安全性与混合的隐私性;对用户而言,可以节省计算与通信开销。

1 相关工作

增强区块链用户隐私的方法有如Zerocoin[14]使用的零知识证明[15]等,但此类方法通常无法兼容比特币区块链。在比特币区块链中一般使用的隐私保护方法为混币,本文使用的即为混币方法。混币技术根据是否有混币中心分为中心化混币和去中心化混币。

2014年Bonneau等[16]提出了中心化混币方案Mixcoin,该方案通过引入中心化的混币服务器来打断交易的可链接性,增强区块链的隐私性。然而Mixcoin混币的安全性和隐私性依赖于混币服务器,如果混币服务器偷币或泄露混币细节,用户则无法阻止。Blindcoin[17]是由Valenta等提出的采用盲签名技术来改善Mixcoin缺陷的中心化混币方案,利用盲签名技术保障了混币中心在能为混币用户提供服务的同时无法将用户的输入地址和输出地址连接起来,但是此方法依然无法杜绝混币中心的作弊行为。

与中心化混币对应的是抛弃混币中心的去中心化混币方案。CoinJoin[18]允许所有参与者的交易合并成一个交易,只有当所有参与者确认自己的输出地址无误时才进行签名,确保资金将被转移到他们的地址。但是在混币过程中有用户恶意拒绝签名就会发生DoS(Denial of Service)攻击。CoinShuffle[19]和文献[20]解决了混币参与者知晓混币细节的问题,通过逐层解密并洗牌的过程使得即使混币参与者也无法得知其他人输入地址与输出地址的对应关系。但需要所有混币用户在混币过程中全程在线。CoinParty[21]提出了一种基于混合网络的去中心化混币方案,混币用户将比特币提交到混币服务器群组,之后的工作由混币服务器群组完成,无需用户在线,但混币金额固定。

本文提出了一种可自定义混合金额的基于混合网络的混币方案。该方案中,无需用户全程在线,只需将混合资金与经过层加密的输出地址提交给混币服务器群组,之后的工作由混币服务器群组来完成。混币服务器群组无法知晓混币细节,保证了混币的隐私性。混币服务器相互监督保证了混币的安全性。惩罚机制增加攻击成本,可减少攻击的发生。

2 协议设计

数字货币的混合目的为:n个用户将输入地址 ${I_1} \cdots {I_n}$ 中的资金转移到输出地址 ${O_1} \; \cdots \; {O_n}$ 中,而且只有用户Uj知晓输出地址 ${O_j}$ 属于他。本方案中,用户将输入地址中的资金以托管的方式交付给混币服务器群组,混币服务器群组将加密的输出地址混合,再将托管的资金转移到混合后的输出地址中。该方法能有效地实现数字货币交易的不可连接性,同时能保证数字货币的安全性,使攻击者无法在混币过程中窃取数字货币。为了防止因输入地址中的金额不同,导致可以从输出地址中特定的金额找到对应的输入地址,之前大多数的工作规定输入地址中的金额必须相同,本方法中通过增加用户输出地址的数量使输出地址中金额相同而输入地址中金额可以不同,实现可自定义金额的混币。本节将详述方案总体设计和方案具体实现方法。

2.1 方案的总体流程

本方案主要有以下5个步骤。

(1) 初始化阶段,该阶段首先从所有提供混币服务的机构或个人中产生一个混币服务器群组,其中每个混币服务器代表一个不同的混币服务提供者。再由混币服务器群组生成一个由所有混币服务器共同控制的托管地址E。此阶段只涉及混币服务器,可以在实际混合操作之前的任何时间发生。

(2) 交互阶段,混币服务器群组接收混币参与者。该阶段是用户与混币服务群组唯一的交互阶段。想要进行混币操作的用户只需向任意混币服务器发送一个请求,并接收初始化阶段生成的托管地址E以及一组混合参数和条件。如果此用户同意这些条件,用户只需生成一个输出地址为E的交易,就可以将所需的资金提交到托管地址。该用户还生成一个或多个新的输出地址,并使用每个混币服务器的公钥为每个输出地址分层加密。

(3) 混合阶段。交互阶段完成后,混币服务器Mi对加密过的输出地址 ${S^i}$ 解密,然后混合排列顺序得到 ${S^{i + 1}}$ 后广播,再由混币服务器Mi+1继续解密直到得到明文输出地址。在混合阶段结束后,混币服务器获得随机排列的输出地址 ${O_1} \cdots {O_n}$ 。该地址的排列对混币服务器本身也是未知的,因此实现了用户与其输出地址之间的不可链接性。

(4) 在交易阶段,将托管地址的资金转移到打乱的输出地址。所有的混币服务器进行签名完成交易,确保恶意的混币服务器不能窃取资金或过早地停止混币进程。

(5) 解散。当混币服务结束后,等到区块链系统将交易记录到区块链上,并等待区块链系统再生成R个区块之后,此混币服务器群组解散。需要再次提供混合服务时,各混币服务器再随机组成另一个混币服务器群组。

当在混合过程中出现问题时进入问责程序,若有混币服务器行为不端,则其他混币服务器共同生成该混币服务器的私钥,接管该服务器的工作,混币正常进行。若发现混币用户行为不端,则退回诚实用户资金到原地址。允许混币服务器群组保留恶意用户的资金,从而至少提供了针对恶意用户DoS攻击的反应性保护。

2.2 方案的详细流程 2.2.1 初始化

此步骤在接收混币用户的交互阶段之前进行,加快了混币的速度。首先构建混币服务器群组,每个有资格提供混币服务的机构或个人提供的一个混币服务即称为一个混币服务器,每个有资格提供混币服务的机构或个人可以有一个或多个混币服务器。混币服务器提供混币服务需要之前先随机匹配其他混币服务器,构成混币服务器群组。混币服务器群组交换各自的加密公钥 ${K_i}$ 、以密钥分享的方式将私钥 ${{\rm{sk}}_i}$ 分享给其他混币服务器、商议混币过程的参数 ${{P}} = \{ {n_{\min }},{n_{\max }},{t_{\rm{in}}},\omega ,V,k\} $ ${n_{\min }}$ 为参与混币的最少用户量, ${n_{\max }}$ 为参与混币的最多用户量, ${t_{\rm{in}}}$ 为用户将资金转移到托管地址的截止时间, $\omega $ 为混合时间,用户在时间 ${t_{\rm{in}}} + \omega $ 前必定得到混合结果, $V$ 为最少参与混币的金额,也是输出的金额, $k$ 为混币金额 $V$ 最大的倍数。另一任务是生成一个由混币服务器群组共同控制的临时托管地址E。本方案中使用分布式密钥生成技术 (Decryption Key Generator,DKG)[22]生成E和相应的密钥对,生成托管地址E的方法与文献[20]相似。此托管地址E,每个混币服务器都拥有部分密钥。由于协议DKG的正确性和安全性,任何人都不能使用地址E中的资金,这就保证了比特币不会被窃取。只有混币服务器相互合作才能赎回E中的比特币。

2.2.2 交互阶段

经过初始化后,进入交互阶段,开始接受混币参与者。这一阶段的目标是至少有 ${n_{\min }}$ 和最多 ${n_{\max }}$ 用户确认参与混币,这些用户在时间tin之前将约定好的数量为 $V$ $V$ 的倍数的资金转移到托管地址E中。此阶段是唯一需要用户与混币服务器群组交互的阶段。用户只需要一个标准的比特币客户端和一个web浏览器就可以参与。

为了接入到混合网络,用户Uj选择任意一个混币服务器Mi作为接入点。MiUj发送会话ID ${S_{{U_j}}}$ 、混合参数 ${{P}}$ ,在初始化期间预先计算的托管地址E以及所有混币服务器的公钥 ${K_1},{K_2}, \cdots, {K_m}$ 。由于Uj可能选择了一个恶意的混币服务器作为入口点,它需要验证接收到的信息:Uj联系其他混币服务器Mk=1···m,验证收到的发送会话ID ${S_{{U_j}}}$ 、混合参数 ${{P}}$ 和托管地址E是否合法。如果Uj接收到非法信息,Uj中止混合并发送一个举报非法的信息到混合网络。然后,混币服务器群组协作找出行为不端的服务器。

当用户Uj验证了混合参数 ${{P}}$ 和托管地址E之后,Uj提交输出地址并将其混币资金转移到托管地址E中。该资金金额可以是商议金额 $V$ t倍, ${t}=1,\cdots ,k$ ,并生成t个新的、不可链接的输出地址 ${O_{j1}},{O_{j2}}, \cdots ,{O_{jt}}$ ,并进行m层非对称层加密 ${[[{O_j}]]_{{K_1}:{K_m}}} = {E_{{K_1}}}({E_{{K_2}}}(\cdots {E_{{K_m}}} (Oj)))$ 。层加密防止混币服务器发现混币用户与其输出地址的关系,被加密的输出地址会在随后的混合阶段一层层地解密。为了防止恶意的混币服务器用自己的输出地址替换混币用户的输出地址,Uj额外提供了验证信息,允许诚实的混合节点验证打乱的信息的完整性。Uj对输出地址 ${O_j}$ 的每个加密层进行散列,即对于每一层 $l = 1 \cdots m$ Uj计算校验和 $C_j^l = H({[[{O_j}]]_{{K_1}:{K_m}}})$ 。由于混币服务器能够通过校验和 $C_j^l$ Uj链接到加密的输出地址,所以用户用密钥分享的方式将 $C_j^l$ 分享给混币服务器。最后,Uj将需要混合的 $tV$ 个币转移到托管地址E中。用户生成一个金额为 $tV$ 、输出地址为E的交易提交到比特币网络即可。

2.2.3 混合阶段

该阶段的目的是对参与用户的输出地址进行有效且可验证的置换。使得包括所有混币服务器在内的所有人都不知道用户和输出地址间的对应关系。而且输出地址都不会被删除、替换、添加或修改,一旦有任何地址被删除、替换、添加或修改都能及时发现并找出恶意混币服务器。

当混币服务器Mi接收到经过加密的输出地址列表 ${{{S}}^i} = \{ {[[{O_1}]]_{{K_i}:{K_m}}},{[[{O_2}]]_{{K_i}:{K_m}}}, \cdots ,{[[{O_n}]]_{{K_i}:{K_m}}}\} $ ,解密第i层得到 ${{{S}}^{i + 1}} = \{ {[[{O_1}]]_{{K_{i + 1i}}:{K_m}}},{[[{O_2}]]_{{K_{i + 1}}:{K_m}}}, \cdots , {[[{O_n}]]_{{K_{i + 1}}:{K_m}}}\}$ Mi ${{{S}}^{i + 1}}$ 广播给所有混币服务器。混币服务器群组将交互阶段收到的用户的部分校验和 $\displaystyle\sum\nolimits_{j = 1}^n {C_j^{i + 1}} $ 结合得到校验和 ${C^{i + 1}}$ ,再计算经过Mi解密后的 ${{{S}}^{i + 1}}$ 的校验和 ${C'^{i + 1}} = {\displaystyle\sum\nolimits_{j = 1}^nH({{[[{O_j}]]}_{{K_{i + 1}}:{K_m}}})} $ ,若 ${C^{i + 1}} = {C'^{i + 1}}$ 表示该层解密无误。若 ${C^{i + 1}} \ne {C'^{i + 1}}$ 则进入问责环节。混币服务器Mi=1,···,m,依次解密一层加密的输出地址,并随意改变排列顺序,并广播结果。其他混币服务器验证Mi使用相应的校验和正确解密。最后,经过m轮解密与混合,输出地址以明文形式获得。在混合阶段,至少有2个诚实的混币服务器秘密地随机打乱了加密地址。混合过程如图1所示。

图 1 地址混合过程 Figure 1 Overview of the address shuffling
2.2.4 交易阶段

在该阶段,混币服务器群组将托管资金转移回用户打乱的输出地址。由于托管地址E是由所有混币服务器共同控制的,因此不能使用标准的椭圆曲线数字签名算法 (Elliptic Curve Digital Signature Algorithm, ECDSA),在此需要所有混币服务器共同签署交易。最后,将签名消息广播到比特币网络。

2.2.5 解散

混币服务器群组将经过所有混币服务器签名过的混币交易提交到比特币网络,确保该交易,并在该交易所在区块之后生成R个区块的时间内混币用户无异议,则该混币服务器群组解散,每个混币服务器再重新匹配构建新的混币服务器群组。

2.2.6 问责

在混合阶段失败时进入该阶段。此阶段主要有两项任务:(1) 判断哪个混币服务器或用户造成错误;(2) 修复错误或将托管资金转移回所有诚实的用户。混合阶段的设计只有2个出错的可能:要么混币服务器没有正确地解密第i个加密层,篡改了洗牌;要么恶意用户公布了一个不一致的层加密或不一致的验证信息,进行DoS攻击。处理方法如下:

混币服务器群组先检查混币同伴是否有违规行为。这样可以在不中止洗牌的情况下从这个错误中恢复。其他服务器重组Mi的私钥 ${\rm{s}}{{\rm{k}}_i}$ ,在初始化阶段Mi已经分享过 ${\rm{s}}{{\rm{k}}_i}$ 。用 ${\rm{s}}{{\rm{k}}_i}$ 重新解密 ${{{S}}^i}$ 得到 ${{{S}}'^{i + 1}}$ ,如果 ${{{S}}^{i + 1}}$ ${{{S}}'^{i + 1}}$ 不相等,就是Mi篡改了洗牌。这种情况下,Mi被简单地跳过,Mi+1 ${{{S}}'^{i + 1}}$ 的基础上继续洗牌。

第二种情况,Mi正确解密,但用户行为不当。任何行为不端的用户都可以通过重新组合初始化阶段用户提供的一组单独的校验和 ${C^{i + 1}}$ 来识别,并通过校验和 ${C'^{i + 1}}$ 来检查它们,校验和 ${C'^{i + 1}}$ 是对加密的输出地址列表 ${{{S}}^{i + 1}}$ 进行散列得到的。这样能够准确地识别出这组用户中谁提供了不一致的校验,由于重新构建单个的校验和会破坏不可链接性,所以停止洗牌。混币服务器群组退还资金给诚实的用户。建议混币服务器扣留不诚实用户的委托资金,作为对恶意用户的惩罚。当混币服务器有不诚实的行为时,其他混币服务器可以扣押Mi的抵押资金作为惩罚。

3 系统方案分析 3.1 安全性分析 3.1.1 不可链接性

不可链接性要求混币服务器和外部观察者无法将混币用户的输入地址和输出地址链接起来,参与混币的用户无法将其他用户的输入输出地址链接起来。对于混币服务器来说,其收到混币用户发来的输出地址是经过加密的,在混合阶段解密时,每个混币服务器只解密一层,地址的交换也是随机的,所以无法知晓输出地址;以秘钥分享的方式校验解密的正确性也确保了混币服务器无法通过输出地址的hash值得知混币用户对应的输出地址。对于外部观察者来说,只能看到多个地址中的资金转移到一个地址中,资金又从这个地址中分散到另外的多个地址中,而无法知晓这些地址间的关系。对于参与混币的用户来说,只是自己将输入地址中的资金转移到托管地址,而后资金又从托管地址回到自己的输出地址,对于其他用户的输入输出地址信息也无法知晓。所以本方案具有不可链接性。

3.1.2 低风险

恶意混币服务器或用户可能会破坏混币过程。在此协议中,减少了这个问题的发生的可能性。混币用户需将其比特币转移到托管地址中,如果表现不诚实,混币服务器群组将扣留其资金。混币服务器也需要在提供混币服务前缴纳一定的保证金,若其破坏混币过程,保证金将不再返还。因为混币操作需要支付一定的混币费用,进行DoS和Sybil攻击需支付较大的代价,因此能有效地防范此类攻击。

3.2 功能分析

表1为本文方法与文献[20]和[21]的对比。3种方法都能够兼容比特币系统。本文方法和文献[21]都基于混合网络,用户将资金转移到混币服务器创建的托管地址后,其他操作由混币服务器完成,用户能享受中心化混币的便捷。本方法相较于文献[20]和文献[21]可自定义混合金额,本文方法使用一个托管地址,混合操作结束后将资金返还到用户的输出地址,所以用户提交到托管地址的金额可以不同,只需最后输出地址中的资金保持一致即可。与文献[20]相比本方法需要额外的混合费用。

表 1 各混合方法功能对比 Table 1 Function comparison of methods
3.3 效率分析

相较于CoinShuffle[19]与文献[20]等去中心化混币方法中混币用户需全过程参与,本方案中混币用户只需要在交互阶段与混币服务器群组进行通信,并将需要混合的资金转移到指定的托管地址中,之后的输出地址混合及将资金转移到用户输出地址都由混币服务器完成,无需混币用户参与,节省了混币用户的计算和通信开销。另外,在CoinShuffle[19]和文献[20]中混币时间与混币用户数量n有关,随着混币用户数量n的增大,混币所用时间就会变长。在本方案中,混币所用时间与混币服务器数量m有关,即使混币用户很多,混币时间也不会有很明显的增加。

4 总结

通过分析公共区块链记录的交易图谱[9-12, 23],比特币的匿名性已经被攻破。普通的比特币用户无法防范此类攻击。这些工作表明,需要一个以用户为中心的解决方案来重建比特币的金融隐私。因此,学者为了匿名和隐私进行一系列比特币混合服务研究[16-18]。然而,这些方法各有缺点。

本文提出了一种分布式混合方案,结合中心化和分布式混合的优点。在本方案中,用户先将混币资金转移到混币服务器群组共同控制的托管地址中,并提交经过层加密的输出地址,混币服务器群组使用解密混合网络混合输出地址,最后将托管地址中的资金转移回输出地址中。该方法能有效地抵抗公共区块链的分析攻击,能保障混币的安全性、不可链接性、匿名性等,并且输入金额可变,提高了混币的便利性。

参考文献
[1]
杨承霖.财经观察: “央行数字货币”破茧还有多久[EB/OL]. (2019-12-18) [2020-01-13]. http://www.xinhuanet.com/2019-12/18/c_1125360605.htm.
[2]
王皓, 宋祥福, 柯俊明, 等. 数字货币中的区块链及其隐私保护机制[J]. 信息网络安全, 2017(7): 32-39.
WANG H, SONG X F, KE J M, et al. Blockchain and privacy preserving mechanisms in cryptocurrency[J]. Netinfo Security, 2017(7): 32-39. DOI: 10.3969/j.issn.1671-1122.2017.07.005.
[3]
付烁, 徐海霞, 李佩丽, 等. 数字货币的匿名性研究[J]. 计算机学报, 2019, 42(5): 1045-1062.
FU S, XU H X, LI P L, et al. A survey on anonymity of digital currency[J]. Chinese Journal of Computers, 2019, 42(5): 1045-1062. DOI: 10.11897/SP.J.1016.2019.01045.
[4]
袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4): 481-494.
YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494.
[5]
王宗慧, 张胜利, 金石, 等. 区块链数据隐私保护研究[J]. 物联网学报, 2018, 2(3): 71-81.
WANG Z H, ZHANG S L, JIN S, et al. Survey on privacy preserving techniques for blockchain[J]. Chinese Journal on Internet of Things, 2018, 2(3): 71-81.
[6]
祝烈煌, 高峰, 沈蒙, 等. 区块链隐私保护研究综述[J]. 计算机研究与发展, 2017, 54(10): 2170-2186.
ZHU L H, GAO F, SHEN M, et al. Server on privacy preserving techniques for blockchain technology[J]. Journal of Computer Research and Development, 2017, 54(10): 2170-2186. DOI: 10.7544/issn1000-1239.2017.20170471.
[7]
ZHANG R, XUE R, LIU L. Security and privacy on blockchain[J]. ACM Computing Surveys, 2019, 52(3): 1-34.
[8]
ANDROULAKI E, KARAME G O, ROESCHLIN M, et al. Evaluating user privacy in bitcoin [C]//Financial Cryptography and Data Security. Berlin: Springer, 2013: 34-51.
[9]
REID F, HARRIGAN M. An analysis of anonymity in the bitcoin system [C]//Proc of the 3rd IEEE Int Conf on Privacy, Security, Risk and Trust. Piscataway, NJ: IEEE, 2011: 1318-1326.
[10]
RON D, SHAMIR A. Quantitative analysis of the full bitcoin transaction graph [C]//Financial Cryptography. Berlin: Springer, 2013: 6-24.
[11]
MELKLEJOHN S, POMAROLE M, JORDAN G, et al. A fistful of bitcoins: Characterizing payments among men with no names [C]//Proc of the 13th ACM Internet Measurement Conf. New York: ACM, 2013: 127-140.
[12]
KOSHY P, KOSHY D, MCDANIEL P. An analysis of anonymity in bitcoin using P2P network traffic [C]//Financial Cryptography and Data Security. Berlin: Springer. 2014: 469-485.
[13]
BIRYUKOV A, PUSTOGAROV I. Bitcoin over tor isn’t a good idea [C]//2015 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2015: 122-134.
[14]
MIERS I, GARMAN C, GREEN M, et al. Zerocoin: Anonymous distributed e-cash from bitcoin [C]//2013 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2013: 397-411.
[15]
FEIGE U, FIAT A, SHAMIR A. Zero-knowledge proofs of identity[J]. Journal of Cryptology, 1988, 1(2): 77-94. DOI: 10.1007/BF02351717.
[16]
BONNEAU J, NARAYANAN A, MILLER A, et al. Mixcoin: anonymity for bitcoin with accountable mixes [C]//Financial Cryptography and Data Security. Berlin: Springer, 2014: 486-504.
[17]
VALENTA L, ROWAN B. Blindcoin: blinded, accountable mixes for bitcoin.[C]//Financial Cryptography and Data Security. Berlin: Springer, 2015: 112-126.
[18]
GREGORY M. CoinJoin: Bitcoin privacy for the real world [EB/OL]. (2013-08-22) [2020-01-13]. http://bitcointalk.org/index.php?topic=279249.0.
[19]
TIM R, PEDRO M S, ANIKET K. CoinShuffle: practical decentralized coin mixing for bitcoin [C]//European Symposium on Research in Computer Security (ESORICS). Berlin: Springer, 2014: 345-364.
[20]
WANG Q, LI X X, YU Y. Anonymity for bitcoin from secure escrow address[J]. IEEE Access, 2018, 6: 12336-12341. DOI: 10.1109/ACCESS.2017.2787563.
[21]
ZIEGELDORF J H, MATZUTT R, HENZE M, et al. Secure and anonymous decentralized Bitcoin mixing[J]. Future Generation Computer Systems, 2018, 80: 448-466. DOI: 10.1016/j.future.2016.05.018.
[22]
GENNARO R, JARECKI S, KRAWCZYK H, et al. Secure distributed key generation for discrete-log based cryptosystems[J]. Journal of Cryptology, 2007, 20(1): 51-83. DOI: 10.1007/s00145-006-0347-3.
[23]
SPAGNUOLO M, MAGGI F, ZANERO S. BitIodine: extracting intelligence from the bitcoin network [C]//Financial Cryptography and Data Security. Berlin: Springer, 2014: 457-468.