惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
C
Cisco Blogs
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Application and Cybersecurity Blog
Application and Cybersecurity Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Security Archives - TechRepublic
Security Archives - TechRepublic
TaoSecurity Blog
TaoSecurity Blog
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
S
Security Affairs
L
Lohrmann on Cybersecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
Simon Willison's Weblog
Simon Willison's Weblog
WordPress大学
WordPress大学
小众软件
小众软件
Security Latest
Security Latest
AWS News Blog
AWS News Blog
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
F
Full Disclosure
S
Schneier on Security
L
LangChain Blog
MyScale Blog
MyScale Blog
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
Google Online Security Blog
Google Online Security Blog
Scott Helme
Scott Helme
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
A
Arctic Wolf
Martin Fowler
Martin Fowler
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
The Register - Security
The Register - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
Latest news
Latest news
F
Fortinet All Blogs
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
Hacker News: Ask HN
Hacker News: Ask HN

涼花的书房

2026-04-25 论广义审美 基于YOLOv8的无人机遥感地面目标检测算法研究 2025-03-27 呈同胞书 2025-02-01 旅者与魔女,群山与大海 2024-01-22 大寒后十二有雪 2023-11-13 边城见窗寒月明有影 「혜성」 - Mycin.T 歌词翻译 2023-11-13 观《异空战歌》有感 2023-10-06 无题
区块链交易中的隐私保护问题
永見涼花 · 2024-09-29 · via 涼花的书房
这是某天突发奇想的产物,当时想着,自己能在多少时间里了解一个前所未见的领域,于是就有了这篇东西。

区块链交易中的隐私保护问题

摘 要: 本文介绍了区块链的基本概念与区块链交易中面临的隐私问题,并以以太币为例,将问题分为数据隐私与身份隐私两个维度。以这两个维度为出发点,本文介绍了各项隐私保护技术的发展和最新应用、指出不同技术的最新应用存在的局限,思考这些技术如何在隐私保护和安全监管之间达到平衡,并分析了未来研究可能的发展方向。

关键词: 区块链;隐私保护;密码学

1 引言

  自2008年中本聪发布比特币白皮书以来,这16年间我们见证了从Web2.0到Web3.0的蜕变,以及元宇宙等新兴概念的诞生。在这一过程中,区块链技术发挥了不可替代的作用,也体现着区块链技术对数字经济深远的影响。作为一种去中心化的网络技术,区块链凭借P2P网络架构和无需依赖任何可信授权进行追踪的特点,为比特币、以太坊、门罗币等加密货币的崛起提供了基础。与此同时,区块链技术在保险、银行等金融领域,以及在医疗和交通等物联网领域的应用,都呈现出指数级的增长趋势,这表明区块链已经经历了广泛的市场考验并取得了市场认可,也显示出区块链技术在提升效率、降低成本方面的巨大潜力。

  但随着商业应用的不断铺开,区块链的隐私性问题逐渐成为亟待解决的挑战。区块链去中心化和公开透明的特性虽然提高了系统的安全性和可靠性,但也带来了隐私泄露的风险。例如在点对点可信交易机制中交易金额、合约内容等敏感信息的透明性,使这些信息可能为不法分子所利用,如攻击者可能通过医疗区块链系统的漏洞,获取用户的病历记录、住址等敏感信息。

  因此,如何在保证区块链系统的透明性和去中心化特性的同时,有效保护用户的信息安全和身份匿名,就成为了当下区块链领域的研究热点。

2 区块链交易中的隐私问题

  区块链通过密码学技术确保数据不受篡改,在区块链交易中,一次交易包含的交易信息分为账户地址和交易数据两部分。

  其中,账户地址部分与用户真实身份挂钩,账户地址的暴露可能导致隐私泄露,通常我们使用基于密码学的混淆技术进行保护。

  而交易数据部分的保护则因情况而异。一般地,在数字货币领域,常用同态加密确保数据机密性,并利用其特性以验证交易金额的平衡性;而在医疗链领域,则常见使用属性基加密技术的保护方案。

  以以太坊为例,我们分析区块链交易的隐私问题。假设存在一个观察者,他的目的是分析某个特定的以太坊用户或使用以太坊的某个群体,他可以是安全承包商、研究员或意图找寻漏洞的不法分子等。

2.1 交易数据隐私问题

  以太坊的交易数据保存在区块链上,每笔交易都包含发起者、接收者以及交易的以太币数量。由于交易的输入(资金来源)和输出(资金去处)都记录在区块链上,因此每笔交易都是可追溯的。交易的输入和输出通过智能合约和账户之间的交互来记录。

  而在以太坊中,由于区块链的透明性,观察者能够从中得到以下两种信息:

(1)任何一笔资金的使用情况

  在以太坊中,账户的资金(一般是以太币或ERC-20代币)来源于"区块奖励"(即所谓"挖矿"),也可以通过交易和智能合约进行转移。由于每笔交易和智能合约的执行都会被记录在区块链上,因此通过分析这些公开的数据,观察者得以追踪任何一笔资金的转移路径。尤其是智能合约的执行会在交易记录中留下详细的日志,使得每一次状态变化都可以被跟踪。

(2)任何一个以太坊地址的相关交易

  由于每一笔以太坊交易中都会详细记录所有的发送地址和接收地址,通过检索特定地址,就在区块链上找到所有相关的交易记录。特别地,通过部署了智能合约的地址,观察者还可以追踪到复杂的合约交互,如合约执行情况、状态变更等。

  通过以上的信息,观察者对有一定相关性的地址进行分析,便可以得到一系列与隐私相关的信息:

