March 6, 2023

Sybil НЕ приговор!

Начнём с далёкого 2020 года.

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

17 Сентября 2020 года всеми известная на сегодняшний день децентрализованная биржа Uniswap решили раздать награды для своих пользователей. Причём раздавали они по 400 токенов $UNI (На тот момент около 1400$ / На момент написания поста 2700$) всем пользователям, кто сделал хотя бы один свап на бирже до 1 сентября (Скупая слеза).

https://uniswap.org/blog/uni

25 Декабря 2020 года также всеми известная биржа 1inch раздали дроп своих токенов $1INCH. Раздавали они по 600 токенов $1INCH (На момент раздачи оценивалось в 1500$ / На момент написания поста 350$) всем пользователям, кто выполнил хотя бы одно из трёх условий.

https://blog.1inch.io/1inch-token-is-released-e69ad69cf3ee

Какие условия были у 1inch?

  • Как минимум один обмен до 15 сентября 2020 года
  • Как минимум 4 обмена в общей сложности
  • Обмен на общую сумму не менее 20$

12 Февраля 2021 года, всё тот же 1inch решил не скупиться и подарил ещё один ретродроп всем пользователям по тем же критериям, что и были ранее (Даже дата не изменилась). Только на этот раз под раздачу попали ещё и пользователи, которые делали обмены на Mooniswap на любую сумму. Раздали примерно столько же, 500-600 токенов $1INCH (На момент раздачи оценивалось в 3000$).

https://blog.1inch.io/1inch-foundation-distributes-more-1inch-tokens-82d1ffbff7e2

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

9 Сентября 2021 года. Да-да, речь пойдёт о dydX, которые оказались невероятно щедрыми типами, раздавшими в среднем 1165 токенов $DYDX (На момент раздачи оценивалось в 16000$ / На момент написания поста 2900$) на каждый кошелёк.

Причём DYDX раздавали аирдроп на основе снепшота от 26 Июля, в рамках которого не было замечено никаких Sybil'ов, никаких критериев по сбриву абузеров.

15 Ноября 2021 года ParaSwap решили не отставать и тоже раздали ретродроп своим первым пользователям, коих было около 20.000 адресов. Снепшот был 8 октября и, бояре умудрились лутать по 7-10 тысяч токенов $PSP (На момент раздачи оценивалось в 38000$ / На момент написания поста 300$) и здесь.. именно ParaSwap решили раздать дроп для, действительно "активных пользователей" вместо того, чтобы использовать распределение на основе объема, как это было ранее.

Почему ParaSwap решили отойти от системы дропа за объёмы?

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

Ribbon, протокол, упрощающий инвестирование в опционы, который запустил свой токен $RBN, подвергся такой атаке: Компания Divergence Ventures попалась на мошенничестве с эфиром Ribbon. После возмущения общественности они решили возместить стоимость токенов $RBN.

Учитывая, что в ParaSwap's держатели $PSP играют важную роль в работе частных маркет-мейкеров ParaSwapPool, команда не могла рисковать тем, что первоначальное распределение будет нечестным.

Поэтому команда изучила, что происходит с различными запусками токенов, насколько справедливыми были их распределения и что происходило с их управлением. В случае с ParaSwap, помимо объема использования, который может быть легко набит за счёт обычного мультиаккаутинга, ParaSwap решили рассмотреть и вознаградить вовлеченность.

Ретродроп на основе вовлеченности.

Тезис: Почему случайный кит, который пришел за день до даты моментального снимка, чтобы обменять сразу 1000 ETH, должен получить больше токенов, чем обычный пользователь, совершающий частые обмены по 1-5 ETH на ParaSwap в течение более чем двух лет?

На основе этого тезиса команда решила, что его не должно быть, несмотря на распространенный подход. Поэтому при первоначальном распределении, составляющем 150 млн. токенов $PSP (7,5% от общего объема предложения), объем использования является лишь посредственным фактором. Вместо этого команда смотрела на то, когда пользователь впервые взаимодействовал с ParaSwap, возвращался ли он и как часто, и насколько проворными были обмены. Из onchain данных можно сделать много выводов, и именно это они и сделали.

Отсев дропхантеров.

Уже на тот момент, команда ParaSwap наблюдала рост охотников за дропами. К тому же команду насторожил случай с Ribbon Finance, когда инвестор использовал $2.5 млн. в качестве вознаграждения за дроп, используя несколько кошельков. Поэтому они хотели придумать механизм, позволяющий максимально эффективно фильтровать подобные сценарии.

Получение исходных данных
За месяц до дропа они собирали данные по всем обменам, произошедшим на ParaSwap, через различные подграфы ParaSwap для каждой сети. Затем сопоставляли эти обмены с соответствующей исторической ценой токенов через CoinGecko.

