МОДЕЛЬ ВЫЯВЛЕНИЯ АНОМАЛЬНЫХ ТРАНЗАКЦИЙ БИТКОИНОВ НА ОСНОВЕ МАШИННОГО ОБУЧЕНИЯ

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

Челябинский физико-математический журнал. 2021. Т. 6, вып. 1. С. 119-132.

УДК 004.056+004.94+004.89 DOI: 10.47475/2500-0101-2021-16110

МОДЕЛЬ ВЫЯВЛЕНИЯ АНОМАЛЬНЫХ ТРАНЗАКЦИЙ БИТКОИНОВ НА ОСНОВЕ МАШИННОГО ОБУЧЕНИЯ

Е. В. Фельдман1, А. Н. Ручай1,2а, В. К. Матвеева1, В. Д. Самсонова1

1 Челябинский государственный университет, Челябинск, Россия 2Южно-Уральский государственный университет (национальный исследовательский университет), Челябинск, Россия aran@csu.ru

Данная статья посвящена разработке надёжной модели выявления аномальных транзакций биткоинов, которые могут участвовать в схемах «отмывания» денег и нелегального оборота товаров и услуг. Предложена модель выявления аномальных транзакций биткоинов на основе машинного обучения. Для обучения и оценки модели используется набор данных Elliptic, состоящий из 46 564 транзакций биткоинов: 4 545 имеют класс «незаконные», 42 019 имеют класс «законные». В предлагаемой модели использованы различные алгоритмы машинного обучения с подбором гиперпараметров. Для оценки предложенной модели использовалась метрика «доля верных ответов», точность, полнота, Fl-метрика и индекс сбалансированной точности. С помощью алгоритма ресемплинга в условиях несбалансированности классов удалось повысить надёжность классификации аномальных транзакций биткоинов по сравнению с лучшим известным результатом на наборе данных Elliptic.

Ключевые слова: транзакция биткоинов, классификация, выявления аномальных транзакций, машинное обучение.

Введение

Появление первой криптовалюты биткоинов в 2008 году вызвало технологический и предпринимательский интерес к платежам на основе криптографических методов (цифровая подпись и хеш-функция) и распределённого хранения транзакций (блокчейн). Главным преимуществом криптовалюты стало обеспечение анонимных, недорогих переводов наличных денег как внутри страны, так и через границы. Однако преступники активно начали использовать анонимность криптовалюты для нелегального оборота товаров и услуг.

Борьба с отмыванием денег (Anti-money laundering, AML) играет решающую роль не только в обеспечении безопасности финансовых систем, но и служит цели выявления нелегального оборота товаров и услуг. Появление криптовалют породило парадокс: анонимность позволяет преступникам скрываться, но открытая база транзакций криптовалют позволяет проводить криминалистический анализ, или AML-аналитику. Задачей AML-аналитики является выявление аномальных транзакций, которое может происходить с помощью надёжной классификации небольшого числа нелегальных транзакций в массивных, постоянно растущих наборах

данных. Ручной или полуавтоматический анализ транзакций даёт существенную погрешность, между тем успехи в машинном обучении показывают большие перспективы применения его для AML-анализа [1].

Данная статья посвящена разработке модели выявления аномальных транзакций биткоинов, которые могут участвовать в схемах «отмывания» денег и нелегального оборота товаров и услуг. Мы используем набор данных Elliptic [2], состоящий из более чем 200 тысяч транзакций биткоинов (узлы), 234 тысяч направленных платежей (рёбра) и 166 узловых функций, в том числе основанных на непубличных данных.

В статье [1] для выявления аномальных транзакций биткоинов использовались методы машинного обучения для задачи бинарной классификации, предсказывающей нелегальные транзакции на основе логистической регрессии, случайного леса, многослойных персептронов и графа свёрточных сетей. Граф свёрточных сетей появился в качестве потенциального инструмента для AML-анализа и представляет особый интерес в качестве нового метода сбора и анализа транзакций [1]. Результаты работы [1] показывают превосходство использования случайного леса над другими подходами, однако И-метрика, равная 0.796 для построенного классификатора на основе случайного леса, не достаточна для того, чтобы говорить о надёжной классификации аномальных транзакций биткоинов.

В данной статье в предлагаемой модели выявления аномальных транзакций бит-коинов были использованы следующие алгоритмы машинного обучения: линейная регрессия, квадратичная регрессия, логистическая регрессия, k-ближайших соседей, деревья решений, случайный лес, наивный байесовский классификатор, метод опорных векторов, классификатор на основе многослойных персептронов, линейный дискриминантный анализ, квадратичный дискриминантный анализ, адаптивный бустинг. Кроме того, в работе были использованы методы оптимизации гиперпараметров для алгоритмов машинного обучения, что позволяет повысить надёжность классификации.