(1)不同地址间的资金联系

  通过分析DeFi平台的资金流动或其它手段得到的交易记录信息,观察者可以一定程度上发现平台内部资金的流动规律和地址之间的关联;例如不法分子发现某平台进行固定业务的操作时间、多个地址同属一个用户等情况以用于不法行为的踩点,分析人员分析特定的智能合约地址与资金流向以甄别潜在的异常活动、在盗窃行为发生后通过分析非法资金的流动锁定不法人员身份等。

(2)跟踪特殊交易

  如上一条所说,针对大额交易或者涉嫌恶意行为的交易,可以通过监控其后续的交易来追踪资金流向。例如,分析以太坊中涉及黑客攻击的智能合约或资金池,可以追踪到这些地址的后续交易,以定位不法分子的身份或冻结被盗资金。

(3)发现交易规律

  以太坊的智能合约引入了更多样化的交易模式。例如,通过分析大额ETH或代币交易特征,能够总结出其涉及的智能合约操作(如流动性池的资金转移、借贷协议的偿还等)。这些交易规律既可以帮助发现系统中潜在的漏洞,也为不法人员的盗取等行为提供了突破口。

2.2 用户身份隐私问题

  观察者可以通过不同区块链交易间存在的关联性推断用户的隐私信息。由于区块链的一切交易均储存在一个公开的全局账本,因此观察者可以轻易获取任意交易的交易信息。而通过分析交易间的相关性,观察者可以有效推出用户的身份等信息,从而使匿名化措施失效。

  以以太坊为例,一些设计上的问题便有可能导致观察者推出用户身份:

(1)智能合约和多签钱包

  在以太坊中,多个输入地址或合约地址有可能属于同一个用户集合。例如,可能存在多个地址属于同一个多签钱包或合约地址的情况,那么它们大概率会由同一个实体控制;多签钱包需要多个地址的签名才能执行交易,这些传入签名的地址便极有可能由同一个用户发起和控制。

(2)合约调用的内部状态

  观察者通过分析合约调用的时间戳、交易频率等数据,可以推测出一些地址之间的关系。例如,智能合约的创建者和使用者之间的交互一定程度反应用户的行为模式和资金流向。如果一个合约有多个地址作为输入或输出,这些地址也极有可能属于同一个用户。而根据以上信息,观察者便可以较为准确地获知用户的行为或资金用途。

(3)找零地址

  区块链交易中往往存在一种用于处理找零的找零地址。在交易过程中,如果支付了超过所需金额的资金,找零地址便会接受和储存超出的部分,并将其重新发回发送者处。以以太坊为例,这一过程是电子钱包自动处理的,它包含了交易关联与地址关联。当观察者进行特征提取后,就可以分析其聚类后所代表的实体。

  诸如此类源于各虚拟货币设计的特性可以被观察者用于发现不同地址之间的关联性,甚至推导用户的真实身份,使匿名化措施失效。例如早在2013年,Meiklejohn等的研究[1]就指出,以比特币为例,运用启发式聚类分析技术对用户交易数据进行分析,可以较为有效地识别出不同地址是否属于同一用户。又或者使用如K-means[2]、DBSCAN[3]这样的聚类算法识别出属于同一用户的地址,以确定交易者的身份。相关研究多以比特币为例,然而其研究结果对多数虚拟货币往往具有普适性。

  而除了虚拟货币设计上的特性之外,用户在使用虚拟货币时的行为规律也会成为使匿名化手段失效的原因:

  由于区块链的所有交易信息均在全局账本可查,这便使得通过交易记录推断其对应的交易者在现实中的活动成为可能。例如手机卡月租、房租、水电费等交易时间相对固定、交易金额有一定规律的交易。这些规律性的消费反映出用户的行为特征、收入水平等信息,观察者可以通过交易数据所反映的信息对匿名用户进行用户画像。通过用户画像,可以实现匿名账户与现实身份的匹配。

  对于这个问题,Monaco[4]就曾提出过通过多达12个参数维度来分析用户画像、识别用户身份的方法,通过6个月的实验,Monaco发现他的方法准确率高达62%、错误率低于11%。

3 隐私保护技术

  针对上述区块链中所涉及的隐私问题,本文将通过数据保护和身份保护两个方面讲述目前用于隐私保护的主流技术。其中,交易数据保护主要使用同态加密与属性基加密技术等,用户身份保护则主要有混币技术、环签名技术和零知识证明等。

3.1 混币技术

  混币技术通过在输出前混合几个无关的输入,增加追溯数字货币去向的难度[5],以达到保护用户身份信息的目的。按照实现方案,主要地分为中心化混币和去中心化混币两种。

3.1.1 中心化混币机制

  中心化混币的服务由第三方供应商提供,如图所示(图3.1-1),各发送者先将需要混币的交易内容及资金发送到混币节点进行混币操作,混币节点依照其混币规则将各从发送者处收到的资金打乱混合,分别凑成各接收者所需的金额发送给指定的接收者。由于发送者将资金发送至节点,这个过程可以一定程度地保护区块链交易双方的身份。

