В епоху цифрових технологій криптовалюти здобули популярність як інструмент для інвестицій та фінансових операцій. Однак із зростанням їх використання зросла й кількість пов'язаних з ними злочинів.
Особливу увагу приділяють біткоїну — піринговій платіжній системі, що використовує однойменну одиницю для обліку операцій. Як і будь-яка інша платіжна система, біткоїн може бути використаний для різних протиправних дій, таких як шахрайство, фінансування тероризму та відмивання грошей. Примітно, що активність транзакцій у біткоїнах зазвичай вища, ніж в інших криптовалютах, за винятком Ethereum. Саме тому ця платіжна система привертає особливу увагу правоохоронних органів та експертів з кібербезпеки.
Один із ефективних інструментів для виявлення та аналізу протиправних дій у криптовалютному просторі — це візуалізація блокчейна, яка дозволяє наочно представити складні структури даних та виявити взаємозв'язки між різними транзакціями.
В МТУСІ розробили методику візуалізації блокчейна мережі біткоїн для пошуку доказів скоєння злочинів. Над методикою працювали: Ванюшина Анна Вячеславівна — кандидат технічних наук, доцент кафедри «Інформаційна безпека» МТУСІ; Осін Андрій Володимирович — кандидат технічних наук, доцент кафедри «Інформаційна безпека» МТУСІ та Киямов Марат Мулланурович — магістрант кафедри «Інформаційна безпека» МТУСІ.
Особливість дослідження полягає в розробці нових підходів до аналізу даних про транзакції в блокчейнах, які дозволяють візуалізувати та аналізувати потоки коштів, виявляти взаємозв'язки між учасниками мережі та особливості структури даних. Одним із багатьох видів візуалізації даних у галузі комп'ютерних наук є візуалізація графів.
«Деякі реалізації блокчейна використовують графову структуру для зберігання транзакцій замість ланцюга блоків, де вузли представляють адреси (від облікового запису до облікового запису), а ребра — самі транзакції (суми переказів). Візуалізація графів дозволяє наочно показати, як активи передаються від одного облікового запису до іншого в блокчейні постачань та досягти вищої продуктивності та масштабованості», — пояснила Анна Вячеславівна.
«Напрямлений ациклічний граф (DAG) і блокчейн мають певну схожість, обидва використовуються для представлення процесів зберігання даних і виконання транзакцій. Тому використання DAG допомагає підвищити якість і інтерпретованість при візуалізації, а отже, допомагає при проведенні розслідувань злочинів, пов'язаних із застосуванням платежів у криптовалюті», — зазначив Андрій Володимирович.
Для побудови графів були розроблені нові алгоритми, засновані на різних деталях записів про транзакції. Було запропоновано моделі графів, які містять вершини та направлені ребра, що з'єднують вихідні та цільові точки з різними відносинами.
1. Граф транзакцій біткоїн-транзакцій, який показує зв'язки між транзакціями та їх входами-виходами.
2. Граф адрес, який представляє зв'язки між адресами гаманців у мережі біткоїн.
3. Граф потоку коштів, який показує рух коштів між двома зовнішньо керованими рахунками (EOA) у блокчейні.
Методи побудови графів були протестовані на фактичних даних мереж Bitcoin і Ethereum.
«Для оцінки використовувалися транзакційні дані Bitcoin, завантажені з ядра Bitcoin. Ми встановили локальний вузол Bitcoin і зібрали близько 25,7 МБ даних, включаючи 46 700 блоків і відповідні транзакції. Дані Ethereum були завантажені з набору даних Ethereum XBlock pro (блоки, транзакції, інформація про контракти та виклики, ERC20 та ERC721). Дані, завантажені з ядра Bitcoin, представлені в бінарному форматі (.bat), оскільки вони не можуть бути використані безпосередньо для побудови графів. Ми використовували Bitcoin ETL, бібліотеку на основі Python, для перетворення бінарних даних у стиснутий формат JSON. Файли JSON були завантажені, і необхідні характеристики були витягнуті. Потім графи були побудовані з застосуванням алгоритмів і завантажені в графову базу даних Neo4j для візуалізації», — розповів Марат Мулланурович.
В результаті дослідження пропонується узагальнений алгоритм побудови графів для аналізу транзакцій у мережі блокчейн:
1. Збір даних про транзакції з обраного блокчейн-експлорера.
2. Ініціалізація графа, яка полягає в створенні порожнього орієнтованого графа для аналізу.
3. Додавання вершин (вузлів) для кожного елемента, який необхідно проаналізувати (наприклад, транзакції, адреси гаманців або рахунки).
4. Додавання ребер (зв'язків) для кожної транзакції або елемента даних між відповідними вершинами в графі. Для цього необхідно проаналізувати входи та виходи транзакцій або зв'язки між адресами гаманців і рахунками.
5. Проаналізувати отриманий граф для виявлення зв'язків та паттернів. Для візуалізації графа можна використовувати бібліотеки для роботи з графами, такі як NetworkX для Python.
6. Додаткові кроки (залежно від типу графа):
– Для графа транзакцій: можна додати ваги ребер (наприклад, суму транзакції) або мітки вершин (наприклад, ідентифікатор відправника або отримувача).
– Для графа адрес: можна додати інформацію про кількість транзакцій між кожним адресом або про суму транзакцій між ними.
– Для графа потоку коштів: можна додати мітки ребер (наприклад, дату транзакції) або інформацію про кількість переданих коштів.
Цей алгоритм можна адаптувати для побудови різних графів у мережі блокчейн залежно від цілей аналізу.
Дослідження показало, що візуалізація блокчейна є ефективним інструментом для боротьби зі злочинною діяльністю.
Результати дослідження можуть бути використані для розробки нових інструментів і платформ, які допоможуть у боротьбі зі злочинною діяльністю та покращенні безпеки блокчейн-систем.