follow-the-crypto

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Follow the Crypto

追踪加密货币

Public chains are pseudonymous, not anonymous. Every transfer is permanently visible to anyone; what's missing is the mapping from address to human. So the whole game is attribution, and attribution almost always happens at an off-ramp — the point where value converts to fiat through a service that collected identity documents. Everything between the crime and the off-ramp is just plumbing you have to follow.
The beginner error is treating a clustering heuristic's output as fact. "These addresses belong to the same entity" is a probabilistic inference with known failure modes, and commercial attribution labels are proprietary guesses you cannot audit. Trace confidently; attribute carefully.
公链是伪匿名的,而非完全匿名。每一笔转账都对所有人永久可见;缺失的是地址到真实身份的映射。因此整个核心在于归属判定,而归属判定几乎总是在“离场通道”完成——也就是价值通过收集了身份文件的服务转换为法定货币的环节。从犯罪行为到离场通道之间的所有环节,都只是你需要追踪的“管道”。
新手常犯的错误是将聚类启发式方法的输出视为事实。“这些地址属于同一实体”是一种带有已知失效模式的概率推断,而商业归属标签是无法审计的专有猜测。追踪要自信,归属要谨慎。

Triage: what are you holding?

分类排查:你手头的是什么?

You haveStart withWhy
An address stringIdentify the chain from its shape, then a block explorerFormat alone usually determines chain and script type — see the address-format table
A transaction hashExplorer's transaction viewGives you both sides, the fee, the block time, and any contract calls
An ENS or naming-service nameResolve to an address, then check the reverse recordForward resolution is set by the name owner; reverse is set by the address owner and is the stronger claim
A
0x…
address
Check the same address on every major EVM chainOne private key, one address, many chains. Activity on a chain the subject thought nobody looked at is common
A payment demand from a ransom note or scamExplorer plus scam-report aggregatorsOthers may already have reported it, giving you victim count and a first-seen date
A screenshot of a walletExtract the address by hand and verify the checksumScreenshots get transcribed wrongly, and lookalike addresses are deliberately planted
你拥有的信息从何处入手原因
地址字符串根据格式识别链,然后使用区块浏览器通常仅通过格式就能确定链和脚本类型——详见地址格式表
交易哈希浏览器的交易视图能为你展示交易双方、手续费、区块时间以及任何合约调用
ENS或命名服务名称解析为地址,然后检查反向记录正向解析由名称所有者设置;反向解析由地址所有者设置,可信度更高
0x…
格式地址
在所有主流EVM链上检查同一地址一个私钥对应一个地址,可用于多条链。目标对象以为无人关注的链上往往存在活动痕迹
勒索信或诈骗中的付款要求浏览器加诈骗报告聚合器可能已有其他人举报,能为你提供受害者数量和首次出现日期
钱包截图手动提取地址并验证校验和截图转录容易出错,且存在故意植入的相似地址

The method

方法步骤

1. Establish the chain and address type. The string tells you. Bitcoin legacy pay-to-public-key-hash addresses begin with
1
; pay-to-script-hash, historically multisig and wrapped SegWit, with
3
; native SegWit bech32 with
bc1q
; Taproot with
bc1p
. Ethereum and every EVM chain use
0x
plus 40 hex characters, with mixed-case acting as an EIP-55 checksum. Full table in the reference file above.
2. Open the address in a block explorer and read it properly. Balance is the least interesting field. What matters: first-seen and last-seen timestamps (activity lifespan), total received versus current balance (a swept address is a conduit, a holding address is a destination), transaction count, and the counterparty set. On EVM chains also read the internal transactions, the token transfer tab, and whether the address has code — an address with bytecode is a contract, not a person's wallet, and its behaviour is defined by that code.
3. Choose the right mental model for the chain. UTXO chains like Bitcoin have no accounts: a transaction consumes discrete unspent outputs and creates new ones, so "the balance of an address" is a derived aggregate and value visibly splits and merges. You trace coins through a graph of outputs. Account-model chains like Ethereum have balances mutated by transfers, so you trace account-to-account edges, and a single transaction can trigger a cascade of internal transfers and token movements that don't appear in the top-level view. Confusing the two is the most common source of nonsense conclusions.
4. Cluster, and know what each heuristic is worth.
  • Common-input ownership is the strong one: if a UTXO transaction spends several inputs, whoever built it had to hold the keys for all of them, so those addresses share a controller. This is the backbone of every Bitcoin clustering engine.
  • Change-address identification is the weak one. The heuristics — output with an unrounded amount, output whose script type matches the inputs while the other doesn't, output to a never-before-seen address, and the unnecessary-input rule — are individually fallible and compound their errors across hops. A single wrong change call sends the whole downstream trace to a stranger.
  • Address reuse collapses activity into one identity for free and is common among people who don't consider themselves targets.
