A Survey on Privacy Protection of Blockchain:The Technology and Application

《A Survey on Privacy Protection of Blockchain: The Technology and Application》

摘要

  • 作为一种点对点分布式公共分类账技术,区块链近年来受到广泛关注
  • 区块链科技的隐私保护一直是人们关注的核心问题
  • 综述了当前用户身份和交易隐私保护问题的一些现有解决方案,包括硬币混合机制、零知识证明、环签名等技术
  • 提出并分析了基于区块链的隐私保护技术的五种典型应用——基于硬币混合协议、加密协议、安全通道协议等技术应用
  • 针对现有区块链隐私保护技术的不足,探讨未来需要研究的研究挑战,以维护区块链系统中的隐私,展望未来的发展方向

介绍

  • 区块链是数字加密货币背后的底层技术,2008 年在比特币论坛上首创
  • 借助分布式分类账、非对称加密、智能合约、共识机制等核心技术,区块链可以实现点对点、匿名、可追溯、防篡改等功能,可以保证交易过程中的安全和信任问题
  • 区块链技术已经扩展到数字金融【2】、物联网【3-4】、边缘计算【5】、人工智能【6】、供应链管理【7】等诸多领域
  • 为达成共识,整个网络中的节点需要公开链上的交易信息,给用户带来了严重的隐私问题【8】。近年来,区块链隐私保护出现了许多技术和典型应用,从不同角度防范窃取或篡改隐私的攻击
  • 在保护用户利益的同时,隐私问题不容忽视,有必要对区块链的隐私权保护进行系统的分析和总结

区块链隐私保护

  • 隐私保护在分布式应用、移动众包【9-10】、物联网【11-12】等领域有广泛研究
  • 作为一种分布式数据库,区块链技术在隐私保护方面具有显著优势,如信息防篡改、匿名和网络稳定性【13】,解决一些集中式服务面临的隐私泄露问题(基于区块链的隐私保护智能停车系统【14】、秘密共享投票系统【15】和透明投票平台【16】)
  • 采用的分散架构和数据存储机制给隐私保护带来一些不利影响
    • 用户身份隐私挑战
    • 用户交易隐私挑战【17-18】

身份隐私问题

  • 身份隐私指用户的真实身份与区块链地址之间的关系
  • 关于区块链的信息不能改变,以分布式分类账的形式存储在链上,任何节点都可以从链中获得完整的信息
  • 虽然区块链上的交易具有一定的匿名性,但是随着计算机技术的发展,匿名性并不能完全保护用户身份的隐私
    • 攻击者通过监控和分析全局分类帐中公共数据的相关性来发现敏感信息
    • 如果不同地址之间有稳定的相关事务,攻击者可以分析不同地址之间的事务关系图,并导出一些用户特征的数据【19】
    • 攻击者可以通过搜索所有可能的近似余额的交易来获得相应的交易地址,推断用户的身份信息和位置信息【20】

交易隐私问题

  • 交易隐私指存储在区块链的交易记录和交易背后的潜在信息
  • 传统的信息保护措施通过加密信息防止攻击者窃取或篡改信息
  • 在区块链加密交易信息的过程中,需要确保交易信息不会被未授权的节点窃取,需要在不泄露敏感信息的情况下验证交易的真实性,交易内容不能完全加密——二者存在矛盾
  • 区块链技术不能为用户隐私提供绝对保护,有必要引入一些隐私保护算法、协议或其他策略来实现区块链隐私保护【21】

隐私保护的关键技术

  • 区块链网络是开放和防篡改的,容易受到网络攻击
  • 虽然交易是匿名的,但攻击者仍然可以通过分析交易图,计算交易双方的关系——区块链的公开透明性质将威胁用户隐私和交易安全

