follow-the-crypto

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Follow the Crypto

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.
公共链(public chain)是假名制,而非匿名制。每笔转账都会永久向所有人公开;真正缺少的是地址与真人的映射。因此,整个工作的核心是归因,而归因几乎总是发生在出金端(off-ramp)——即价值通过某个收集了身份文件的服务转换为法币的节点。犯罪行为与出金端之间的一切都只是必须追踪的管道。
新手常犯的错误,是把聚类启发式算法的输出当成事实。“这些地址属于同一实体”是一种概率推断,存在已知的失效模式;商业归因标签则是无法审计的专有猜测。追踪可以大胆,归因必须谨慎。

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 的 legacy pay-to-public-key-hash 地址以
1
开头;pay-to-script-hash(历史上用于 multisig 和 wrapped SegWit)以
3
开头;native SegWit bech32 地址以
bc1q
开头;Taproot 地址以
bc1p
开头。Ethereum 和每条 EVM 链都采用
0x
加 40 个十六进制字符,混合大小写表示 EIP-55 校验和。完整表格见上述参考文件。
2. 在区块浏览器中打开该地址,并正确解读。 余额是最不重要的字段。真正重要的是:首次和最后出现的时间戳(活动存续期)、累计收到金额与当前余额(被扫空的地址是流转通道,持有地址是资金终点)、交易数量和交易对手集合。在 EVM 链上,还要查看内部交易、代币转账标签页,并确认该地址是否包含代码——含有 bytecode 的地址是合约,而不是某个人的钱包,其行为由代码定义。
3. 为这条链选择正确的思维模型。 UTXO 链(如 Bitcoin)没有账户:一笔交易会花费若干彼此独立的未花费输出并创建新输出,因此“地址余额”只是一个派生汇总值,价值会明显地拆分和合并。你追踪的是输出图中的coins。账户模型链(如 Ethereum)的余额会因转账而改变,因此你追踪的是account-to-account edges,而一笔交易可能触发一连串内部转账和代币移动,这些不会出现在顶层视图中。混淆这两种模型,是得出荒谬结论的最常见原因。
4. 进行聚类,并了解每种启发式方法的价值。
  • **共同输入所有权(common-input ownership)**是强关联依据:如果一笔 UTXO 交易花费多个输入,构建该交易的人必须持有所有输入的密钥,因此这些地址由同一控制者支配。这是所有 Bitcoin 聚类引擎的骨干。
  • **找零地址识别(change-address identification)**是弱关联依据。各种启发式方法——金额未取整的输出、脚本类型与输入相同而另一个输出不同的输出、转往此前从未出现过的地址的输出,以及不必要输入规则——单独使用时都容易出错,并会在多跳追踪中累积误差。找零判断只要错一次,就会让整个下游追踪指向一个陌生人。
  • **地址复用(address reuse)**无需额外成本就能把活动归并到一个身份,在那些不认为自己是目标的人中也很常见。