中心化混币机制的基本流程
图3.1-1 中心化混币机制的基本流程

  但是这种机制也有一些缺陷,最直接的便是第三方节点未必可靠,存在信息泄露甚至资金被盗取的风险。

  对于可信度问题,其关键在于保证混币操作的透明性和可追责。对此,Bonneau等曾在2014年开创性地通过引入账本承诺机制,提出了Mixcoin协议[6](这也是"混币"一词的来源)。Mixcoin协议最大的特点是使用追责机制对混币节点的盗取行为进行惩罚,以及使用随机手续费来避免通过手续费追溯用户身份的情况。

  然而这种方法仍然不能避免混币节点本身的监守自盗。由于混币节点有能力获知经过它的所有输入和输出地址,并记录哪些用户参加了混币流程,那么通过分析这些地址的行为模式以及交易金额、时间等元数据,混币节点则仍有可能跟踪和破解混币过程。

  对于这种情况,Valenta等人于次年改进提出了Blindcoin(盲币)方案[7]。该方案在Mixcoin方案的基础上增加盲签名,以达到混币节点可以再不知道输入输出地址的映射关系时依然可以进行混币操作的效果,这就规避了前文提到Mixcoin协议的混币节点可以通过地址的映射关系破解混币过程的问题。

  但是Blindcoin使用盲签名就势必导致需要一个额外手段来确认节点确实已经完成了混币操作,因此该方案要求每个用户发送自己的签名到一个公共日志中,这些签名由盲签名机制产生,用于证明用户参与了某个混币流程。这使得通过签名分析交易模式成为可能,即破坏了混合的不可区分性。

  因此,为了更彻底地解决由于中心化混币设计本身而存在诸问题,去中心化混币的方案便应运而生。

3.1.2 去中心化混币机制

  与中心化混币相比,去中心化混币的操作过程中没有中央服务器的参与,是各交易参与者间自行达成协议进行混币交易,从而在这个过程中混淆彼此的身份。

  如图所示(图3.1-2),图中例举了三个用户进行去中心化混币的过程:首先由意图混币的用户进行协议协商,并生成一个智能合约。用户将欲混币的资金存入智能合约地址,并根据协议或算法拟定各自接收混币后资金的地址(输出地址)。然后,协议出具混币方案供参与者确认,当方案得到确认后,协议会执行混币操作,并从智能合约地址向用户发回混币后的等额资金。

去中心化混币的基本流程
图3.1-2 去中心化混币的基本流程:以三个用户为例

  相较于中心化混币,去中心化混币由于不依赖于某个大型的提供商,没有中央服务器充当中介一定程度上保护了交易者的身份隐私,但也因此交易者要承担混币过程中涉及的第三方混币节点(可能是某个用户当做节点或是使用智能合约等)不可靠的风险。如果第三方混币节点不可靠(该节点的用户本身就是恶意人员)或因安全性不足被攻击,则资金安全无法得到保障。

  CoinJoin(联合混币)是第一个去中心化的混币方案,由Gregory于2013年提出[8]。它的流程与上文简述类似,即由意图交易的用户组成一个群组,并在该群组内发起一个混币交易,然后群组内部将混合所有用户的输入地址以及经随机排序的输出地址,从而达到匿名的效果。

  然而CoinJoin存在交易地址对群组内用户均可见的问题,对此诞生过如Coinshuffle[9]、Coinparty[10]、Dash[11]等多个解决方案,然而它们也各有缺陷。如Coinshuffle采用解密混合网络技术解决该问题,但同时导致了混淆计算开销大、耗时长,且对用户网络环境要求高等缺点;Coinparty使用安全多方计算协议模拟受信任的第三方防止有恶意用户操纵排序结果,但是该协议的计算量与网络压力随用户量增加而大幅提高,不适用于用户量极高的大规模混合;Dash协议则是引入了Masternodes(主节点)来建构混币交易,通过Masternodes保证用户之间匿名的同时,在Masternodes之间再进行混合以进一步确保隐私,然而这一过程需要Masternodes提供额外服务进行,因此整体实现的性能开销较大,并且需要用户提交押金。

  除了CoinJoin和它的改进方案,也诞生过诸如Tumblebit[12]、CoinLayering[13]、GroupShuffle[14]等其它方案。但它们也各有局限性,例如Tumblebit就存在由于使用复数个交易通道对交易记录进行混淆、需要的可信第三方过多,而导致交易延迟大的问题。


协议名称改进点局限性
CoinJoin[8]最早的去中心化混币协议。对交易参加者内部的匿名性不足。
Coinshuffle[9]以CoinJoin为基础,引入解密混合网络技术加强内部匿名。解决CoinJoin局限性的同时带来更多的混淆计算负担,且对网络环境要求更高。
Coinparty[10]以CoinJoin为基础,引入安全多方计算协议以模拟可信第三方混淆计算和网络通信的负担随参加者数量增加而大幅上升,不适合大规模混币。
Dash[11]基于CoinJoin,引入Masternodes节点完善内部匿名,并支持快速交易。采用链式混合加强匿名的同时,性能开销随着混合轮数增加而大幅上升,引入的Masternodes节点也需要额外的开销,通常给使用者带来相对高昂的手续费。
Tumblebit[12]使用多方支付通道对交易进行混淆,优化了托管和退款阶段的隐私保护。混币涉及阶段过多,且再次引入了可信第三方,并且不可替代。
CoinLayering[13]使用中国剩余定理和Schnoor签名构造群签名,混淆各输入地址与输出地址的关联。对合谋攻击缺乏对抗手段,当多个混币节点与参与者进行合谋时,组合它们拥有的信息就会使用户输入和输出地址的匿名失效。
GroupShuffle[14]采用基于分层机制的协同币混合,优化了多层混合的效率问题。对参加者网络要求严苛,且存在较高的内部攻击风险。
表3.1-1不同中心化混币协议的特点及局限性

  从上文的描述和表3.1-1的总结中我们可以看到,不同的去中心化混币技术也存在着各自的局限性,它们往往在匿名程度、性能开销、过程监管的三元对立中难以平衡。可见,在当前的技术水平下,通过单一的混币技术难以兼顾三者的需要。因此,无论是中心化还是去中心化的混币方案,都有着各自不同的局限性。但是,在混币协议没有取得极大突破的当下,我们可以通过一系列密码学手段来增加恶意人员攻击、盗窃的成本,以达到保护隐私和资金安全的目的。