硬币混合机制

  • 硬币混合机制最早是在 1981 年提出【22】,通过添加中间中转信息,攻击者很难分析发送方和接收方之间的通信信息,在不改变任何区块链基础协议的情况下,为交易用户提供可靠的隐私保护

    image-20210614110203967
  • A 和 B 是交易的发送方和接收方,C 是潜在攻击者。混合机制作为中间人传递交易信息,C 无法准确分析 A 和 B 地址之间的相关性,隐藏了交易的输入地址 A 和输出地址 B 的联系

  • 硬币混合的执行由可信的第三方或一些协议来实现——根据硬币混合过程是否存在可信第三方节点,硬币混合机制分为两种:基于中心节点的硬币混合机制和分布式硬币混合机制【23】

  • 仍然容易受到一些安全问题的影响,如拒绝服务攻击、硬币混合过程泄漏等

基于中央节点的混合机制

  • 基于中心节点的硬币混合方法由可信第三方节点实现,为了模糊交易的输入地址和输出地址,第三方通过相应的算法混合硬币

  • 为了防止潜在攻击者直接发现 A1 和 B1 的关系,用户 A1 将资金转移到第三方节点 D,D 收到资金后转移到用户 B1,实现 A1 和 B1 之间的资金转移。一定时间内,中心节点 D 可能已经完成了多个用户硬币混合的过程,部分隐藏了 A1 和 B1 的关系,使得攻击者 C 无法在不同的接收者 B1、B2 和 B3 找到与 A1 关联的地址

  • 通过综合分析 A1、B1、D 一段时间的交易过程,攻击者有一定概率猜测 B1 才是与A1对应的真正接收者——D 在一定时间内有 n 个输出,攻击者 C 找到正确事务链接的概率为 1/n——D 读入的交易数目越大,找到原始事务记录的概率越低,数据越安全

    image-20210614111527291

  • 集中式硬币混合机制完全依赖于第三方节点,缺陷如下:

    • 更高的费用和交易延迟。服务节点通常收取一定的混币费用,随着混币次数的增加,费用会直线上升,混币时间也会增加。一般混币延迟为 48h,交易成本约为 1% 到 3%。
    • 第三方可能偷钱。如果硬币混合业务中没有合适的监管机制,第三方节点可能在收到用户资金后违约,不执行约定的操作,窃取用户资金,用户没有任何有效的补救措施
    • 第三方可以泄露硬币混合信息。第三方节点掌握了硬币混合和用户隐私的全过程,了解真实的交易数据,不能保证硬币混合的信息不被泄露
    • 拒绝服务攻击。第三方节点可能会拒绝某些地址的硬币混合请求,或第三方节点被攻击

分布式混合机制

  • 分散式硬币混合机制取消了第三方硬币混合提供商的参与,将多个一对一的交易记录合并成多对多的交易记录,使攻击者无法直接找到交易对的关系
  • 分散式硬币混合机制不依赖于第三方节点的可信度,不需要承担中心管理者的道德风险,有效避免第三方窃取和泄漏硬币混合信息,用户不需要为硬币混合服务支付额外费用
  • 硬币混合用户需要自己组织协商,实现硬币混合的过程
  • 缺陷如下:
    • 硬币混合用户无法有效找到其他硬币混合用户,需要依靠第三方平台帮助执行寻找硬币混合用户的过程——会产生一些失败的混币结果
    • 参与硬币混合过程的用户可能会在协商过程中暴露自己的混币信息,不能保证所有参与者都是诚实可信的
    • 易受拒绝服务攻击。在混币过程中,需要多个用户同时参与,一些用户由于非法操作而无法混合硬币,攻击者可能会借机发起 DoS 攻击
    • 易受 Sybil 攻击。如果攻击者有多个地址参与硬币混合过程,则过程中其他用户的信息受到泄露威胁

