Address Clustering 把分析模型认为受共同控制的 Bitcoin 地址或输出脚本归为一组。区块链不存储这些分组。为其赋予服务或个人名称是另一步骤,需要独立证据。
交易图连接实际被花费的输出及消耗它们的交易。cluster 则额外按推定控制关系把节点分组。两地址之间发生付款,本身不足以把它们归给同一所有者;交易边和共同控制关系必须区分。 [Meiklejohn et al. — A Fistful of Bitcoins]
输入引用先前的 UTXO,并没有通用的付款人地址字段。过程需要查回原始 scriptPubKey,并说明网络与区块范围。有些脚本没有通常的地址表示;强行把它们当作某个人,会混淆技术对象与身份。 [Bitcoin Developer Guide — Transactions]
Common-Input Ownership Heuristic 连接输入一侧。识别 change 可能再加入一个输出;若误选收款方,就会合并付款双方。两个输出不一定是一笔付款加 change,也可能是两名收款人或自有钱包间转移。地址是否首次出现不能单独决定。 [Meiklejohn et al. — A Fistful of Bitcoins] [BIP 78 — A Simple Payjoin Proposal]
脚本类型、整数金额和地址使用历史可以是模型特征,却不是证明。CoinJoin 和 Payjoin 会打破一些常见假设,例外也未必具有明显相同的金额。软件或用户行为变化可能改变错误率,因此历史表现不能未经重新测量就用于当前数据。 [Möser and Narayanan — Resurrecting Address Clustering in Bitcoin] [BIP 78 — A Simple Payjoin Proposal]
Union-find 能高效建立传递分组。但普通实现不能简单删除过去一次合并,就正确拆分最终 cluster。因此应保留原始边、交易与规则版本;修正可能需要重算。仅有成员列表无法保存导致合并的证据路径。 [Möser and Narayanan — Resurrecting Address Clustering in Bitcoin]
Möser 与 Narayanan 对 union-find 加约束,避免合并被预测付款输出隔开的群组。这能遏制 cluster collapse,但约束本身也依赖付款推断。保守规则可能拒绝正确关系;合并更少并不自动代表更准确描述所有所有者。 [Möser and Narayanan — Resurrecting Address Clustering in Bitcoin]
给一个地址贴服务标签,与把标签扩展到整个 cluster,是不同主张。应记录标签来源、时间范围与传播路径;交易所群组不等于一名客户。从同一启发式推导的参考数据并不完全独立。评估应区分错误合并、错误拆分和样本覆盖率。 [Meiklejohn et al. — A Fistful of Bitcoins] [Möser and Narayanan — Resurrecting Address Clustering in Bitcoin]
识别内部转移可以从估计收款中排除 self-churn。因此分组版本改变,可能在区块链不变的情况下修订历史指标。群组余额应由指定区块时仍未花费的 UTXO 计算,而非累加历史上收到的全部输出。结果应注明模型、标签版本与数据截点。 [Meiklejohn et al. — A Fistful of Bitcoins] [Möser and Narayanan — Resurrecting Address Clustering in Bitcoin]
要获得更完整的理解,请将本词条与以下词条结合阅读: Common-Input Ownership Heuristic, Chain Surveillance, 找零输出, CoinJoin, PayJoin, UTXO. 反向关联还来自: 假名性, Chain Surveillance, Common-Input Ownership Heuristic, Transaction Labeling.