← Програма курсу ЗАНЯТТЯ 02 / 06

Блок II. Трасування і деанонімізація · заняття 2 із 6 · поглиблене

Трасування, кластеризація і доказова якість аналітики

Поглиблене заняття. Де закінчується ончейн-факт і починається евристика.

Мета заняття

Після цього заняття ви зможете побудувати маршрут руху вартості й для кожного його ребра назвати, на чому воно тримається; пояснити, чому та сама евристика дає різну надійність у Bitcoin і в TRON; обрати й обґрунтувати метод віднесення змішаних коштів; і скласти звіт, який інша особа відтворить із ваших вихідних даних без вашої участі.

Що таке hop і чому кількість переходів нічого не доводить

Hop — це один перехід вартості від адреси до адреси. Ланцюг із чотирнадцяти переходів звучить вагомо, і саме тому це формулювання небезпечне: воно приховує, що кожен окремий перехід має власну доказову опору, і що ланцюг рівно такий міцний, як його найслабше ребро.

У найпростішому випадку одне ребро — це чистий факт ончейн: транзакція існує, сума така, час такий. Але вже наступне ребро може бути іншим за природою. Якщо ви стверджуєте, що адреси A і B належать одному контрольному центру, це вже евристика. Якщо ви стверджуєте, що адреса C — це біржа X, це label. Якщо ви стверджуєте, що переказ на адресу D був оплатою за конкретну послугу, це версія, доки не підтверджено іншим доказом.

Тому граф із однорідними стрілками — уже помилка на рівні подання. Читач бачить п'ятнадцять однакових ліній і природно припускає, що вони однакові за силою. Так виникає ефект, який добре знають захисники: ви показуєте гарну картинку, вас просять пояснити одне конкретне ребро, воно виявляється припущенням — і сумнів переноситься на весь граф.

Правило подання

Кожне ребро графа має нести позначку опори і посилання на первинний запис. Ребро без посилання на txid, на реквізити відповіді постачальника послуг або на названу евристику з описаною похибкою в звіт не потрапляє. Взагалі. Краще коротший граф, який весь стоїть, ніж довгий, який весь падає.

Евристики кластеризації: що вони насправді стверджують

Кластеризація — це спроба об'єднати адреси, які ймовірно контролює одна особа. Слово «ймовірно» тут не пом'якшення, а точний опис. Основні евристики такі.

Спільне витрачання входів. Якщо одна транзакція витрачає одночасно виходи з кількох адрес, то той, хто її підписав, мав приватні ключі від усіх цих адрес. Це найсильніша з евристик, і в звичайних умовах вона працює. Її відомі спростування: транзакції, у яких кілька незалежних учасників свідомо об'єднують входи, — саме на цьому побудовані CoinJoin і подібні сервіси (заняття 4). Тобто евристика ламається саме там, де вона найпотрібніша.

Визначення адреси решти. Із двох виходів транзакції один зазвичай належить відправнику. Ознаки: адреса раніше не зустрічалася; тип адреси збігається з типом входу; сума має «некругле» значення, тоді як друга — рівне. Кожна ознака окремо слабка, разом вони дають робоче припущення. Але сучасний гаманець свідомо їх ламає: рандомізує порядок виходів, використовує однакові типи адрес, розбиває суми. Помилка тут не нейтральна: вона переносить весь подальший ланцюг на чужу адресу.

Peel chain. Характерний малюнок: із великої суми послідовно «відщипують» невеликі частини, а решта щоразу йде далі одним потоком. Розпізнається легко і часто вказує на поетапне виведення. Але сама по собі peel chain не доводить нічого, крім форми руху: так само виглядає й робота цілком легального сервісу з виплатами.

Кореляція за часом і сумою. Використовується там, де прямого зв'язку немає: з адреси A вийшло 12,4 одиниці, за сім хвилин на адресу B надійшло 12,37. Це корисний слідчий орієнтир і слабкий доказ. Сила залежить від того, наскільки рідкісним є таке збігання в конкретному часовому вікні й обсязі мережі — і це треба вміти оцінити, а не просто заявити.

