Page 346 - 《软件学报》2021年第7期
P. 346

2264                                     Journal of Software  软件学报 Vol.32, No.7,  July 2021

                 建方法的同时,也带来了更多的身份管理和隐私保护问题.其威胁主要包括:
                    (1)  区块链系统采用了交易账本全网公开的方式来存储全部的历史交易数据,区块链系统中的所有节点都
                 可以看到上链数据并追溯交易流程,这给上链的身份隐私带来威胁;
                    (2)  区块链系统采用多方共识方式来完成交易的确认,参与共识的节点必然需要掌握更多的交易信息以实
                 现交易确权验证,一旦共识节点出现问题,必然会给交易信息中的身份隐私带来威胁;
                    (3)  区块链系统中采用的 UTXO 模型表示方法在有效地刻画了数字资产交易流转的同时,也带来了隐私保
                 护的问题.首先,UTXO 以编码形式在公开账本中记录数字资产,这为信息追踪和阈下信道的利用提供了便利;其
                 次,UTXO 模型中清晰表达了输入输出 UTXO 间的关系以及权属变更过程,如:同一交易的多个输入可能属于使
                 用不同地址(公钥)的同一所有者;交易输出的找零地址与输入地址为同一持有人等.相关研究工作表明,这些特
                 点为身份追踪提供了极大的便利.
                    在传统交易系统中,用户是向中心机构公开交易身份,由中心机构完成身份管理和隐私保护.而区块链系统
                 中并无单一中心机构,而是依靠系统整体安全机制来实现安全和隐私保护.区块链系统一旦身份管理的保护机
                 制出现问题,所带来的后果会是向所有参与方公开交易身份和交易内容,这对于承载高价值信息的系统而言是
                 无法接受的.因此,确保区块链系统参与方的身份隐私安全具有非常重要的意义.
                    但是受限于区块链系统中交易模型的设计,身份管理和隐私保护方案也面临着如下一些技术挑战.
                    (1)  交易身份是区块链系统中数字资产权属表达的重要方式,区块链存储的交易账本公开且交易记录易被
                 追溯,简单的身份匿名机制无法达到隐私保护的要求.因此,如何有效地解决公开账本下动态交易过程中的身份
                 隐私是所面临的主要挑战之一;
                    (2)  区块链系统采用多方共识方式来实现交易的确认和信任的构建,有时交易双方对于作为观察者的验证
                 节点来说是存在交易身份隐私保护需求的,简单的信息隐藏方法无法满足既保护信息又可验证内容的需求.因
                 此,如何在保护交易身份隐私的同时实现正确、有效的交易验证具有一定的挑战性;
                    (3)  区块链系统中采用多方确认后通过公开信道(区块链账本)进行交易信息发布,这一过程耗时较长.因
                 此,在区块链系统中大多采用交易发送方到区块链网络节点的单向通信方式.这使得传统交易系统中的多轮双
                 向交互的身份认证和隐私保护协议不再适用.因此,如何在区块链系统单向传输交易数据的过程中实现身份认
                 证和隐私保护也具有一定的挑战性;
                    (4)  随着区块链系统在行业应用中的不断普及和发展,行业监管与隐私保护之间的矛盾也逐渐凸显.一方
                 面,区块链系统中缺乏单一的交易中心机构;另一方面,传统的公有链中无监管式的隐私保护方法又不适合于很
                 多现实应用场景.因此,如何在实现隐私保护的同时又可提供对于交易身份的监管也有待进一步研究.

                 2    区块链系统中的身份标识
                    在用户身份管理方面,目前的区块链系统大多基于非对称密码算法来实现用户的身份标识.但公有链和联
                 盟链在具体实现方案上存在较大的差异.公有链中的比特币、以太坊、门罗币、零币和 Libra                              [18] 等强调用户的
                 隐私保护,采取匿名身份认证机制,用户公钥作为身份标识符,用户自主生成和管理标识身份的密钥;以 Fabric 和
                 Corda 等为代表的联盟链则更关注强监管环境下客户身份识别(know your customer,简称 KYC)的需求,采取实
                 名或可控匿名的身份认证机制,使用数字证书作为身份标识符,采用证书认证中心(certificates authority,简称
                 CA)来生成和管理数字证书.

                 2.1    公钥标识身份
                    目前区块链系统大多基于公钥密码体系的椭圆曲线密码算法来构建用户的身份标识.以比特币为例,在比
                 特币交易中用户的身份标识符 A 称为比特币地址(address),其长度为 160 比特,是由用户公钥 P 通过 SHA 256
                 和 RIPEMD 160 的两次哈希运算(HASH160)而生成.其运算过程如下:
                                          A=HASH 160(P)=RIPEMD 160(SHA 256(P)).
                    为了实现数字资产的权属标识,在比特币的 UTXO 中使用用户的身份标识符(地址)A 来明确标识当前
   341   342   343   344   345   346   347   348   349   350   351