Категоризация адресов с использованием шаблонов в транзакционной активности

Вступление

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

Я построил алгоритм кластеризации, основанный на транзакционной активности, который делит пользователей Ethereum на отдельные поведенческие подгруппы. Он может предсказать, принадлежит ли адрес бирже, майнеру или кошельку ICO.

База данных была построена с использованием SQL, а модель написана на Python. Исходный код доступен на GitHub.

Фон

Блокчейн Ethereum - это платформа для децентрализованных приложений, называемых смарт-контрактами. Эти контракты часто используются для представления других активов. Эти активы могут представлять физические объекты в реальном мире (например, титулы на недвижимость) или быть чисто цифровыми объектами (например, служебные токены).

Вычисления, необходимые для выполнения смарт-контрактов, оплачиваются в эфире, собственной валюте экосистемы.

Эфир хранится в криптографически защищенных аккаунтах, называемых адресами.

Мотивация

Многие люди считают, что криптовалюты предлагают цифровую анонимность, и в этом есть доля правды. По сути, анонимность - основная миссия Monero и ZCash.

Однако Ethereum более широко используется, и его широкая гибкость приводит к обширному общедоступному набору данных о транзакционном поведении. Поскольку адреса Ethereum являются уникальными идентификаторами, право собственности на которые не меняется, их активность можно отслеживать, агрегировать и анализировать.

Здесь я пытаюсь создать архетипы пользователей путем эффективной кластеризации адресного пространства Ethereum. Эти архетипы можно использовать для предсказания владельца неизвестного адреса.

Это открывает широкий спектр приложений:

  • понимание сетевой активности
  • улучшение торговых стратегий
  • совершенствование деятельности ПОД

Полученные результаты

Участники экосистемы Ethereum могут быть разделены по шаблонам транзакционной активности. Адреса, заведомо принадлежащие биржам, майнерам и ICO качественно показывают, что результаты кластеризации верны.

Технические подробности

Не стесняйтесь, переходите к разделу Интерпретация результатов ниже.

Функциональная инженерия

Набор данных транзакций Ethereum размещен в Google BigQuery. Используя 40 000 адресов с максимальным балансом эфира, я создал 25 функций, чтобы охарактеризовать различия в поведении пользователей.

Выбор подходящего количества кластеров

Используя анализ силуэта, я определил оптимальное количество кластеров примерно 8.

Этот выбор сводит к минимуму количество образцов с отрицательными оценками силуэта, которые указывают на то, что образец может быть отнесен к неправильному кластеру.

Но как узнать, работает ли он?

Путем извлечения данных из обозревателя блоков Etherscan.io я собрал краудсорсинговые метки для 125 адресов в моем наборе данных.

Большинство этикеток можно разделить на три категории:

биржи, майнеры и кошельки ICO.

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

Рекластеризация

Адреса Exchange и miner сначала были смешаны в одном кластере. Чтобы разделить их, я выполнил второй раунд кластеризации, используя только адреса в этом кластере.

Изменив меру различия с евклидова расстояния на косинусное расстояние, я значительно улучшил разделение между биржами и майнерами.

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

Интерпретация результатов

Мы можем делать выводы о поведении пользователей на основе соответствующих центроидов кластера.

Биржи

  • Высокий эфирный баланс
  • Большой объем входящих и исходящих транзакций
  • Очень нестандартное время между транзакциями

Биржи - это банки криптопространства. Эти результаты интуитивно понятны.

Горняки

  • Низкий эфирный баланс
  • Небольшой средний размер транзакции
  • Более регулярное время между транзакциями

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

Кошельки ICO

  • Высокий эфирный баланс
  • Небольшое количество крупных транзакций
  • Самое обычное время между транзакциями

ICO (первоначальные предложения монет) - распространенный метод сбора средств для криптостартапов. Логично, что эти стартапы будут иметь большие военные фонды и периодически продавать большие суммы для покрытия обычных деловых расходов.

Другие категории

  • Кластеры Exchange и Mining очень похожи, поскольку они были созданы во втором раунде кластеризации.
  • Адреса в кластере 7 имеют большой объем активности смарт-контрактов.
  • Кластеры 2 и 5 сильно различаются.

Можете ли вы определить любую из этих групп пользователей?

Следующие шаги

Расширение этой работы позволит более детально рассмотреть данные блокчейна Ethereum. Вот несколько особенно интересных областей:

  • Добавление функций на основе теории графов и сетевого анализа
  • Как отличить ботов от людей
  • Расширение анализа смарт-контрактов
  • Повторный анализ активности транзакции токен ERC-20

Вопросов? Предложения?

Вы можете найти меня в Твиттере или LinkedIn.

использованная литература

Облако слов ярлыков Etherscan.io

Освоение Ethereum

Характеристика адресного пространства Ethereum

Пригоршня биткойнов: характеристика платежей среди безымянных мужчин

Благодарим Брэндона Мартина-Андерсона, Алекса Куэваса, Джона Браунлина и Эрика Брагаса за рецензирование черновиков этой статьи.