区块链技术是一种通过块链式结构、共识算法和智能合约来生成、存储、操作和验证数据的新型分布式基础架构和计算范式,其所构建的新型信任机制有助于推动互联网技术由信息互联网向价值互联网的转化.由于区块链中的账本数据采用公开交易记录、多节点共识确认的方式进行存储和验证,因此对系统中的身份管理及隐私保护提出了极大的挑战.首先分析了区块链系统交易模型的特点及其与传统中心化系统在身份认证、数据存储和交易确认方面的不同,阐述了区块链系统中身份管理技术涵盖的主要内容、关键问题及安全挑战;其次,从身份标识、身份认证和身份隐藏3个方面比较分析了目前主流区块链平台中身份管理和隐私保护的不同实现技术;最后,分析了现有区块链系统中身份管理的不足并对未来的研究方向进行了展望.
Blockchain technology is a new distributed infrastructure and computation paradigm that generates, stores, manipulates, and validates data through chain structures, consensus algorithms, and smart contracts. The new trust mechanism is built to promote the transformation of Internet technology from Internet of information to Internet of value. Since the data in the blockchain is stored and verified by means of public transaction records and multi-peer consensus confirmation, it poses a great challenge to the transaction privacy protection in the system. This study first analyzes the characteristics of the blockchain system transaction model and its differences from the traditional centralized system in identity authentication, data storage and transaction confirmation, and describes the main contents, key issues and security challenges of identity management in blockchain. Secondly, the different implementation technologies of identity management and privacy protection are analyzed in the current mainstream blockchain platform from three aspects, namely, identity identification, identity authentication, and identity hiding. Finally, the shortcoming of the existing blockchain identity management technology issummarized and the future research directionsare proposed.
起源于比特币[
区块链系统在提供了灵活的分布式协同处理优势的同时, 也对参与方的身份管理提出了极大的挑战.在传统的中心化交易系统中, 交易由中心机构统一核验确认, 且交易账本内容不公开.而在区块链交易系统中, 为了实现去中心化的目标, 大多采用类似于b-money[
区块链系统中的身份管理是区块链应用中实体之间进行通信交互和资产交易的基础, 它包含对实体身份从产生、存储、认证、使用、审计到注销的全生命周期的管理.身份管理一直是区块链系统中的关键组件, 也是构建区块链系统安全的基础.随着区块链技术的普及和发展, 区块链已从传统的去中心化密码货币发展到今天公有链、联盟链和私有链并存的多种技术形态, 其系统架构、信任模型和安全需求也日益多元化.由此也对区块链系统中的身份管理技术提出了挑战.因此, 系统地梳理区块链身份管理的相关工作, 科学地提炼出其中的共性关键问题对未来区块链行业应用的发展至关重要.目前国内外已有多篇文献对区块链系统中的安全隐私问题进行了研究, 但仍然缺乏对区块链身份管理技术的深入探讨和系统性综述研究.2017年, 祝烈煌等人[
本文第1节通过与传统中心化交易系统进行对比分析, 总结区块链系统交易模型的特点.基于上述特点, 总结区块链身份管理的主要内容, 阐述区块链身份管理所面临的威胁及挑战.第2节分析总结区块链系统中的身份标识技术.第3节对比分析区块链系统中的身份认证技术.第4节提出交易过程中的动态身份隐藏是解决区块链身份隐私保护的关键问题, 并对比分析目前主流区块链平台中实现交易身份隐藏所采取的不同技术手段: 如协同混币技术、自主混币技术、全局混币技术和无标识交易技术.第5节归纳总结现有区块链系统的身份管理技术, 并对未来的研究方向进行展望.第6节是结束语.
区块链系统中的交易在交易模型方面与传统系统有着很大的不同.首先, 在传统系统中, 所有交易过程的记录和确认都是由系统的中心机构集中来完成的.而在区块链系统中, 客户端首先将交易发送到区块链网络中, 由网络中的特定节点来对交易进行背书确认, 确认后的交易才能写入区块链账本中并全网分发[
传统交易系统与区块链交易系统的比较
Comparison between traditional transaction system and blockchain transaction system
其次, 在交易结构的表示方面, 以比特币为代表的公有链(如: 达世币[
区块链系统中的UTXO交易结构
UTXO structures in blockchain system
公有链的另一个典型代表项目以太坊[
从身份管理和隐私保护的角度来分析, 传统中心化系统与区块链系统存在着显著差异.
(1) 在身份认证方面, 传统交易系统采用中心化集中实名认证机制; 区块链系统则大多采用用户匿名的身份认证机制, 用以确保用户隐私;
(2) 在账本数据存储方面, 传统交易系统采用由中心机构集中统一存储的方式, 账本数据安全由存储机构确保且账本内容不公开; 区块链交易系统采用全网节点共同存储账本的方式, 账本数据安全由共识机制、块链式数据结构共同确保且账本内容公开、透明;
(3) 在交易内容确认方面, 传统交易系统采用由中心机构统一核验、确认的中心化确认方式; 而在区块链交易系统中, 为了实现去(多)中心化的目标, 大多采用类似于b-money[
综上所述, 区块链系统中的交易模型采用UTXO结构详细记录了交易流转过程, 并将传统交易系统中的用户实名、账本保密的隐私保护方式变更为用户匿名、账本公开的方式, 将由中心机构集中确认交易变更为全网节点多方共识确认交易.这一新型交易模型对区块链系统中的身份管理及隐私保护都提出了更大的挑战.
区块链系统中的身份管理主要包括3方面的内容: 身份标识、身份认证和身份隐藏.其中, 身份标识是构成链上资产权属标记和支付确权的基础, 而身份认证和身份隐藏方式则与交易身份的隐私保护密切相关.
1) 身份标识
身份标识是指区块链系统中用于标识交易用户身份的一种模式.在目前的区块链系统中, 大多基于密码算法和认证协议来实现身份标识.此外, 在交易过程中, 身份标识还涉及到另外两方面的内容: 首先, 如何形成有效的身份标识符以用于资产(如UTXO)的权属标记并支持基于标识符的支付确权; 其次, 出于隐私保护的目的, 交易方大多拥有多个身份标识符, 例如多对公私钥对, 从而带来了相应的密钥管理问题.如何有效地在客户端管理用户的多身份标识符并优化存储空间和执行效率也是需要关注的问题.
2) 身份认证
身份认证是指在区块链系统中确认交易者身份的过程, 从而确定该用户是否具有对交易数据的访问和使用权限以及对交易行为的确认和不可抵赖.区块链系统中的身份认证又可分为如下3种.
(1) 匿名认证
在用户身份标识的建立和认证过程中, 不允许直接或间接确定交易者的真实身份.
(2) 实名认证
在用户身份标识的建立和认证过程中, 应直接或间接地确定交易者的真实身份.
(3) 可控匿名认证
在用户身份标识的建立和认证过程中, 除监管方以外不允许直接或间接确定交易者的真实身份.在必要时, 监管方可恢复出匿名化后交易方的真实身份.
3) 身份隐藏
由于区块链系统具有账本公开、多方确认的特点, 使得简单使用匿名认证技术难于保证交易方的身份隐私, 因此引入了身份隐藏技术以用于实现动态交易过程中的身份隐私保护.交易身份隐私是指对于区块链系统中的某笔交易, 观察者无法将交易发送方和接收方的身份与该笔交易相关联.观察者主要是指除交易参与方和监管方以外的第三方.这一定义包括两方面的内容: 首先, 观察者无法确认某笔交易发送方和接收方的身份.假设区块链系统中交易用户(身份)的总数为
区块链系统所采用的去(多)中心化模式下基于公开账本的交易多方共识确认模型在提供了高效的信任构建方法的同时, 也带来了更多的身份管理和隐私保护问题.其威胁主要包括:
(1) 区块链系统采用了交易账本全网公开的方式来存储全部的历史交易数据, 区块链系统中的所有节点都可以看到上链数据并追溯交易流程, 这给上链的身份隐私带来威胁;
(2) 区块链系统采用多方共识方式来完成交易的确认, 参与共识的节点必然需要掌握更多的交易信息以实现交易确权验证, 一旦共识节点出现问题, 必然会给交易信息中的身份隐私带来威胁;
(3) 区块链系统中采用的UTXO模型表示方法在有效地刻画了数字资产交易流转的同时, 也带来了隐私保护的问题.首先, UTXO以编码形式在公开账本中记录数字资产, 这为信息追踪和阈下信道的利用提供了便利; 其次, UTXO模型中清晰表达了输入输出UTXO间的关系以及权属变更过程, 如: 同一交易的多个输入可能属于使用不同地址(公钥)的同一所有者; 交易输出的找零地址与输入地址为同一持有人等.相关研究工作表明, 这些特点为身份追踪提供了极大的便利.
在传统交易系统中, 用户是向中心机构公开交易身份, 由中心机构完成身份管理和隐私保护.而区块链系统中并无单一中心机构, 而是依靠系统整体安全机制来实现安全和隐私保护.区块链系统一旦身份管理的保护机制出现问题, 所带来的后果会是向所有参与方公开交易身份和交易内容, 这对于承载高价值信息的系统而言是无法接受的.因此, 确保区块链系统参与方的身份隐私安全具有非常重要的意义.
但是受限于区块链系统中交易模型的设计, 身份管理和隐私保护方案也面临着如下一些技术挑战.
(1) 交易身份是区块链系统中数字资产权属表达的重要方式, 区块链存储的交易账本公开且交易记录易被追溯, 简单的身份匿名机制无法达到隐私保护的要求.因此, 如何有效地解决公开账本下动态交易过程中的身份隐私是所面临的主要挑战之一;
(2) 区块链系统采用多方共识方式来实现交易的确认和信任的构建, 有时交易双方对于作为观察者的验证节点来说是存在交易身份隐私保护需求的, 简单的信息隐藏方法无法满足既保护信息又可验证内容的需求.因此, 如何在保护交易身份隐私的同时实现正确、有效的交易验证具有一定的挑战性;
(3) 区块链系统中采用多方确认后通过公开信道(区块链账本)进行交易信息发布, 这一过程耗时较长.因此, 在区块链系统中大多采用交易发送方到区块链网络节点的单向通信方式.这使得传统交易系统中的多轮双向交互的身份认证和隐私保护协议不再适用.因此, 如何在区块链系统单向传输交易数据的过程中实现身份认证和隐私保护也具有一定的挑战性;
(4) 随着区块链系统在行业应用中的不断普及和发展, 行业监管与隐私保护之间的矛盾也逐渐凸显.一方面, 区块链系统中缺乏单一的交易中心机构; 另一方面, 传统的公有链中无监管式的隐私保护方法又不适合于很多现实应用场景.因此, 如何在实现隐私保护的同时又可提供对于交易身份的监管也有待进一步研究.
在用户身份管理方面, 目前的区块链系统大多基于非对称密码算法来实现用户的身份标识.但公有链和联盟链在具体实现方案上存在较大的差异.公有链中的比特币、以太坊、门罗币、零币和Libra[
目前区块链系统大多基于公钥密码体系的椭圆曲线密码算法来构建用户的身份标识.以比特币为例, 在比特币交易中用户的身份标识符
为了实现数字资产的权属标识, 在比特币的UTXO中使用用户的身份标识符(地址)
为了花费UTXO, 用户必须提供公钥〈
(1) 将用户数字签名〈
(2) 将用户公钥〈
(3) 执行栈顶元素复制指令DUP, 将用户公钥〈
(4) 弹出栈顶元素〈
(5) 将身份标识〈
(6) 弹出〈
由上述操作可见, 比特币基于非对称密码算法的公私钥对和签名验签实现了对链上数字资产的权属标识和支付确权.
此外, 为了实现交易过程中的身份隐私保护, 交易地址在每次交易时可动态生成, 即同一个用户通过使用多个不同的身份标识符(假名)来降低交易地址与真实身份以及不同交易之间的关联性, 这带来了钱包端密钥管理的问题.目前, 比特币提供了两种解决方案.第1种方案中用户私钥通过随机数动态地临时生成, 再计算对应的公钥.随着密钥数量的增加, 这会极大地增加密钥管理的开销; 第2种方案中用户在比特币钱包中存储根私钥, 使用时通过密钥派生算法来生成临时公私钥对, 支持这一方法的钱包也称为HD(hierarchical deterministic)钱包[
比特币HD钱包密钥派生结构
Key derivation in bitcoin HD wallet
此外, 在点对点分布式存储系统IPFS[
以Fabric和Corda等为代表的联盟链则更关注强监管环境下客户身份识别(know your customer, 简称KYC)的需求, 均提供了基于数字证书的用户身份标识, 以实现实名或可控匿名认证.
例如在Linux基金会所主导的开源联盟链平台Hyperledger Fabric[
数字证书的管理和使用
Management and use of certificates
更多的基于数字证书的身份管理机制可参见第3.2节和第3.3节.
W3C组织将分布式数字身份标识符(decentralized identifier, 简称DID)[
实体在注册申请后可获得一个DID或多个DID, 并由自己进行管理、维护, 不同DID所代表的身份之间没有关联性, 可有效保护身份隐私.同时, 每个DID会对应一个DID Document.DID Document是一个通用数据结构, 它包含与DID验证相关的密钥信息和验证方法(目前大多为公钥和数字签名), 提供了一组使DID控制者能够证明其对DID控制的机制.实体在需要进行身份信息证明时, 可向相关发行方申请可验证凭证, 用于实现对实体特定属性的声明.可验证凭证通常由至少两组信息组成: 其一表示可验证的凭证本身, 包含凭证元数据(metadata)和声明(claim); 其二表示数字证明, 通常是数字签名.经过上述过程, 分布式数字身份系统即可通过DID来标识一个实体, 通过可验证凭证来向身份验证方出示实体所具有的身份属性信息, 并证明自己的属性是可信的, 从而完成身份认证过程.一个实体的分布式数字身份的组成如
分布式数字身份的组成
Composition of distributed digital identity
在分布式数字身份模型中, 基于区块链系统将身份标识符的生成、维护与身份属性声明的生成、存储和使用相分离, 有助于构建一个分布式、模块化和更具弹性的身份服务生态系统.目前国内外已有多个项目基于区块链系统实现了分布式数字身份.例如, 国内微众银行的WeIdentity项目[
综上所述, 分布式数字身份提供了一种更灵活的身份标识和属性证明方法.但从目前的方案来看, DID仍然是基于非对称密码技术来实现的, 用户身份与一对公私钥仍形成绑定关系并通过签名实现对DID使用的控制.因此, DID在区块链交易系统中标识资产权属时仍然可以使用与现有系统同样的方法, 但也会面临相同的安全隐私威胁.
公有链中的比特币、以太坊、门罗币和零币等强调用户的身份隐私保护, 为交易用户提供了匿名认证, 即用户在注册过程中无需出示真实身份即可获得身份标识并将其用于身份认证.由于系统采用无准入机制的开放网络架构, 系统中无类似CA的可信认证中心来管理身份, 用户基于非对称密码算法自主生成和管理身份, 采用第2.1节中的方法实现身份标识, 即采用公钥作为身份标识符、私钥签名实现身份认证, 身份管理的全周期过程中用户都是匿名的.此外, 为了实现交易过程中的身份隐私保护, 同一用户还可通过使用多个不同的身份标识符(假名)来降低交易地址与真实身份以及不同交易之间的关联性.
虽然匿名认证能够在一定程度上保护用户隐私, 但值得注意的是, 由于区块链交易系统具有账本公开、多方确认的特点, 简单使用匿名(假名)认证并不能完全有效地解决交易身份隐私保护的问题.因此, 必须引入相应的身份隐藏机制来解决动态交易过程中的身份隐私保护问题, 详细内容可参见第4节.
为了实现用户的准入控制并符合交易监管要求, Fabric、Corda、趣链[
(1) 用户发送实名注册信息给CA申请数字证书;
(2) CA核实用户实名信息, 如果有误, 则终止申请过程;
(3) CA基于用户实名信息为用户生成公私钥对并签发实名数字证书, 确保数字证书与用户身份的一一绑定;
(4) CA将生成的数字证书和私钥发送给用户;
(5) 在区块链交易过程中用户使用数字证书作为身份标识符, 通过私钥签名实现身份认证, 身份管理的全周期过程中用户都是实名的.
基于数字证书的实名认证方案可以较好地适用于中心化系统中账本保密的应用场景.但是对于区块链中的公开账本系统, 却带来了极大的隐私泄漏风险.观察者可通过对公开账本中实名身份的分析实现交易的关联和追踪, 从而严重威胁到用户的交易安全.为了解决这一问题, 联盟链在身份管理中也提出了相应的可控匿名认证方案.
为了解决隐私保护问题, 以Fabric和Corda等为代表的联盟链在身份管理中均提供了可控匿名认证方案.例如, fabric 0.6版本中提供了基于用户交易证书TCerts(transaction cerficates, 简称TCerts)[
Fabric中的两级身份证书
Tow level indentity certificates in Fabric
其中, 根证书颁发机构(root CA), 是PKI层次结构中最上层的CA, 它代表PKI体系中的信任锚.注册证书颁发机构ECA负责给通过注册验证的用户颁发实名注册证书Ecerts.交易证书颁发机构TCA负责给提供了有效注册证书的用户颁发匿名交易证书TCerts.匿名交易证书TCerts的结构见
TCerts结构
The architecture of Tcerts
名称 | 描述 |
TCertID | Tcert证书序列号 |
encEnrollmentID | EnrollmentID的密文 |
encTCertIndex | TCertIndex的密文 |
TCertPub_Key | TCert的公钥 |
Extension | 证书扩展域 |
Validity period | 证书有效期 |
其中, 监管方拥有加密用户实名注册号EnrollmentID的解密密钥, 在必要时可通过解密此字段获得用户实名身份.同时, 为了降低客户端的密钥存储数量,
客户端在交易过程中使用不同的TCerts来完成不同的交易, 因此观察者无法有效识别出用户的真实身份.但这一方案也存在一定的问题: 第一, 为了实现更好的身份隐私保护, 这一方案要求TCA和用户维护大量的TCerts证书, 从而增加了系统在密钥管理、通信和存储方面的负担; 第二, 如果用户重复使用TCerts也会带来交易的可链接性问题; 第三, 对于发行TCerts的TCA而言, 它仍然可以链接用户的不同交易.
为了弥补TCerts方案的不足, 目前在Fabric 2.0版本中引入Idemix方案[
(1) 签发者签发包含一组用户属性的凭证(credential);
(2) 用户在使用凭证进行身份认证时通过零知识证明向验证方证明其拥有凭证并可选择性地出示相应的属性.这一过程是零知识的, 不会向观察者泄漏任何其他信息;
(3) 匿名性, 即通过认证过程观察者无法获得用户真实身份信息;
(4) 不可链接性, 即观察者无法将用户的多次认证过程链接在一起.
Idemix方案与X.509数字证书认证方案的不同在于Idemix使用零知识证明, 向验证者证明证明者拥有签名及相应属性且无需出示这些值.Idemix与X.509证书方案的比较如
Idemix和X.509方案的比较
Comparisons between Idemix and X.509 in Fabric
此外, Corda中也引入了隐蔽身份(confidential identities)的概念使用临时生成的密钥对来保护隐私[
微众银行的FISCO BCOS区块链平台为了提高用户交易过程中的身份隐私保护, 引入了群签名(group signature)技术用于实现用户身份的可控匿名认证.在一个群签名方案中, 群成员可以通过匿名的方式代表整个群体对消息进行签名, 验证方可采用群公钥对签名进行公开验证以确保签名来自于合法的群成员, 必要时群管理员可“打开”群签名用以恢复签名者的真实身份.
一个群签名方案包含如下过程.
(1) 创建: 创建群并指定群管理员, 生成群公钥和私钥;
(2) 加入: 群管理员执行新增群成员操作, 生成群成员私钥和证书, 证书用于证明群成员身份;
(3) 签名: 由群成员执行, 输入消息和群成员私钥, 输出消息签名;
(4) 验证: 验证者通过群公钥验证签名的合法性以确保签名来自于合法的群成员, 但无法确定是哪一个群成员的签名;
(5) 打开: 群管理员可通过签名信息和群私钥获取签名者证书, 从而恢复出签名者的真实身份.
FISCO BCOS选择了支持群成员撤销和短签名特性的BBS 04方案[
FISCO BCOS中的群签名方案
Group signature scheme in FISCO BCOS
此外, FISCO BCOS也提供了强匿名的环签名方案用于用户身份隐私保护.这些方案在联盟链中如何与数字资产交易相结合仍有待进一步加以研究.
综上所述, Hyperledger Fabric等联盟链通过使用交易证书TCerts和Idemix来实现用户身份的可控匿名认证.对于TCerts方案, 交易身份隐私保护的有效性取决于TCerts证书数量的多少, 这也带来了增加计算存储开销的问题; 对于Idemix和群环签名方案, Fabirc和FISCO BCOS并未给出匿名认证与资产确权、交易流程相结合的具体实现方案, 因此还有待进一步加以研究.
值得注意的是, 由于区块链交易系统具有账本公开、多方确认的特点, 简单使用前述的匿名身份认证并不能有效地解决交易身份隐私保护的问题.
以使用匿名(假名)身份认证的典型代表比特币为例, 虽然比特币采取了匿名身份认证的“假名”机制, 但基于对公开账本数据的分析, 仍可推测出参与方的交易身份隐私信息.这是由比特币UTXO交易模型的特点所决定的.
(1) 比特币UTXO交易模型中确定资产权属的身份标识为明文、确定的交易地址(假名), 未采取任何身份隐藏措施;
(2) 通常在同一个交易中, 所有的输入地址大多属于同一个用户;
(3) 找零地址和输入地址属于同一个用户.找零地址的特征包括: 作为输出地址的情况通常只会出现1次; 找零地址不会同时出现在输入地址和输出地址; 输出地址中不能只有找零地址.通过找零地址的聚类分析, 同样可以有效地识别同一用户的多个地址.
基于上述交易特征, 交易分析技术通过分析公开账本中的交易记录, 发现不同交易身份之间的关联关系, 从而推测出匿名用户的交易规律, 相关研究工作已取得了较好的分析效果[
为了防止通过公开账本的数据分析来获得用户身份隐私信息, 相关研究工作在比特币交易模型的基础上提出了改进方案, 通过引入身份隐藏技术来保护身份隐私.从身份隐藏技术保护的对象而言, 可将身份隐藏划分为交易发送方的身份隐藏和交易接收方的身份隐藏.从身份隐藏所采取的不同技术手段来看, 身份隐藏技术可分为两类.
(1) 混币交易技术
混币交易技术是指在交易过程中增加中间环节对多个交易进行混淆, 从而增加攻击者的分析难度, 保护用户身份隐私.这种方法在数字货币领域通常被称为“混币”机制, 它是区块链系统中实现交易身份隐藏的基本思想.混币技术又可分为需非交易方主动参与的协同混币技术、交易方自主发起并完成的自主混币技术和系统体系架构内生的全局混币技术.上述3种“混币”机制分别在第4.2节~第4.4节中进行了详细的讨论.
(2) 无标识交易技术
无标识交易技术是指在链上资产的表示(如UTXO)中不包含资产所有者的身份标识, 资产权属变更过程中的交易确认是由用户采用资产表示中的秘密因子进行相应的密码运算来完成的, 接收方通过密码运算的结果来判断资产权属和交易确认的正确性.无标识交易技术在第4.5节中给出了详细的讨论.
协同混币机制的基本设计思路是: 交易发送方在交易过程中引入一组并发交易用户并通过混淆器(mixer)混淆来共同完成交易, 从而实现交易输入、输出地址对应关系的隐藏, 使得观察者无法通过账本分析获得交易隐私信息.所谓“协同”是指混币过程中需要第三方机构或交易人的主动参与才能完成混淆过程.混币的工作机制如
混币的工作机制
Mechanism of mixing coin
目前, 协同混币技术可大致分为两类: 中心化混币和去中心化混币.
在中心化混币方案中, 第三方独立机构充当混淆器, 参与混币的交易发送方首先将数字货币发送给第三方机构, 第三方机构对交易进行混淆, 然后将同等额度的数字货币转移给交易接收方.很多网站, 如Blockchain. info、BitCoin Fog等均提供在线的混淆服务[
去中心化混币方案则采取了去掉第三方机构的方法来规避隐私泄露风险.在去中心化方案中, 互不信任的用户无需依赖第三方, 可以自由组合来构建混币交易.由Maxwell首次提出的Coinjoin[
CoinJoin工作原理
Mechanism of CoinJoin
虽然Coinjoin交易对外是不可链接的, 但是对参与Coinjoin交易的用户来说, 由于每个用户都必须对交易进行签名, 所以每个用户都知道其他用户的交易信息.因此, Coinjoin交易不满足内部不可链接性.为了解决这一问题, Ruffing和Moreno-sanchez等人提出了CoinShuffle方案[
CoinShuffle工作原理
Mechanism of CoinShuffle
为了进一步提高CoinShuffle混币过程中的通信效率, Ruffing等人进一步提出了CoinShuffle++改进方案[
综上所述, 协同混币技术在混淆过程中通过引入一组并发用户实现了交易接收方的身份隐藏, 通过混淆机制隐藏了混币交易中用户输入、输出地址(交易发送、接收方)间的对应关系.假设一个混币交易集合中的用户数为
协同混币技术在提供身份隐私保护的同时, 也存在着一定的问题: 首先, 协同混币过程必须需要其他用户的主动参与, 任何一个用户的退出都会导致混币交易失败; 其次, 在提供了更好隐私特性的方案中, 如: MixCoin、BlindCoin、Blind Signed Contract、CoinShulffle和CoinShuffle++等, 均在链外引入了实体(混淆器、用户等)间的多轮交互协议以提高安全性.这在一定程度上增加了系统实现的复杂性和运行开销.文献[
自主混币技术的典型代表是门罗币(Monero)[
门罗币沿用了比特币中的UTXO交易模型并设计了基于隐蔽地址的交易接收方身份隐藏机制.在每次交易过程中, 通过使用发送方生成的随机数和接收方的身份标识(
设椭圆曲线中的基点为
隐蔽地址的生成算法
Generation algorithm of stealthy address
(1) Alice想要付款给Bob, Alice先需获取Bob的公钥信息(
(2) Alice产生一个随机数
(3) Alice计算
(4) Alice将交易广播到区块链上;
(5) Bob检查区块链上每一笔交易, 并用他自己的私钥(
(6) Bob找到自己的交易后就可以算出对应的一次性私钥
为了满足门罗币用户使用和管理多个地址(身份标识)的需求, 类似于比特币中的HD钱包方案, 门罗币又提出了用户子地址(sub-address)的概念[
子地址的生成方法
Generation algorithm of sub-address
交易过程中生成的一次性子地址的判断方法如
一次性子地址的判断方法
Decision of stealthy sub-address
门罗币中交易发送方的身份隐藏是通过环签名技术来实现的.环签名是由Rivest等人在如何匿名泄漏秘密背景下提出来的新型签名技术[
给定一个环
门罗币中所使用的是一类具有可链接性的环签名, 称为可链接环签名.可链接性是指如果环
门罗币用户在进行交易时首先执行自主混币过程, 即搜索链上具有相同面额的UTXO, 选择它们的公钥和自身公钥一起来构成环(匿名集合); 其次, 用户通过自身私钥和环成员的公钥对支付消息生成环签名; 最后, 验证节点验证环签名的有效性和链接性(防双花).门罗币自主混币过程的实例如
门罗币自主混币过程
Mixing coin in Monero
通过对上述分析可知, 门罗币采用基于可链接环签名技术的混淆方案实现了如下3个功能: (1) 利用环签名的匿名性将交易发送方的身份隐藏在环成员构成的匿名集合中; (2) 利用环签名的不可伪造性实现了用户对交易行为的确认和不可否认; (3) 利用可链接环签名的可链接性防止货币(UTXO)双花(double spending).
门罗币早期版本使用的是CryptoNote协议中定义的一次性环签名算法[
(1) 密钥生成
签名者首先随机选择一个私钥
(2) 签名验签
签名者随机选择一个包含
(3) 链接算法
若验签通过, 则验证者还需进一步检查
门罗币在发展过程中也在不断进行环签名技术的优化.2015年, Back等人提出了对CryptoNote一次性环签名结果存储空间的优化方案[
为了解决LSAG方案的上述问题, 后续的门罗币Ring CT(ring confidential transactions)版本又提出了多层可链接自组织匿名群签名方案MLSAG(multilayer linkable spontaneous anonymous group signature, 简称MLSAG)[
综上所述, 门罗币在使用匿名身份认证的同时, 在交易过程中又提供了基于自主混币的交易身份隐藏技术.它通过隐蔽地址技术实现交易接收方的身份隐藏, 在设定系统总用户数为
门罗币通过一次性地址和环签名所构建的自主混币与协同混币技术存在着类似的混淆过程, 但二者又存在不同: (1) 门罗币的混淆过程无需发起方与参与方间的交互; (2) 参与方无需真正发起交易.这些特点使得门罗币基于非交互模式的自主混淆过程实现了发送方的身份隐私保护.
但门罗币的自主混币方案也存在一定的风险: 首先, 在接收方身份隐藏机制方面, 如果交易发送方在与同一用户交互过程中使用相同的随机数, 则两笔不同交易的接收地址相同, 会带来两笔交易产生关联的问题.因此, 接收方交易关联的隐私问题会一定程度地依赖于发送方的行为可信.其次, 在发送方身份隐藏机制方面, 发送方身份隐私的保护程度依赖于混淆过程中环成员的多少以及参与混淆的UTXO在其他交易中的使用情况.相关研究工作表明, 在用户自主混淆过程中选择较少的环成员(如2个)会带来一定的隐私泄露风险[
全局混币技术的典型代表是零币(Zcash)[
在此, 我们以Zcash中实现方式最接近于原Zerocash论文的Sprout版本为例介绍零币中的身份隐私保护.零币中仍然沿用了比特币中的匿名身份认证机制, 但密钥形式和作用与比特币有很大的不同.在Sprout中, 用户密钥和地址之间的关系如
零币中的用户密钥和地址
User addresses and keys in ZCash
为了实现交易的隐私保护, 零币系统并未将货币明文直接存储在公开账本中, 而是将系统已生成货币的承诺值列表和已花费货币的序列号列表公开, 交易过程中的货币合法性验证即成为一个承诺列表的成员证明问题, 防双花问题则通过已花费货币的序列号比对来完成.零币中的每个货币
其中,
零币系统通过两类交易实现新币承诺的生成:
零币中的承诺Merkle树
Commitment Merkle tree in ZCash
整棵Merkle树构成了系统中已经出现过的所有匿名货币列表(包括已经花费和未花费的), 其中每个币的承诺值
零币用户在使用
(1)
(2)
(3)
由此可见, 零币的支付过程将发送方的支付货币混淆在Merkle树的全部成员(已生成货币)中, 交易结构中并不包含交易发送方的身份信息, 只需发送者证明他拥有输入货币承诺对应的花费密钥
在零币的交易结构中同样不存在接收方的任何地址信息, 而是通过对交易内容的加密来指定交易接收方. Zerocash方案中使用key-private encryption scheme[
此外, 基于企业以太坊Quorum平台ZCash开发团队开发了ZSL[
ZSL交易模型
ZSL transaction model
综上所述, 零币在使用匿名身份认证的同时在交易过程中又提供了基于全局混币的交易身份隐藏技术.它通过零知识证明和(自主)全局混币技术实现了交易发送方的身份隐藏; 通过交易内容的加密接收实现了交易接收方的身份隐藏.在设定系统总用户数为
无标识交易技术的典型代表为MimbleWimble协议[
为了实现交易内容的隐私保护, MimbleWimble使用了保密交易(confidential transaction)技术对交易金额进行隐藏.保密交易技术最初是由比特币开发人员Back和Maxwell提出来的[
其中,
这为矿工(验证者)使用金额承诺进行隐藏交易验证提供了便利.假设一个交易的输入为
因此, 矿工只需通过公开承诺的加法运算即可完成交易平衡性的验证.
为了实现交易过程中的身份隐藏, MimbleWimble采用了改进的CT方案.首先, MimbleWimble系统中取消了用户交易地址, 公开账本中记录的每一条UTXO中不再存有标识用户身份的公钥信息, 这使得所有基于交易地址的关联分析技术失效, 尤其是增加了交易可链接性的分析难度; 其次, 为了解决无用户地址情况下的UTXO确权问题, MimbleWimble在交易输出承诺的构建过程中指定接收方随机秘密选择交易输出的盲化因子
综上所述, MimbleWimble通过无标识交易的方式来实现交易发送方和接收方的身份隐藏, 具有较好的隐私保护特性.但这一方案也存在着一定的问题: 首先, 由于MimbleWimble隐藏了身份标识, 因此交易构建过程需要双方通过链外方式进行参数交互, 这一方面增加了交易过程的复杂度, 另一方面也带来了链外通信的隐私泄露风险; 其次, MimbleWimble并未采取混币技术进行交易身份隐藏, 因此UTXO间的对应关系仍可为观察者提供关联分析的便利.即使是采用CoinJoin聚合方法, 矿工在交易聚合过程中仍可看到原始交易输入输出的对应关系, 这一过程并未完全解决交易的内部不可链接性问题, 仍存在一定的隐私泄漏风险; 此外, 文献[
区块链系统中的身份管理技术是当前的研究热点, 也是制约区块链系统整体安全和应用推广的关键要素.但是由于在应用需求、信任模型和法规遵从等方面存在较大的差异, 因此目前主流区块链身份管理系统所采取的研究方法和技术路线上也各有不同.
首先, 在身份标识方面, 目前的区块链系统大多采用基于非对称密码体制的公私钥对来进行用户的身份标识.目前的公有链密码货币项目大多选择ECDSA和ED 25519算法, 出于对算法的安全性、签名验签性能、密钥交换效率等方面的考虑, 不同的项目, 有不同的选择.此外, 如零币中并不使用身份标识的私钥签名来完成货币支付行为的确认, 因此在其身份标识中引入了另一对用于零知识证明的算法因子, 以实现对货币的权属控制.对于无标识交易技术MimbleWimble, 虽然可以通过取消身份标识来增加隐私保护, 但也带来了链外通信的额外开销.对于目前的联盟链, 如Hyperledger Fabric、Corda等, 多以选择ECDSA、RSA等传统的公私钥密码体制为主, 并通过CA颁发数字证书来实现用户身份的实名或可控匿名认证.
其次, 在身份认证方面, 为了解决身份隐私保护的问题, 公有链和联盟链都提供了匿名身份认证的机制.与公有链中用户自主生成标识身份的公私钥不同, 为了实现监管友好的目的, 联盟链更多地采用由中心机构CA来生成用户实名或匿名认证的身份标识, 从而实现实名认证和可控匿名的设计需求.但应注意的是, 由于区块链交易系统具有账本公开、多方确认的特点, 简单使用匿名身份认证并不能有效地解决交易身份隐私保护的问题.
此外, 为了有效解决交易身份的隐私保护问题, 必须在交易过程中采取相应的交易身份隐藏技术.目前的隐藏方法多以“混淆”思想为主, 如何构建更为高效、安全的混币过程得到了密码货币项目的广泛关注.在联盟链中, 这一问题关注得较少, 仍有待进一步加以研究.对于区块链系统的行业应用而言, 自主混币和全局混币技术明显具有更广泛的应用场景.
综上所述, 我们将目前主流区块链系统中的身份管理技术加以总结, 详见
区块链系统身份管理技术总结
Summay of the identity management in blockchain
身份标识 | 身份认证 | 身份隐藏 | 实现复杂度 | ||
发送方身份隐藏 | 接收方身份隐藏 | ||||
比特币[ |
公钥 | 匿名 | 无 | 无 | 低 |
协同混币[ |
公钥 | 匿名 | 混淆 | 混淆 | 中 |
自主混币[ |
公钥 | 匿名 | 可链接环签名 | 一次性地址 | 高 |
全局混币[ |
公钥+零知识证明 | 匿名 | 零知识证明 | 一次性认证加密 | 高 |
无标识支付[ |
无标识 | 匿名 | 无地址 | 无地址 | 低 |
Hyperledger Fabric[ |
数字证书 | 实名 | 无 | 无 | 低 |
Idemix | 可控匿名 | 无 | 无 | 中 | |
Corda[ |
数字证书 | 实名 | 无 | 无 | 低 |
隐蔽身份 | 可控匿名 | 无 | 无 | 低 | |
FISCO BCOS[ |
数字证书 | 实名 | 无 | 无 | 低 |
群签名 | 可控匿名 | 无 | 无 | 中 | |
趣链[ |
数字证书 | 实名 | 无 | 无 | 低 |
随着区块链技术在多领域的广泛推广和深入应用, 基于区块链构建的交易系统也对隐私保护技术提出了更多的需求, 未来亟需在以下几个方面展开作更进一步的研究.
首先, 在身份管理的功能需求层面, 随着区块链技术在金融、社会治理等领域的广泛应用, 传统公链中无监管的身份隐私保护方案无法满足交易可监管的需求.因此必须提供内置于交易模型和交易流程中的可监管技术, 在必要时可正确地恢复出交易身份和内容, 以防止非法交易行为.如何设计更高效、安全的可监管隐私保护方案有待进一步研究.此外, 随着近年来分布式身份管理和分布式数字身份(decentralized ID)概念的提出, 如何将分布式数字身份管理与区块链系统相融合, 实现DID在区块链系统中的应用也是未来的关注点.
其次, 身份管理的算法设计一直是研究的热点.一方面, 随着新应用场景的不断出现, 区块链系统已经从简单的密码货币应用走向分布式基础信任架构, 设计适合于新需求的身份认证和隐私保护算法是推进区块链系统深入发展的必然要求, 如基于身份的密码体制、零知识证明、多方安全计算、同态加密等密码学机制在交易身份和内容隐藏的研究方面都得到了广泛关注; 另一方面, 原有的算法方案在安全性和性能方面的不足, 也会推动相关问题的进一步研究.门罗币、零币、Fabric等隐私保护方案的快速迭代充分表明了这一方向的研究工作非常活跃.
最后, 在身份管理方案的实现层面, 提高算法实现的性能和安全性也有待深入研究.身份认证和隐私保护方案大多基于复杂的密码学运算, 较低的性能一直是制约其大范围推广的瓶颈环节, 因此, 高效的算法实现方案备受关注; 此外, 通过引入, 如TEE、SGX和USB Key等系统安全技术, 为隐私保护方案提供安全存储和安全计算环境, 从而提高性能和安全性也具有非常好的研究和应用前景.
本文基于区块链交易模型的特点, 分析了区块链系统中身份管理技术涵盖的主要内容、关键问题及安全挑战, 从身份标识、身份认证和身份隐藏3个方面比较分析了目前主流区块链平台中身份管理和隐私保护的不同实现技术, 并展望了相关领域的未来研究方向.随着区块链技术的不断普及和推广, 其应用场景和应用模式也会日益丰富, 作为区块链系统基础组件的身份管理必然会受到更多的关注, 希望本文能够为未来的研究工作提供有益的借鉴.
https://bitcoin.org/bitcoin.pdf]]>
Zhou P, Du Y, Li B. White Paper of Blockchain Technology and Development in China. Beijing: Ministry of Industry and Information Technology, 2016. 5-25(in Chinese).
周平, 杜宇, 李斌. 中国区块链技术和应用发展白皮书. 北京: 工业和信息化部, 2016.5-25.
Yuan Y, Wang FY. Blockchain: The state of the art and future trends. ACTA AUTOMATICA SINICA, 2016, 42(4): 481-494(in Chinese with English abstract).
袁勇, 王飞跃. 区块链技术发展现状与展望. 自动化学报, 2016, 42(4): 481-494.
http://www.weidai.com/bmoney.txt]]>
Zhu LH, Gao F, Shen M, et al. Survey on privacy preserving techniques for blockchain technology. Journal of Computer Research and Development, 2017, 54(10): 2170-2186(in Chinese with English abstract).
祝烈煌, 高峰, 沈蒙, 李艳东, 郑宝昆, 毛洪亮, 吴震. 区块链隐私保护研究综述. 计算机研究与发展, 2017, 54(10): 2170-2186.
Genkin D, Papadopoulos D, Papamanthou C. Privacy in decentralized cryptocurrencies. Communications of the ACM, 2018, 61(6): 78-88.
Fu S, Xu HX, et al. A survey on anonymity of digital currency. Chinese Journal of Computers, 2019, 42(5): 1045-1062(in Chinese with English abstract).
付烁, 徐海霞, 李佩丽, 等. 数字货币的匿名性研究. 计算机学报, 2019, 42(5): 1045-1062.
Zhang A, Bai XY. Survey of research and practices on blockchain privacy protection. Ruan Jian Xue Bao/Journal of Software, 2020, 31(5): 1406-1434(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5967.htm[doi:10.13328/j.cnki.jos.005967]
张奥, 白晓颖. 区块链隐私保护研究与实践综述. 软件学报, 2020, 31(5): 1406-1434. http://www.jos.org.cn/1000-9825/5967.htm[doi:10.13328/j.cnki.jos.005967]
https://www.dash.org/]]>
https://www.getmonero.org/]]>
Sasson EB, Chiesa A, Garman C, et al. Zerocash: Decentralized anonymous payments from bitcoin. In: Proc. of the IEEE Symp. on Security and Privacy 2014. IEEE, 2014. 459-474.
Danezis G, Meiklejohn S. Centrally banked cryptocurrencies. In: Proc. of the Network and Distributed System Security Symp. Internet Society, 2016. 1-14.
https://www.corda.net/]]>
https://github.com/hyperledger/fabric]]>
Androulaki E, Barger A, Bortnikov V, et al. Hyperledger Fabric: A distributed operating system for permissioned blockchains. In: Proc. of the 13th European Systems Conf. New York: ACM, 2018. 30-45.
https://www.ethereum.org/zh/]]>
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md]]>
https://libra.org/en-US/white-paper/]]>
https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki]]>
https://github.com/ipfs/]]>
https://www.w3.org/TR/did-core/]]>
https://www.w3.org/TR/vc-data-model/]]>
https://github.com/WeBankFinTech/WeIdentity]]>
https://github.com/hyperchain]]>
https://github.com/bcosorg]]>
Cachin C. Architecture of the hyperledger blockchain Fabric. In: Proc. of the Workshop on Distributed Cryptocurrencies and Consensus Ledgers. Zurich: IBM Research, 2016. 1-4.
Camenisch J, Van Herreweghen E. Design and implementation of the idemix anonymous credential system. In: Proc. of the 9th ACM Conf. on Computer and Communications Security. New York: ACM, 2002. 21-30.
Camenisch J, Lysyanskaya A. Signature schemes and anonymous credentials from bilinear maps. In: Proc. of the CRYPTO 2004. Berlin: Springer-Verlag, 2004. 56-72.
Au MH, Susilo W, Mu Y. Constant-size dynamic k-TAA. In: Proc. of the Int'l Conf. on Security and Cryptography for Networks. Berlin: Springer-Verlag, 2006. 111-125.
Camenisch J, Drijvers M, Lehmann A. Anonymous attestation using the strong Diffie Hellman assumption revisited. In: Proc. of the Int'l Conf. on Trust and Trustworthy Computing. Berlin: Springer-Verlag, 2016. 87-101.
Camenisch J, Dubovitskaya M, Enderlein RR, et al. Concepts and languages for privacy-preserving attribute-based authentication. Journal of Information Security and Applications, 2014, 19(1): 25-44.
https://docs.corda.net/api-identity.html]]>
Boneh D, Boyen X, Shacham H. Short group signatures. In: Proc. of the CRYPTO. Berlin: Springer-Verlag, 2004. 41-55.
Reid F, Harrigan M. An analysis of anonymity in the bitcoin system. In: Proc. of the Security and Privacy in Social Networks. Berlin: Springer-Verlag, 2013. 197-223.
Liao K, Zhao Z, Doupé A, et al. Behind closed doors: Measurement and analysis of CryptoLocker ransoms in bitcoin. In: Proc. of the APWG Symp. on Electronic Crime Research. IEEE, 2016. 1-13.
Ron D, Shamir A. Quantitative analysis of the full bitcoin transaction graph. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security 2013. Berlin: Springer-Verlag, 2013. 6-24.
Biryukov A, Khovratovich D, Pustogarov I. Deanonymisation of clients in bitcoin P2P network. In: Proc. of the ACM Conf. on Computer and Communications Security. New York: ACM, 2014. 15-29.
Gao F, Mao HL, Wu Z, et al. Lightweight transaction tracing technology for bitcoin. Chinese Journal of Computers, 2018, 41(5): 989-1004(in Chinese with English abstract).
高峰, 毛洪亮, 吴震, 沈蒙, 祝烈煌, 李艳东. 轻量级比特币交易溯源机制. 计算机学报, 2018, 41(5): 989-1004.
Meiklejohn S, Pomarole M, Jordan G, et al. A fistful of bitcoins: Characterizing payments among men with no names. In: Proc. of the ACM Conf. on Internet Measurement Conf. New York: ACM, 2013. 127-140.
Zhao C, Guan Y. A graph-based investigation of bitcoin transactions. In: Proc. of the IFIP Int'l Conf. on Digital Forensics. Berlin: Springer-Verlag, 2015. 79-95.
Zheng B, Zhu L, Shen M, et al. Malicious bitcoin transaction tracing using incidence relation clustering. In: Proc. of the Int'l Conf. on Mobile Networks and Management. Berlin: Springer-Verlag, 2017. 313-323.
Chen T, Zhun YX. Understanding Ethereum via graph analysis. In: Proc. of the IEEE Conf. on Computer Communications. IEEE, 2018. 1484-1492.
Spagnuolo M, Maggi F, Zanero S. Bitiodine: Extracting intelligence from the bitcoin network. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin: Springer-Verlag, 2014. 457-468.
https://Blockchain.info/wallet]]>
http://bitcoinfog.info/]]>
Bonneau J, Narayanan A, Miller A, et al. Mixcoin: Anonymity for bitcoin with accountable mixes. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin: Springer-Verlag, 2014. 486-504.
Valenta L, Rowan B. Blindcoin: Blinded, accountable mixes for bitcoin. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin: Springer-Verlag, 2015. 112-126.
Chaum D. Blind signatures for untraceable payments. In: Proc. of the CRYPTO. Berlin: Springer-Verlag, 1983. 199-203.
Heilman E, Baldimtsi F, Goldberg S. Blindly signed contracts: Anonymous on-blockchain and off-blockchain bitcoin transactions. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin: Springer-Verlag, 2016. 43-60.
https://bitcointalk.org/index.php?topic=279249.0]]>
Ruffing T, Moreno-Sanchez P, Kate A. CoinShuffle: Practical decentralized coin mixing for bitcoin. In: Proc. of the European Symp on Research in Computer Security. Berlin: Springer-Verlag, 2014. 345-364.
Corrigan-Gibbs H, Ford B. Dissent: Accountable anonymous group messaging. In: Proc. of the ACM Conf. on Computer and Communications Security. New York: ACM, 2010. 340-350.
Chaum D. Untraceable electronic mail, return addresses, and digital pseudonyms. Communications of the ACM, 1981, 24(2): 84-90.
Ruffing T, Moreno-Sanchez P, Kate A. P2P Mixing and unlinkable Bitcoin transactions. In: Proc. of the Network and Distributed System Security Symp. Internet Society, 2017. 43-58.
Chaum D. The dining cryptographers problem: Unconditional sender and recipient untraceability. Journal of Cryptology, 1988, 1(1): 65-75.
Saxena A, Misra J, Dhar A. Increasing anonymity in bitcoin. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin: Springer-Verlag, 2014. 122-139.
Wang ZY, Liu JW. Full anonymous blockchain based on aggregate signature and confidential transaction. Journal of Computer Research and Development, 2018, 55(10): 2185-2198(in Chinese with English abstract).
王子钰, 刘建伟, 张宗洋, 喻辉. 基于聚合签名与加密交易的全匿名区块链. 计算机研究与发展, 2018, 55(10): 2185-2198.
https://cryptonote.org/whitepaper.pdf]]>
https://csrc.nist.gov/publications/detail/fips/186/4/final]]>
Bernstein DJ, Duif NN, Lange T, et al. High-speed high-security signatures. Journal of Cryptographic Engineering, 2012, 2(2): 77-89.
Bernstein DJ, Lange T. Faster addition and doubling on elliptic curves. In: Proc. of the Int'l Conf. on the Theory and Application of Cryptology and Information Security. Berlin: Springer-Verlag, 2007. 29-50.
Noether S, Mackenzie A. Ring confidential transactions. Ledger, 2016, 1: 1-18.
https://lab.getmonero.org/pubs/MRL-0006.pdf]]>
Rivest RL, Shamir A, Tauman Y. How to leak a secret. In: Proc. of the Int'l Conf. on the Theory and Application of Cryptology and Information Security. Berlin: Springer-Verlag, 2001. 552-565.
Chaum D, Heyst E. Group signatures. In: Proc. of the Workshop on the Theory and Application of of Cryptographic Techniques. Berlin: Springer-Verlag, 1991. 257-265.
Fujisaki E, Suzuki K. Traceable ring signature. In: Proc. of the Int'l Workshop on Public Key Cryptography. Berlin: Springer-Verlag, 2007. 181-200.
Cramer R, Damgård I, Schoenmakers B. Proofs of partial knowledge and simplified design of witness hiding protocols. In: Proc. of the CRYPTO. Berlin: Springer-Verlag, 1994. 174-187.
https://bitcointalk.org/index.php?topic=972541.msg10619684#msg10619684]]>
Liu JK, Wei VK, Wong DS. Linkable spontaneous anonymous group signature for ad hoc groups. In: Proc. of the Australasian Conf. on Information Security and Privacy. Berlin: Springer-Verlag, 2004. 325-335.
https://lab.getmonero.org/pubs/MRL-0011.pdf]]>
Moser M, Soska K, Heilman E, et al. An empirical analysis of traceability in the Monero blockchain. Privacy Enhancing Technologies, 2018, (3): 143-163.
Kumar A, Fischer C, Tople S, et al. A traceability analysis of Monero's blockchain. In: Proc. of the Symp. on Research in Computer Security. Berlin: Springer-Verlag, 2017. 153-173.
Yu J, Au MH, Esteves-Verissimo P. Re-thinking untraceability in the CryptoNote-style blockchain In: Proc. of the 32nd IEEE Computer Security Foundations Symp. IEEE, 2019. 94-9413.
Yuen TH, Sun SF, Liu JK, et al. Ring CT 3.0 for blockchain confidential transaction: Shorter size and stronger security. In: Proc. of the Int'l Conf. on Financial Cryptography and Data Security. Berlin: Springer-Verlag, 2020. 464-483.
https://z.cash/zh/get-started/]]>
Sander T, Ta-Shma A. Auditable, anonymous electronic cash. In: Proc. of the CRYPTO. Berlin: Springer-Verlag, 1999. 555-572.
Miers I, Garman C, Green M, et al. Zerocoin: Anonymous distributed e-cash from bitcoin. In: Proc. of the IEEE Symp. on Security and Privacy. IEEE, 2013. 397-411.
Sasson EB, Chiesa A, Garman C, et al. Zerocash: Decentralized anonymous payments from bitcoin. In: Proc. of the IEEE Symp. on Security and Privacy. IEEE, 2014. 459-474.
https://zcash.readthedocs.io/en/latest/]]>
Groth J. Short pairing-based non-interactive zero-knowledge arguments. In: Proc. of the Int'l Conf. on the Theory and Application of Cryptology and Information Security. Berlin: Springer-Verlag, 2010. 321-340.
Lipmaa H. Progression-free sets and sublinear pairing-based non-interactive zero-knowledge arguments. In: Proc. of the Theory of Cryptography Conf. Berlin: Springer-Verlag, 2012. 169-189.
Bitansky N, Chiesa A, Ishai Y, et al. Succinct non-interactive arguments via linear interactive proofs. In: Proc. of the Theory of Cryptography Conf. Berlin: Springer-Verlag, 2013. 315-333.
Gennaro R, Gentry C, Parno B, et al. Quadratic span programs and succinct NIZKs without PCPs. In: Proc. of the Annual Int'l Conf. on the Theory and Applications of Cryptographic Techniques. Berlin: Springer-Verlag, 2013. 626-645.
Parno B, Howell J, Gentry C, et al. Pinocchio: Nearly practical verifiable computation. In: Proc. of the IEEE Symp. on Security and Privacy. IEEE, 2013. 238-252.
Ben-Sasson E, Chiesa A, Genkin D, et al. SNARKs for C: Verifying program executions succinctly and in zero knowledge. In: Proc. of the CRYPTO. Berlin: Springer-Verlag, 2013. 90-108.
Lipmaa H. Succinct non-interactive zero knowledge arguments from span programs and linear error-correcting codes. In: Proc. of the Int'l Conf. on the Theory and Application of Cryptology and Information Security. Berlin: Springer-Verlag, 2013. 41-60.
Ben-Sasson E, Chiesa A, Tromer E, et al. Succinct non-interactive arguments for a von neumann architecture. In: Proc. of the 23rd USENIX Conf. on Security. New York: ACM, 2014. 781-796.
Bellare M, Boldyreva A, Desai A, et al. Key-privacy in public-key encryption. In: Proc. of the Int'l Conf. on the Theory and Application of Cryptology and Information Security. Berlin: Springer-Verlag, 2001. 566-582.
Bernstein DJ. Curve 25519: New Diffie-Hellman speed records. In: Proc. of the Int'l Workshop on Public Key Cryptography. Berlin: Springer-Verlag, 2006. 207-228.
https://github.com/ConsenSys/zsl-q/]]>
Ben-Sasson E, Chiesa A, Green M, et al. Secure sampling of public parameters for succinct zero knowledge proofs. In: Proc. of the IEEE Symp. on Security and Privacy. IEEE, 2015. 287-304.
https://electriccoin.co/blog/snark-parameters/]]>
Kappos G, Yousaf H, Maller M, et al. An empirical analysis of anonymity in Zcash. In: Proc. of the 27th USENIX Security Symp. USENIX, 2018. 463-477.
https://arxiv.org/abs/1712.01210]]>
Biryukov A, Feher D, Vitto G. Privacy aspects and subliminal channels in Zcash. In: Proc. of the ACM Conf. on Computer and Communications Security. New York: ACM, 2019. 1813-1830.
https://github.com/mimblewimble/docs/wiki/MimbleWimble-Origin]]>
https://download.wpsoftware.net/bitcoin/wizardry/mimblewimble.pdf]]>
https://people.xiph.org/~greg/confidential_values.txt]]>
https://bitcointalk.org/index.php?topic=305791.0]]>
Fuchsbauer G, Orrù M, Seurin Y. Aggregate cash systems: A cryptographic investigation of Mimblewimble. In: Proc. of the EUROCRYPT. Berlin: Springer-Verlag, 2019. 657-689.
https://github.com/mimblewimble/grin]]>
https://github.com/BeamMW/beam]]>
Pedersen TP. Non-interactive and information-theoretic secure verifiable secret sharing. In: Proc. of the CRYPTO. Berlin: Springer-Verlag, 1991. 129-140.
Bellare M, Namprempre C, Neven G. Unrestricted aggregate signatures. In: Proc. of the Int'l Colloquium on Automata, Languages, and Programming. Berlin: Springer-Verlag, 2007. 411-422.
Boneh D, Gentry C, Lynn B, et al. Aggregate and verifiably encrypted signatures from bilinear maps. In: Proc. of the EUROCRYPT. Berlin: Springer-Verlag, 2003. 416-432.
Boneh D, Drijvers M, Neven G. Compact multi-signatures for smaller blockchains. In: Proc. of the Int'l Conf. on the Theory and Application of Cryptology and Information Security. Berlin: Springer-Verlag, 2018. 435-464.