Сегодня мы расскажем о Bitfury Crystal — платформе которая анализирует блокчейны Bitcoin и Bitcoin Cash и позволяет выявлять подозрительные транзакции с криптовалютой. Рассмотрим инструменты, используемые системой, и принципы их работы.
![](https://habrastorage.org/r/w780q1/webt/hk/qn/9z/hkqn9zx2tkxgfosaeqat8dm7m1m.jpeg)
/ Bitfury Crystal
Блокчейн — это открытая сеть, поэтому любой её участник может изучить историю транзакций и установить пересылаемые между адресами суммы. Но узнать владельца того или иного кошелька весьма проблематично, поскольку сеть анонимна. По этой причине криптовалюту активно используют злоумышленники для отмывания денег, вымогательства или шантажа. По данным Европола, именно криптовалютные операции приобретают все больше популярности для проведения нелегальных сделок.
Наша команда разработала набор инструментов для наиболее полного анализа блокчейна. Crystal группирует адреса, принадлежащие одному владельцу, и дает оценку риска (каков шанс, что они имеют отношение к незаконной деятельности). Также сервис позволяет проследить движение биткоинов до конкретного адреса или после определенной транзакции.
В целом платформу Crystal можно рассмотреть, как совокупность следующих инструментов: кластеризация, оценка риска, визуализация, взаимодействие и отслеживание. Последовательное их применение позволяет выявить связь криптовалютного кошелька или платежа с незаконной или «сомнительной» деятельностью и предоставить доказательства такой связи. Расскажем, какие задачи решает каждый из этих инструментов.
Чтобы определить, имеет ли кошелёк отношение к подозрительной деятельности, Crystal группирует адреса на блокчейне, принадлежащие одному владельцу. То есть, решает задачу кластеризации. Кластеризация Crystal наиболее часто использует две эвристики: эвристику общей траты и эвристику сдачи.
В первом случае группируются адреса, которые являются отдельными входами одной транзакции. Поскольку разные адреса отправляют средства в одной транзакции и имеют доступ к приватным ключам друг друга, можно предположить, что у этих адресов общий владелец.
Но это правило верно далеко не для всех случаев. Например, метод CoinJoin позволяет объединять входы от разных отправителей в одной транзакции для ее анонимизации. В этом случае установить точное распределение средств «в связке» становится сложнее.
![](https://habrastorage.org/r/w1560/webt/tr/6c/ao/tr6caozkccc4vtp5h4qth79zbf8.png)
/ Пример Coinjoin-транзакции на нашей Визуализации
Это условие налагает ряд ограничений на алгоритм кластеризации. Чтобы расширить возможности системы, используется дополнительная эвристика — эвристика сдачи.
Сумма всех входов для текущей транзакции должна быть использована на её выходах, в противном случае, оставшиеся средства становятся комиссией майнера. По этой причине, зачастую генерируется новый адрес для выхода, на который отправитель получит сдачу. Эвристика сдачи позволяет идентифицировать подобные адреса и добавить их в кластер отправителя.
После проведения кластеризации, в работу включаются аналитики Crystal, которые на основе информации об объекте, найденной в доступных им источниках, определяют владельца кластера.
Специальные алгоритмы оценивают вероятность связи кошельков с потенциально вредоносной деятельностью. Модуль «Оценка риска» позволяет получать дополнительную информацию о неразмеченных кластерах (включая одиночные адреса) исходя из их взаимодействия с размеченными кластерами. Под дополнительной информацией подразумевается степень риска группы адресов в зависимости от принадлежности любому из типов деятельности (darkmarket, malware, miner и др.).
В модуле «Оценка риска» используется метод распространения меток (label propagation), который относится к типу обучения с частичным привлечением учителя (semi-supervised learning). Метод распространения меток применяется для классификации объектов, имеющих структуру графа. В этом графе некоторое подмножество вершин размечено на классы (количество размеченных вершин сильно меньше неразмеченных). В нашем случае вершины обозначают кластеры, а ребра — взаимодействия между ними. Вес ребра соответствует количеству переданных средств между адресами.
Благодаря инструменту визуализации пользователь Crystal может за короткий промежуток времени построить схему движения всех известных транзакций в виде графа. Причем граф будет иметь минимальное количество пересечений ребер для лучшей визуализации.
Обычно при отрисовке графов используют алгоритмы класса force-directed (их называют силовым алгоритмом рисования графов). В этом случае задается система сил притяжения и отталкивания, действующих между вершинами и ребрами графа. Затем находится положение, в котором система имеет наименьший уровень энергии (локальный минимум).
У такого подхода есть множество проблем, одна из которых — локальный минимум пересечений вместо глобального. По этой причине мы решили написать свой собственный алгоритм отрисовки. На рисунке ниже вы можете увидеть пример визуализации, а именно вывод средств с адресов WannaCry.
![](https://habrastorage.org/r/w1560/webt/gu/rg/ed/gurgedy0qm1dxp4jhrxxlkmsgha.png)
/ пример визуализации вывода средств WannaCry
Он помогает найти все прямые транзакции между двумя кластерами и детально их изучить. Также функция отрисовывает графики, позволяющие оценить интенсивность взаимодействия владельцев адресов в зависимости от времени.
![](https://habrastorage.org/r/w1560/webt/cu/gd/q1/cugdq1ummivtlwy7ot_fqq_5gls.png)
/ пример взаимодействия криптовалютных бирж Binance и Kraken.
Наша команда Crystal разработала инструмент, который автоматически отслеживает поток криптовалюты, участвовавшей в заданном пользователем наборе транзакций. Это позволяет, например, определить местонахождение украденных денег либо организации, через которые они были выведены.
При попытке отследить такое движение вручную, исследователи обычно сталкиваются с проблемой большой разветвленности: деньги делятся на мелкие части, сходятся на адресах, снова делятся. Кроме того, к украденным деньгам могут примешиваться монеты из других источников, поскольку одна транзакция может содержать несколько входов.
Результатом работы трекинга Crystal является список криптовалютных адресов, на которые деньги дошли, а также определение всех путей доставки. По этим данным можно автоматически построить визуализацию. Например, на рисунке ниже представлен «маршрут» вывода средств хакерами с биржи Zaif.
![](https://habrastorage.org/r/w1560/webt/0p/m8/zt/0pm8ztrtb5cwo7alvrecdejpmac.png)
/ перевод средств хакером на биржу Binance
Злоумышленники переводили криптовалюту с адресов биржи в транзакции c3b9a4a0831a65523c81e6a04f6ddf5a7a89f344d990e8a13e5278efe57f4280. Деньги были собраны на адресе 1FmwHh6pgkf4meCMoqo8fHH3GNRF571f9w, и мы расследовали движения средств, связанных с этим адресом.
В результате выяснилось, что часть средств разошлась по аккаунтам на биржах, таких как Binance, Bitstamp и Livecoin. А часть средств ушла на миксеры, например СhipMixer.com.
Весь ход расследования детально описан в нашем блоге на Medium.
При помощи описанных выше инструментов Crystal позволяет организациям, принимающим биткоины, определить происхождение средств и их связь с нелегальной активностью (Оценка риска). Если же полученных сведений недостаточно, организации могут провести более глубокое расследование, используя инструменты «Визуализации» и «Взаимодействия».
Также Crystal позволяет расследовать случаи кражи криптовалюты. Функция «Отслеживание» дает возможность получить список всех адресов и организаций, через которые проводили украденные деньги. После система в наглядной форме отобразит, каким образом они туда попали. Затем с этими данными пользователь может обратиться к выявленным организациям с запросом заморозить средства.
Перечисленные инструменты Crystal являются результатом разработки команды профессионалов Bitfury, которая не собирается останавливаться на достигнутом. Платформа Crystal уже используется в Азии, США, Европе и СНГ как финансовыми организациями, так и правоохранительными органами. Краткое видео о Crystal:
По вопросам сотрудничества обращайтесь: contact@crystalblockchain.com
![](https://habrastorage.org/webt/hk/qn/9z/hkqn9zx2tkxgfosaeqat8dm7m1m.jpeg)
/ Bitfury Crystal
Зачем нужна такая система
Блокчейн — это открытая сеть, поэтому любой её участник может изучить историю транзакций и установить пересылаемые между адресами суммы. Но узнать владельца того или иного кошелька весьма проблематично, поскольку сеть анонимна. По этой причине криптовалюту активно используют злоумышленники для отмывания денег, вымогательства или шантажа. По данным Европола, именно криптовалютные операции приобретают все больше популярности для проведения нелегальных сделок.
Наша команда разработала набор инструментов для наиболее полного анализа блокчейна. Crystal группирует адреса, принадлежащие одному владельцу, и дает оценку риска (каков шанс, что они имеют отношение к незаконной деятельности). Также сервис позволяет проследить движение биткоинов до конкретного адреса или после определенной транзакции.
Инструменты Crystal
В целом платформу Crystal можно рассмотреть, как совокупность следующих инструментов: кластеризация, оценка риска, визуализация, взаимодействие и отслеживание. Последовательное их применение позволяет выявить связь криптовалютного кошелька или платежа с незаконной или «сомнительной» деятельностью и предоставить доказательства такой связи. Расскажем, какие задачи решает каждый из этих инструментов.
Кластеризация
Чтобы определить, имеет ли кошелёк отношение к подозрительной деятельности, Crystal группирует адреса на блокчейне, принадлежащие одному владельцу. То есть, решает задачу кластеризации. Кластеризация Crystal наиболее часто использует две эвристики: эвристику общей траты и эвристику сдачи.
В первом случае группируются адреса, которые являются отдельными входами одной транзакции. Поскольку разные адреса отправляют средства в одной транзакции и имеют доступ к приватным ключам друг друга, можно предположить, что у этих адресов общий владелец.
Что такое вход и выход транзакции
Все транзакции биткоин-блокчейна имеют один или несколько входов и выходов. Входы новой транзакции ссылаются на выходы предыдущей транзакции и предоставляют данные для передачи средств.
Подробно о механизме работы транзакций мы писали в одном из наших прошлых материалов.
Подробно о механизме работы транзакций мы писали в одном из наших прошлых материалов.
Но это правило верно далеко не для всех случаев. Например, метод CoinJoin позволяет объединять входы от разных отправителей в одной транзакции для ее анонимизации. В этом случае установить точное распределение средств «в связке» становится сложнее.
![](https://habrastorage.org/webt/tr/6c/ao/tr6caozkccc4vtp5h4qth79zbf8.png)
/ Пример Coinjoin-транзакции на нашей Визуализации
Это условие налагает ряд ограничений на алгоритм кластеризации. Чтобы расширить возможности системы, используется дополнительная эвристика — эвристика сдачи.
Сумма всех входов для текущей транзакции должна быть использована на её выходах, в противном случае, оставшиеся средства становятся комиссией майнера. По этой причине, зачастую генерируется новый адрес для выхода, на который отправитель получит сдачу. Эвристика сдачи позволяет идентифицировать подобные адреса и добавить их в кластер отправителя.
После проведения кластеризации, в работу включаются аналитики Crystal, которые на основе информации об объекте, найденной в доступных им источниках, определяют владельца кластера.
Оценка риска
Специальные алгоритмы оценивают вероятность связи кошельков с потенциально вредоносной деятельностью. Модуль «Оценка риска» позволяет получать дополнительную информацию о неразмеченных кластерах (включая одиночные адреса) исходя из их взаимодействия с размеченными кластерами. Под дополнительной информацией подразумевается степень риска группы адресов в зависимости от принадлежности любому из типов деятельности (darkmarket, malware, miner и др.).
В модуле «Оценка риска» используется метод распространения меток (label propagation), который относится к типу обучения с частичным привлечением учителя (semi-supervised learning). Метод распространения меток применяется для классификации объектов, имеющих структуру графа. В этом графе некоторое подмножество вершин размечено на классы (количество размеченных вершин сильно меньше неразмеченных). В нашем случае вершины обозначают кластеры, а ребра — взаимодействия между ними. Вес ребра соответствует количеству переданных средств между адресами.
Визуализация
Благодаря инструменту визуализации пользователь Crystal может за короткий промежуток времени построить схему движения всех известных транзакций в виде графа. Причем граф будет иметь минимальное количество пересечений ребер для лучшей визуализации.
Обычно при отрисовке графов используют алгоритмы класса force-directed (их называют силовым алгоритмом рисования графов). В этом случае задается система сил притяжения и отталкивания, действующих между вершинами и ребрами графа. Затем находится положение, в котором система имеет наименьший уровень энергии (локальный минимум).
У такого подхода есть множество проблем, одна из которых — локальный минимум пересечений вместо глобального. По этой причине мы решили написать свой собственный алгоритм отрисовки. На рисунке ниже вы можете увидеть пример визуализации, а именно вывод средств с адресов WannaCry.
![](https://habrastorage.org/webt/gu/rg/ed/gurgedy0qm1dxp4jhrxxlkmsgha.png)
/ пример визуализации вывода средств WannaCry
Взаимодействие
Он помогает найти все прямые транзакции между двумя кластерами и детально их изучить. Также функция отрисовывает графики, позволяющие оценить интенсивность взаимодействия владельцев адресов в зависимости от времени.
![](https://habrastorage.org/webt/cu/gd/q1/cugdq1ummivtlwy7ot_fqq_5gls.png)
/ пример взаимодействия криптовалютных бирж Binance и Kraken.
Отслеживание
Наша команда Crystal разработала инструмент, который автоматически отслеживает поток криптовалюты, участвовавшей в заданном пользователем наборе транзакций. Это позволяет, например, определить местонахождение украденных денег либо организации, через которые они были выведены.
При попытке отследить такое движение вручную, исследователи обычно сталкиваются с проблемой большой разветвленности: деньги делятся на мелкие части, сходятся на адресах, снова делятся. Кроме того, к украденным деньгам могут примешиваться монеты из других источников, поскольку одна транзакция может содержать несколько входов.
Результатом работы трекинга Crystal является список криптовалютных адресов, на которые деньги дошли, а также определение всех путей доставки. По этим данным можно автоматически построить визуализацию. Например, на рисунке ниже представлен «маршрут» вывода средств хакерами с биржи Zaif.
![](https://habrastorage.org/webt/0p/m8/zt/0pm8ztrtb5cwo7alvrecdejpmac.png)
/ перевод средств хакером на биржу Binance
Злоумышленники переводили криптовалюту с адресов биржи в транзакции c3b9a4a0831a65523c81e6a04f6ddf5a7a89f344d990e8a13e5278efe57f4280. Деньги были собраны на адресе 1FmwHh6pgkf4meCMoqo8fHH3GNRF571f9w, и мы расследовали движения средств, связанных с этим адресом.
В результате выяснилось, что часть средств разошлась по аккаунтам на биржах, таких как Binance, Bitstamp и Livecoin. А часть средств ушла на миксеры, например СhipMixer.com.
Весь ход расследования детально описан в нашем блоге на Medium.
Где используется Crystal
При помощи описанных выше инструментов Crystal позволяет организациям, принимающим биткоины, определить происхождение средств и их связь с нелегальной активностью (Оценка риска). Если же полученных сведений недостаточно, организации могут провести более глубокое расследование, используя инструменты «Визуализации» и «Взаимодействия».
Также Crystal позволяет расследовать случаи кражи криптовалюты. Функция «Отслеживание» дает возможность получить список всех адресов и организаций, через которые проводили украденные деньги. После система в наглядной форме отобразит, каким образом они туда попали. Затем с этими данными пользователь может обратиться к выявленным организациям с запросом заморозить средства.
Перечисленные инструменты Crystal являются результатом разработки команды профессионалов Bitfury, которая не собирается останавливаться на достигнутом. Платформа Crystal уже используется в Азии, США, Европе и СНГ как финансовыми организациями, так и правоохранительными органами. Краткое видео о Crystal:
По вопросам сотрудничества обращайтесь: contact@crystalblockchain.com