论文部分内容阅读
去中心化的基于账本的加密数字货币为构造不依赖于需要信任的银行的支付系统指明了道路。比特币的底层是区块链技术。然而,比特币作为区块链技术的第一个应用,其许多缺点使得它无法代替现有的货币系统。比特币的一个主要问题是脆弱的隐私性。比特币的全部交易公开可查。经过对交易之间的关系图以及交易时间的分析,不难将比特币地址和用户的真实身份联系起来。因此,比特币的低隐私性成为阻碍比特币成为全球普遍使用的交易货币的原因之一。比特币另一个问题是交易效率差,每个交易需要大约十分钟的时间进行确认,并且每个区块的1M大小限制严重压低了比特币系统的交易吞吐量。零币(Zerocash)对比特币的隐私保护方面做了专门的设计,成为了第一个具有完全匿名性的基于账本的数字货币。零币使用零知识证明(Zero-knowledge Proof),具体说是zk-SNARK技术,对交易进行隐私保护。然而,使用零知识证明虽然保护了隐私,却使得交易效率和可扩展性问题更加严重。本课题针对区块链中的隐私保护问题,在现有的零币的基础上,提出新型的针对区块链的隐私保护技术,在提高交易匿名性的同时,保证交易系统的高效率和高吞吐量。特别地,我们在零币上构造了微支付系统,称为Z-Channel。首先,我们改进了零币的去中心化匿名支付协议,即DAP方案,以支持多签名和交易的时间锁特性,并设计了 DAP+方案。原有的DAP方案只能够支持最基本的隐私支付功能,即零币在不同用户地址之间的转移,但缺乏构造微支付系统所需的功能,特别是允许多个用户共享一个账户的多签名特点,以及用来实现惩罚交易的时间锁功能。其次,我们利用改进的DAP+方案构造了 Z-Channel协议。在Z-Channel中,交易双方首先将一笔资金存入双方共享的地址,然后各自为对方签署一笔结束通道交易,这样任意一方可以单独关闭通道,防止另外一方可能的恶意行为。此外,我们引入带有时间锁的惩罚交易,防止攻击者恶意发布过时的结束通道交易。再次,我们定义并证明了 DAP+方案以及Z-Channel协议的完整性和安全性。特别地,我们证明了文中构造的DAP+协议满足账本不可区分性、不可伪造性和平衡性,且Z-Channel协议满足资金安全性和通道隐私性。最后,我们对DAP+方案和Z-Channel协议进行了 C++代码实现。特别地,我们构造了 DAP+方案的zk-SNARK电路,生成了证明和验证所需的密钥对,并实现了交易的证明和验证过程。此外,我们模拟了用户使用Z-Channel进行交易的过程。实验表明,Z-Channel极大增强了零币的可扩展性,减少了零币支付所需的确认时间。