5. 找到出金端(off-ramp)。 交易所会为每位客户分配唯一的充值地址,然后定期将这些充值归集到统一的热钱包中。这种归集就是线索:许多独立地址按固定计划汇入一个大型钱包,便构成交易所的充值结构。追踪到充值地址是整个追踪过程中最有价值的结果,因为交易所持有其所属客户的 KYC 记录——执法机构可通过法律程序取得这些记录,而不是由你自行获取。记录充值地址、金额、时间戳和交易所识别依据,并将材料移交出去。
6. 通过模式识别服务与合约交互。 同一笔交易中出现许多参与者且输出金额相等,就是 CoinJoin。同一合约先接受固定面额存款、之后又发生提现,就是 Tornado-style 混币池。先向合约转账,随后在另一条链上产生事件,就是跨链桥。两个地址之间定期发生整数金额的反复转账,看起来像工资发放或订阅,而不是市场操作。剥离链(peel chains)——一笔大额资金反复取出其中一小部分并转发剩余部分——是典型的洗钱和套现模式。

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 会通过设计破坏共同输入所有权:这些输入属于不同的人。忽略这一点的朴素聚类会把互不相关的用户合并成一个巨大的虚假聚类——这是广为人知且严重的失效模式。
加密混币池会在密码学层面切断存款—提现关联。仍然存在的是元数据泄露:低流量时很小的匿名集合(anonymity set)、存款与提现的时间关系、提现交易的 gas 由一个也为存款提供资金的地址支付,以及用户将资产提现到一个已经与其建立关联的地址。
跨链桥和 swap 服务不会在密码学层面切断关联,却会在实际层面切断它,因为它们把追踪路径迁移到另一条工具链不同的链上。对两条链上的金额和时间进行关联,往往可以重新建立联系。无需账户的即时 swap 服务也是同样的问题,只是额外增加了一个会保留自身日志的托管环节。
隐私币是硬性终点,而非减速点。ring signatures、stealth addresses 和 confidential amounts 意味着没有公开的发送方、接收方或金额可供追踪。应直截了当地说明这一点,而不是暗示还能继续追踪。在支持可选屏蔽的链上,大多数活动都是透明的,泄露点位于屏蔽区与透明区的交界处。
经过上述任何一种环节后,再做污点分析(taint analysis)是一种建模选择,而不是测量结果。Poison、haircut、FIFO 和 last-in-first-out 对同一组数据可能得出实质不同的答案,而某些司法辖区的法院还会对混合资金适用自己的规则。务必说明使用的是哪种模型。脱离具体模型谈论“40% tainted”毫无意义。

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.
  • 地址投毒(address poisoning)。 攻击者会从经过精心构造的地址发送零金额或 dust 转账,使其首尾字符与合法交易对手相符。这些记录会出现在受害者的历史记录中,把粗心的分析师引向一个完全无关的地址。务必比较完整字符串。
  • Dusting。 向许多地址主动发送极小金额,意图让这些 dust 随后被花费,从而合并聚类。收到一笔转账并不能证明接收者的意图或关系。
  • 区块浏览器标签是第三方主张。 公共名称标签、自行提交的合约验证和社区来源的实体标签,质量参差不齐,有时只是错误或过时。标签只是线索;应注明标签提供者。
  • 商业归因无法审计。 链上分析供应商的实体标签源自未公开的专有方法,并曾在法庭上受到质疑。绝不要把供应商标签当作事实依据,而应表述为该供应商的评估。
  • 合约会为从未接触过它的人转移价值。 DEX router、multisig、托管钱包或 NFT marketplace 都可能作为交易对手出现。它们是基础设施,不是嫌疑人。
  • 时间戳是区块时间。 它们近似表示交易被挖出的时间,而不是人采取行动的时间,也不能可靠说明时区。
  • 同一地址、不同链可能对应不同人——但真正的实务风险恰恰相反:因密钥相同而错误地假定各条链互不相关。
  • 链重组和未确认交易。 你在 mempool 中看到的内容可能永远不会确认。引用已确认交易时,应附上区块高度。

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.
  • 已确认(Confirmed)——链上事实:这笔交易在该区块中将这一金额从此地址转至彼地址。这些事实可通过密码学验证,应当明确说明而无需含糊其辞。同样属于已确认的还有:实体本人在签名消息中公布的地址,或你在通过
    recon-a-domain-passively
    验证过的域名上找到的地址。
  • 大概率(Probable)——基于共同输入所有权建立、且不存在 CoinJoin 模式的聚类;通过与多个独立标签相符的结构行为识别出的服务;以及正向与反向记录均匹配、并关联到社交资料档案的 ENS 名称。
  • 未确认(Unconfirmed)——任何依赖找零地址启发式、单一商业标签、未签名的所有权声明、仅凭时间相关性,或跨越混币事件的聚类得出的结论。
仅凭链上证据,绝不能确认某个具名个人是地址所有者。只有当链下记录——传票回函、法院文件、签名消息或实体自行披露——弥补了证据缺口时,这种归因才算已确认。

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
地址,较小金额则转到另一个地址。找零启发式认为,未取整的较大输出是付款,较小输出是受害者的找零——但受害者确认要求支付的金额恰恰是较小的那个,因此这里的启发式判断反了。只有因为有人工核验,才避免走进死胡同;应在档案中注明这一点。
沿着勒索款的输出继续追踪:一天之内,它与另外 eleven 个输入合并进同一笔交易。共同输入所有权意味着十二个地址由同一控制者控制,而且不存在表明 CoinJoin 的等值结构。归集后的输出将资金转发到一个地址,该地址从数千个无关地址收款,并按固定计划向外归集——这是交易所热钱包结构。紧邻其前一个、只从我们的聚类收到资金的地址,就是充值地址。
分级结果:交易事实已确认;十二地址聚类为大概率;交易所识别为大概率,依据是结构特征加两个独立标签;账户持有人身份未知,只能通过法律程序取得。报告应按此表述,并标记充值地址和时间戳,供受害人的律师使用。

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 名称、handle 或昵称
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
源代码仓库或 commit 中的地址
secrets-in-git-history
需要原样逐字搜索的地址字符串
google-like-a-spy
用作头像的 NFT 图像
find-the-original-image
需要可视化的多跳资金流
graph-the-network
与交易所账户绑定的 email 或 handle
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
。如果目标是追回资产或向执法部门移交刑事线索,应保全证据保管链(chain of custody):记录区块高度、交易 ID 和捕获时间戳,而不是保存区块浏览器截图。