3.2 同态加密

  同态加密是一种基于非噪声方法的安全计算,可以在不访问密钥的情况下对加密数据进行计算,而使用加密数据的计算结果与使用原始数据进行相同运算的结果一致。与传统加密方法相比,同态加密不仅更能保护计算过程中的隐私,而且由于其同态性质,即使在密文甚至加密算法都泄露的情况下,仍然可以保护明文内容,从而大幅提升了信息的安全性和隐私性。

  区块链中有许多经典的同态加密理论,如Pedersen承诺[27]、ElGamal承诺[28]等,这些技术往往使用同态加法或同态乘法的其中一个(此处的同态加法和乘法是指AND运算与XOR运算,例如RSA算法[33]就是典型的同态乘法算法,同态加法算法则有Paillier[34]等),例如Pedersen承诺使用同态加法,而ElGamal承诺使用同态乘法,它们使用各自的算法进行隐私计算,利用哈希值验证其结果的有效性、确保交易中交换承诺的可靠性[29]

  同态加密的一般流程(图3.2-1)是:双方的算法进行握手,并确定算法所需的各初变量与参数;然后,加密方对信息执行同态加密并签名;加密方将数据上传到交易节点,等待交易节点对签名进行有效性验证;交易节点完成验证,解密方下载数据,同时各交易节点删除残留数据;最后解密方可以解密并查看明文。

同态加密的一般流程
图3.2-1 同态加密的一般流程

  目前,同态加密已经在许多区块链应用中得到使用,如智能合约处理机制与基于区块链的分布式系统等,例如Hawk[30]、Fabric[31]、EPIoT[32]等。

  不过,在区块链交易中,同态加密虽然能够有效提升交易数据与数据计算过程的安全性,但它无法解决交易方以及各节点交互过程中的隐私泄露问题。因此,一般地使用零知识证明等技术与同态加密配合使用,以达到尽可能全面的隐私防护。

3.3 零知识证明

  零知识证明(ZKP,Zero-Knowledge Proof)是Goldwasser等人在1985年提出的[15],它是一种可以在不披露敏感数据的情况下证明信息归属的密码学技术[16],可以解决区块链领域中链上数据的隐私泄露问题,在保护隐私与数据透明方面达到较好的平衡。从其特性不难发现,使用零知识证明可以很好地弥补同态加密技术的缺点。

  通过零知识证明,Miers等人于2013年提出了基于区块链的数字货币方案zerocoin(零币)[17],这是零知识证明在数字货币最早的应用,它可以实现用户在数字货币交易中的完全匿名。然而由于该方案暴露支付目标、金额的问题仍然存在,故Sasson根据与zerocoin方案同时提出的构想[18],与Miers等合作于次年提出了基于总账的zerocoin改进版zerocash(零钞)[19],并于2016年推出了实际应用该方案的zcash。

  Zerocash引入了零知识证明在区块链中应用最为广泛的算法zk-SNARK(zeroknowledge Succinct Non-interactive arguments)[19],该算法最显著的特征是无需交互即可完成交易内容的证明。通过zk-SNARK验证交易内容的各项值正确,各网络节点可以在不交互的情况下证明该交易的正确性,以确保其具体内容不会泄露,即可以隐藏交易金额等数据。

  图示的内容(图3.3-1)是zcash中对ZK-SNARK的实现:在执行之前会进行可信设置(Trusted Setup),生成证明密钥与验证密钥。证明者(即交易发送者)使用证明密钥,私密地输入如交易金额、交易方等信息,并公开信息生产证明,此处记作π。证明者将π上链,验证者(即交易接收者)会拉取π并使用验证秘钥来验证π,根据验证结果的成功与否,zcash钱包将接受或拒绝交易。

Zcash中ZK-SANRK的实现方式
图3.3-1 Zcash中ZK-SANRK的实现方式[43]

  但由于zk-SNARK在执行前需要使用CRS(Common Reference String)进行可信设置,如果这个过程在不安全的环境中进行或参与者不可信,则整个证明系统都会暴露在严重的安全漏洞当中。故Sasson等也在2018年提出了针对可信设置进行改进的zk-STARK算法,在设计思路上引入了抗强哈希碰撞假设,大幅提高了验证方的算数复杂度[20]

  Chen等人提出的PGC方案[35]则面向基于账户模型的区块链电子货币设计,该方案使用DCP系统(Decentralized Confidential Payment),在保留零知识证明优点的同时,又结合Twisted ElGamal同态加密算法对交易内容进行加密,很好地展示了零知识证明与同态加密的综合应用。

  更激进的如基于zk-SNARK的Supersonic算法[21]选择在类群实例化(instantiated with class groups)的情况下不使用可信设置,并且达到同时在多项式大小和验证时间上具有对数级别的复杂度,并且证明过程中产生的数据拥有比zk-SNARK小得多的空间占用。

  这些方案和它们所展示的方向各有自身的改进空间,例如Supersonic算法会带来额外的性能开销,PGC方案中所结合的同态算法Twisted ElGamal又存在暂时无法实现基于UTXO模型的交易验证等问题,如何在平衡好交易透明度与内容隐私的同时做到最优的性能开销,是目前研究的重点。