5. Find the off-ramp. Exchanges assign each customer a unique deposit address, then periodically sweep those deposits into consolidated hot wallets. That sweep is the giveaway: many independent addresses funnelling into one large wallet, on a schedule, is an exchange deposit structure. Reaching a deposit address is the single most valuable outcome of a trace, because the exchange holds KYC records for whoever it belongs to — obtainable by law enforcement through legal process, not by you. Document the deposit address, the amount, the timestamp, and the exchange identification basis, and hand it over.
6. Recognise service and contract interaction by pattern. Equal-denomination outputs with many participants in one transaction is CoinJoin. Fixed-denomination deposits and later withdrawals from the same contract are a Tornado-style shielded pool. A transfer into a contract followed by an event on a different chain is a bridge. Repeated round-number transfers between two addresses on a schedule looks like payroll or a subscription, not a market operation. Peel chains — a large amount that repeatedly spends a small piece out and forwards the remainder — are a classic laundering and cash-out pattern.
1. 确定链和地址类型。 地址字符串会告诉你答案。Bitcoin传统的支付公钥哈希地址以
1
开头;支付脚本哈希地址(历史上用于多签和包装SegWit)以
3
开头;原生SegWit bech32地址以
bc1q
开头;Taproot地址以
bc1p
开头。Ethereum和所有EVM链使用
0x
加40个十六进制字符,大小写混合是EIP-55校验和。完整表格见上方参考文件。
2. 在区块浏览器中打开地址并仔细查看。 余额是最无关紧要的字段。重要的是:首次和最后出现的时间戳(活动周期)、总收款额与当前余额的对比(被清空的地址是中转通道,有余额的地址是目标地址)、交易次数以及交易对手集合。在EVM链上还要查看内部交易、代币转移标签,以及该地址是否有代码——带有字节码的地址是合约,而非个人钱包,其行为由代码定义。
3. 为不同链选择正确的思维模型。 像Bitcoin这样的UTXO链没有账户概念:一笔交易会消耗离散的未花费输出并创建新的输出,因此“地址余额”是派生的聚合值,价值会明显拆分和合并。你需要追踪代币在输出图谱中的流向。像Ethereum这样的账户模型链,余额会因转账而变更,因此你需要追踪账户到账户的关联,单笔交易可能触发一系列内部转账和代币流动,这些不会出现在顶层视图中。混淆这两种模型是得出错误结论最常见的原因。
4. 进行聚类,并了解每种启发式方法的价值。
  • 共同输入归属是最可靠的方法:如果一笔UTXO交易花费了多个输入,那么构建该交易的人必然持有所有输入的密钥,因此这些地址共享同一个控制者。这是所有Bitcoin聚类引擎的核心。
  • 找零地址识别可靠性较低。相关启发式方法——金额非整数的输出、脚本类型与输入匹配而其他输出不匹配的输出、从未出现过的地址输出,以及非必要输入规则——单独使用时容易出错,且错误会在多跳追踪中累积。一次错误的找零判断会导致后续整个追踪指向无关地址。
  • 地址复用会自动将活动归为同一身份,在不认为自己是目标的人群中很常见。
5. 找到离场通道。 交易所会为每个客户分配唯一的存款地址,然后定期将这些存款归集到统一的热钱包中。这种归集行为是明显特征:许多独立地址定期向一个大型钱包转账,这就是交易所存款结构。找到存款地址是追踪的最有价值成果,因为交易所持有该地址所属用户的KYC记录——这些记录只能通过法律程序由执法部门获取,而非你自己。记录存款地址、金额、时间戳以及交易所识别依据,然后提交给相关方。
6. 通过模式识别服务与合约交互。 单笔交易中涉及多个参与者的等额输出是CoinJoin。固定金额存入同一合约后再取出是Tornado风格的隐私池。转入合约后在另一条链上触发事件是跨链桥。两个地址之间定期的整数转账看起来像是工资发放或订阅服务,而非市场操作。剥离链——大额资金反复转出一小部分并转发剩余部分——是典型的洗钱和套现模式。