Было сделано важное наблюдение о том, что набор данных Elliptic является несбалансированным (4 545 «незаконных» и 42 019 «законных» транзакций). Поэтому были выполнены эксперименты по повышению надёжности классификации аномальных транзакций биткоинов с помощью алгоритмов ресемплинга в условиях несбалансированности классов. Благодаря этому удалось повысить надёжность классификации аномальных транзакций биткоинов по сравнению с лучшим известным результатом на наборе данных Elliptic [1].

1. Обзор подходов анализа транзакций биткоинов

В работе [3] описывается набор инструментов для криминалистического анализа транзакций биткоинов. Набор инструментов представляет собой модульный расширяемый фреймворк, в который входят: Bitcore Node — «полноузловой» биткоин-клиент, хранящий информацию о транзакциях; Bitcoin Addresses Scraper — инструмент для поиска биткоин-дресов на веб-страницах с целью деанонимизации их владельцев; Mixing Services Detector — детектор сервисов «смешивания» транзакций; BlockChainVis — инструмент для визуализации данных о транзакциях, предназначенный для облегчения работы криминалистов; а также модуль кластеризации биткоин-адресов (Bitcoin Addresses Clusteriser), который необходим для поиска группы адресов, принадлежащих одному и тому же пользователю. Модуль кластеризации биткоин-адресов использует в ходе работы ряд эвристик, а также их

комбинаций. База данных, над которой производилось исследование, не представлена.

Авторы [4] описывают алгоритм обработки больших неструктурированных данных в рамках задачи выявления факта незаконного оборота денег. Однако база данных, над которой производилось исследование, также не представлена.

В работе [5] описывается метод обнаружения транзакций, используемых в сервисах смешивания транзакций блокчейн (Blockchain Mixer) специального типа, с помощью построения направленного ациклического графа транзакций, в котором узлы — транзакции, а рёбра — потоки биткоинов между транзакциями. Для решения задачи разработана математическая модель, которая в ходе исследования показала, что она позволяет определить факт участия пользователя в создании транзакции, что даёт дополнительные преимущества в процессе обнаружения транзакций, связанных со схемами отмывания денег. База данных, над которой производилось исследование, не представлена.

Авторы [6] предложили математическую модель для анализа биткоин-транзакций на основе скрытой марковской модели, метод определения вероятностей перехода между биткоин-адресами. Марковская модель представляет собой стохастический случайный процесс в виде ориентированного графа, в котором вероятности перехода состояний зависят только от предыдущего состояния. В так называемой скрытой марковской модели состояния либо скрыты, либо неочевидны. При рассмотрении транзакций биткоинов наблюдения представляют собой временной ряд транзакций между узлами. Исследования производились не над реальными данными, а над искусственно сгенерированным блокчейном, в котором нужные транзакции всегда входят в блок вне зависимости от суммы. База данных, над которой производилось исследование, не представлена.

Авторы [7] анализируют методы выявления случаев отмывания денег на основе технологий обработки больших данных (Big Data), реализуемых, например, в комплексных системах решения задач противодействия легализации и отмыванию доходов, полученных преступным путём (SAS Anti-Money Laundering System, SAS AML). Рассматривается представление данных в виде графа. Реализованы необходимые программные модули. База данных, над которой производилось исследование, не представлена.

В статье [8] описываются результаты применения машинного обучения для решения задачи деанонимизации пользователей биткоина. В исследовании используются данные, предоставленные компанией Chainalysis. База данных предварительно обработана и включает в себя 56 категорий, связанных с незаконной деятельностью, и всего 957 различных категорий. Задача сводится к поиску наиболее эффективного алгоритма классификации для обработанных данных. В результате наилучшим признаётся метод градиентного бустинга (gradient boosting). База данных, над которой производилось исследование, не представлена.

2. Набор данных

Существует несколько возможных способов представления блокчейна биткоина в виде графа. Самый простой из них — это граф, в котором узлы представляют собой транзакции, а рёбра — поток биткоинов между одной и другой транзакцией. В этом представлении блокчейн биткоина — это направленный ациклический граф. За исключением граничных случаев, когда несколько выходов транзакции впоследствии расходуются как входы одной и той же транзакции, степень входа узла даёт число входов транзакции, степень выхода — число выходов, которые были

израсходованы. Единственными узлами без входящих рёбер являются транзакции «coinbase», то есть вновь созданные биткоины, впервые включённые в блокчейн.

С каждой транзакцией связана временная метка, представляющая примерное время, когда транзакция транслируется в сеть биткоинов. Это позволяет включить временную информацию в визуализацию графика. Вознаграждение за добычу нового блока в настоящее время составляет 12.5 биткоина (апрель 2020 года). На сегодняшний день граф транзакций биткоина состоит из более чем 438 миллионов узлов и 1.1 миллиарда рёбер. Это постоянно растущий граф, поскольку каждый день происходит около 350 тысяч новых подтверждённых транзакций биткоина.

