简要总结
- 比特币并不匿名 — 它是一本永久性的公开账本,只是给使用者贴上了化名。区块链分析所做的,就是拆穿这个化名,整个过程完全不需要破解任何加密机制。
- 几乎所有工作,都是由五种低成本的启发式规则和一个锚点完成的。启发式规则把各个地址归并成一个钱包;锚点 — 几乎总是某个持有用户身份证件的交易所 — 把一个名字安在这个群组上。
- 身份归因会流经整个集群,并且在时间上双向流动。只要为其中一个地址定了名,你就等于为与它同属一个集群的每一个地址都定了名,包括许多年前发生的交易。
- 账户模型链更容易被追踪,而不是更难。在 Ethereum、Tron 和 Solana 上,一个地址在设计上就是一个持久身份,重复使用是正常的运作方式,而不是失误。
- 真正的去匿名化,大多发生在链下。IP 地址、钱包遥测数据、区块浏览器查询记录、收货地址,以及依传票调取的交易所记录,提供身份的频率远远高于账本本身。
- 真正能阻断追踪链条的,是转入一个无法被读取的账本。做不到这一点的:换一个新地址、在透明链上多跳几次,或者用 VPN。
- 分析是可以追溯既往的,而账本是永久性的。2032 年被人查阅的链上,仍然完整记录着你在 2026 年做过的一切,而分析工具只会越来越强。隐私是你在交易发生的那一刻就要做出的决定,过了那一刻就再也没有机会。
真正在监视的是谁
有必要把这件事说具体一点,因为大多数人脑海中的画面 — 一个侦探眯着眼睛盯着区块浏览器 — 和实际的工作方式毫无关系。区块链分析是一个成熟的商业软件产业,只有为数不多的几家大型供应商、一批稳固的客户群,其产品本质上就是一张覆盖每一条公链、可搜索且带标签的地图。
你会听到的供应商名字包括 Chainalysis、Elliptic、TRM Labs、Crystal 和 Merkle Science,此外还有一层面向公众的工具,比如 Arkham,以及普通的区块浏览器。它们的软件做两件事:摄取各主要链上的每一笔交易并对地址做聚类,同时维护一个专有数据库,把现实世界中的实体标签贴到这些集群上。
客户比供应商更值得关注。最大的单一群体正是加密行业本身 — 交易所、支付处理商和托管机构,会在入账之前,让每一笔到账存款都先过一遍筛查产品,因为它们的银行合作关系和牌照,都取决于能不能证明自己做到了这一点。再往下是银行、税务机关、金融情报机构、执法机构、保险公司,以及数量不断增长的普通企业。这才是关键所在:这套监控体系,主要目的并不是为了调查案件。它是一项持续、自动化、全天候运行的筛查服务,默认适用于每一个普通用户。
这些标签本身,是从一些毫不起眼的来源拼凑出来的。分析师会在交易所开户并做小额存款,借此摸清该交易所地址的形态特征。他们会抓取论坛、捐款页面和社交媒体上人们公开发布的地址。他们会摄入法庭文件、没收通知和制裁名单。他们会从合作伙伴那里购买或获取数据。他们还会向某个地址发送极小额的资金,借此观察它的行为方式。这一切都不需要任何特殊权限,累积下来的结果是:各主要链上相当一部分经济活跃的地址,都已经带上了某种标签。
完成大部分工作的五种启发式规则
聚类是这个问题的前半部分:判定一组各不相同的地址,其实同属一个钱包。这几乎全部依靠为数不多的几种技术来完成,而这些技术早在十多年前该领域最早的学术研究问世时,就已经是公开且被充分理解的了。它们既不是什么秘密,也算不上精巧。它们只是恰好在这些自愿公开的数据上,极其有效。
1. 共同输入归属
这一条承担了最主要的工作量,而且和其他几条不同,它接近于一种证明,而不只是猜测。在 Bitcoin 和其他 UTXO 链上,一笔花费两枚币的交易,必须分别用这两枚币各自的私钥签名。如果一笔交易花费了位于地址 A 的一枚币,以及位于地址 B 的另一枚币,那么构造这笔交易的人,必然同时持有这两把私钥 — 所以 A 和 B 属于同一个钱包。
把这一条规则应用到整条链上,就能把数以亿计的地址,压缩成少得多的实体数量。它具有传递性,而且会不断累积:今天 A 和 B 合并,下个月 B 又和 C 合并,集群只会越滚越大,从不缩小。唯一有意义的例外,是由多方同时刻意构造出的一笔交易 — 而这正是像 CoinJoin 这样的协作交易的本质,也正是它存在的原因。
2. 找零输出识别
UTXO 链没有「部分花费」这个概念。要从一枚 0.5 BTC 的币里支付某人 0.04 BTC,钱包必须把整枚币都花掉,并生成两个输出:一个是付款,另一个是找零,回到自己手里。只要能识别出哪个输出是找零,分析师就能顺着同一个钱包,一路追踪进它的下一笔交易,再下一笔,没完没了地追下去。
用于识别的信号有十几种,而钱包几乎无时无刻不在泄露它们。一个整数金额的输出通常是付款,而那个零零散散的余数则是找零。如果一个输出的地址格式与输入的地址格式相符、而另一个输出不相符,那么前者通常就是来自一个尚未升级的钱包的找零。一个后来与集群中已有的币一起被花掉的输出,就是找零。一个第一次出现的地址,比一个被重复使用过的地址,更有可能是找零。把这些信号串联起来,就会形成分析师所说的「剥离链」模式:一枚大额的币,走过几十笔交易,一路不断分出付款,全程都可以被追踪。
3. 地址复用
这是所有信号里成本最低的一种,而且至今仍然随处可见。任何一个收款不止一次的地址,都等于向全世界宣布:这几笔收款属于同一个收款人。公开的捐款地址、论坛签名档里的打赏地址、矿池的收款地址、印在发票上的商户地址、粘贴进客服工单里的地址 — 每一个都是一个永久性的、由用户自己提供的身份标识。避免这么做完全不花一分钱,但至今仍有大量的聚类工作靠它完成。
4. 交易所锚点
以上这一切,产生的只是一个尚未具名的集群。而这一步,才是真正给它安上名字的一步,也正是整套体系真正成败的关键所在。
托管型交易所会给每个用户分配一个专属的存款地址,这意味着交易所清楚地知道,这个地址属于哪一位已完成身份验证的客户。分析师会通过自己向交易所存款并观察其模式,以及监视热钱包产生的批量提现交易,来大规模识别这些地址。其结果,是一份庞大且维护良好的地图,记录着哪些地址属于哪个平台。
这对你的后果是直接的。只要你集群里的任何一个地址,曾经向某个已识别的交易所存款地址转账,或从中提现,你的整个集群,就会被贴上「该交易所某客户」的标签 — 而这家交易所持有你的身份证件、银行信息和地址,并会在收到合法要求时把它们提交出去。只需要一个锚点就够了。它和别人真正关心的那枚币之间隔了多少笔交易,都无关紧要,因为整个集群本来就是同一个对象。
5. 金额与时间关联
最后一种启发式规则,适用于资金流转链条穿过某个分析师无法看透其内部的环节的情形 — 一项服务、一座跨链桥、一次兑换、一个托管型钱包。内部是不透明的,但两端不是。
如果 1.0037 BTC 进入了一项服务,而 1.0031 BTC 在十一分钟后从中流出,且当天没有其他资金流动与两者中的任何一个相似,那么这一进一出就是同一笔钱,图谱就会跨过这个断点重新连接起来。这是常规操作,而且成本低廉。这也是为什么,评判任何一款隐私工具是否真正有用,关键不在于它是否隐藏了内部细节,而在于它是否摧毁了「进」与「出」之间的金额和时间关系。
从集群到身份再到评分
把这些环节拼在一起,整条流水线其实很短。启发式规则构建出一个集群;锚点为它命名。集群里所有的历史交易,会一次性全部被归因;此后每一笔新交易,也会在发生的同时立刻被归因。
这里面有两个特性值得细细体会。第一个是它是反向起作用的。2027 年获得的归因结果,同样适用于一笔发生在 2022 年的交易,因为账本是永久性的,而集群的效力可以追溯既往。数据本身没有有效期,也没有诉讼时效。第二个特性是:这是推断,不是证明。集群是由概率性的信号构建出来的,而一次错误的合并 — 某个打破了某项假设的钱包实现、一个共用的托管地址、一次被误判的 CoinJoin — 会永久污染这个错误两侧的一切。
而正是第二个特性,通过风险评分,波及到了普通用户。供应商会依据一个地址在图谱上与被归类为高风险的活动之间的接近程度,给它打一个分数。这个分数是继承来的,不是自己挣来的:一枚币在到达你手上之前,可能经过了好几个与你毫无关系的人,抵达时却可能背负着一段与你毫不相干的历史。当一家托管型交易所冻结一笔存款,要求一位一头雾水的用户,去解释三周前就在同一家交易所买入的资金来源时,靠的正是这套机制。这也是一个很好的理由,让你在「被标记的存款成为自己的麻烦」之前,先去看看一项服务白纸黑字承诺了什么 — 我们的订单状态指南介绍了存款被扣留时实际会发生什么,而服务排名正是依据这项政策,为每个服务商打分。
为什么 Ethereum、Tron 和 Solana 更容易被追踪
一种常见的假设是:Bitcoin 是那条被监控的链,而更新的链多少都没那么暴露。事实恰恰相反。账户模型链在分析难度上,比 Bitcoin 低得多,而这是结构性的原因,不管你自己多么小心,都无法改变。
- 一个地址就是一个持久身份。这里没有 UTXO 模型,没有找零输出,因此也就不存在需要求解的聚类问题。你的账户地址,在你于这条链上做过的每一笔交易里,都是同一个账户地址。在 Bitcoin 上需要靠聚类去推断的东西,这里直接就是白送的。
- 重复使用是设计使然,不是失误。除非你为每一种用途都单独运行一个钱包,并在它们之间转移资金,否则你根本无法践行 Bitcoin 意义上的地址卫生习惯 — 而这种转移本身,就是一个可被关联的行为。
- 交互历史就是一枚指纹。代币授权、合约调用、NFT 持仓、空投领取、治理投票,以及命名服务里绑定的一个具名账号,全都会永久地挂在你的地址名下。你接触过的那一套应用程序组合,往往具体到足以单凭它自己就把你认出来。
- 大多数用户从来不会直接与链对话。钱包查询的是托管节点服务商,而后者能同时看到你的 IP 地址,以及你查询过的每一个地址。就凭这一层关系,就在相当大一部分活动里,把网络身份和链上身份连到了一起。
- 稳定币发行方可以单方面采取行动。主要的法币抵押型发行方都维护着黑名单,可以在收到要求时冻结特定地址上的余额,这使得这些链上体量最大的这类资产,反而成了中立性最差的一类。
实际的结论是:在一条高吞吐量链上持有的 USDT 余额,是整个生态系统里可读性最强的资产之一。这对它擅长的事情来说完全没问题 — 快速、低成本地转移美元价值 — 而值得明白的是,你买到的正是这份便利。我们的稳定币链对比逐条链地梳理了这些取舍。
链下层面 — 身份通常就是在这里暴露的
到目前为止,讲的都是账本本身的事。但实际上,大多数身份识别根本就不是来自账本,而是来自围绕在它周围的那些「管道」,这些管道远比账本更容易漏水,却很少有人谈论。
- 交易在网络上的来源。一笔交易总得先广播给某个节点。一个与大量节点建立了连接的观察者,往往可以推断出这笔交易最早是在哪里被看到的,从而推断出它的来源。这是一种真实存在、正在被使用的技术,而不只是理论上的可能,这也是为什么运行自己的节点、或者通过 Tor 路由至关重要。
- 轻量级钱包会向服务器打听你的信息。一个不保存完整链数据的钱包,必须去问别人:哪些币是你的。那台服务器只需一次查询,就能同时得知你的完整地址集合和你的 IP 地址。一些旨在掩盖这一点的老式过滤方案,泄露的信息比用户以为的要多得多。
- 区块浏览器。用你平常的网络连接,去一个公开的浏览器上查询自己的交易,等于亲手把一条带时间戳的记录,交到了运营者手里,把你的 IP 和你关心的那个地址连在了一起。这是这整个领域里最常见的自我暴露之一,而且犯这个错误的,往往正是那些其他方面都很谨慎的人。
- 钱包和应用程序的遥测数据。价格行情、更新检测、崩溃报告和内置的分析统计,全都可能把一台设备和一个钱包关联起来,而钱包界面里那个显示法币价格的行情条,本身就是向某台服务器发出的一次请求。
- 现实世界。一个寄到你家的硬件钱包,一笔寄给你本人的快递,一笔为你的第一次购买提供资金的银行转账,一个绑定在某个账户上的电话号码。这些东西根本不存在于链上,但通常正是它们,让一场调查最终得以收网。
- 法律程序与机构间的信息共享。交易所会应传票配合调查。旅行规则要求:超过一定门槛的转账,须在受监管的机构之间传递发起方和受益方的详细信息。从 2026 年起,国际框架开始在各个税务管辖区之间自动交换账户数据,我们在税务指南里专门讲过这个话题。
- 你自己,在公开场合。一个地址只要在公开场合发布过一次,就会永久且可被搜索地,与发布它的那个账号绑在一起,而且连截图都会被收录进搜索引擎。
这里要吸取的教训,不是密码学本身不够强,而是几乎从来都不是密码学出的问题。我们的钱包卫生指南是与这一节配套的操作手册。
真正能阻断追踪的是什么,诚实地排个序
排序依据是它们对上文所述分析的真实破解程度,并附带说明各自的局限,而不是略去不提。
- 1. 转入一个不透明的账本 — 唯一的结构性阻断。Monero 不公布收款地址,不标识花费的究竟是哪一笔输入,也不公布金额。这里没有地址图谱可供聚类,也没有金额可供关联,因此本文介绍的这些技术,根本无「数据」可用。诚实地说明其局限:统计研究已经在早期协议规则下产生的非常古老的交易中,发现过一些薄弱环节;网络层面对交易广播位置的观测依然适用;而你使用 Monero 前后两端的透明环节,仍然完全可见。你切断的是中间这一段 — 而这一段,通常才是真正重要的部分。私密加密货币详解详细介绍了其中的机制。
- 2. 使用屏蔽交易的 Zcash — 密码学过硬,但用户群体较小。它的零知识证明构造非常出色,可以说是这个领域里最精妙的方案之一。现实的局限在于:只有一部分活动会使用这个屏蔽资金池,而以匹配的金额、在相关联的时间点进出这个资金池的价值,有时仍然可以被绕过它而关联起来。这方面已经有了相当大的改善,只要从头到尾都使用屏蔽交易,它仍然是一个有实际意义的隐私选项。
- 3. Bitcoin 上的协作交易。CoinJoin 故意破坏共同输入归属这条启发式规则的成立前提,让许多参与者共同为一笔交易签名。它确实会真真切切地提高分析成本。三个需要说明的局限:近年来针对主要协调者的执法行动,已经让这个生态大幅萎缩;对输入和输出金额的统计匹配,可以部分地拆解某些轮次;而最常见的失败,其实是用户自己造成的 — 事后把混币和未混币的资金放在一起花掉,一笔交易就能让之前的全部努力前功尽弃。
- 4. Lightning — 确实更好,但它不是一个隐私系统。通过 Lightning 路由的付款,根本不会被写入公开账本,这就让它们完全脱离了本文所述的这套分析体系,是一项真实存在、却被低估的好处。但打开和关闭一个通道,都是链上事件,而且路由图谱也在一定程度上是可被观察的。把它当作对链上 Bitcoin 交易的一次大幅度的默认改善,而不是当作匿名性本身。参见 Lightning 兑换指南。
- 5. 非托管兑换 — 完全取决于你落到了哪里。这一点需要精确的说明,而不是营销话术,所以下文专门用一整节来讲它。
兑换在图谱里到底处于什么位置
一次兑换,只会以一种方式改变这套分析:它在两笔交易之间,插入了一个不是你本人的第三方,并且换掉了资产种类。这是否构成一次真正的阻断,取决于目的资产是什么。
在两种透明资产之间兑换,只是一次跳转,而不是一次阻断。发送 Bitcoin,收到 Ethereum,两段交易都会永久公开。金额通过报价汇率机械地关联在一起,时间戳也只相差几分钟。把两端重新连接起来,只是上文描述过的那种常规金额与时间关联分析,而再多加几个透明的跳转,往往只会让这个模式更加显眼,而不是更难辨认。这一点值得直说,因为这个行业里有大量说法暗示的是相反的意思。
换成一种不透明的资产,才是真正意义上的结构性阻断。发送 Bitcoin,收到 Monero,那么这一段流出的资金,根本就无法被读取。没有公开的收款地址可供关联,也没有可读的金额,因此在图谱的另一端,根本没有东西可供挂靠。资金流转链条到这次兑换为止就结束了,此后会以一种本文所述分析手段无法消化的形式继续下去。这正是 BTC 换 XMR 会成为这个领域里需求量最大的路径的根本原因 — BTC 兑换 XMR 指南介绍了如何把它做对。
剩下的问题在于,这项服务本身知道些什么。有一方是同时观察到两端的:兑换服务本身。任何处理过你订单的服务,原则上都可以把存款和付款对应起来,因为它执行交易本来就必须这么做。它拿这种能力去做什么,是一个政策问题,而不是密码学问题,而这正是你在使用任何一家服务之前,理应去追问清楚的事情。
我们自己的答案,直说了,因为少了这一点,这份指南就毫无价值:我们没有账户体系,所以也就没有画像可建。存款地址是一次性的,结算完成后即告作废。我们不保留任何持久性的请求日志,不使用任何第三方分析工具,也不加载任何追踪脚本 — 详情见透明度页面和隐私政策。我们同时也是构建在上游流动性之上的一层路由,这意味着上游提供商会看到它所撮合的那一段,而我们会明说这一点,而不是暗示路径就在我们这里终结。任何服务都做不到的一件事,是让一种透明的目的资产变成隐私资产。如果你收到的币是可读的,那么分析就会在我们之外的另一端继续下去,任何告诉你并非如此的服务商,都是在向你推销什么。这与我们在加密兑换是否匿名一文中采用的标准是一致的。
哪些方法不起作用,却被当作有效的东西来兜售
- 换一个新地址。这是正确的卫生习惯,但单靠它对抗聚类,几乎毫无价值。你第一次把它和另一枚币一起花出去的那一刻,共同输入归属规则,就会把它并入你名下的其他一切。
- 在透明链上多跳几次。剥离链,恰恰正是这套分析工具生来就是为了追踪而设计的东西。十二次自我转账,产生的是一个极其显眼的模式和一条清晰的行进方向;它们制造不出任何模糊性。
- 把精心分开保管的币合并到一起。这是最常见的一种自我毁灭。几个月的 UTXO 控制成果,会被一笔把多枚币归集进同一个输出的交易,永久性地毁于一旦。
- 单靠一个 VPN。它能修补一个网络层面的泄露点,这么做值得,但对账本本身毫无作用。网络隐私和账本隐私,是两个不同的问题,需要两种不同的解决办法。
- 托管型混币服务。把你的币交给一个运营者,而对方从此就掌握了存款与提现之间完整的对应关系 — 这不过是把一个公开的风险,换成了一个集中化的私人风险,而这一类服务,恰恰一直是执法行动的主要打击对象。从结构上讲,你并没有消灭那个观察者,你只是另外指定了一个。
- 任何打着「无法追踪」旗号宣传的东西。没有什么是无法追踪的。追踪是有成本的,隐私工具能做的,是针对不同的对手,把这个成本抬高不同的幅度。一个不愿说清楚自己工具局限性的供应商,其实已经借此告诉了你一件关于这个工具的有用信息。
先说清楚对手是谁,再选择工具
大多数糟糕的隐私决策,都是跳过了这一步才造成的。下面列出的这些措施,成本跨度很大,从免费到在便利性上要付出真正高昂的代价都有,而哪些才算理性的选择,完全取决于你想要对谁保密。
- 商业监控 — 数据经纪商、广告网络、交易所的风险评分系统,以及任何购买这些数据输出的人。这是几乎每个人实际都会遇到的对手,靠普通的卫生习惯就能对付:新地址、UTXO 控制、不用自己的网络连接查浏览器,加上一个节点或 Tor。完全可以做到。
- 交易对手、雇主、熟人,或任何你付过款的人。这种人知道你的一个地址,并能凭它读取一条公开的链。地址方面的自律,加上在敏感的那一段使用不透明资产,就能堵住这个口子。可以做到。
- 一个有资金、也有动机的私人主体 — 诉讼当事人、债权人、调查员。他们靠的是商业分析工具和民事法律程序。难度较高,但常常能够做到,具体取决于你的历史记录中,是否存在某个身份锚点。
- 一个资源充足的国家,拥有法律程序、时间,以及你的交易对手的配合。只要它足够在意,就该假定它做得到。你曾经有过的每一段托管关系,都是可以被发现的,而账本是永久性的。不要把任何事情,建立在「这个对手会失败」这个假设之上。
还有这样一条界线,它让一种正当的隐私实践得以保持正当 — 我们在这个网站上反复强调,因为它很重要:隐私关乎的是,谁默认能看到你的财务状况。它不是用来逃避你真正应尽义务的一种手段。这两件事完全可以并行不悖,税务指南把它们清清楚楚地区分开了,而把二者混为一谈,正是人们把一种合法的偏好,变成一个法律问题的原因所在。
实操清单
六件事,按重要程度排序。它们没有一件能够事后补做,而这正是问题的关键所在。
- 先说清楚对手是谁。在你为防御任何东西花一分钱之前,先决定你到底要防的是什么。
- 每一笔收款都用新地址。绝不公开一个地址,也绝不重复使用它。免费,而且能让成本最低的那条启发式规则,彻底没有可用的输入。
- 始终坚持 UTXO 控制。把来源不同的币分别放在不同的账户里,绝不把它们放在一起花掉。合并一次,就是永久性的。
- 堵住网络层面的泄露。广播交易时使用你自己的节点或 Tor;绝不要用你平常的网络连接,在公开的浏览器上查询自己的地址。
- 要真正阻断,就转入一个不透明的账本。如果你需要的是让延续性彻底终结,而不是把它拉长,那么目的资产就必须是不可读的。额外的透明跳转,做不到这一点。
- 不要在出口这一步前功尽弃。转出到一个与你最初使用的钱包毫无历史关联的钱包里,金额不要与存入的金额相互对应,时间也不要与之明显相关。
相关阅读
关于一次兑换能掩盖什么、不能掩盖什么,参见加密兑换是否匿名。关于不透明账本背后的密码学原理,参见私密加密货币详解。关于能堵住本文所述这些泄露点的操作性卫生习惯,参见隐私兑换钱包卫生。关于走出透明链最常用的那条路径,参见Bitcoin 兑换 Monero 指南,至于如何一开始就获取 Monero,参见如何无 KYC 购买 Monero。关于监管方面的大背景,参见无 KYC 兑换在你所在地是否合法,至于全文用到的术语,请查阅术语表。