3.4 环签名

  环签名(Ring Signature)最早是Rivest等人在2001年提出的[22],它在区块链最早的应用是Saberhagen与2013年提出的电子货币系统CryptoNote v2.0[23],前文(3.3)提到的zerocoin中也有应用[19]

  环签名是由群签名(Group Signature)发展而来的。群签名允许群组中的所有成员对消息进行签名,对外部成员来说只能确定签名来自于某群组,而不能知道具体的签名者。但是群签名需要一个可信的群管理器来实现对成员身份的验证和管理,是一种中心化的设计思路,而环签名则不需要群管理器来管理群成员,并且公钥的生成过程也无需各成员进行协调。

  环签名从群组中任选一组签名者(也可以选择自己作为其一),结合自己的私钥与所选成员的公钥对消息进行签名,验证者只要使用公钥与环签名即可验证签名,而无需得知具体是哪位用户进行了签名。

  环签名的逻辑结构如图所示(图3.4-1),其形似圆环,这也是它得名环签名的原因。我们将待验证消息的哈希值V输入,并将它与一位参与者的公钥进行异或计算,然后将计算结果放入链接函数Ek进行计算。得出的计算结果再对下一位参与者进行同样的流程,以此类推,当所有参与者的公钥都参与计算后,如果签名有效,那么得出的结果应该会回到V。

环签名基本流程图
图3.4-1 环签名基本流程图

  通过这种方式,前文提到的CryptoNote结合一次性公钥方案,使用一次性公钥为接收者产生接收地址,以保证接收者在不同的事务中使用不同的输出,从而使得攻击者更难从不同的交易输出中分辨出同一个接收者。

  但是环签名允许群组内所有成员使用自己的私钥与其他成员的公钥创建,并不公开参与签名的具体成员。这虽然可以向验证者证实有人完成交易而不公开具体是谁完成交易,以实现交易的匿名,但是这种任意用户都可以创建群组并匿名地签名消息的机制极有可能被恶意用户所利用。

  针对这种情况,Fujisaki等人于2007年提出过一种带追踪的环签名改进方案[24]。方案中引入了一种标签机制,标签中列出了群组的所有成员与群组议题。每一个成员只能对一个标签进行一次签名,如果多次签名,则该成员将会立即被公布身份。CryptoNote中就使用了这种方案,并进一步地将环签名本身变成一次性的,即一次性环签名,进一步地增保障了交易发起者的匿名。

  此外,Noether等人于2016年也提出了一种适用于CryptoNote的扩展RingCT(Ring Confidential Transactions,环机密交易)[25],它结合了环签名与Pedersen承诺以同时保证身份的匿名和交易内容的隐藏。这一方案在2017年1月在Monero(门罗币)[26]中得到首次应用,并且已经成为了Monero所有交易的强制功能。

  Monero是目前基于CryptoNote协议的电子货币中最为流行的电子货币。Monero最显著的特点就是它的任意一笔交易都可以被其他成员验证,这一机制有效地防止了多次支付或假支付的情况发生,使得使用Monero进行的交易具有更高的可信度。

  然而从环签名的原理我们可以发现,环签名的匿名强度很大程度上取决于参与交易、构成"环"的成员数量,只有成员足够多,单个成员才能够有效地被隐藏在整体当中。但是,随着成员的增加,环签名所产生的签名大小也会以线性的方式不断增加,它在带来额外计算量的同时,也极大地加剧了区块链各节点的存储压力。

3.5 属性基加密

  属性基加密(ABE,attribute-based encryption)是一种基于身份信息属性识别的加密技术,最初由Amit Sahai和Brent Waters于2005年提出[36]。其核心安全性体现在只有符合特定访问策略的用户才能解密密文,而不满足策略的攻击者即使拥有密钥也无法解密。这使得密文既可以在不安全的信道上传输,又可以上传至开放的网络存储设备中。

  属性基加密主要分为两种类型:密钥策略的属性基加密(KP-ABE,Key-Policy Attribute-Based Encryption)[37]和密文策略的属性基加密(CP-ABE,Ciphertext-Policy Attribute-Based Encryption)[38]

  其中,对于区块链交易,CP-ABE的应用较为广泛,在CP-ABE中,数据拥有者可以设定访问策略,只有满足策略的用户才可以解密数据。如图所示(图3.5-1),一般地,在区块链中基于CP-ABE的隐私保护方案包括四个阶段:

(1)初始化阶段:根据随机种子,产生主密钥MK、公共参数PP,并设置属性集S,其中属性集S包含所有用户的属性;属性集S与秘钥MK生成多个私钥SK;将生成的私钥SK分配给各用户。

(2)加密阶段:数据拥有者定义一种访问结构A,并将其嵌入到欲加密的明文M中,结合公共参数PP生成密文CT。