非交互式零知识证明

  • 零知识证明最早是由戈德瓦瑟等人在20世纪80年代初提出的,分为交互和非交互两类
  • 零知识证明系统中,证明者可以在不向验证者提供任何有效信息的情况下使验证者相信消息是正确的,本质上是一个涉及两方或多方的协议,即两方或多方完成一项任务所需采取的一系列步骤
  • 区块链的领域,最常用的零知识证明是非交互式的零知识证明(zk-SNARKs) 【25】——非交互表明证明只包含证明人发送给验证人的单个消息,没有双向通信
  • Zcash 是一个保护隐私的数字货币系统【26】,使用 zk-SNARKs 技术来完全隐藏交易信息,包括交易账号和交易金额
  • 零知识证明三个性质
    • 完备性:如果论点正确,诚实的证明者可以说服诚实的验证者
    • 可靠性:如果证明者不知道该陈述,只能以可忽略的概率欺骗验证者
    • 零知识:证明过程完成之后,验证者只知道“证明者具有这种知识”,而不能获得任何额外的内容
  • 使用零知识证明,区块链的隐私得到很好保障——除了声明的有效性之外,此验证方法不会披露被证明的信息的任何其他信息

环签名

  • 环签名是 2001 年提出的数字签名方案
  • 公钥构造环用于隐藏发送者信息,一次计算的输出 z 是下一次计算的输入 v;经过验证,如果z和v相等,则确定签名是正确的,即密钥组中的一个公钥对应于相应的私钥【28】

image-20210614112123648

  • 环签名是一种简化的特殊群签名【29】,签名中只有环成员,无需没有可信的第三方和中心管理器,环成员之间没有合作
  • 环签名允许环成员用自己的私钥和其他成员的公钥对其他成员进行签名,验证者无法判断谁是真正的签名者,但可以确认签名者一定在环中,满足签名者的完全匿名性——基于区块链的大规模选举中【30】,一次性环签名保证了区块链投票交易的匿名性
  • 环签名的无条件匿名性、正确性和不可伪造性对于特殊环境下需要长期保存的信息非常有用
  • 环签名在保护发送者隐私的同时,由于不能暴露签名者,给监管带来困难

同态加密

  • 同态加密是一种允许对加密数据进行计算的方法,不需要访问解密密钥
  • 明文 x 加密后,得到密文 F(x)。对密文 F(x) 进行特定的代数运算后,得到密文 F(y)。解密 F(y),得到 y,对明文 x 进行上述代数运算后,得到同样的结果 y——可以在不知道原始数据 x 的情况下进行运算,最终得到相同的正确结果 y

image-20210614112240470

  • 在隐私保护方面,分布式电子投票和电子投标系统【32】使用同态加密技术来提高参与者的匿名性、数据传输的隐私性以及数据的可靠性和可验证性,实现接收者只能得到最终结果,而不能得到每一条密文消息,提高信息的安全性,并且不需要以很高的代价解密每一个密文
  • 目前同态加密技术总体上仍然消耗大量的计算时间和内存,远远达不到大规模应用的水平

隐藏地址

  • 隐藏地址【33】由比特币开发商 Peter Todd 提出,广泛用于数字货币——为了解决输入地址和输出地址的相关性问题
  • 区块链使用一个地址很容易被追踪,因此需要使用多个地址来混淆
  • 过程:
    • 发送方发起交易时,首先使用接收方的公钥,通过椭圆曲线加密算法计算出一个临时中间地址,然后将硬币放在中间地址上,接收方根据自己的公钥找到交易,从而获取货币
    • 由于该中间地址的随机不确定性,无法确定该中间地址属于哪个交易用户,区块链的其他用户或攻击者无法确定交易双方的地址,从而保护了用户的隐私安全和硬币的真实性。
  • 缺点:通过使用交易图来分析交易从发送端到一次性地址再到接收端的关系,可以打破交易流的隐私性。即使在交易中使用多个一次性地址也无法避免此漏洞

彼得森承诺方案

  • 彼得森承诺方案【34】是同态承诺方案的实现之一,支持承诺的同态加法运算或乘法运算

  • 与 BGNO6 加密方案【35】类似,将数域组上的秘密变换为椭圆曲线组。在发送给接收者之前,通过随机盲因子【36】实现真实消息的完美隐藏,以保护链的块交易隐私

    It transforms the secrets on the number field group to the elliptic curve group. Before sending it to the receiver, it realizes the perfect hiding of real message through random blinding factor to protect the block transaction privacy of the chain.

  • 在保密交易(CT)方案[37]中,用户在发布交易时签署承诺。在 RingCT 方案【38】中,用户只需要证明自己有对应的承诺密钥

  • 彼得森承诺方案具有盲目性和承诺性,符合区块链交易中收款人通过密文直接确认交易金额的特点,不依赖额外的金额传输渠道,防止信息泄露,保护用户交易隐私

