Common-Input Ownership Heuristic — це припущення, що кілька входів однієї транзакції Bitcoin — посилань на попередні суми, які витрачаються, — зазвичай контролює той самий суб’єкт. Воно допомагає знаходити пов’язані адреси за поведінкою гаманців. Це аналітична підказка, а не правило Bitcoin чи доказ володіння коштами.
Петро отримує два платежі на різні адреси. Згодом Петро платить за ремонт велосипеда, і його гаманець витрачає обидва надходження разом. Гаманець — це застосунок або пристрій для отримання й надсилання біткоїнів. Сторонній спостерігач бачить раніше невидимий зв’язок: хтось зміг витратити ці кошти в одній транзакції. Для звичайного особистого гаманця припущення про спільний контроль цілком зрозуміле. Саме на цій поведінці ґрунтується евристика — практичне правило для оцінки. Проте Bitcoin не вимагає одного власника всіх входів. Навіть більша кількість входів сама не визначає ймовірності правильного припущення. [1] [6]
Отримані кошти існують як UTXO — невитрачені виходи попередніх транзакцій. Кожен такий вихід містить суму й умови, за яких її можна витратити. Вхід нової транзакції посилається на конкретний такий вихід. Скрипт — це коротка програма з правилами витрачання. Аналітик знаходить записані в ньому умови й пов’язує відповідну адресу або скрипт з іншими входами. Це точна межа методу. Транзакція з єдиним входом не дає нової пари для зв’язку. Правило також не визначає, який новий вихід є платежем, а який change — рештою, що повертається платнику. Для цього потрібна інша підказка. Тому вихід майстерні не можна автоматично приписати Петрові лише через його присутність у платежі. [1] [4]
Петро та інша людина можуть підготувати спільну транзакцію й кожен підписати свої входи. Приватні ключі, таємні числа для створення підписів, що дозволяють витрачати біткоїни, залишаються окремими. PSBT — описаний у BIP 174 формат передавання незавершеної транзакції та потрібних відомостей між програмами чи пристроями. Координатор, який збирає дані, не обов’язково має всі ключі. Мережа перевіряє виконання умов витрачання, а не те, чи одна людина створила всі підписи. Multisig стосується іншого питання: він може вимагати кількох підписів для одного входу, тоді як ця евристика оцінює зв’язок між кількома входами. [2] [5] [6]
CoinJoin дозволяє кільком учасникам додати власні кошти до спільної транзакції. Payjoin показує проблему безпосередньо під час платежу: за BIP 78 отримувач теж може додати свої входи. Якби майстерня приймала такий платіж, сліпе застосування евристики могло б поєднати її кошти з Петровими. Співпраця не вимагає однакових сум на всіх виходах. Тому недостатньо відкинути транзакції, схожі на очевидний CoinJoin, і визнати всі інші платежами одного власника. Це не означає, що кожна транзакція спільна; лише те, що її вигляд не завжди виключає таку можливість. [2]
Уявімо адреси A, B і C. Перша транзакція разом витрачає виходи з A+B. Друга поєднує інші виходи з B+C. Ідеться не про повторне витрачання того самого UTXO. Через спільну B інструмент може об’єднати A+B+C в одну групу, або cluster. Але якщо друга транзакція була співпрацею різних людей, помилка зачепить і раніше приписану адресу A. Так хибні зв’язки поширюються між цілими групами. Невелика кількість помилкових з’єднань не гарантує невеликої кількості неправильно приписаних адрес. [1] [3]
Біржа може однією транзакцією витратити кошти, якими керує для багатьох клієнтів. Евристика тоді може правильно виявити спільний операційний контроль сервісу. Вона не встановить, яким клієнтам кошти належать економічно. Навіть назва сервісу не читається із самих входів: мітці потрібні додаткові докази та відповідність певному періоду. І навпаки, Петро може користуватися кількома гаманцями, кошти яких ніколи не об’єднає. Кількість знайдених груп тому не дорівнює кількості людей. Контроль, власність та особа пов’язані, але це різні питання. [1]
Аналітик хоче з’ясувати, чи правильно пов’язав адреси. Якщо єдине підтвердження — їхнє наступне спільне витрачання, він може лише повторювати те саме припущення. Це не створює автоматично незалежного доказу. Malte Möser і Arvind Narayanan описують використання таких еталонних даних та їхні обмеження. Тому оцінка має пояснювати походження вибірки, виключені транзакції та охоплений період. Помилкові об’єднання, пропущені зв’язки й охоплення слід оцінювати окремо. Без калібрування на відомих випадках оцінку не можна тлумачити як імовірність правильного встановлення особи. [3]
Петро може використовувати Coin Control, ручний вибір UTXO для витрачання, щоб обмежити майбутнє поєднання раніше окремих надходжень. Це не стирає давніх транзакцій і вимагає розуміти, які саме кошти він обирає. Payjoin теж не усуває всіх інших способів приписування. В аналізі кожен зв’язок має вести до транзакції, версії правила та причини включення чи виключення. Ці перевірочні запитання випливають з обмежень у джерелах. Знайдена помилка має дозволяти заново визначити, які адреси належать до групи; проста примітка до незміненого висновку не виправить хибних приписувань. [2] [3]
Для повної картини прочитайте також Address Clustering, CoinJoin, Payjoin, Chain Surveillance, PSBT, Coin Control. На цю статтю також посилаються Payjoin, Coin Selection, Chain Surveillance, Address Clustering.