Набор данных Elliptic является подграфом графа всех транзакций биткоина, состоящим из 203 769 узлов и 234 355 рёбер. Вместе с информацией о графе в наборе данных Elliptic содержится информация о классе узла: «законные», «незаконные» или «неизвестные». Узел считается «законным» или «незаконным», если соответствующая транзакция была создана субъектом, принадлежащим к законному (биржи, поставщики кошельков, майнеры, поставщики финансовых услуг и т. д.) или незаконному (мошенничество, вредоносные программы, террористические организации, программы-вымогатели, финансовые пирамиды, наркоторговцы и т. д.) классу соответственно.

Задача состоит в том, чтобы классифицировать «законные» и «незаконные» транзакции, учитывая набор объектов и топологию графа. Поскольку не все узлы помечены, к проблеме можно подойти в полуконтролируемом режиме, который включает информацию, переносимую немаркированными узлами.

Всего 2% (4 545) узлов имеют класс «незаконные», 21% (42 019) имеют класс «законные», остальные 77% транзакций (157205) имеют класс «неизвестные».

Временная информация в графе кодируется шагом от 1 до 49, измеряющим фактическую временную метку транзакции. Временные шаги равномерно распределены с интервалом около двух недель; каждый из них содержит один связанный компонент транзакций, которые появились в блокчейне менее чем за три часа между собой. Также в графе возможно отсутствие рёбер, соединяющих различные временные шаги. Каждая связанная компонента графа состоит из 1 000-8 000 узлов. Большинство узлов относятся к классу «неизвестный».

С каждым узлом связано 166 признаков. Первые 94 признака представляют локальную информацию о транзакции, включая: временной шаг, количество входов и выходов, комиссию за транзакцию, объём выпуска, и агрегированные показатели, такие как среднее количество биткоинов, полученное и потраченное входами и выходами, среднее количество входящих и исходящих транзакций, связанных с входами и выходами. Остальные 72 признака, называемые агрегированными признаками, получаются путём агрегирования информации о транзакциях на один шаг назад/вперёд от центрального узла, дающего максимальное, минимальное, стандартное отклонение и коэффициенты корреляции соседних транзакций для тех же информационных данных (количество входов и выходов, плата за транзакцию и т. д.).

Статья [1] представлена исследователями IBM Марком Вебером и Джакомо До-меникони на семинаре по обнаружению аномалий в финансах в рамках конференции Knowledge Discovery and Data Mining Conference (KDD) 5 августа 2019 года, ведущей конференции по искусственному интеллекту. В статье изложены ранние экспериментальные результаты с использованием различных алгоритмов машинного обучения: от стандартных классификационных моделей (логистическая регрессия, случайный лес, многослойный персептрон) до более сложных, таких как графовые

свёрточные сети (GCN). В статье подробно сравниваются указанные различные модели и изучается эффект включения информации из графов в табличном формате в стандартные методы классификации. Из этой работы можно сделать несколько выводов:

1. включение нелокальной информации, в частности информации о соседях центрального узла, всегда улучшает производительность моделей;

2. стандартные (не основанные на графах) модели классификации выигрывают от использования дополнительных функций, предоставляемых вложениями GCN;

3. случайный лес является лучшей классификационной моделью для этой задачи.

Тот факт, что модель GCN оказалась не самой эффективной, является интересным открытием. На наборе данных Elliptic GCN работает значительно лучше, чем логистическая регрессия, но хуже, чем случайный лес. Как было предложено в статье [1], незначительного улучшения результатов можно достичь при объединении возможностей алгоритмов обучения графов (таких как GCN) с деревьями решений или случайным лесом.

Другой проблемой набора данных Elliptic является временная динамика появления и исчезновения новых сущностей в блокчейне. Примером может служить закрытие так называемого тёмного рынка (Dark Market), когда ни одна из моделей не работает хорошо после этого события по причине внезапных изменений в базовом поведении системы.

3. Модель выявления аномальных транзакций биткоинов с помощью машинного обучения

Модель выявления аномальных транзакций биткоинов может быть построена с помощью машинного обучения с учителем [9-11]. Машинное обучение с учителем использует помеченные обучающие данные (x, y) для определения целевой функции f, где x — вектор входных признаков и y — выходная метка. Алгоритм обучения обобщает отношение между вектором признаков и меткой в обучающих данных для новых экземпляров, чтобы правильно определять их метки.

Пусть {(xi,yi),... , (xn,yn)} — помеченный обучающий набор данных, где xi = (xj,i,... , xi,d) G X для 1 < i < n — вектор признаков для xi и yi G Y — его соответствующая метка. В обучении с учителем цель состоит в том, чтобы найти целевую функцию для набора меток, используя обучающий набор данных. Предполагается, что (xi,yi) независимы и одинаково распределены. Предполагаемая целевая функция может быть оценена с помощью её прогнозирующей способности на тестовых данных. Если метки Y G R или Y G Rd являются непрерывными действительными значениями или векторами над действительными значениями, то модель машинного обучения является регрессией. Если метки представляют собой дискретные значения или символы, то модель машинного обучения называется классификацией.

