Address Clustering группирует адреса Bitcoin или скрипты выходов, которым модель приписывает общий контроль. Blockchain не хранит такие группы. Назвать сервис или человека — отдельный шаг со своими доказательствами.
Граф транзакций связывает реально потраченные выходы с потребляющими их транзакциями. 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 из оценённых поступлений. Новая версия групп меняет историческую метрику без изменения blockchain. Баланс считайте по ещё непотраченным 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.