Page 337 - 《软件学报》2026年第4期
P. 337

1778                                                       软件学报  2026  年第  37  卷第  4  期


                  1   引 言

                    区块链是一种源于比特币          [1] 的去中心化分布式账本, 集成了共识机制、P2P           网络、分布式存储、密码学算法
                 等技术, 具备去中心化、公共可验证、数据不可篡改等技术特征                     [2] . 近年来, 区块链的应用已经从金融领域扩展到
                 实体经济、社会治理、民生服务等多个重要领域                 [3] . 区块链数据公开透明的特性提高了区块链应用的可信度, 然
                 而恶意节点也可能通过分析区块链上的公开数据推断或识别出用户的真实身份, 存在用户隐私泄露的风险                                    [4] , 严
                 重制约了区块链技术的应用.
                    为了满足用户身份隐私保护需求, 结合区块链自身特点, 混币机制、零知识证明、一次性地址                             (one time address,
                 OTA)、群环签名等技术被应用于区块链隐私保护机制设计中                    [5−19] . 混币机制是一种地址混淆技术, 它利用比特币
                 交易可以包含多个输入和输出的特点, 将多个交易混淆到一个交易中, 由此增加追踪交易来源和去向的难度. 混币
                                                                  [7]
                                                      [6]
                                                                             [8]
                 机制包括   Mixcoin 等中心化混币以及       CoinJoin 、CoinShuffle 、CoinParty 、Xim 等去中心化混币两类技术
                               [5]
                                                                                   [9]
                 路线, 已应用于    Dark Wallet [10] 、Dash [11] 等匿名比特币交易中. 虽然混币技术可通过混淆交易在一定程度上保护用
                 户隐私, 但是混淆后的交易可能保留某些可被攻击者利用来识别用户的特征, 仍存在泄露用户隐私的风险.
                 Zerocoin  [12] 采用密码累加器技术, 用户通过铸币交易将比特币加入密码累加器转化成零币, 实现与所有                        Zerocoin
                 用户共同混币, 结合零知识证明等技术保证交易相关方的匿名性. 针对                      Zerocoin  证明规模大、验证速度慢、仅支
                 持固定面额的币、不支持直接转账等问题, Zerocash            [13] 使用  zk-SNARK [14] 构建去中心化的匿名交易方案, 基于     zk-
                 SNARK  构造的交易可在隐藏交易相关方身份信息的同时被公开验证交易正确性. zk-SNARK                         技术的初始化阶段
                 依赖于可信第三方, Aurora    [15] 引入  zk-STARK [16] 技术解决了可信第三方的问题, 然而其产生的证明长度较长, 效率
                 较低. CryptoNote 协议  [17] 通过一次性地址技术增强对交易参与方的身份隐私保护, 即交易发送者为交易接收者生
                 成一次性地址, 并将新生成的一次性地址设置为交易中的输出账户, 通过一次性地址无法公开推导出交易接收者
                 的身份, 采用可链接环签名        [18] 混淆发送者地址从而实现对交易发送者身份的隐私保护, 为用户及其交易提供了高
                 度的匿名性. Monero   [19] 采用  CryptoNote 协议实现对交易参与者身份的隐私保护, 相较于           Zerocash, Aurora 方案也
                 具有更高的效率.
                    区块链中的身份隐私保护方案使得只有区块链交易相关方才可获得交易的关键信息, 实现了交易身份匿名.
                 高度的匿名性为洗钱、毒品交易、逃税等非法行为提供了便利, 引发了区块链应用可监管性差的问题. 为了确保
                 区块链技术被合法合规地应用, 在保护区块链用户身份隐私的同时实现对区块链应用的有效监管, 经可信第三方
                 认证账户地址、基于监管者公钥加密交易敏感信息、支持追踪的匿名签名等可监管的区块链身份隐私保护技术
                 得到大量研究     [20−34] .
                    引入可信第三方为用户生成经过认证的账户地址是一种可监管的隐私保护方式. Ateniese 等人                          [20] 针对比特币
                 设计了一种身份隐私保护与监管方案, 该方案引入可信权威机构为用户生成经过认证的比特币地址, 用户交易过
                 程中需使用经过认证的地址, 经过认证的地址仍然是匿名的能够保证用户身份的隐私, 可信权威机构可通过经过
                 认证的地址追踪用户身份. 文献          [21,22] 采用了类似的方式, 在此类方案中, 为了实现用户的匿名性, 要求可信权威
                 机构实时在线为用户生成经过认证的地址, 方案存在可信权威单点失效的风险并且效率较低.
                    采用监管者密钥加密交易过程中的交易相关方身份等敏感信息是一种平衡区块链中身份隐私和监管矛盾的
                 解决方案. 文献    [23,24] 使用监管者公钥加密交易发送者、接收者等信息, 由此实现对交易相关身份的监管. Li 等
                 人  [25] 提出了采用可验证加密技术实现可监管的交易接收者身份隐私保护思路, 可验证加密允许公开验证密文是
                 否由指定公钥正确加密, 用户生成交易时使用监管者的公钥结合可验证加密技术加密接收者身份等私有交易信
                 息, 共识节点可验证私有交易信息加密的正确性, 当需要监管时, 监管者可通过解密私有交易信息实现对交易接收
                 者身份的监管. Androulaki 等人   [26] 提出的方案为每个用户分配相应的监管者, 在交易过程中分别使用交易发送者
                 和接收者监管者公钥对交易中的发送者, 接收者等信息进行加密得到监管密文, 并通过零知识证明将监管密文与
                 传输细节联系起来确保监管密文的正确性. Yuen              等人  [27] 使用公钥加密结合零知识证明的方式进一步保证了对交
                 易双方身份监管的有效性, 该方案通过使用审计员公钥加密发送者和接收者的身份, 使得审计员可获取发送者和
   332   333   334   335   336   337   338   339   340   341   342