Задачей машинного обучения является поиск целевой функции f : X ^ Y, где X — набор входных данных и Y — набор выходных переменных. Процесс поиска этой целевой функции f называется обучением с учителем или построением модели. Целевая функция может быть найдена только при наличии достаточного количества помеченных данных. Поскольку найти точную целевую функцию сложно, на практике она аппроксимируется приближённой функцией. Процесс обучения

на самом деле включает в себя поиск функции h, которая наилучшим образом аппроксимирует неизвестную целевую функцию f. Обучение модели выполняется с использованием обучающего набора, представляющего собой репрезентативный набор данных, который случайным образом берётся из общего набора данных. Обычно для обучения используется 70 % данных. Затем параметры модели настраиваются с использованием валидационного набора, обычно для валидационного набора берётся 20 % обучающих данных. Наконец, фактическая предсказательная способность модели проверяется с использованием тестового набора, обычно для тестового набора берётся 30 % данных.

В модели выявления аномальных транзакций биткоинов есть набор данных M, который состоит из n = 46 564 транзакций, а метка является двоичной переменной («незаконные» или «законные»). Класс «неизвестные» транзакции мы рассматривать не будем. Пусть метка 0 указывает на «законную» транзакцию, а метка 1 указывает на «незаконную» транзакцию. С каждой транзакцией m связан вектор признаков, состоящий из 94 признаков локальной информации и из 72 агрегированных признаков. Целевой функции f требуется определить, является ли конкретный узел m «незаконным» (1) или «законным» (0). Функция f на M может быть найдена с помощью одного из алгоритмов машинного обучения для набора из n помеченных узлов {(mi, l1), (m2, l2), (mn, ln)}, где mi G M и li G {0,1} для 1 < i < n.

В работе были использованы следующие алгоритмы машинного обучения для задачи выявления аномальных транзакций биткоинов: линейная регрессия; квадратичная регрессия; логистическая регрессия; k-ближайших соседей; деревья решений; случайный лес; наивный байесовский классификатор; метод опорных векторов; классификатор на основе многослойных персептронов; линейный дискри-минантный анализ; квадратичный дискриминантный анализ; адаптивный бустинг; градиентный бустинг.

Рассмотрим общие метрики оценки, используемые в моделях машинного обучения, при этом полагаем, что классификация является бинарной на положительный («незаконный») и отрицательный («законный») классы.

Доля правильных ответов (Accuracy) — показатель того, как часто классификатор делает правильные предсказания, и равен

TP + TN TP + TN + FP + FN,

где TP — число верноположительных результатов, когда экземпляр положительного класса корректно предсказывается моделью как принадлежащий к положительному классу; TN — число верноотрицательных результатов, когда экземпляр отрицательного класса корректно предсказывается моделью как принадлежащий к отрицательному классу; FP — число ложноположительных результатов, когда экземпляр отрицательного класса неверно предсказан моделью как принадлежащий к положительному классу; FN — число ложноотрицательных результатов, когда экземпляр положительного класса неверно предсказан моделью как принадлежащий к отрицательному классу.

Точность (Précision) — это показатель

TP TP + FP,

который измеряет частоту правильности классификатора, когда он правильно предсказывает положительную метку класса для положительного класса.

Полнота (Recall) — это показатель

TP

TP + FN

который оценивает способность классификатора правильно предсказывать положительный класс, то есть как часто классификатор предсказывает метку положительного класса для данных, когда данные действительно принадлежат положительному классу.

Fl-метрика (F1 Score) — гармоническое среднее точности и полноты, которая может быть рассчитана как

PrecisionRecall

F 1 = 2

Precision + Recall

Fl-метрика достигает своего лучшего значения в 1, а худшего — в 0.

Замечено, что данные в наборе Elliptic являются несбалансированными (4 545 «незаконные» и 42 019 «законные»). Класс будем называть миноритарным, когда в наборе данных доля экземпляров некоторого класса слишком мала, а другой класс — мажоритарным, когда он сильно представлен в наборе данных.

Одним из подходов для решения проблемы несбалансированности данных является применение различных стратегий ресемплинга (resampling). Восстановление баланса классов может происходить двумя путями. В первом случае удаляют некоторое количество экземпляров мажоритарного класса (undersampling), во втором — увеличивают количество экземпляров миноритарного класса с помощью синтетических данных (oversampling).

Для решения проблемы несбалансированности данных был выбран алгоритм TomekLinks [12], в котором все мажоритарные экземпляры, входящие в связи То-мека, должны быть удалены из набора данных. Связи Томека можно определить следующим образом. Пусть Ei = (xi,yi) и Ej = (xj,yj) — два экземпляра из разных классов, где yi = yj, а d(E,i,Ej) — расстояние между Ei и Ej. Тогда пара (Ei,Ej) называется связью Томека, если нет Ei, такого, что d(Ei,Ei) < d(Ei,Ej) или d(Ej, Ei) < d(Ei, Ej). Алгоритм TomekLinks хорошо удаляет экземпляры, которые можно рассматривать в качестве зашумленных.

