Page 345 - 《软件学报》2021年第7期
P. 345
姚前 等:区块链系统中身份管理技术研究综述 2263
(2) 在账本数据存储方面,传统交易系统采用由中心机构集中统一存储的方式,账本数据安全由存储机构
确保且账本内容不公开;区块链交易系统采用全网节点共同存储账本的方式,账本数据安全由共识机制、块链
式数据结构共同确保且账本内容公开、透明;
(3) 在交易内容确认方面,传统交易系统采用由中心机构统一核验、确认的中心化确认方式;而在区块链交
[4]
易系统中,为了实现去(多)中心化的目标,大多采用类似于 b-money 的设计思想,公开所有的交易记录并由网络
中的特定节点对账本进行多方共识确认.但这些交易记录结构中包含了大量的用户历史交易信息,观察者基于
UTXO 结构非常易于分析获得用户的身份隐私信息.
综上所述,区块链系统中的交易模型采用 UTXO 结构详细记录了交易流转过程,并将传统交易系统中的用
户实名、账本保密的隐私保护方式变更为用户匿名、账本公开的方式,将由中心机构集中确认交易变更为全网
节点多方共识确认交易.这一新型交易模型对区块链系统中的身份管理及隐私保护都提出了更大的挑战.
1.2 区块链身份管理的主要内容
区块链系统中的身份管理主要包括 3 方面的内容:身份标识、身份认证和身份隐藏.其中,身份标识是构成
链上资产权属标记和支付确权的基础,而身份认证和身份隐藏方式则与交易身份的隐私保护密切相关.
1) 身份标识
身份标识是指区块链系统中用于标识交易用户身份的一种模式.在目前的区块链系统中,大多基于密码算
法和认证协议来实现身份标识.此外,在交易过程中,身份标识还涉及到另外两方面的内容:首先,如何形成有效
的身份标识符以用于资产(如 UTXO)的权属标记并支持基于标识符的支付确权;其次,出于隐私保护的目的,交
易方大多拥有多个身份标识符,例如多对公私钥对,从而带来了相应的密钥管理问题.如何有效地在客户端管理
用户的多身份标识符并优化存储空间和执行效率也是需要关注的问题.
2) 身份认证
身份认证是指在区块链系统中确认交易者身份的过程,从而确定该用户是否具有对交易数据的访问和使
用权限以及对交易行为的确认和不可抵赖.区块链系统中的身份认证又可分为如下 3 种.
(1) 匿名认证
在用户身份标识的建立和认证过程中,不允许直接或间接确定交易者的真实身份.
(2) 实名认证
在用户身份标识的建立和认证过程中,应直接或间接地确定交易者的真实身份.
(3) 可控匿名认证
在用户身份标识的建立和认证过程中,除监管方以外不允许直接或间接确定交易者的真实身份.在必要时,
监管方可恢复出匿名化后交易方的真实身份.
3) 身份隐藏
由于区块链系统具有账本公开、多方确认的特点,使得简单使用匿名认证技术难于保证交易方的身份隐
私,因此引入了身份隐藏技术以用于实现动态交易过程中的身份隐私保护.交易身份隐私是指对于区块链系统
中的某笔交易,观察者无法将交易发送方和接收方的身份与该笔交易相关联.观察者主要是指除交易参与方和
监管方以外的第三方.这一定义包括两方面的内容:首先,观察者无法确认某笔交易发送方和接收方的身份.假
设区块链系统中交易用户(身份)的总数为 N,理想情况下,观察者准确确认交易方身份的概率为 1/N;其次,系统
应确保交易身份的不可链接性.即观察者无法将同一用户的不同身份链接起来;观察者也无法将一笔交易的发
送方和接收方的身份链接起来.在具体交易场景中,交易身份隐私保护又可细分为交易发送方的身份隐私保护
和交易接收方的身份隐私保护.因此,在交易过程中,必须采取特定的身份隐藏技术将交易方的身份隐藏在一定
的匿名集合中,从而实现发送和接收方的身份隐藏,以达到隐私保护的目的.
1.3 区块链身份管理的威胁与挑战
区块链系统所采用的去(多)中心化模式下基于公开账本的交易多方共识确认模型在提供了高效的信任构