APP下载

一种可自定义金额的数字货币去中心化混淆方案

2021-12-29聂敏航欧毓毅

广东工业大学学报 2021年1期
关键词:群组服务器区块

聂敏航,欧毓毅

(广东工业大学 计算机学院,广东 广州510006)

当前区块链已成为各国重点研究的技术之一。数字货币是区块链的一项重要应用,中国人民银行从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个用户将输入地址I1···In中的资金转移到输出地址O1···On中,而且只有用户Uj知晓输出地址Oj属于他。本方案中,用户将输入地址中的资金以托管的方式交付给混币服务器群组,混币服务器群组将加密的输出地址混合,再将托管的资金转移到混合后的输出地址中。该方法能有效地实现数字货币交易的不可连接性,同时能保证数字货币的安全性,使攻击者无法在混币过程中窃取数字货币。为了防止因输入地址中的金额不同,导致可以从输出地址中特定的金额找到对应的输入地址,之前大多数的工作规定输入地址中的金额必须相同,本方法中通过增加用户输出地址的数量使输出地址中金额相同而输入地址中金额可以不同,实现可自定义金额的混币。本节将详述方案总体设计和方案具体实现方法。

2.1 方案的总体流程

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

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

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

与我国风景园林行业关系最为密切的法律为《中华人民共和国城乡规划法》,2007年10月,由第十届全国人民代表大会常务委员会第三十次会议通过,进一步加强了规划设计行业与国家社会经济发展、土地、环保等专项规划的对接与协调,对我国风景园林事业产生了重要影响。现行法律中涉及风景园林行业的法律还包括《中华人民共和国建筑法》《中华人民共和国招标投标法》和《中华人民共和国城市房地产管理法》等。

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

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

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

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

2.2 方案的详细流程

2.2.1 初始化

图1 地址混合过程Fig.1 Overview of the address shuffling

2.2.4交易阶段

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

2.2.5 解散

2.2.6问责

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

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]。然而,这些方法各有缺点。

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

猜你喜欢

群组服务器区块
群组推荐系统:现状与展望
《红楼梦》的数字化述评——兼及区块链的启示
区块链助跑财资管理
2018年全球服务器市场将保持温和增长
一场区块链引发的全民狂欢
区块链助力企业创新
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