Окончательный снимок был сделан 8 октября. При изучении различных ключевых показателей в исходных данных, например, команда обнаружила, что ~500K уникальных адресов, принадлежащих внешним владельцам вызвали всего-лишь одну или несколько транзакций по контрактам ParaSwap. Количество уникальных токенов, торгуемых в сети Ethereum, составляло ~2.3K, на Polygon ~1K, на BSC - ~2.8K, на Avalanche C-Chain ~100.

Фильтрация явно подозрительных транзакций.

Затем команда решила отфильтровать более очевидные, подозрительные транзакции; Они не хотели рассматривать транзакции, в которых нативные токены были завернуты/развернуты (Например: ETH <> WETH, BNB <> WBNB и т.д.). Кроме того, поскольку ParaSwap поддерживает обмен любых токенов, они хотели исключить любую потенциальную торговлю с использованием случайных токенов.

Они отфильтровали обмены, в результате чего поиск сузился до 200 токенов на Ethereum, 58 на Polygon, 43 на BSC и 20 на Avalanche C-Chain.

Затем они изучили поведение случайного пользовательского адреса, который торговал на ParaSwap. Из-за огромного количества адресов охотников за дропом команда быстро наткнулась на подозрительные адреса, такие как:

Стало ясно, что эти адреса не являются реальными пользователями, а, скорее всего, управляются дропхантерами. Существует довольно много проектов, таких как Zapper, Zerion, MetaMask и т.д., которые интегрировали ParaSwap, но еще не имеют токена; Интересно, что охотники за дропом, которые пытались получить вознаграждение Zapper, Zerion, MetaMask и т.д, в конечном итоге также получали право на вознаграждение от ParaSwap.

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

  1. Начинаем с основного адреса
  2. Перевод средств на несколько EOA либо последовательно, либо просто используя контракт мульти-отправки.
  3. Совершение нескольких транзакций на ParaSwap и/или партнерских проектах
  4. Перевод средств обратно на родительский/основной адрес.

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

Команда написала простой скрипт для получения баланса всех пользовательских адресов в соответствующих сетях, которые провели транзакцию ParaSwap; затем отфильтровали пользовательские адреса, имеющие не менее 50 txs в сетях или минимальный баланс нативных токенов.

Минимальный баланс токенов был установлен на уровне 0,028 ETH для Ethereum, 0,25 BNB для BSC, 20 Matic для Polygon и 0,9 AVAX для Avalanche C-Chain. Также они решили, что будут выдавать вознаграждения только тем пользователям, которые использовали ParaSwap не менее 6 раз за последние 6 месяцев.

Обмены в проектах, интегрирующих ParaSwap

Поскольку многие проекты, интегрировавшие когда-то Uniswap, были недовольны тем, что их пользователи не получают дроп, команда хотела убедиться, что все пользователи из известных нам проектов-интеграторов также будут учтены.

Первоначальная идея просто использовать параметр txOrigin была недостаточной, поскольку у нас есть такие интеграции, как Argent и CowSwap, которые используют ретрансляторы. Для транзакций, происходивших через кошельки Argent (которые можно было отличить по коду реферера), мы решили использовать msgSender (WalletAddress) в качестве адреса пользователя.

Транзакции CowSwap были довольно сложными, поскольку ни msgSender, ни txOrigin не были адресом пользователя. Чтобы решить эту проблему, мы посмотрели на приборную панель Dune Analytics, где был список всех транзакций на CowSwap вместе с соответствующими адресами трейдеров. Теперь оставалось отфильтровать транзакции, совершенные на ParaSwap, от всех транзакций CowSwap.

После нескольких неудачных попыток мы смогли сопоставить транзакции CowSwap с транзакциями ParaSwap, используя параметры txHash и srcToken.

Последнее прочесывание.

После всех вышеперечисленных операций по очистке и фильтрации данных у команды было 26.000 адресов. Удивительно, но эти 26.000 пользователей провели 80% от общего объема на момент моментального снимка. Этого было недостаточно и, команда начала вручную просматривать эти 26.000 адресов и смогли найти охотников за airdrop, которые соответствовали вышеуказанным требованиям.

Они снова попытались использовать общие закономерности между охотниками. Охотники с несколькими адресами, подходящими для дропа, обычно делают переводы между своими аккаунтами. Команда написала скрипт для разделения подходящих адресов на группы (blobs) адресов, которые совершали переводы между собой. У пользователя могло быть 3-5 адресов, которые он использовал для торговли, и они не хотели исключать этот случай.

ParaSwap начали проверять блобы размером >5. Было ясно, что большие блобы >60 - Это адреса охотников. Они решили также получить баланс кошелька (Нативные токены + Токены ERC20). Затем решили отфильтровать все адреса, которые были частью блоба размером >5 и имели баланс кошелька менее 200$. Таким образом, было отфильтровано около 6.000 адресов, и у них осталось 19.000 адресов пользователей, которые были достойны вознаграждения сообщества.

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

