性能优化
追踪比特币/以太坊等公链地址与资金流时,用区块浏览器做归因…
当你拿到加密货币地址、交易哈希、ENS 名或勒索/诈骗付款信息时,按链上事实、聚类、off-ramp 和分级标准追踪资金并避免过度归因。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
追踪比特币/以太坊等公链地址与资金流时,通用
解决思路
- 使用公开区块链浏览器(包括 Etherscan、Blockchair、mempool.space、Blockscout)追踪地址和交易。
- 总原则:公链是假名而非匿名;追踪目标是归因,而归因几乎发生在 off-ramp(把价值换成法币并留下 KYC 的服务);犯罪点到 off-ramp 之间只是要顺着走的管道。
- 总原则:不要把聚类启发式输出当事实;「这些地址属于同一实体」是带已知失败模式的概率推断;商业归因标签是不可审计的专有猜测。自信追踪,谨慎归因。
- 持有地址字符串时:先根据字符串形状识别链和脚本类型,再打开区块浏览器;格式本身通常决定链和脚本类型,参考 reference/address-formats.md。
- 持有交易哈希时:打开浏览器的交易视图;读取双方、手续费、区块时间和任何合约调用。
- 持有 ENS 或命名服务名时:先正向解析到地址,再检查反向记录;正向记录由名称所有者设置,反向记录由地址所有者设置,是更强声明。
- 持有 0x… 地址时:在每条主要 EVM 链上检查同一地址;一个私钥、一个地址、多条链,主体以为没人看的链上有活动很常见。
- 持有勒索信或诈骗付款要求时:用区块浏览器加诈骗报告聚合器;别人可能已报告,可得到受害人数和首次出现日期。
- 持有钱包截图时:手工提取地址并校验 checksum;截图会被转录错,且有人故意植入相似地址。
- 建立链和地址类型:Bitcoin legacy pay-to-public-key-hash 以 1 开头;pay-to-script-hash(历史上多签和 wrapped SegWit)以 3 开头;native SegWit bech32 以 bc1q 开头;Taproot 以 bc1p 开头;Ethereum 和所有 EVM 链用 0x 加 40 个十六进制字符,大小写混合作为 EIP-55 checksum。完整表见 reference/address-formats.md。
- 在区块浏览器打开地址并正确阅读:余额是最不重要的字段;重点看 first-seen 和 last-seen 时间戳(活动寿命)、总接收 vs 当前余额(被扫光的地址是管道,持有地址是目的地)、交易数、交易对手集合。
- 在 EVM 链上还读 internal transactions、token transfer 标签页,以及地址是否有代码;有字节码的地址是合约而非个人钱包,其行为由该代码定义。
- 为链选择正确心智模型:UTXO 链(如 Bitcoin)没有账户;交易消耗离散未花费输出并创建新输出,「地址余额」是派生聚合,价值会明显拆分和合并,要穿过输出图追踪币。
- 账户模型链(如 Ethereum)的余额由转账改变;追踪账户到账户的边,且单笔交易可触发一连串不出现在顶层视图的 internal transfer 和 token movement;混淆两种模型是最常见错误来源。
- 聚类时使用 common-input ownership:这是强启发式——UTXO 交易花费多个输入时,构建者必须持有所有这些输入的密钥,因此这些地址共享控制者;这是所有 Bitcoin 聚类引擎的骨干。
- 识别 change address 时知道它很弱:金额非整数、脚本类型与输入匹配而另一个不匹配、输出到从未见过的地址、unnecessary-input rule 等启发式各自会失败,并跨跳复合误差;一次错误 change 判断会把整个下游追踪引向陌生人。
- 利用地址复用:地址复用会免费把活动坍缩成一个身份,在自认为不是目标的人中很常见。
- 寻找 off-ramp:交易所给每个客户唯一 deposit address,然后把存款定期扫入合并 hot wallet;许多独立地址按计划汇入一个大钱包,就是交易所存款结构。
- 到达 deposit address 是追踪最有价值的结果,因为交易所持有其所属人的 KYC 记录;这只能由执法通过法律程序获得,不是你本人获得。记录 deposit address、金额、时间戳、交易所识别依据,并交给相应方。
- 按模式识别服务和合约交互:一笔交易中多个参与者有等额输出是 CoinJoin;同一合约有固定面额存入和之后取出是 Tornado 式 shielded pool;转入合约后另一条链出现事件是 bridge;两个地址间按计划重复整数转账像工资或订阅而非市场操作;peel chains——大额反复花出小片并把余额转发——是经典洗钱和套现模式。
- CoinJoin 会按设计破坏 common-input ownership:输入属于不同人;忽略这一点的天真聚类会把无关用户合并成一个巨大的假簇,这是著名且严重的失败模式。
- Shielded mixing pools 会以密码学方式破坏 deposit-withdrawal 链接;仍存活的是元数据泄漏:低交易量时匿名集小、存取款时间、取款 gas 由也给存款提供资金的地址支付、用户取款到已与其关联的地址。
- 跨链 bridge 和 swap 服务不破坏密码学链接,但会实际破坏链接,因为它们把线索移到工具不同的另一条链;跨两条链的金额和时间关联通常能重建链接;即时无账户 swap 服务同样有托管跳,并保留自己的日志。
- Privacy coins 是硬停止,不是减速:ring signatures、stealth addresses 和 confidential amounts 意味着没有公开发送方、公开接收方、公开金额可追;要直接说明,而不是暗示还能继续。
- 在可选屏蔽的链上,大多数活动是透明的,泄漏发生在 shielded/transparent 边界。
- 任何混币后的 taint analysis 是建模选择而非测量;Poison、haircut、FIFO 和 last-in-first-out 对同一数据给出实质不同答案,一些司法辖区的法院对混合资金有自己的规则;始终说明所用模型;没有具名模型的「40% tainted」没有意义。
- 防范 address poisoning:攻击者从精心构造的地址发送零值或 dust 转账,使其首尾字符匹配合法交易对手;这些会出现在受害者历史中并把粗心分析师拉到完全无关地址;始终比较完整字符串。
- 防范 dusting:向许多地址发送非请求的极小金额,意图被花费从而合并聚类;收到转账不能证明接收者意图或关系。
- 把浏览器标签当第三方声明:公开名称标签、自提交的合约验证、社区来源实体标签质量不一,有时错误或过期;标签只是线索,要引用标注者。
- 把商业归因当不可审计:链分析厂商的实体标签来自未披露专有方法,曾在法庭上受挑战;绝不要把厂商标签当 ground truth,要作为该厂商的评估呈现。
- 记住合约代表从未碰过它的人转移价值:DEX router、multisig、custodial wallet 或 NFT marketplace 会显示为交易对手;它是基础设施,不是嫌疑人。
- 记住时间戳是区块时间:它们近似交易被打包的时间,不是人行动的时间,也不能可靠说明时区。
- 注意同一地址在不同链可能是不同人,但实际风险是反向的:同一密钥对应的链被误认为无关。
- 处理链重组和未确认交易:在 mempool 看到的东西可能永不确认;引用已确认交易时带区块高度。
- 分级 confirmed:链上事实——这笔交易在该区块把该金额从该地址移到那个地址——可密码学验证,应毫不含糊地陈述;也包括实体自己在签名消息中发布或在你通过 recon-a-domain-passively 验证的域名上发布的地址。
- 分级 probable:建立在 common-input ownership 且不存在 CoinJoin 模式上的聚类;由结构行为识别且匹配多个独立标签的服务;正向和反向记录都匹配并关联到社交资料的 ENS 名。
- 分级 unconfirmed:任何依赖 change-address 启发式、单一商业标签、未签名所有权声明、纯时间关联或跨混币事件的聚类。
- 归因到具名个人永远不能只靠链上证据确认;当 off-chain 记录——subpoena return、court filing、签名消息、实体自己的披露——补上缺口时,才成为 confirmed。
- 处理勒索/诈骗金额时,用受害者确认的金额校验 change 启发式;例如浏览器显示较大非整数输出像付款,但受害者确认较小金额才是被要求金额,说明启发式反了;只有在人工佐证后才避免死路,并在文件中注明。
- 按 next step 转交:得到 ENS 名、链上 handle 或昵称 → hunt-a-handle。
- 地址发布在网站上 → recon-a-domain-passively、read-deleted-pages。
- 交易所、托管或发行方实体 → x-ray-a-company、who-really-owns-it。
- 具名个人 → find-anyone。
- 地址发布在论坛、paste 或 channel → find-leaks-in-the-wild。
- 地址在源码仓库或 commit 中 → secrets-in-git-history。
- 要逐字搜索地址字符串 → google-like-a-spy。
- NFT 图片被用作头像 → find-the-original-image。
- 要可视化多跳资金流 → graph-the-network。
- 与交易所账户关联的邮箱或 handle → what-leaked-about-you。
- 阅读公共账本不受监管,但据此行动可能受监管;制裁当局在 designated persons lists 上发布具体数字货币地址(美国 OFAC SDN 列表以显式地址条目携带它们),在许多司法辖区与指定地址交易是 strict-liability;交互前检查名单。
- 绝不要向主体地址发送「test transaction」:这是交互,会标记你,且可能违法。
- 把个人命名为地址所有者是严重的公开指控,有 defamation 风险,且底层推断是概率性的;批量购买或处理泄漏的交易所客户数据会带来数据保护义务,无论它如何到达你手中;见 what-leaked-about-you。
- 当目标是资产追回或刑事移送时,保存 chain of custody:记录区块高度、transaction IDs 和捕获时间戳,而不是区块浏览器截图。
- 按链查找工具和浏览器,以及各自实际擅长什么,见 reference/explorers-and-tools.md。
适用边界 · 注意事项
- 隐私币或完全屏蔽池:公开账本没有可跟踪的公开发送方、公开接收方和公开金额,不能继续链上追踪,只能明确说明停止。
- CoinJoin/混币交易:不能套用 common-input ownership 或天真聚类,否则会把无关用户合并成巨大的假簇。
- 仅凭 change-address 启发式、单一商业标签、未签名所有权声明、纯时间关联或跨混币事件时,不要做 confirmed 归因;未核对制裁名单前也不要与目标地址交互或发送「test transaction」。