follow-the-crypto
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFollow 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 have | Start with | Why |
|---|---|---|
| An address string | Identify the chain from its shape, then a block explorer | Format alone usually determines chain and script type — see the address-format table |
| A transaction hash | Explorer's transaction view | Gives you both sides, the fee, the block time, and any contract calls |
| An ENS or naming-service name | Resolve to an address, then check the reverse record | Forward resolution is set by the name owner; reverse is set by the address owner and is the stronger claim |
A | Check the same address on every major EVM chain | One 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 scam | Explorer plus scam-report aggregators | Others may already have reported it, giving you victim count and a first-seen date |
| A screenshot of a wallet | Extract the address by hand and verify the checksum | Screenshots get transcribed wrongly, and lookalike addresses are deliberately planted |
| 你有什么 | 从哪里开始 | 原因 |
|---|---|---|
| 地址字符串 | 根据格式识别链,然后使用区块浏览器 | 仅凭格式通常就能确定链和脚本类型——参见地址格式表 |
| 交易哈希 | 区块浏览器中的交易页面 | 可以查看交易双方、手续费、区块时间以及所有合约调用 |
| ENS 或命名服务名称 | 解析为地址,然后检查反向记录 | 正向解析由名称所有者设置;反向记录由地址所有者设置,因此后者是更有力的主张 |
| 在每条主要 EVM 链上检查同一地址 | 一个私钥,一个地址,多条链。调查对象认为没人查看过的链上也经常存在活动 |
| 勒索通知或诈骗消息中的付款要求 | 区块浏览器与诈骗举报聚合站 | 其他人可能已经举报,从而获得受害人数和首次发现日期 |
| 钱包截图 | 手动提取地址并验证校验和 | 截图经常被转录错误,而仿冒地址可能是故意植入的 |
The method
方法
1. Establish the chain and address type. The string tells you. Bitcoin
legacy pay-to-public-key-hash addresses begin with ; pay-to-script-hash,
historically multisig and wrapped SegWit, with ; native SegWit bech32 with
; Taproot with . Ethereum and every EVM chain use plus 40 hex
characters, with mixed-case acting as an EIP-55 checksum. Full table in the
reference file above.
13bc1qbc1p0x2. 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 地址以 开头;pay-to-script-hash(历史上用于 multisig 和 wrapped SegWit)以 开头;native SegWit bech32 地址以 开头;Taproot 地址以 开头。Ethereum 和每条 EVM 链都采用 加 40 个十六进制字符,混合大小写表示 EIP-55 校验和。完整表格见上述参考文件。
13bc1qbc1p0x2. 在区块浏览器中打开该地址,并正确解读。 余额是最不重要的字段。真正重要的是:首次和最后出现的时间戳(活动存续期)、累计收到金额与当前余额(被扫空的地址是流转通道,持有地址是资金终点)、交易数量和交易对手集合。在 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 and provides the
transaction ID.
bc1q…The explorer shows one input from the victim and two outputs: 0.4137 BTC to a
fresh 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.
bc1qFollowing 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.
一名受害者报告称,按照勒索要求向 支付了一笔款项,并提供了交易 ID。
bc1q…区块浏览器显示一个来自受害者的输入和两个输出:0.4137 BTC 转到一个新的 地址,较小金额则转到另一个地址。找零启发式认为,未取整的较大输出是付款,较小输出是受害者的找零——但受害者确认要求支付的金额恰恰是较小的那个,因此这里的启发式判断反了。只有因为有人工核验,才避免走进死胡同;应在档案中注明这一点。
bc1q沿着勒索款的输出继续追踪:一天之内,它与另外 eleven 个输入合并进同一笔交易。共同输入所有权意味着十二个地址由同一控制者控制,而且不存在表明 CoinJoin 的等值结构。归集后的输出将资金转发到一个地址,该地址从数千个无关地址收款,并按固定计划向外归集——这是交易所热钱包结构。紧邻其前一个、只从我们的聚类收到资金的地址,就是充值地址。
分级结果:交易事实已确认;十二地址聚类为大概率;交易所识别为大概率,依据是结构特征加两个独立标签;账户持有人身份未知,只能通过法律程序取得。报告应按此表述,并标记充值地址和时间戳,供受害人的律师使用。
Pivots
后续方向
| You now have | Take it to |
|---|---|
| ENS name, handle or nickname on-chain | |
| Address published on a website | |
| Exchange, custodian or issuer entity | |
| A named individual | |
| Address posted on a forum, paste or channel | |
| Address in a source repo or commit | |
| Address string to search verbatim | |
| NFT image used as an avatar | |
| Multi-hop flow to visualise | |
| Email or handle tied to an exchange account | |
Tools and explorers by chain, with what each is actually good for, are in the
explorer and tooling catalogue.
| 现有信息 | 进一步使用 |
|---|---|
| 链上的 ENS 名称、handle 或昵称 | |
| 网站上公布的地址 | |
| 交易所、托管方或发行方实体 | |
| 已具名的个人 | |
| 论坛、粘贴站或频道中发布的地址 | |
| 源代码仓库或 commit 中的地址 | |
| 需要原样逐字搜索的地址字符串 | |
| 用作头像的 NFT 图像 | |
| 需要可视化的多跳资金流 | |
| 与交易所账户绑定的 email 或 handle | |
按链分类的工具和区块浏览器,以及每项工具真正擅长的用途,见区块浏览器与工具目录。
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 .
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.
what-leaked-about-you读取公共账本本身不受监管,但据此采取行动可能受监管。制裁机构会在其指定人员名单中公布特定的数字货币地址——美国 OFAC SDN 名单以明确的地址条目形式列出这些地址——而与指定地址交易,在许多司法管辖区都涉及严格责任。在与任何对象互动之前,应先核查相关名单;绝不向调查对象的地址发送“测试交易”:这种行为就是互动,会暴露你的存在,还可能构成违法。
声称某个人是某个地址的所有者,是一项严重的公开指控,可能带来诽谤风险,而且背后的推断具有概率性。批量购买或处理泄露的交易所客户数据,无论这些数据如何取得,都会带来数据保护义务;参见 。如果目标是追回资产或向执法部门移交刑事线索,应保全证据保管链(chain of custody):记录区块高度、交易 ID 和捕获时间戳,而不是保存区块浏览器截图。
what-leaked-about-you