(3)数据上链阶段:数据拥有者将密文CT作为交易数据的一部分上传到当前使用的区块链网络中。

(4)数据解密阶段:用户向区块链网络拉取交易信息,获取密文CT,并执行解密。如果用户在属性集S中的属性符合访问结构A,即可使用私钥SK完成对密文CT的解密,得到明文M。

CP-ABE的基本执行流程
图3.5-1 CP-ABE的基本执行流程

  利用CP-ABE技术,Yang等提出过一种基于CP-ABE的多授权访问控制系统[39],该方案的访问和隐私控制机制可以很好地匹配细粒度访问控制要求的区块链环境。Rahulamathavan等则利用属性基加密实现了面向物联网端到端的区块链数据隐私保护[40]。Dai等则提出了一种结合区块链和属性基加密的数字孪生系统数据访问控制方案[41],利用区块链的去中心化特性和CP-ABE的细粒度访问控制来保障数据的安全性,减少了传统区块链的单点故障风险和存储压力。此外,Sasikumar等提出了一种结合边缘计算和区块链的分层属性基加密方案[42],进一步增强了数据共享和隐私保护。

  不过,由于CP-ABE的访问控制依赖于授权集合的访问树结构,导致它虽然可以在小群体范围内有效保护数据隐私,但当应用规模扩大后就会逐步面临加密过程的性能开销问题。例如,属性基加密技术的计算过程需要大量的双线性映射操作,这就导致了加密计算耗时较长。同时,属性基加密的密文的长度会随属性数量的增加而增加,在区块链中会造成严重的存储压力。因此,对属性基加密的时间和空间问题进行优化,以提升区块链的访问、控制性能是当前研究的重点。

4 未来展望

  通过本文所介绍的各项技术及它们发展路上的各种改进型可以看出,在区块链技术的发展过程中,对用户的隐私保护与系统的性能开销、运行效率之间的平衡始终是研究的总方向。结合混币技术、基于密码学的内容隐藏、网络通讯保护等技术,可以从多个角度提升系统的安全性,尽可能地做到不同技术间的取长补短。但在这过程中,由于协议设计等原因不可避免地出现各种方案的局限性,而它的改进型则又继续引出新的问题,如混币协议的发展道路上,为了进一步提升匿名性而产生了去中心化的各种改进型,但这些改进型又引出交易环节的监管问题,即参与者本身也可能存在恶意分子,进而,为了在保障匿名性的前提下尽可能地防止恶意行为,新的改进型又产生了更多性能开销及效率低的问题......

  因此,在提升各项技术本身算法、环节、方案的同时,应用方面的研究重点势必是力求在系统的效率和性能开销、对参与者的匿名和隐私保护、对交易环节的监管和安全保障三者间取得一个合适的平衡,以应对大多数场景的应用。同时,在这种综合技术的基础上提供各项可选的保护措施,来应对少数特殊的应用场景,例如极端要求匿名和监管的情况下可以接受更大的性能开销,而确保参与者可靠且力求效率的场景下又可以牺牲一部分匿名性。

  基于这个观点,本文认为未来的研究或许可以往以下两个方面推进:

(1)根据不同数据敏感性设计解决方案

  以数字货币为代表的应用场景对安全性和可用性有很高的要求。在面向这些场景的解决方案中,一些方案的隐私保护机制使用零知识证明和环签名等密码学技术来应对隐私威胁,但它们也都各自带来了新的安全问题。例如,Zerocash方案中采用的ZK-SNARK需要第三方进行可信设置才能进行,因此第三方的可信度直接决定了系统的安全性,而其改进型则不同程度地增加了性能开销,或者无法实现特定场景下的隐私保护。因此,在未来,根据实际应用场景,对数据敏感性进行分类,针对不同数据敏感性的场景进行解决方案的研究,对不同数据敏感性制定不同的指标,即制定对系统开销、隐私保护、安全监管三者的不同侧重,并以此进行开发,从而实现性能和隐私保护的折中。并且在方案转化为产品时,它们互相兼容为一套系统(如一次交易中可以选择某种增强匿名但开销更大的组件,也可以不使用),可以同时部署、同时运行。这或许是较为稳妥且有效的方向。

(2)高数据敏感性场景下的多方监管技术

  在金融链等应用场景中,多方监管对于维持金融秩序和减少市场风险至关重要,这个场景就属于在上文所提到的数据敏感性分类中应归类于高数据敏感的场景。目前,大多数区块链系统仅支持单方监管(即多数方案中所提及的"可信的第三方"在实际应用中往往是唯一的),许多协议和解决方案中的安全问题恰恰就是来自于监管方的不可靠和权力滥用,并且这种模式还存在单点故障的风险。而引入多方监管可以通过访问控制、秘密分享[44]、安全多方计算[45]等方案,将监管权力分配给多个可信机构,以相互监管、分散职能等方式减少安全隐患。这种方案下,由于监管并非带来性能开销的主要环节,因此区块链系统整体的运行效率通常不会有太大改变,只是会牺牲一定流程上的灵活性。但这种发展方向在国家安全相关领域,以及政府未来可能推出的数字货币上大有可为。