Геометрическое среднее (Geometric mean (Gmean)) — это показатель \/TP + TN, который используется для максимизации верноположительных и вер-ноотрицательных результатов классификаций, при этом сохраняя баланс между ними. Стоит отметить, что геометрическое среднее приводит к минимуму негативное влияние перекосов распределения классов, но оно не может объяснить вклад каждого класса в общие показатели, давая одинаковый результат для разных комбинаций TP и TN.

Доминирование (Dominance) — это показатель TP — TN, который используется для оценки отношения между TP и TN.

В статье [13] была предложена метрика «индекс сбалансированной точности» (Index of Balanced Accuracy, IBA) для оценки бинарного классификатора в случае с несбалансированными данными, который может быть найден как

IB A = (1 + Dominance) • Gmean2.

При замене Dominance и Gmean итоговая формула предоставляет полезную информацию для лучшего понимания того, как IBA поддерживает компромисс между

Dominance и Gmean, кроме того можно добавить взвешенный параметр 0 < а < 1 для Dominance

IBA = (1 + a(TP - TN))  TP  TN. Однако, если а = 0, то IBA превращается в точности в Gmean2.

4. Результаты экспериментов

Для реализации алгоритма классификации транзакций биткоина с помощью машинного обучения использовался язык программирования Python 3, так как он лучше всего подходит для выполнения таких задач и у него отличная производительность при обработке данных. Более того, в Python есть множество фреймвор-ков и библиотек, которые упрощают процесс написания кода и сокращают время на разработку.

Для работы с данными была выбрана библиотека Pandas, которая использует высокоуровневые структуры данных. В ней есть встроенные методы для группировки, комбинирования и фильтрации данных. Pandas позволяет извлекать данные из различных источников, таких как базы данных SQL, файлы CSV, Excel, JSON, и манипулировать этими данными для осуществления операций с ними.

Для решения задачи классификации используются алгоритмы машинного обучения из библиотеки SciKit-Learn (SKlearn) [14], в работе были использованы следующие алгоритмы машинного обучения для классификации аномальных транзакций: логистическая регрессия (LogisticRegression), случайный лес (RandomForestClassifier), дерево решений (DecisionTreeClassifier), метод опорных векторов (SVC), метод k-ближайших соседей (KNeighborsClassifier), классификатор на основе многослойных персептронов (MLPClassifier), адаптивный бустинг (AdaBoostClassifier).

Часть алгоритмов машинного обучения дали плохие результаты, и поэтому дальше в статье не будут приведены результаты и сравнение следующих алгоритмов машинного обучения: линейная регрессия, квадратичная регрессия, линейный дискриминантный анализ, квадратичный дискриминантный анализ, наивный байесовский классификатор.

Также мы использовали следующие алгоритмы машинного обучения для решения задачи классификации: CatBoostClassifier из открытой библиотеки, реализующий уникальный патентованный алгоритм построения моделей машинного обучения на основе оригинальных схем градиентного бустинга, CatBoost [15]; XGBClassifier из библиотеки масштабируемого градиентного бустинга XGBoost [16]; LGBMClassifier из библиотеки градиентного бустинга LightGBM [17].

В качестве тестовой и обучающей выборок были отобраны транзакции, помеченные как «законные» или «незаконные» в соотношении 3:7 соответственно. С помощью выбранных алгоритмов была обучена модель выявления аномальных транзакций биткоинов, и для оценки надежности обученных моделей были рассчитаны метрики: доля верных ответов (accuracy), точность (precision), полнота (recall), F1-метрика (F1 Score) и индекс сбалансированной точности (IBA).

В табл. 1 представлены результаты надёжности алгоритмов классификации на тестовой выборке, где метрики «точность» (precision), «полнота» (recall), F1-метрика (F1 Score) указаны только для класса «незаконные» транзакции, так как для оценки эффективности детектирования транзакций в большей степени важно анализировать ошибки для класса «незаконные» транзакции.

Из результатов, представленных в табл. 1, видно, что наилучшим алгоритмом классификации является алгоритм градиентного бустинга CatBoostClassifier с F1-метрикой, равной 0.791, и с долей верных ответов 0.9780. Однако полученные результаты немного уступают лучшему результату из статьи [1], где алгоритм случайного леса (RandomForest) имеет F1-метрику, равную 0.796, и долю верных ответов 0.9780. При этом в статье [1] для обучения модели на основе алгоритма случайного леса (RandomForest) были использованы дополнительные признаки, извлечённые с помощью графовой свёрточной сети (GCN).

Таблица 1