Початок100 000 USDT Вузол 296 400 Вузол 392 100 Вузол 488 300 Біржа адреса поповн. ончейн ончейн ончейн label 3 600 → вихід 4 300 → вихід 3 800 → вихід евристика: той самий контроль Форма руху розпізнається одразу. Належність вузлів одному контролю — окреме припущення, яке доводиться окремо.
Peel chain. Горизонтальні ребра — факт. Мітка біржі — чужий висновок. Твердження про єдиний контроль над вузлами — евристика, яка потребує самостійного підтвердження.

Чому в account-моделі все інакше

Практично важлива річ, яку часто пропускають: більшість того, що написано про кластеризацію, стосується Bitcoin. У мережах з обліком за балансом — Ethereum, TRON, BNB Chain — евристики спільного витрачання й адреси решти не мають підстави існувати: у транзакції немає ані множини входів, ані решти. Перенести звідти висновки не можна.

Це особливо суттєво тому, що основний обсяг сучасних злочинних потоків — це стейблкоїни, а не монети мереж. За оцінкою Chainalysis у звіті за 2025 рік, на стейблкоїни припадало близько 84 відсотків обсягу незаконних транзакцій off-chain. Тобто типова справа сьогодні — це USDT у TRON, а не BTC.

Що працює натомість:

Кожен із цих прийомів — евристика, і кожен має бути названий у звіті своїм ім'ям.

Змішані кошти: питання, яке визначає результат

Ситуація типова. На адресу надійшло 30 одиниць від потерпілого і 70 одиниць з іншого, непов'язаного джерела. Далі з адреси виходить 40 одиниць. Скільки з цих сорока — кошти потерпілого?

Правильна відповідь: у блокчейні цього не написано. Токени не мають ідентичності; баланс — це число, а не набір позначених монет. Будь-яка відповідь є застосуванням правила віднесення, і саме правило треба обрати, назвати й обґрунтувати.

Методи віднесення. У жодному з них немає «правильного за замовчуванням» — є той, який ви обрали і за який відповідаєте.

МетодЯк рахуєКоли доречнийСлабке місце
Перший увійшов — перший вийшовВихідні кошти відносяться до найраніших надходженьПрості лінійні маршрути з коротким інтерваломЛегко ламається штучним порядком операцій
Останній увійшов — перший вийшовВихідні кошти відносяться до найпізніших надходженьКоли вихід відбувся одразу після цільового надходженняДовільність вибору потребує окремого обґрунтування
Пропорційне віднесенняКожен вихід містить частки джерел пропорційно до балансуДовготривале змішування, багато джерел«Забруднює» весь подальший граф дрібними частками
Отруєння балансуУвесь баланс і всі виходи вважаються зачепленимиОперативна оцінка ризику, не доказуванняДля процесуального документа непридатний: перебільшує
Мінімальна гарантована часткаБереться найменша можлива частка за всіх допущеньКоли потрібна цифра, яку неможливо оскаржити внизЗанижує реальний обсяг
КомбінованийОсновний метод + перевірка альтернативнимСкладні маршрути; демонструє стійкість висновкуПотребує більше роботи й чіткого викладу

Практичний прийом, який рятує звіт: порахувати двома методами і показати обидва результати. Якщо висновок не змінюється — ви щойно продемонстрували стійкість. Якщо змінюється — ви дізналися про це раніше за захист.

Вендорська аналітика: що це насправді за доказ

Комерційні платформи трасування — необхідний робочий інструмент. Але те, що вони видають, поділяється на три різні за природою речі, і плутати їх не можна.

  1. Відображення ончейн-даних. Транзакції, суми, час. Це факт, і його можна перевірити незалежно у вузлі або оглядачі. Так і треба робити для кожної ключової транзакції.
  2. Результат евристик. Об'єднання адрес у кластери. Це припущення, і методика його побудови вам зазвичай недоступна повністю.
  3. Атрибуція. Підпис «Exchange-A», «Mixer», «High Risk». Це чужий висновок, зроблений на підставі даних, які вам не показані, і на невідому дату. Мітка «Unknown» не означає «нічий»: вона означає «цей постачальник її ще не приписав».