Конец 2021 года.

3 Декабря 2021 года, Biconomy, a.k.a успешный успех, решили дропнуть и свои токены. Кстати говоря, я о Biconomy трубил как только мог и, как оказалось - не зря. Один аккаунт принёс 875 токенов $BICO (На тот момент около 9000$ / На момент написания поста 350$), но интересно здесь не столько факт ретродроп или отсев Sybil-аккаунтов, сколько ошибка, которую допустили разработчики и, которая стоила большим убыткам проекту. Короче.. Biconomy хотели добавить немного токенов под ретродроп и допустили ошибку, при которой число "5" добавилось не в качестве суммы, а в качестве доп.приставки (5+875=5875). В итоге, некоторые даже смогли забрать 60.000$ за один обмен. Да-да..

https://medium.com/biconomy/introducing-the-biconomy-rewards-platform-8ab1b2ff535b

Особого здесь нечего рассказывать, добавил проект только для галочки..

31 мая 2022 года, L2 блокчейн Optimism открыли клейм своего аирдропа, снепшот которого был проведён 25 марта. В среднем награда составила около 3-4k$, хотя некоторые забрали в разы больше..

И вот Optimism нам как раз-таки и интересен из-за своего подхода к отсеву Sybil аккаунтов, ведь в большей степени именно Optimism стал катализатором паранойи многих дропхантеров.

Критерии глобальной фильтрации Optimism!

  • Адресная активность: Адреса должны были использовать Ethereum более 1 дня (24 часа между их первой и последней транзакцией), чтобы соответствовать критерию "Активные участники Ethereum". Это относится ко всем критериям Ethereum, за исключением подписывающих мультисигма, поскольку обычно подписывающие имеют адреса "только для подписи".
  • Sybil-Фармеры: Команда выявила несколько моделей вероятных злоумышленников, которые часто создавали десятки, сотни или более мультиаккаунтов. Они потребовали более строгих критериев активности для этих адресов, что помогло отсеять таких злоумышленников, но при этом сохранило многих реальных пользователей.
  • Боты и спам: Команда использовала Голосование ENS по отлову ботов для отсеивания адресов, которые спамили голоса на Snapshot.
  • Обменники и входы: Отфильтровали известные адреса централизованных бирж и фиатных входов.
  • Эксплойтеры: Известные адреса эксплойтов были отфильтрованы.
  • Фильтр новизны: Адреса должны были совершить транзакцию после 1 января 2019 года. Для подписчиков с несколькими подписями только мультиподпись должна была выполнить транзакцию после 1 января 2019 года. Выбрали эту дату отсечения, чтобы сузить круг активных адресов, а также обеспечить окно до того, как цены на газ L1 последовательно вырастут и потенциально заставят некоторых пользователей отказаться от Ethereum.

Дополнительная фильтрация Sybil.

Оптимизм - для людей, а не для Sybil. После объявления дропа команда получила ограниченное количество сообщений о Sybil, которые не были исключены первоначальной фильтрацией. После этого они применили дополнительную фильтрацию, которая исключила 17 тысяч адресов и восстановила 14 миллионов OP.

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

В итоге!

Дропы безусловно являются метой на 2023 года, но как обычно многие скипнут эти возможности просто из-за своей глупости, но здесь мы говорим именно о Sybil аккаунтах и их отсеве. Если вы взгляните на развитие мультипликаторов и методы отсева Sybil пользователей, то сможете заметить, что Sybil в отношении дропов является довольно свежим термином, который на текущий момент ограничивается несколькими проверками, по типу проверки кошельков на связи с другими кошельками; отсев кошельков на основе объёма транзакций; количества взаимодействий и пр.

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

  • Используй проект на постоянной основе (1-2 раза в неделю).
  • Не связывай кошельки никаким образом (1 Кошелёк - 1 Биржа - Никакой связи с другими кошельками).
  • Работай на объёмы (Не имеет смысла взаимодействовать с Arbitrum имея в кармане 10$. Как минимум вы их просто сожжёте, как максимум вас просто отсеет с 99% шансом).
  • Взаимодействуй с проектом так, будто ты реальный юзер (Всякий раз, прогоняя дроп, не спеши выводить свои кровные. Всегда задавай себе вопрос, как ты будешь выглядеть в лицах админа и, действительно ли твоя активность выглядит реальной активностью пользователя).

Возможно я что-то упустил, но суть остаётся прежней - соблюдайте базовые правила. Пока от нас не требуется проходить КУСы, получать Web3 паспорта, DegenScore и прочую хрень, а значит бояться Sybil'а не имеет смысла, если ты чайник..

Спасибо за внимание!

При появлении вопросов, пишем сюда - https://t.me/Brain_chat Основной Telegram канал - Brain Inc.
Основной Youtube канал - Brain Inс.