Where the trail breaks, and what you can still say

追踪中断时,你仍能得出哪些结论

CoinJoin breaks common-input ownership by design: the inputs belong to different people. Naïve clustering that ignores this merges unrelated users into one giant false cluster — a well-known and serious failure mode.
Shielded mixing pools break the deposit-withdrawal link cryptographically. What survives are the metadata leaks: an anonymity set that's small at low volume, deposit and withdrawal timing, a withdrawal whose gas is paid from an address that also funded the deposit, and users who withdraw to an address already linked to them.
Cross-chain bridges and swap services don't break linkage cryptographically but do break it practically, because they move the trail to another chain with different tooling. Amount-and-timing correlation across the two chains often re-establishes it. Instant no-account swap services are the same problem with an added custodial hop that keeps its own logs.
Privacy coins are a hard stop, not a slowdown. Ring signatures, stealth addresses and confidential amounts mean there is no public sender, no public recipient and no public amount to follow. Say so plainly rather than implying you could have gone further. On chains with optional shielding, most activity is transparent, and the leaks are at the shielded/transparent boundary.
Taint analysis after any of these is a modelling choice, not a measurement. Poison, haircut, FIFO and last-in-first-out give materially different answers on the same data, and courts in some jurisdictions impose their own rule for mixed funds. Always state which model you used. "40% tainted" without a named model is meaningless.
CoinJoin从设计上打破了共同输入归属:输入属于不同的人。忽略这一点的朴素聚类会将无关用户合并为一个巨大的虚假聚类——这是一个众所周知的严重失效模式。
隐私混币池通过密码学打破了存提关联。留存下来的是元数据泄露:低交易量时匿名集较小,存提时间关联,用同一地址支付存款和取款手续费,以及用户取款到已关联的地址。
跨链桥和兑换服务并未通过密码学打破关联,但实际操作中会中断追踪,因为它们将线索转移到了另一个工具不同的链上。通常可以通过两条链上的金额和时间关联重新建立联系。无需账户的即时兑换服务存在同样的问题,还多了一个保存自身日志的托管环节。
隐私币是硬中断,而非减速。环签名、隐身地址和保密金额意味着没有公开的发送方、接收方和金额。要直白地说明这一点,而非暗示你可以进一步追踪。在支持可选隐私保护的链上,大多数活动是透明的,泄露点在隐私/透明边界处。
污染分析在上述任何情况后都只是建模选择,而非测量结果。毒药模型、haircut模型、先进先出(FIFO)和后进先出(LIFO)对同一数据会得出截然不同的答案,某些司法管辖区的法院会对混合资金施加自己的规则。务必说明你使用的模型。未指定模型的“40%污染”毫无意义。

Where this lies to you