Для процесуального документа звідси випливають конкретні вимоги. У звіті мають бути названі: інструмент і його версія; дата, коли одержано атрибуцію; чи оновлювалася вона згодом; які саме твердження взято з інструмента, а які перевірено самостійно. І окремо — застереження, що мітка є підставою для перевірки, а не встановленим фактом.

Тут легко припуститися помилки

Фраза «дані підтверджені двома різними інструментами» звучить переконливо і часто нічого не підтверджує. Якщо обидва інструменти беруть атрибуцію з перетинних джерел і застосовують споріднені евристики, це не незалежна перевірка, а повторення того самого припущення. Незалежним підтвердженням є дані від самого постачальника послуг off-chain, а не другий екран.

Кейс

D'Aloia v Persons Unknown & Others [2024] EWHC 2342 (Ch)

Про що
Цивільний позов потерпілого, який унаслідок шахрайства втратив кошти в USDT і USDC. Позивач намагався простежити активи через численні переходи до рахунків на біржі й вимагав їх повернення. Рішення Високого суду Англії та Уельсу від 12 вересня 2024 року.
Чим цінний для нас
Суд предметно досліджував саму методику трасування, а не тільки її результат: як експерт обходився зі змішаними коштами, які припущення робив, чи витримує його ланцюг перевірку. Це рідкісний випадок, коли аналітичний звіт став самостійним предметом судової оцінки.
Що з цього застосовне
Довжина ланцюга сама собою не переконує. Переконує прозорість методу: названі допущення, показані альтернативи, продемонстрована стійкість висновку. Готуючи звіт, виходьте з того, що перевірятимуть не висновок, а шлях до нього.
Межі використання
Це рішення іноземного суду в цивільній справі. Воно не є джерелом права України і не встановлює стандарту доказування в кримінальному провадженні. Використовується як ілюстрація вимог до методики.

Процесуальний стан: рішення суду першої інстанції, цивільне провадження, Англія та Уельс.

Структура звіту, який можна відтворити

1. Питання, на яке відповідає звіт

Одне речення. Не «аналіз транзакцій», а, наприклад: «Чи надійшли кошти, перераховані потерпілим 14 березня, на облікові записи, зареєстровані на конкретну особу». Питання визначає обсяг: усе, що поза ним, у звіт не входить.

2. Вихідні дані та дата зрізу

Перелік усіх наборів даних, звідки взяті, у якому форматі збережені, їх контрольні суми. Дата й час зрізу в UTC. Блокчейн живий: те саме питання наступного тижня дасть інший результат, і це нормально, доки зріз зафіксовано.

3. Інструменти та їх версії

Назва, версія, дата одержання атрибуції. Якщо використовувалися власні скрипти — вони додаються або описуються настільки, щоб інша особа їх відтворила.

4. Метод і ручні рішення

Які евристики застосовані, з якими порогами. Який метод віднесення змішаних коштів обрано і чому. Де ви приймали рішення вручну — наприклад, обрали одне з двох можливих продовжень ланцюга — і на якій підставі. Це найважливіший розділ: саме тут звіт або стає відтворюваним, або назавжди залишається вашою особистою думкою.

5. Маршрут із позначеною опорою кожного ребра

Таблиця переходів: txid, час, сума, від кого, кому, опора (ончейн / off-chain / евристика / label), посилання на первинний запис. Граф — ілюстрація до таблиці, а не заміна їй.

6. Альтернативні пояснення

Які версії лишаються сумісними з даними. Пропуск цього розділу — найпоширеніша причина, з якої звіт вважають упередженим. Наявність розділу, навпаки, підвищує довіру до решти.

7. Межі висновку

Прямо: що не встановлено. Наприклад: не встановлено особу, яка контролювала адресу; не встановлено призначення платежу; не встановлено, чи є одержувач кінцевим вигодонабувачем. Цей розділ захищає вас особисто.

8. Матеріали для відтворення

Експорти, запити, скрипти, перелік кроків. Критерій готовності простий: інша компетентна особа, отримавши цей пакет і не маючи доступу до вас, повторює результат.