安全多方计算

  • 安全多方计算(SMC)【39】是密码学中的经典算法,专门用于解决多实体互不信任时保护隐私的协同计算问题,具有输入隐私性、计算正确性和分散性的特点,保持数据隐私性和使用安全性
  • SMC 在智能合同、密钥管理、随机数生成等技术中发挥着独特的作用
  • 区块链侧重于计算的可验证性,不考虑输入数据的机密性,但 SMC 强调计算过程中输入数据的保密性,不保证数据的可验证性。区块链可以通过采用 SMC 技术来提高其数据保密能力,以适应更多的应用需求。
  • 由于安全多方计算技术本身的难度和效率较低,在实际应用中存在瓶颈【43】

可信执行环境

  • 可信执行环境(TEE)在 2010 年提出,可以将软件运行的环境与硬件隔离开来,在不受信任的环境中为隐私数据和敏感计算提供安全和保密的空间【44】
  • 区块链中当涉及到复杂的密码学问题,比如安全多方计算时,TEE 可以提供区块链没有的高性能解决方案
  • IntelSGX【45】是一种使用硬件来实现多方计算的可信黑盒的技术,
  • TEE 中,隔离的使用可以保护敏感数据免受恶意软件和黑客的攻击。与传统安全技术相比,可以主动防御外部安全威胁,更有效地保证数据的安全性和完整性
  • 该技术的发展主要受到硬件平台成本和可信应用开发难度的制约【46】

image-20210614110823540

典型的区块链隐私保护应用

基于硬币混合协议的技术应用

基于中心节点的硬币混合应用

  • 基于中心节点的硬币混合应用依赖第三方可信节点隐藏交易的输入地址和输出地址之间的关系,从而在不相关的地址中混淆用户的交易关系
MIXCOIN
  • Mixcoin 【49】是比特币最初的集中式混币系统,利用中央混币服务器实现交易地址的混合,为交易用户提供混币服务,保证外部匿名
  • 通过使用混合服务器处理资金,可以隐藏交易的输入地址和输出地址之间的联系,提高了交易者分析交易内容和确保用户交易隐私的难度
  • 有很大的局限性
    • 作为第三方提供混币服务,知道用户输入地址和输出地址之间的连接信息,存在泄露用户隐私的问题
    • 对 Mixcoin 有以下要求
      • 多个用户必须同时使用相同的金额来混合货币,不允许用户选择匹配交易货币的数量
      • 混合器必须足够诚实,能够记录用户身份和硬币混合的输入输出信息
      • 需要防止混合器窃取硬币
  • Mixcoin 增加一个基于信誉的密码问责机制【52】,可以暴露混合器的偷盗行为——问责机制不能从根本上消除第三方信息披露的威胁
Blindcoin
  • 【50】通过使用盲签名技术【36】、在Mixcoin的基础上添加一个仅公开的日志,提出盲币方案
  • 通过使用盲签名为用户输入和盲令牌创建加密的盲输出地址,来改进混合币协议
  • 成功的盲币混合操作需要两个额外的交易来发行和兑换盲币。盲币方案在正常提供混币服务的同时,使第三方无法获取双方在所有交易中的真实信息,从而避免信息泄露,保护用户交易隐私,实现内部不可链接
  • 成本是盲签名的计算和混合阶段的额外时间,盲币的混合量仍然是固定的
  • 用户必须匿名将输出地址发送到公共日志,并接受第三方的验证和问责,仍然无法避免第三方的欺骗,削弱了盲币的匿名性
