Категоризация адресов с использованием шаблонов в транзакционной активности
Вступление
Пользователи 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
Пригоршня биткойнов: характеристика платежей среди безымянных мужчин
Благодарим Брэндона Мартина-Андерсона, Алекса Куэваса, Джона Браунлина и Эрика Брагаса за рецензирование черновиков этой статьи.