容易误导你的陷阱

  • Address poisoning. Attackers send zero-value or dust transfers from addresses crafted to match the first and last characters of a legitimate counterparty. These appear in the victim's history and will pull a careless analyst onto a completely unrelated address. Compare full strings, always.
  • Dusting. Unsolicited tiny amounts sent to many addresses, intended to be spent and thereby merge clusters. A received transfer proves nothing about the receiver's intent or relationships.
  • Explorer labels are third-party claims. Public name tags, self-submitted contract verifications and community-sourced entity labels vary in quality and are sometimes simply wrong or stale. A label is a lead. Cite the labeller.
  • Commercial attribution is unauditable. Chain-analytics vendors' entity labels derive from proprietary undisclosed methods and have been challenged in court. Never present a vendor label as ground truth; present it as that vendor's assessment.
  • Contracts move value for people who never touched it. A DEX router, a multisig, a custodial wallet or an NFT marketplace shows up as a counterparty. It is infrastructure, not a suspect.
  • Timestamps are block times. They approximate when the transaction was mined, not when the human acted, and they say nothing reliable about timezone.
  • Same address, different chain, different person is possible — but the reverse is the practical risk: assuming the chains are unrelated when the key is the same.
  • Chain reorganisations and unconfirmed transactions. Something you saw in the mempool may never confirm. Cite confirmed transactions with block heights.
  • 地址投毒。 攻击者从精心构造的地址发送零价值或小额粉尘转账,这些地址的首尾字符与合法交易对手的地址匹配。这些转账会出现在受害者的交易历史中,粗心的分析师会被引导到完全无关的地址。务必始终比对完整字符串。
  • 粉尘攻击。 向大量地址发送未经请求的小额资金,意图让用户花费这些资金从而合并聚类。收到转账并不能证明接收者的意图或关联。
  • 浏览器标签是第三方声明。 公共名称标签、自行提交的合约验证和社区提供的实体标签质量参差不齐,有时甚至完全错误或过时。标签只是线索,要注明标签提供者。
  • 商业归属无法审计。 链分析供应商的实体标签来自专有未公开方法,曾在法庭上受到质疑。永远不要将供应商标签视为事实真相,而应呈现为该供应商的评估结果。
  • 合约为从未触碰资金的人转移价值。 DEX路由、多签合约、托管钱包或NFT市场会作为交易对手出现。它们是基础设施,而非嫌疑人。
  • 时间戳是区块时间。 它们只是交易被打包的近似时间,而非人类操作的时间,也无法可靠推断时区。
  • 同一地址在不同链上可能属于不同人——但实际风险相反:当密钥相同时,却假设链之间无关。
  • 链重组和未确认交易。 你在内存池中看到的内容可能永远不会被确认。引用带有区块高度的已确认交易。

Grading a finding

结论分级

  • Confirmed — on-chain facts: this transaction moved this amount from this address to that address in this block. These are cryptographically verifiable and you should say so without hedging. Also confirmed: an address published by the entity itself in a signed message or on a domain you've verified via
    recon-a-domain-passively
    .
  • Probable — a cluster built on common-input ownership with no CoinJoin pattern present; a service identified by structural behaviour that matches multiple independent labels; an ENS name with matching forward and reverse records tied to a social profile.
  • Unconfirmed — anything resting on change-address heuristics, a single commercial label, an unsigned claim of ownership, timing correlation alone, or a cluster spanning a mixing event.
Attribution to a named human is never confirmed on-chain evidence alone. It becomes confirmed when an off-chain record — a subpoena return, a court filing, a signed message, an entity's own disclosure — closes the gap.
  • 已确认——链上事实:这笔交易在该区块中将此金额从此地址转移到彼地址。这些内容可通过密码学验证,你应毫无保留地说明。此外,实体通过签名消息或你通过
    recon-a-domain-passively
    验证的域名发布的地址也属于已确认内容。
  • 大概率——基于共同输入归属构建的聚类,且无CoinJoin模式;通过结构行为识别的服务,与多个独立标签匹配;正向和反向记录匹配且关联到社交资料的ENS名称。
  • 未确认——任何基于找零地址启发式方法、单一商业标签、未签名的所有权声明、仅时间关联或跨越混币事件的聚类得出的结论。
仅凭链上证据永远无法确认地址归属到具体个人。只有当链外记录——传票回复、法庭文件、签名消息、实体自身披露——填补了空白时,归属才能被确认。

Worked example

实战示例