Практичний висновок: алгоритм трасування

  1. Зафіксуйте вихідну точку і дату зрізу. Без цього результат неповторюваний.
  2. Ідіть уперед по одному переходу, для кожного одразу записуючи опору. Не будуйте граф спочатку і не «підшивайте докази» потім — так виникають ребра без опори.
  3. Дійшовши до змішування, зупиніться й оберіть метод віднесення. Запишіть вибір і причину. Порахуйте другим методом для перевірки.
  4. Дійшовши до постачальника послуг, зупиніть ончейн-аналіз. Далі слід іде через запит, а не через блокчейн (заняття 3).
  5. Дійшовши до розриву — міксер, міст, обмінний сервіс — не пишіть «слід втрачено». Опишіть, що саме розірвано і які канали лишаються (заняття 4).
  6. Перед здачею перевірте кожне ключове ребро незалежно від інструмента, у публічному вузлі або оглядачі, з дотриманням правил безпеки щодо розголошення.
  7. Пройдіться по звіту і викресліть кожне твердження, під яким немає опори. Те, що залишиться, і є ваш результат.

Самоперевірка

Оберіть варіант — відкриється розбір усіх варіантів.

Питання 1 Транзакція в Bitcoin витрачає одночасно виходи з трьох різних адрес. Що це доводить?

Правильно — другий. Точне формулювання того, що встановлено технічно: наявність ключів у того, хто підписував. Далі йдуть окремі питання: чи це одна особа, чи не є транзакція результатом спільного підпису кількох незалежних учасників, чи не працює тут сервіс, який навмисно об'єднує входи.

Перший — той самий висновок, але без застережень: типова помилка «евристика подана як факт». Третій — протилежна крайність: спільне витрачання є найсильнішою з евристик, і зневажати ним не варто; правильна поведінка — застосувати і назвати. Четвертий — довільне припущення, яке ні з чого не випливає.

Питання 2 На адресу надійшло 30 одиниць від потерпілого і 70 з непов'язаного джерела. Далі вийшло 40. Скільки з них — кошти потерпілого?

Правильно — третій. У блокчейні відповіді немає: токени не мають ідентичності. Будь-яке число тут — результат правила, яке ви застосували. Тому в звіті пишеться не «вийшло X коштів потерпілого», а «за методом пропорційного віднесення — X; за методом «перший увійшов — перший вийшов» — Y».

Перший мовчки застосовує «перший увійшов — перший вийшов», не називаючи його. Другий так само мовчки застосовує пропорційний метод: арифметика правильна, помилка в тому, що метод не задекларовано. Четвертий — метод отруєння балансу: придатний для оперативної оцінки ризику, але в процесуальному документі перебільшує обсяг і легко спростовується.

Питання 3 Аналітичний інструмент позначив адресу як «High Risk». Що ви пишете в довідці?

Правильно — другий. Мітка є фактом про висновок інструмента, а не про адресу. Тому фіксується саме те, що є: хто, коли, якої версії, яку категорію присвоїв. Далі — напрям перевірки.

Перший перетворює чужий висновок на встановлену обставину. Третій зайво суворий: мітка — цінний оперативний орієнтир, її треба зафіксувати, просто в правильному статусі. Четвертий здається обережним, але додає хибної ваги: якщо два інструменти спираються на перетинні джерела атрибуції, це не незалежна перевірка. Незалежним підтвердженням буде відповідь самого постачальника послуг.

Питання 4 Ви працюєте з USDT у мережі TRON і хочете об'єднати адреси в кластер за евристикою спільного витрачання входів. Що не так?

Правильно — другий. Евристики спільного витрачання і адреси решти виводяться з будови UTXO-транзакції. У TRON, Ethereum і подібних мережах такої будови немає, отже, немає і підстави. Перенесення висновків звідти — поширена і дуже вразлива помилка, надто з огляду на те, що більшість сучасних потоків — це саме стейблкоїни в account-мережах.

Перший — саме та помилка. Третій плутає причину з параметром: справа не в швидкості мережі. Четвертий — надмірний висновок: кластеризація в цих мережах можлива, просто на інших ознаках і зазвичай зі слабшою опорою, яку треба чесно позначати.