Результаты надёжности алгоритмов классификации на тестовой выборке с помощью оценки метрики доли верных ответов (accuracy), точности (precision),

полноты

указаны только для класса «незаконные транзакции»

Алгоритм «Незаконные» транзакции Accuracy IBA

Precision Recall F1 Score

RandomForestClassifier 0.985 0.653 0.785 0.9775 0.6688

AdaBoostClassifier 0.873 0.594 0.707 0.9690 0.6111

SVC 0.862 0.588 0.699 0.9681 0.6052

MLPClassifier 0.814 0.612 0.699 0.9668 0.6041

KNeighborsClassifier 0.634 0.603 0.618 0.9531 0.6081

DecisionTreeClassifier 0.507 0.681 0.582 0.9383 0.6668

LogisticRegression 0.454 0.633 0.529 0.9290 0.6168

LGBMClassifier 0.928 0.589 0.721 0.9713 0.6056

XGBClassifier 0.984 0.636 0.773 0.9764 0.6601

CatBoostClassifier 0.985 0.661 0.791 0.9780 0.6801

RandomForest [1] 0.971 0.675 0.796 0.9780 -

Значение Fl-метрики, равное 0.796, и доли верных ответов 0.9780 не является приемлемым результатом для задачи эффективного детектирования аномальных транзакций, поэтому были сделаны эксперименты по поиску оптимальных гиперпараметров для алгоритмов машинного обучения, но они не дали улучшения результатов.

Для решения проблемы несбалансированности данных из библиотеки imbalanced-learn [18] были использованы следующие алгоритмы ресемплинга: TomekLinks, ClusterCentroids, RandomUnderSampler, SMOTE, RandomOverSampler, SMOTETomek. В качестве лучшего был выбран алгоритм TomekLinks.

В табл. 2 представлены результаты алгоритмов классификации на тестовой выборке, где метрики «точность» (precision), «полнота» (recall), Fl-метрика (F1 Score) указаны только для класса «незаконные транзакции». Предварительно к набору данных был применён алгоритм TomekLinks, который удалил 226 транзакций для класса «законные». После этого набор данных случайным образом был разбит на тестовую и обучающую выборку в соотношении 3:7 соответственно.

Из представленных в табл. 2 результатов видно, что лучшим алгоритмом классификации является алгоритм градиентного бустинга XGBClassifier с Fl-метрикой, равной 0.957, с IBA метрикой 0.9599 и долей верных ответов 0.9921. Полученные значения метрик существенно превосходят результаты алгоритма случайного леса с Fl-метрикой, равной 0.796, и долей верных ответов, равной 0.9780, из статьи [1].

Значения F1-метрики 0.957 и доли верных ответов 0.9921 на тестовой выборке являются приемлемыми для задачи эффективного детектирования аномальных

транзакций, поэтому можно сделать вывод, что с помощью алгоритма ресемплинга TomekLinks в условиях несбалансированности классов удалось повысить надёжность классификации аномальных транзакций биткоинов.

Таблица 2

Результаты надёжности алгоритмов классификации на тестовой выборке с помощью оценки метрики доли верных ответов (accuracy), точности (précision),

полноты (recall), Fl-метрики (F1 Score) и индекса сбалансированной точности (IBA). Метрики «точность» (précision), «полнота» (recall), Fl-метрика (F1 Score) указаны только для класса «незаконные транзакции»

Алгоритм «Незаконные» транзакции Accuracy IBA

Precision Recall F1 Score

RandomForestClassifier 0.997 0.882 0.936 0.9885 0.9395

AdaBoostClassifier 0.916 0.858 0.886 0.9790 0.9225

SVC 0.908 0.777 0.837 0.9712 0.8778

MLPClassifier 0.901 0.768 0.825 0.9646 0.8712

KNeighborsClassifier 0.889 0.840 0.864 0.9747 0.9115

DecisionTreeClassifier 0.881 0.899 0.890 0.9787 0.9419

LogisticRegression 0.823 0.767 0.794 0.9290 0.8679

LGBMClassifier 0.994 0.918 0.954 0.9916 0.9579

XGBClassifier 0.995 0.922 0.957 0.9921 0.9599

CatBoostClassifier 0.992 0.920 0.954 0.9916 0.9586

RandomForest [1] 0.971 0.675 0.796 0.9780 -

Заключение

В статье была предложена модель выявления аномальных транзакций биткоинов на основе машинного обучения. Аномальные транзакции биткоинов определяются как транзакции, которые могут участвовать в схемах «отмывания» денег и нелегального оборота товаров и услуг. Для обучения и оценки модели использовался набор данных Elliptic, который состоит из более чем 200 тысяч транзакций биткоинов: 4 545 имеют класс «незаконные», 42 019 имеют класс «законные» и 157 205 имеют класс «неизвестные». В предложенной модели выявления аномальных транзакций биткоинов были использованы различные алгоритмы машинного обучения с подбором гиперпараметров, однако надёжность предложенной модели, равная 0.9780, не является приемлемой для задачи эффективного детектирования аномальных транзакций. С помощью алгоритма ресемплинга TomekLinks в условиях несбалансированности классов удалось повысить надёжность классификации аномальных транзакций биткоинов по сравнению с лучшим результатом, равным 0.9780, который удалось получить в статье [1]. В результате надёжность предложенной модели выявления аномальных транзакций биткоинов на основе алгоритма градиентного бустинга XGBClassifier равняется 0.9921.