A victim reports paying an extortion demand to
bc1q…
and provides the transaction ID.
The explorer shows one input from the victim and two outputs: 0.4137 BTC to a fresh
bc1q
address and a smaller amount to another. Change heuristic says the unrounded larger output is the payment and the smaller is the victim's change — but the victim confirms the demanded amount was the smaller figure, so the heuristic was backwards here. Dead end avoided only because a human corroborated it; note that in the file.
Following the extortion output: within a day it merges with eleven other inputs into a single transaction. Common-input ownership means all twelve are one controller, and the equal-value structure that would indicate CoinJoin is absent. The consolidated output forwards to an address that receives from thousands of unrelated addresses and sweeps outward on a fixed schedule — an exchange hot-wallet structure. The address immediately before it, which received only from our cluster, is the deposit address.
Graded: transaction facts confirmed; the twelve-address cluster probable; the exchange identification probable, on structure plus two independent labels; the account holder's identity unknown and only obtainable by legal process. Reported that way, with the deposit address and timestamps flagged for the victim's counsel.
一名受害者报告向
bc1q…
地址支付了勒索款项,并提供了交易ID。
浏览器显示一个输入来自受害者,两个输出:0.4137 BTC到一个新的
bc1q
地址,另一笔金额更小的输出到另一个地址。找零启发式方法认为金额非整数的较大输出是付款,较小的是受害者的找零——但受害者确认要求的金额是较小的那笔,因此启发式方法在这里出错了。只有通过人工核实才避免了死胡同;要在文件中注明这一点。
追踪勒索输出:一天内,它与其他11个输入合并到单笔交易中。共同输入归属意味着这12个地址属于同一控制者,且不存在CoinJoin特有的等额结构。合并后的输出转发到一个接收数千个无关地址转账并定期归集的地址——这是交易所热钱包结构。直接接收我们聚类地址转账的前一个地址就是存款地址。
分级:交易事实已确认;12个地址的聚类为大概率;交易所识别为大概率,基于结构和两个独立标签;账户持有人身份未知,只能通过法律程序获取。按此报告,同时向受害者律师标记存款地址和时间戳。

Pivots

延伸方向

You now haveTake it to
ENS name, handle or nickname on-chain
hunt-a-handle
Address published on a website
recon-a-domain-passively
,
read-deleted-pages
Exchange, custodian or issuer entity
x-ray-a-company
,
who-really-owns-it
A named individual
find-anyone
Address posted on a forum, paste or channel
find-leaks-in-the-wild
Address in a source repo or commit
secrets-in-git-history
Address string to search verbatim
google-like-a-spy
NFT image used as an avatar
find-the-original-image
Multi-hop flow to visualise
graph-the-network
Email or handle tied to an exchange account
what-leaked-about-you
Tools and explorers by chain, with what each is actually good for, are in the explorer and tooling catalogue.
你现在拥有的信息可转向的操作
链上的ENS名称、用户名或昵称
hunt-a-handle
网站上发布的地址
recon-a-domain-passively
,
read-deleted-pages
交易所、托管方或发行方实体
x-ray-a-company
,
who-really-owns-it
具体个人姓名
find-anyone
论坛、粘贴板或频道上发布的地址
find-leaks-in-the-wild
源码仓库或提交记录中的地址
secrets-in-git-history
需精确搜索的地址字符串
google-like-a-spy
用作头像的NFT图片
find-the-original-image
需可视化的多跳流向
graph-the-network
与交易所账户关联的邮箱或用户名
what-leaked-about-you
按链分类的工具和浏览器及其实际用途,详见浏览器与工具目录

Legal and compliance

法律与合规

Reading a public ledger is not regulated. Acting on it can be. Sanctions authorities publish specific digital-currency addresses on their designated persons lists — the US OFAC SDN list carries them as explicit address entries — and transacting with a designated address is a strict-liability matter in many jurisdictions. Check listings before you interact with anything, and never send a "test transaction" to a subject address: it is interaction, it marks you, and it may be a violation.
Naming a person as the owner of an address is a serious public accusation with defamation exposure, and the underlying inference is probabilistic. Bulk purchase or handling of leaked exchange customer data brings data-protection obligations regardless of how it reached you; see
what-leaked-about-you
. Where the objective is asset recovery or a criminal referral, preserve the chain of custody: record block heights, transaction IDs and capture timestamps, not screenshots of an explorer.
读取公共账本不受监管,但基于此采取行动可能受监管。制裁机构会在其指定人员名单上发布特定数字货币地址——美国OFAC的SDN名单包含明确的地址条目——在许多司法管辖区,与指定地址交易属于严格责任事项。在与任何对象交互前检查名单,切勿向目标地址发送“测试交易”:这属于交互行为,会标记你的身份,且可能违反规定。
公开指控某人为地址所有者是严重的公开指控,可能涉及诽谤风险,且背后的推断是概率性的。批量购买或处理泄露的交易所客户数据会带来数据保护义务,无论数据如何获取;详见
what-leaked-about-you
。如果目标是资产追回或刑事举报,需保留监管链:记录区块高度、交易ID和捕获时间戳,而非浏览器截图。