DASH
  • 【51】提出了一种更高效的盲签名方案,采用椭圆曲线加密算法来提高计算效率
  • Dash 是基于比特币技术,以保护用户隐私为目的的数字货币,增加了基于主节点的混币策略,隐藏资金流
  • 为防止主节点作弊或被攻击,Dash 引入了链混合【53】和致盲的思想【54】
    • 链式混合指用户可以随机自主选择多个主节点进行混合
    • 致盲技术指用户不需要向交易池发送输入输出,而是指定主节点将输入输出传递给另一个主节点,每个主节点在执行过程中只看到自己的部分,很难发现用户的真实身份,避免了中心节点受到攻击时用户隐私信息的泄露
  • 主节点必须支付高额保证金作为担保,否则无法获得提供混币服务的权利
  • 第三方节点在违反规则的情况下,必须付出相应的经济损失和信誉损失,提高可信第三方节点的可信度,保护混币用户的隐私和财产安全
  • 为了提高交易的匿名性,用户可以使用多个主节点来混合货币,减少地址之间的关联
  • Dash 的主节点仍然存在被控制和易受恶意主节点攻击的风险

分布式硬币混合应用

  • 鉴于集中混合对混合节点的高要求,分布混合应用方案逐渐出现
CoinJoin
  • CoinJoin【55】是最早的分布式硬币混合方案,也是分布式硬币混合机制的基础
  • 但如果没有中央服务器,CoinJoin 服务仍然很难实现
  • CoinJoin 需要一个第三方服务器来匹配所有硬币混合的申请人进行签名。在电子签名交易中,每个用户独立地、分散地完成签名。只有当所有的签名都被提供并组合后,交易才能被网络确认和接受。与Mixcoin相比,CoinJoin是一种分布式混合服务。它可以通过P2P混合协议自动混合硬币,更适合比特币系统的架构。该方案的核心思想是将多个交易输入合并为一个交易,隐藏双方输入输出的对应关系。如图6所示,当事务1只有一个输入地址和一个输出地址时,攻击者可以直接观察到事务双方的关系。在CoinJoin机制下,几个单输入单输出事务被组合成一个多输入多输出事务,然后是两个事务事务的地址从两个单独的地址变为一组两个地址。在外人看来,该方案无法通过交易的投入产出来确定投入产出的相关性,因此提供了外部不可链接性,不易出现混合成本和资金被盗的问题。但对于参与者来说,CoinJoin方案形成的多输入多输出交易都记录在全局账本中,用户不能否认自己参与了硬币混合,因此该方案不提供内部不可链接性。它的匿名性还取决于混合参与者的数量,并且容易受到DoS和sybil攻击。另外,CoinJoin还有一个重要的缺陷,就是硬币混合服务不能对硬币混合涉及的金额进行加密,要求每个输入金额相等。
CoinShuffle

Xim

CoinParty

image-20210614154157217

基于加密协议的技术应用

基于安全通道协议的技术应用

基于受限发布的技术应用

基于案例应用的技术方案

总结和展望

  • 随着区块链技术的快速发展及其在金融【84】、云计算【85】、大数据【86】、物联网【3-4】等各个领域的广泛应用,隐私保护受到了严峻挑战
  • 比特币、以太坊等完全开放的分类账已经无法满足人们在应用场景中对隐私保护的需求
  • 基于最新的研究成果,本文重点介绍了区块链隐私保护的关键技术和典型应用
    • 本文提出八项隐私保护关键技术,从技术特点和匿名性方面对区块链隐私保护做了比较和分析
      • 集中式硬币混合机制和隐藏地址对用户的隐私保护最弱,其次是分散式硬币混合机制和环形签名
      • 其余四种隐私保护技术在区块链领域具有更强的匿名性,适用于各种数字货币和其他应用场景。一个共同特点是分散化,避免了第三方恶意节点的攻击,实现反交易图分析
    • 区块链在安全和隐私保护方面已经取得了很多成果,但是已知的区块链隐私保护技术并不完善,还有很多问题需要探讨和改进
      • 最具代表性的是通过结合区块链和可信计算技术提供隐私保护和信任机制【87】
  • 数字货币的现有应用已经比较成熟,但区块链在其他领域的研究才刚刚开始
  • 有必要在区块链引入适当的监管机制或审计机制,以实现区块链交易过程中的治理和纠错功能,从而降低犯罪分子利用区块链平台的可能性