
Tornado Cash 作为一种基于以太坊的混合器(mixer),允许用户将加密货币「混合」,以掩盖资金的来源与去向,从而达到匿名的目的。然而,Tornado Cash 并不是真正的匿名解决方案,尤其是在中国执法部门已经掌握成熟技术和数据分析能力的情况下,Tornado Cash 已经成为资金追踪的目标。
Tornado Cash 的工作原理与其局限性
Tornado Cash 是一种去中心化的混合器,用户可以将加密货币存入智能合约,等待一段时间后再提取。这个过程会将资金「混合」,使得资金来源与去向之间的关联变得模糊。理论上,这可以帮助用户掩盖资金的来源,使其看起来像是来自某个随机的地址。
然而,Tornado Cash 的匿名性依赖于「混币」的过程,这意味著用户必须将资金存入并提取,而这个过程本身就留下了痕迹。当用户进行提款时,提款地址会与存款地址产生关联,这就成为了执法部门追踪资金的突破口。
中国执法部门的技术能力
中国的执法部门在数字技术应用方面已经取得了长足进步。他们拥有先进的数据分析工具,包括图谱聚类(graph clustering)技术,这是一种用来识别资金流向和交易关联的算法。图谱聚类可以将大量交易数据进行建模,并根据交易频率、时间、金额等因素,将相关地址归类为一个「资金网络」,从而识别出资金的来源和去向。
在这种技术支持下,中国执法部门已经能够有效地追踪使用 Tornado Cash 的资金。例如,当某用户在 Tornado Cash 中进行存款和提款时,如果提款时间过短,或者提款地址与存款地址之间存在交易关联,就会被图谱聚类技术识别出来,从而追溯到资金的来源。
三个案例剖析:Tornado Cash 如何被追踪
案例一:用户 A 的暗网交易
有一位用户 A,他使用 Tornado Cash 来掩盖他从某个暗网网站购买非法物品的资金来源。他将 1000 个以太坊网络的 USDT 存入 Tornado Cash,并等待一段时间后提取。
然而,他在提款时选择了与存款地址有交易关联的提款地址。这使得执法部门的图谱聚类技术能够识别出这笔交易,并进一步追踪到他的提款地址。经过分析,中国云南公安部门发现该提款地址与一个暗网网站的交易地址有密切关联,最终成功追查到用户 A 的身份,并逮捕了他。
这个案例显示,即使使用 Tornado Cash,只要提款地址与存款地址之间存在关联,或者提款时间过短,执法部门仍然可以有效地追踪资金。
案例二:黑客使用多笔提款与多个钱包
第二个例子,某黑客案件中,黑客使用一次性的 USDT 钱包将赃款存入 Tornado Cash,并在2个月后使用完全没有关联的钱包提款。由于赃款数额巨大,他不得不在存入时多笔存入,并在取款时使用多个钱包取款。
他的多个用于取款的钱包在取款后均将资金流入至DEX交易所UniSwap和PancakeSwap(去中心化交易所)。虽然他的提款钱包与存款钱包完全无关,并且每个提款钱包之间也互不相关。中国上海市公安局使用了行为模式筛选的方式找到了这些“疑似为一个幕后实体”的钱包,随后追踪到了中心化交易所(币安交易所),最终该用户被捕判刑7年。
这是一个运用行为模式筛选技术的成功追踪案例。该用户自认为其操作方式已经相当安全,并对我们的建议持怀疑态度,坚持认为我们的方案“不够专业”,甚至轻视我们的分析。他相信自己的交易模式足以掩盖资金来源,因此拒绝采纳我们的建议,最终导致其资金被成功追踪并逮捕。
案例三:用户 C 的多层资金流转
第三个例子,用户 C 将开设赌博网站的 USDT 转换为 BNB 后,通过剥离的方式拆分到数百个钱包,再存入 Tornado Cash。经过3个月后,使用不同的取款证明分别提款,并经过至少四层混淆后合并资金。
他认为自己的计划天衣无缝,但中国警方使用 AI 对他的数百个匿名钱包进行分析,通过图谱形状关联了他的取款地址(资金形状为扇状),最终他被中国浙江警方逮捕。
Tornado Cash 被认为是一种匿名解决方案,但它并不能完全掩盖资金的来源与去向,尤其是在中国执法部门已经掌握图谱聚类技术的情况下。提款时间过短、提款地址与存款地址之间的关联,都成为了执法部门追踪资金的突破口。
从技术角度看,Tornado Cash 的匿名化依赖三大要素:固定面额的存取池(denominations)、Merkle Tree 的存款承诺(commitments),以及基于 zk-SNARK 的零知识证明流程。用户在存款时生成一个随机 secret(preimage),计算哈希后将其作为一个叶子插入智能合约维护的 Merkle Tree。提款时,用户提交一份 zk-SNARK 证明,证明自己知道某个在树中的 preimage,且该对应的 nullifier(防重放标识)未被使用。合约验证该证明并检查 nullifier,确认无重复后释放资金。这个流程设计上屏蔽了“哪笔存款对应哪次提款”的直接链上证据,但并不消除所有可被分析的信号。
可信设置、证明电路与安全边界
Tornado Cash 早期采用的 zk-SNARK 方案需要可信设置(trusted setup),该阶段若参数被污染,理论上存在生成伪造证明的风险。虽然社区通过多方参与和后续的多次审计降低了风险,但可信设置的历史仍是一个攻防面。零知识证明电路本身的实现也必须避免信息泄露的侧通道 — — 例如在构造证明输入时若包含可预测模式,可能被链上分析结合外部信息逆推出部分关联。
链上可观测信号与攻击面
零知识证明遮蔽的是证明的内容,而链上留下的仍包括:
1.金额与面额组合:Tornado Cash 的固定面额策略虽能减少部分单笔金额特征,但复杂的拆分/合并模式会形成独特的“金额指纹”。
2.时间分布:存取之间的时间间隔、提款批次的时间窗分布能够作为强烈的关联信号。
3.交易拓扑:资金的 fan-out(扇形分发)、fan-in(汇聚)结构,以及与已知 KYC 地址的汇合点,会在图谱分析中显著提升识别概率。
4.交互模式:对 gas price 的选择、nonce 增长模式、是否使用批量交易或合约中转地址等,都能作为行为学特征。
图谱聚类、机器学习与证据融合
现代追踪采用图论与机器学习混合的方法。交易被建模为有向带权图,边权可由金额、交易频率以及时间衰减函数共同构成。常见算法包括 Louvain 社区检测、基于谱分解的聚类、以及图嵌入方法(node2vec、GraphSAGE)用于将地址转换为向量表示以便做相似性度量。监督学习模型可把已知标注(交易所充值地址、桥服务地址、已确认的非法地址)作为训练样本,进而预测新节点的风险分数。图形特征如 PageRank、介数中心性、motif counts(小子图模式计数)和入出度分布在判别“扇形分发”“滚雪球式拆分”等模式时尤其有效。
跨链关联与链下数据的决定性作用
链上分析常被与链下数据结合放大效果。跨链桥、托管服务或中心化交易所在链下保留 KYC、IP、时间戳等记录。一旦执法取得这些链下记录,便能将表面上孤立的链上地址串联起来,形成闭合的证据链。特别是桥服务方的签名记录、交易所的充值流水,往往是打破零知识遮蔽的关键。
中国警方的执法流程
1.全链数据采集:抓取区块链原始交易、合约事件、内部交易以及合约调用参数。
2.初筛与候选集生成:以金额、时间窗和目标合约(如 Tornado Cash)筛选潜在相关交易。
3.聚类与图谱扩展:对候选集做社群检测、路径搜索并提取行为特征。
4.证据打分与优先级排序:用统计与 ML 模型(反洗钱模型)给出可疑度评分,优先处理高风险网络。
5.链下协作取证:向最终流向的钱包交易所或服务商发司法协助函以获取 KYC 等链下证据,完成身份识别并将目标抓获。
在我们看来,将 Tornado Cash 当作主要的资金隐匿手段,是极其不明智的选择。零知识证明虽能遮蔽直接链上证据,但行为指纹、时间分布、金额组合以及链下 KYC 数据常常会把“匿名”撕开。中国等具备成熟链上/链下协同取证能力的执法机构,已经多次证明单靠混币难以逃避追踪与法律责任。我们的团队在安全处理资金方面远超市场 99% 的从业者,掌握更高级、更可靠的实战方法,处于世界领先地位。