Список литературы

1. Weber M., Domeniconi G., Chen J., WeideleD., BelleiC., Robinson T., Leiserson C. Anti-Money Laundering in Bitcoin: Experimenting with Graph Convolutional Networks for Financial Forensics // arXiv: 1908.02591, 2019.

2. Elliptic Data Set. Bitcoin Transaction Graph. URL: https://www.kaggle.com/ellipticco/ elliptic-data-set (дата обращения: 26.05.2020).

3. Bistarelli S., Mercanti I., Santini F. A suite of tools for the forensic analysis of bitcoin transactions // Preliminary Report: Euro-Par 2018 International Workshops, Turin, Italy, August 27-28, 2018.

4. Kedharewsari K., Anu M., Rajalakshmi V. Integration of big data & cloud computing to detect black money rotation with range — aggregate queries // International Journal of Engineering and Technology. 2016. Vol. 8. P. 768-773.

5. MaksutovA., AlexeevM., FedorovaN., AndreevD. Detection of blockchain transactions used in blockchain mixer of coin join type // IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). 2019. P. 274277.

6. Oakley J., Worley C., Yu L., Brooks R., Skjellum A. Unmasking criminal enterprises: an analysis of Bitcoin transactions // 13th International Conference on Malicious and Unwanted Software (MALWARE). 2018. P. 161-166.

7. Plaksiy K., Nikiforov A., MiloslavskayaN. Applying Big Data technologies to detect cases of money laundering and counter financing of terrorism // 6th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW). 2018. P. 7077.

8. YinH., Langenheldt K., HarlevM., MukkamalaR., VatrapuR. Regulating cryptocurrencies: a supervised machine learning approach to de-anonymizing the Bitcoin blockchain // Journal of Management Information Systems. 2019. Vol. 36, no. 1. P. 37-73.

9. Thomas T., Vijayaraghavan A. P., SabuE. Machine Learning Approaches in Cyber Security Analytics. Singapore : Springer, 2020.

10. Bishop C.M. Pattern Recognition and Machine Learning. New York : Springer, 2006.

11. MacKayD. Information Theory, Inference, and Learning Algorithms. Cambridge : Cambridge University Press, 2003.

12. TomekI. Two modifications of CNN // IEEE Transactions on Systems, Man, and Cybernetics. 1976. Vol. 6. P. 769-772.

13. Garcia V., Mollineda R. A., Sanchez J. S. Index of balanced accuracy: a performance measure for skewed class distributions // Iberian Conference on Pattern Recognition and Image Analysis. 2009. P. 441-448.

14. PedregosaF. et al. Scikit-learn: machine learning in Python // Journal of Machine Learning Research. 2011. Vol. 12. P. 2825-2830.

15. Dorogush A. V., ErshovV., GulinA. Catboost: gradient boosting with categorical features support // arXiv: 1810.11363, 2018.

16. ChenT., GuestrinC. XGBoost: A scalable tree boosting system // Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2016. P. 785-794.

17. KeG., MengQ., FinleyT., WangT., ChenW., MaW., Ye Q., LiuT. Y. Lightgbm: a highly efficient gradient boosting decision tree // Advances in Neural Information Processing Systems. 2017. P. 3146-3154.

18. LemaitreG., NogueiraF., AridasC. Imbalanced-learn: A Python toolbox to tackle the curse of imbalanced datasets in machine learning // Journal of Machine Learning Research. 2016. Vol. 18. P. 559-563.

Поступила в редакцию 01.06.2020.

После переработки 05.02.2021.

Сведения об авторах

Фельдман Елена Васильевна, старший преподаватель кафедры компьютерной безопасности и прикладной алгебры, Челябинский государственный университет, Челябинск, Россия; e-mail: mila008.is@gmail.com.

Ручай Алексей Николаевич, кандидат физико-математических наук, доцент, заведующий кафедрой компьютерной безопасности и прикладной алгебры, Челябинский государственный университет; доцент кафедры защиты информации, Южно-Уральский государственный университет (национальный исследовательский университет), Челябинск, Россия; e-mail: ran@csu.ru.

Матвеева Вероника Константиновна, студентка математического факультета, Челябинский государственный университет, Челябинск, Россия; e-mail: veronicasomniator@gmail.com.

Самсонова Валерия Дмитриевна, студентка математического факультета, Челябинский государственный университет, Челябинск, Россия; e-mail: samsonova147@gmail.com.