5 结语

  随着物联网的发展与万物互联等概念的兴起,区块链有了越来越广泛的应用前景,在其应用过程中产生的各类隐私问题,尤其是交易隐私问题成为了行业内聚焦的重点。

  本文首先通过以太坊的例子,将区块链交易中面临的隐私泄露问题分为数据隐私和身份隐私,并指出了面对不同隐私泄露问题所广泛使用的不同技术。然后本文介绍了各项技术的研究进展以及一些相关应用,指出不同技术的相互配合能够有效取长补短,达到保障隐私的同时不丢失区块链的透明性的效果。最后,本文总结了目前各项研究在实际应用方面的进展,展望了未来的研究方向。

参考文献

  1. Meiklejohn, S., Pomarole, M., Jordan, G., Levchenko, K., McCoy, D., Voelker, G. M., & Savage, S. (2013, October). A fistful of bitcoins: characterizing payments among men with no names. In Proceedings of the 2013 conference on Internet measurement conference (pp. 127-140).
  2. Monamo, P., Marivate, V., & Twala, B. (2016, August). Unsupervised learning for robust Bitcoin fraud detection. In 2016 Information Security for South Africa (ISSA) (pp. 129-134). IEEE.
  3. Patil, S., Nemade, V., & Soni, P. K. (2018). Predictive modelling for credit card fraud detection using data analytics. Procedia computer science, 132, 385-395.
  4. Monaco, J. V. (2015, May). Identifying bitcoin users by transaction behavior. In Biometric and surveillance technology for human and activity identification XII (Vol. 9457, pp. 25-39). SPIE.
  5. Ruffing, T., & Moreno-Sanchez, P. (2017). Mixing confidential transactions: Comprehensive transaction privacy for Bitcoin. IACR Cryptology ePrint Archive, 2017, 238-260. https://eprint.iacr.org/2017/238
  6. Bonneau, J., Narayanan, A., Miller, A., Clark, J., Kroll, J. A., & Felten, E. W. (2014). Mixcoin: Anonymity for bitcoin with accountable mixes. In Financial Cryptography and Data Security: 18th International Conference, FC 2014, Christ Church, Barbados, March 3-7, 2014, Revised Selected Papers 18 (pp. 486-504). Springer Berlin Heidelberg.
  7. Valenta, L., & Rowan, B. (2015). Blindcoin: Blinded, accountable mixes for bitcoin. In Financial Cryptography and Data Security: FC 2015 International Workshops, BITCOIN, WAHC, and Wearable, San Juan, Puerto Rico, January 30, 2015, Revised Selected Papers (pp. 112-126). Springer Berlin Heidelberg.
  8. Maxwell, G. (2013). CoinJoin: Bitcoin privacy for the real world. Bitcoin Forum.
  9. Ruffing, T., Moreno-Sanchez, P., & Kate, A. (2014). Coinshuffle: Practical decentralized coin mixing for bitcoin. In Computer Security-ESORICS 2014: 19th European Symposium on Research in Computer Security, Wroclaw, Poland, September 7-11, 2014. Proceedings, Part II 19 (pp. 345-364). Springer International Publishing.
  10. Ziegeldorf, J. H., Grossmann, F., Henze, M., Inden, N., & Wehrle, K. (2015, March). Coinparty: Secure multi-party mixing of bitcoins. In Proceedings of the 5th ACM Conference on Data and Application Security and Privacy (pp. 75-86).
  11. Duffield, E., & Diaz, D. (2015). Dash: A privacycentric cryptocurrency.
  12. Heilman, E., Alshenibr, L., Baldimtsi, F., Scafuro, A., & Goldberg, S. (2017). Tumblebit: An untrusted bitcoin-compatible anonymous payment hub. In Network and distributed system security symposium.
  13. Lu, N., Chang, Y., Shi, W., & Choo, K. K. R. (2020). CoinLayering: an efficient coin mixing scheme for large scale bitcoin transactions. IEEE Transactions on Dependable and Secure Computing, 19(3), 1974-1987.
  14. Yan, Y., Liu, Q., & Li, J. (2024). Blockchain Collaborative Coin Mixing Scheme Based on Hierarchical Mechanism. International Journal of Network Security, 26(3), 442-453.
  15. Goldwasser, S., Micali, S., & Rackoff, C. (2019). The knowledge complexity of interactive proof-systems. In Providing sound foundations for cryptography: On the work of shafi goldwasser and silvio micali (pp. 203-225).
  16. Choc, B., Goldwasser, S., Micali, S., & Awerbuch, B. (1985). VERIFIABLE SECRET SHARING AND ACHIEVING SIMULTANEITY IN THE PRESENCE OF FAULTS. In Annual Symposium on Foundations of Computer Science (Proceedings) (pp. 383-395).
  17. Miers, I., Garman, C., Green, M., & Rubin, A. D. (2013, May). Zerocoin: Anonymous distributed e-cash from bitcoin. In 2013 IEEE symposium on security and privacy (pp. 397-411). IEEE.
  18. Ben-Sasson, E. (2013). Universal and affordable computational integrity. May2013, bitcoin.
  19. Sasson, E. B., Chiesa, A., Garman, C., Green, M., Miers, I., Tromer, E., & Virza, M. (2014, May). Zerocash: Decentralized anonymous payments from bitcoin. In 2014 IEEE symposium on security and privacy (pp. 459-474). IEEE.
  20. Ben-Sasson, E., Bentov, I., Horesh, Y., & Riabzev, M. (2018). Scalable, transparent, and post-quantum secure computational integrity. Cryptology ePrint Archive.
  21. Bünz, B., Fisch, B., & Szepieniec, A. (2020). Transparent SNARKs from DARK compilers. In Advances in Cryptology--EUROCRYPT 2020: 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, May 10--14, 2020, Proceedings, Part I 39 (pp. 677-706). Springer International Publishing.
  22. Rivest, R. L., Shamir, A., & Tauman, Y. (2001). How to leak a secret. In Advances in Cryptology---ASIACRYPT 2001: 7th International Conference on the Theory and Application of Cryptology and Information Security Gold Coast, Australia, December 9--13, 2001 Proceedings 7 (pp. 552-565). Springer Berlin Heidelberg.
  23. Van Saberhagen, N. (2013). CryptoNote v 2.0.
  24. Fujisaki, E., & Suzuki, K. (2007, April). Traceable ring signature. In International Workshop on Public Key Cryptography (pp. 181-200). Berlin, Heidelberg: Springer Berlin Heidelberg.
  25. Noether, S., & Mackenzie, A. (2016). Ring confidential transactions. Ledger, 1, 1-18.
  26. Akcora, C. G., Gel, Y. R., & Kantarcioglu, M. (2022). Blockchain networks: Data structures of bitcoin, monero, zcash, ethereum, ripple, and iota. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 12(1), e1436.
  27. Pedersen, T. P. (1991, August). Non-interactive and information-theoretic secure verifiable secret sharing. In Annual international cryptology conference (pp. 129-140). Berlin, Heidelberg: Springer Berlin Heidelberg.
  28. ElGamal, T. (1985). A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE transactions on information theory, 31(4), 469-472.
  29. Ruffing, T., & Malavolta, G. (2017). Switch commitments: A safety switch for confidential transactions. In Financial Cryptography and Data Security: FC 2017 International Workshops, WAHC, BITCOIN, VOTING, WTSC, and TA, Sliema, Malta, April 7, 2017, Revised Selected Papers 21 (pp. 170-181). Springer International Publishing.
  30. Kosba, A., Miller, A., Shi, E., Wen, Z., & Papamanthou, C. (2016, May). Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In 2016 IEEE symposium on security and privacy (SP) (pp. 839-858). IEEE.
  31. Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., Christidis, K., De Caro, A., ... & Yellick, J. (2018, April). Hyperledger fabric: a distributed operating system for permissioned blockchains. In Proceedings of the thirteenth EuroSys conference (pp. 1-15).
  32. Kashif, M., & Kalkan, K. (2024). EPIoT: Enhanced privacy preservation based blockchain mechanism for internet-of-things. Computer Networks, 238, 110107.
  33. Rivest, R. L., Shamir, A., & Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2), 120-126.
  34. Paillier, P. (1999, April). Public-key cryptosystems based on composite degree residuosity classes. In International conference on the theory and applications of cryptographic techniques (pp. 223-238). Berlin, Heidelberg: Springer Berlin Heidelberg.
  35. Chen, Y., Ma, X., Tang, C., & Au, M. H. (2020). PGC: Decentralized confidential payment system with auditability. In Computer Security--ESORICS 2020: 25th European Symposium on Research in Computer Security, ESORICS 2020, Guildford, UK, September 14--18, 2020, Proceedings, Part I 25 (pp. 591-610). Springer International Publishing.
  36. Sahai, A., & Waters, B. (2005). Fuzzy identity-based encryption. In Advances in Cryptology--EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, May 22-26, 2005. Proceedings 24 (pp. 457-473). Springer Berlin Heidelberg.
  37. Goyal, V., Pandey, O., Sahai, A., & Waters, B. (2006, October). Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the 13th ACM conference on Computer and communications security (pp. 89-98).
  38. Bethencourt, J., Sahai, A., & Waters, B. (2007, May). Ciphertext-policy attribute-based encryption. In 2007 IEEE symposium on security and privacy (SP\'07) (pp. 321-334). IEEE.
  39. Yang, K., & Jia, X. (2012, June). Attributed-based access control for multi-authority systems in cloud storage. In 2012 IEEE 32nd International Conference on Distributed Computing Systems (pp. 536-545). IEEE.
  40. Rahulamathavan, Y., Phan, R. C. W., Rajarajan, M., Misra, S., & Kondoz, A. (2017, December). Privacy-preserving blockchain based IoT ecosystem using attribute-based encryption. In 2017 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS) (pp. 1-6). IEEE.
  41. Dai, Y., Wu, J., Mao, S., Rao, X., Gu, B., Qu, Y., & Lu, Y. (2024). Blockchain empowered access control for digital twin system with attribute-based encryption. Future Generation Computer Systems.
  42. Sasikumar, A., Ravi, L., Devarajan, M., Selvalakshmi, A., Almaktoom, A. T., Almazyad, A. S., ... & Mohamed, A. W. (2024). Blockchain-assisted hierarchical attribute-based encryption scheme for secure information sharing in industrial internet of things. IEEE Access.
  43. 姚爽, 张大伟, 李勇, & 王伟. (2022). 区块链交易内容隐私保护技术研究综述. 密码学报, 9(4), 596-618.
  44. Mashahdi, S., Bagherpour, B., & Zaghian, A. (2022). A non-interactive (t, n)-publicly verifiable multi-secret sharing scheme. Designs, Codes and Cryptography, 90(8), 1761-1782.
  45. Veugen, T. (2022, June). Secure Multi-party Computation and Its Applications. In International Conference on Innovations for Community Services (pp. 3-5). Cham: Springer International Publishing.