Блок 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. Це корисний слідчий орієнтир і слабкий доказ. Сила залежить від того, наскільки рідкісним є таке збігання в конкретному часовому вікні й обсязі мережі — і це треба вміти оцінити, а не просто заявити.
Чому в account-моделі все інакше
Практично важлива річ, яку часто пропускають: більшість того, що написано про кластеризацію, стосується Bitcoin. У мережах з обліком за балансом — Ethereum, TRON, BNB Chain — евристики спільного витрачання й адреси решти не мають підстави існувати: у транзакції немає ані множини входів, ані решти. Перенести звідти висновки не можна.
Це особливо суттєво тому, що основний обсяг сучасних злочинних потоків — це стейблкоїни, а не монети мереж. За оцінкою Chainalysis у звіті за 2025 рік, на стейблкоїни припадало близько 84 відсотків обсягу незаконних транзакцій off-chain. Тобто типова справа сьогодні — це USDT у TRON, а не BTC.
Що працює натомість:
- Аналіз джерела оплати комісії. В account-моделі за виконання переказу токена платять монетою мережі. Часто цю монету адреси одержують централізовано з однієї «заправної» адреси. Це створює зв'язок, якого немає в самих переказах токена.
- Патерни розгортання адрес. Однаковий спосіб фінансування, однакова послідовність перших операцій, однакові контракти, з якими взаємодіє адреса.
- Approve і взаємодія з контрактами. Журнали подій показують, кому адреса надавала дозвіл розпоряджатися токенами, — це часто вказує на конкретний сервіс.
- Часова кластеризація. Синхронна активність десятків адрес у вузькому вікні за відсутності зовнішньої причини.
Кожен із цих прийомів — евристика, і кожен має бути названий у звіті своїм ім'ям.
Змішані кошти: питання, яке визначає результат
Ситуація типова. На адресу надійшло 30 одиниць від потерпілого і 70 одиниць з іншого, непов'язаного джерела. Далі з адреси виходить 40 одиниць. Скільки з цих сорока — кошти потерпілого?
Правильна відповідь: у блокчейні цього не написано. Токени не мають ідентичності; баланс — це число, а не набір позначених монет. Будь-яка відповідь є застосуванням правила віднесення, і саме правило треба обрати, назвати й обґрунтувати.
Методи віднесення. У жодному з них немає «правильного за замовчуванням» — є той, який ви обрали і за який відповідаєте.
| Метод | Як рахує | Коли доречний | Слабке місце |
|---|---|---|---|
| Перший увійшов — перший вийшов | Вихідні кошти відносяться до найраніших надходжень | Прості лінійні маршрути з коротким інтервалом | Легко ламається штучним порядком операцій |
| Останній увійшов — перший вийшов | Вихідні кошти відносяться до найпізніших надходжень | Коли вихід відбувся одразу після цільового надходження | Довільність вибору потребує окремого обґрунтування |
| Пропорційне віднесення | Кожен вихід містить частки джерел пропорційно до балансу | Довготривале змішування, багато джерел | «Забруднює» весь подальший граф дрібними частками |
| Отруєння балансу | Увесь баланс і всі виходи вважаються зачепленими | Оперативна оцінка ризику, не доказування | Для процесуального документа непридатний: перебільшує |
| Мінімальна гарантована частка | Береться найменша можлива частка за всіх допущень | Коли потрібна цифра, яку неможливо оскаржити вниз | Занижує реальний обсяг |
| Комбінований | Основний метод + перевірка альтернативним | Складні маршрути; демонструє стійкість висновку | Потребує більше роботи й чіткого викладу |
Практичний прийом, який рятує звіт: порахувати двома методами і показати обидва результати. Якщо висновок не змінюється — ви щойно продемонстрували стійкість. Якщо змінюється — ви дізналися про це раніше за захист.
Вендорська аналітика: що це насправді за доказ
Комерційні платформи трасування — необхідний робочий інструмент. Але те, що вони видають, поділяється на три різні за природою речі, і плутати їх не можна.
- Відображення ончейн-даних. Транзакції, суми, час. Це факт, і його можна перевірити незалежно у вузлі або оглядачі. Так і треба робити для кожної ключової транзакції.
- Результат евристик. Об'єднання адрес у кластери. Це припущення, і методика його побудови вам зазвичай недоступна повністю.
- Атрибуція. Підпис «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. Матеріали для відтворення
Експорти, запити, скрипти, перелік кроків. Критерій готовності простий: інша компетентна особа, отримавши цей пакет і не маючи доступу до вас, повторює результат.
Практичний висновок: алгоритм трасування
- Зафіксуйте вихідну точку і дату зрізу. Без цього результат неповторюваний.
- Ідіть уперед по одному переходу, для кожного одразу записуючи опору. Не будуйте граф спочатку і не «підшивайте докази» потім — так виникають ребра без опори.
- Дійшовши до змішування, зупиніться й оберіть метод віднесення. Запишіть вибір і причину. Порахуйте другим методом для перевірки.
- Дійшовши до постачальника послуг, зупиніть ончейн-аналіз. Далі слід іде через запит, а не через блокчейн (заняття 3).
- Дійшовши до розриву — міксер, міст, обмінний сервіс — не пишіть «слід втрачено». Опишіть, що саме розірвано і які канали лишаються (заняття 4).
- Перед здачею перевірте кожне ключове ребро незалежно від інструмента, у публічному вузлі або оглядачі, з дотриманням правил безпеки щодо розголошення.
- Пройдіться по звіту і викресліть кожне твердження, під яким немає опори. Те, що залишиться, і є ваш результат.
Самоперевірка
Оберіть варіант — відкриється розбір усіх варіантів.
Питання 1 Транзакція в Bitcoin витрачає одночасно виходи з трьох різних адрес. Що це доводить?
Правильно — другий. Точне формулювання того, що встановлено технічно: наявність ключів у того, хто підписував. Далі йдуть окремі питання: чи це одна особа, чи не є транзакція результатом спільного підпису кількох незалежних учасників, чи не працює тут сервіс, який навмисно об'єднує входи.
Перший — той самий висновок, але без застережень: типова помилка «евристика подана як факт». Третій — протилежна крайність: спільне витрачання є найсильнішою з евристик, і зневажати ним не варто; правильна поведінка — застосувати і назвати. Четвертий — довільне припущення, яке ні з чого не випливає.
Питання 2 На адресу надійшло 30 одиниць від потерпілого і 70 з непов'язаного джерела. Далі вийшло 40. Скільки з них — кошти потерпілого?
Правильно — третій. У блокчейні відповіді немає: токени не мають ідентичності. Будь-яке число тут — результат правила, яке ви застосували. Тому в звіті пишеться не «вийшло X коштів потерпілого», а «за методом пропорційного віднесення — X; за методом «перший увійшов — перший вийшов» — Y».
Перший мовчки застосовує «перший увійшов — перший вийшов», не називаючи його. Другий так само мовчки застосовує пропорційний метод: арифметика правильна, помилка в тому, що метод не задекларовано. Четвертий — метод отруєння балансу: придатний для оперативної оцінки ризику, але в процесуальному документі перебільшує обсяг і легко спростовується.
Питання 3 Аналітичний інструмент позначив адресу як «High Risk». Що ви пишете в довідці?
Правильно — другий. Мітка є фактом про висновок інструмента, а не про адресу. Тому фіксується саме те, що є: хто, коли, якої версії, яку категорію присвоїв. Далі — напрям перевірки.
Перший перетворює чужий висновок на встановлену обставину. Третій зайво суворий: мітка — цінний оперативний орієнтир, її треба зафіксувати, просто в правильному статусі. Четвертий здається обережним, але додає хибної ваги: якщо два інструменти спираються на перетинні джерела атрибуції, це не незалежна перевірка. Незалежним підтвердженням буде відповідь самого постачальника послуг.
Питання 4 Ви працюєте з USDT у мережі TRON і хочете об'єднати адреси в кластер за евристикою спільного витрачання входів. Що не так?
Правильно — другий. Евристики спільного витрачання і адреси решти виводяться з будови UTXO-транзакції. У TRON, Ethereum і подібних мережах такої будови немає, отже, немає і підстави. Перенесення висновків звідти — поширена і дуже вразлива помилка, надто з огляду на те, що більшість сучасних потоків — це саме стейблкоїни в account-мережах.
Перший — саме та помилка. Третій плутає причину з параметром: справа не в швидкості мережі. Четвертий — надмірний висновок: кластеризація в цих мережах можлива, просто на інших ознаках і зазвичай зі слабшою опорою, яку треба чесно позначати.