Chelyabinsk Physical and Mathematical Journal. 2021. Vol. 6, iss. 1. P. 119-132.

DOI: 10.47475/2500-0101-2021-16110

BITCOIN ABNORMAL TRANSACTION DETECTION MODEL BASED ON MACHINE LEARNING

E.V. Feldman1, A.N. Ruchay1,2a, V.K. Matveeva1, V.D. Samsonova1

1 Chelyabinsk State University, Chelyabinsk, Russia

2South Ural State University (National Research University), Chelyabinsk, Russia aran@csu.ru

This article is devoted to the development of a reliable model for detecting abnormal bitcoin transactions that may be involved in money laundering and illegal trafficking of goods and services. The article proposed a model for detecting abnormal bitcoin transactions based on machine learning. For training and evaluation of the model, the Elliptic dataset is used, consisting of 46564 Bitcoin transactions: 4545 of "illegal" and 42019 of "legal". The proposed model for detecting abnormal bitcoin transactions is based on various machine learning algorithms with the selection of hyperparameters. To evaluate the proposed model, we used the metric of accuracy, precision, recall, F1 score and index of balanced accuracy. Using the resampling algorithm in conditions of the class imbalance, it was possible to increase the reliability of the classification of anomalous bitcoin transactions in comparison with the best known result on the Elliptic dataset.

Keywords: Bitcoin transactions, classification, detection of abnormal transactions, machine learning.

1. Weber M., Domeniconi G., Chen J., WeideleD., BelleiC., Robinson T., Leiserson C. Anti-Money Laundering in Bitcoin: Experimenting with Graph Convolutional Networks for Financial Forensics. arXiv: 1908.02591, 2019.

2. Available at https://www.kaggle.com/ellipticco/elliptic-data-set, accessed 26.05.2020

3. Bistarelli S., Mercanti I., Santini F. A suite of tools for the forensic analysis of Bitcoin transactions. Preliminary Report: Euro-Par 2018 International Workshops, Turin, Italy, August 27-28, 2018.

4. Kedharewsari K., AnuM., Rajalakshmi V. Integration of big data & cloud computing to detect black money rotation with range — aggregate queries. International Journal of Engineering and Technology, 2016, vol. 8, pp. 768-773.

5. MaksutovA., AlexeevM., FedorovaN., AndreevD. Detection of blockchain transactions used in blockchain mixer of coin join type. IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), 2019, pp. 274277.

6. Oakley J., WorleyC., YuL., Brooks R., SkjellumA. Unmasking criminal enterprises: an analysis of Bitcoin transactions. 13th International Conference on Malicious and Unwanted Software (MALWARE), 2018, pp. 161-166.

7. PlaksiyK., NikiforovA., Miloslavskaya N. Applying big data technologies to detect cases of money laundering and counter financing of terrorism. 6th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW), 2018, pp. 70-77.

8. YinH., Langenheldt K., HarlevM., MukkamalaR., VatrapuR. Regulating cryptocurrencies: a supervised machine learning approach to de-anonymizing the Bitcoin blockchain. Journal of Management Information Systems, 2019, vol. 36, no. 1, pp. 37-73.

9. Thomas T., Vijayaraghavan A.P., SabuE. Machine Learning Approaches in Cyber Security Analytics. Singapore : Springer, 2020.

10. Bishop C.M. Pattern Recognition and Machine Learning. New York, Springer, 2006. 738 p.

11. MacKayD. Information Theory, Inference, and Learning Algorithms. Cambridge, Cambridge University Press, 2003.

12. TomekI. Two modifications of CNN. IEEE Transactions on Systems, Man, and Cybernetics, 1976, vol. 6, pp. 769-772.

13. GarciaV., Mollineda R.A., Sanchez J.S. Index of Balanced Accuracy: A Performance Measure for Skewed Class Distributions. Iberian Conference on Pattern Recognition and Image Analysis. IbPRIA, 2009, pp. 441-448.

14. PedregosaF., et al. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 2011, vol. 12, pp. 2825-2830.

15. Dorogush A.V., ErshovV., GulinA. Catboost: gradient boosting with categorical features support. arXiv: 1810.11363, 2018.

16. Chen T., GuestrinC. XGBoost: A scalable tree boosting system. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016, pp. 785-794.

17. KeG., MengQ., FinleyT., Wang T., ChenW., MaW., YeQ., LiuT.Y. Lightgbm: a highly efficient gradient boosting decision tree. Advances in Neural Information Processing Systems, 2017, pp. 3146-3154.

18. LemaitreG., NogueiraF., AridasC. Imbalanced-learn: a Python toolbox to tackle the curse of imbalanced datasets in machine learning. Journal of Machine Learning Research, 2016, vol. 18, pp. 559-563.

Accepted article received 01.06.2020.

Corrections received 05.02.2021.