listaddressgroupings返回的不是链上认证过的“同一人地址表”,而是当前钱包根据自己参与的交易形成的地址关联。共同作为输入的地址通常需要同一笔交易获得签名,钱包识别到的找零也会接入分组;这是一种有用但有边界的启发式。
RPC说的是common ownership推断
listaddressgroupings返回钱包认为存在共同所有权的地址分组。
结果只覆盖当前钱包视图。观察另一个节点、导入不同描述符或钱包历史不完整,分组可能不同。外部区块分析平台还会叠加更多规则,因此不能用平台聚类结果反推Bitcoin Core一定返回相同结构。
两类线索把地址连起来
分组依据包括同一交易共同作为输入的地址,以及由钱包识别的找零地址。
第一类是共同输入:一笔交易同时花费多个地址控制的UTXO,通常说明构造者能协调这些输入。第二类是找零:钱包识别到本次花费的找零地址后,会把它与相关输入地址建立关联。
CoinJoin、多方协作交易、PayJoin和外部签名流程会削弱简单解释。共同输入并不总等于同一自然人,找零识别也不是协议写入的身份标签。文章或报告应使用“钱包分组”“启发式关联”,避免写成“确认属于”。
嵌套数组的三层读法
返回为嵌套数组,每个地址项含地址字符串、余额,若存在还包含标签。
| 层级 | 内容 | 解析注意 |
|---|---|---|
| 最外层 | 多个地址组 | 组之间没有顺序含义 |
| 组内 | 多个地址条目 | 同组表示钱包推断关联 |
| 地址条目 | 地址、余额、可选标签 | 标签可能缺失 |
余额是调用时的钱包视图,不是历史累计收款,也不证明全部链上余额。导出时保存节点高度、钱包名和时间,不能把不同日期的余额与同一分组静态拼接。标签则是本地元数据,可能被用户修改。
隐私风险发生在花费构造时
如果为了凑金额把多个原本分离的收款地址UTXO合并为输入,观察者可能据此建立联系。钱包的coin control和UTXO选择策略会影响暴露程度。使用新收款地址并不能自动消除随后共同花费带来的关联。
隐私审计可以先保存分组基线,再检查计划交易会连接哪些组;但不应因为两个地址尚未同组就保证它们无法被关联。金额、时间、对手方和链下资料仍可能提供旁证。
它不能作为身份或执法结论
该结果是钱包内启发式关系,不足以证明多个地址属于同一现实人物或机构。
地址控制权、资产受益人和现实身份是不同问题。钱包知道某个脚本、能签名或曾共同花费,都不足以独立证明法律所有权。面向风控或调查的输出应列出证据来源、启发式规则、反例和置信度。
若分组结果用于客户隔离,必须与业务账户、KYC记录和密钥架构交叉验证。不要自动把同组所有地址的交易都归入同一客户,也不要据此冻结无关资产。
一份可复核的导出格式
每行保存group_index、address、wallet_balance、label、block_height和exported_at;另保存原始JSON。group_index只在这次快照内有效,下一次导出可能重排。比较两次结果时应按地址集合比对,而不是按数组序号。
UTXO基础见UTXO和账户模型,输入选择影响见比特币钱包选择UTXO,标签迁移见BIP329钱包标签迁移。本文解释钱包启发式,不构成地址身份、资产归属或违法行为认定。
地址聚类证据边界
- Bitcoin Core listaddressgroupings 31.0:分组依据、返回结构与示例。
- Bitcoin Core getaddressinfo 31.0:钱包地址信息与标签旁证。
资料访问时间为2026-08-14。仍需保留的边界:外部导入、CoinJoin和复杂交易结构会削弱启发式解释,文章不做身份归属结论。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。