Оголошення про відкритий реєстр: чому кожного твого переводу можна буде прослідкувати 💰
У кожного з нас є своє уявлення про анонімність блокчейн-реєстру. Але чому ж тоді кожного твого переводу можна прослідкувати? На це питання відповідають спеціальні інструменти, які називаються ончейн-аналіз або блокчейн-підслідковування 📊
У цій статті ми розповімо про основні принципи ончейн-аналізу. Понадто ми пояснимо, як використовувати різні інструменти для аналізу транзакцій, які відбуваються на блокчейні.
Часть 1. Аналізуємо транзакції вручну: кроки по кроки Шаг 1. Шукаємо транзакцію за її ідентифікатором TXID 📍. У кожного переводу в блокчейні є свій унікальний ідентифікатор – TXID. Він утворюється шляхом збирання всіх даних перевода, зокрема входів, виходів, сум та підписів, і потім їхньої обробки за допомогою алгоритму SHA-256. Змініючи навіть одну літеру даних, отримаємо зовсім іншу стрічку, тому TXID двох одинакових переводів ніколи не буде.
Як отримати цей ідентифікатор залежить від того, на що вже володіє людина: якщо вже здійснено перевід, його можна відкрити в історії свого кошелька або біржі. Як правило, біля неї знаходиться посилання на сторінку з усіма деталями переводу, де ідентифікатор вказаний целиком; якщо володіє тільки адресом відправника чи отримувача, його можна вставити в строку пошуку блокчейн-обзорника (експлорера). Відкриється історія адреси зі всіма переводами, потрібну транзакцію можна розпізнати за сумою та датою, а її ідентифікатор – знайти на сторінці самої транзакції.
Часть 2. Створюємо потік даних: робота інструментів Шаг 2. Розбіраємо вміст транзакції: входи, виходи та залишок 🤑. У порівнянні з традиційними банківськими рахунками, блокчейн працює на основі моделі (unspent transaction output, UTXO), згідно якої засоби існування мають окремі «купюри» різної номінації. Кошельок лише володіє ключами до цих купюр. Обсяг вільних коштів ураховується шляхом сумування всіх вільних UTXO, які належать власнику.
Надто важливе: виплату окремої частини окремої купюри зробити неможливо! При здійсненні виплати така купюра потрапляє до транзакції цілком, а на її місці створюються дві нові: для отримувача та залишку для відправника на новий адрес.
Простий приклад: Аліса має вільну купюру на 5 BTC та здійснює виплату Бобові 0,01 BTC. У підсумку у сіті з’являються вход на 5 BTC, виплата Бобові 0,01 BTC та залишок 4,99 BTC (ураховано комісію).
Часть 3. Трейсінг і його обмеження
Трейсінг похищених монет і аналіз транзакцій: вершина автоматизації Шаг 1. Поняття блокчейн-форензика: повторюємо логіку ручного аналізу, але застосовуємо її масштабно 💰. На основі кластеризації адрес за спеціальними правилами (евристиками) розроблені дві особливо важливі евристики:
1) якщо в одній транзакції використовуються кілька вільних UTXO, їх дуже ймовірно належить одному власнику;
2) визначення адреси залишку: за особливим особливою ознакою – круглова операція проти дрібної виплати – спеціальний механізм підрахунків встановлює, яка з виплат повертається відправнику.
Надто важливе: навіть найбільші спеціалізовані системи мають обмеження щодо точності своїх висновків. Тому ніколи не можна бути повністю впевненим, що всі дані вірні. Більш того, навіть спеціалізовані системи можуть робити помилки 💔
Часть 4. Заключення
Понадто важливе: навіть найкращі інструменти ніколи не зможуть гарантувати 100% достовірності своїх висновків. Дуже ймовірно, що навіть у найкращих випадках виникнуть помилки, особливо при виконанні особливо складних операцій. Тому завжди краще перевіряти всі дані особисто 😊
За матеріалами ForkLog