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

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

Что за активность и что даёт участие

Проекты раздают задания, отмечают участников и обещают учесть их вклад при будущем распределении токенов, но формулировки обещания почти всегда допускают пересмотр условий в одностороннем порядке. Обещание — не обязательство. Юридической силы у него нет. Условия меняются, снапшоты переносятся, критерии задним числом уточняются — и всё это остаётся обычной практикой рынка, а не исключением, о котором потом станут говорить как о скандале.

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

Как проверить, что это не подделка

Срез Что смотрим Живое сообщество Накрутка
Распределение Доля действий, приходящаяся на верхние проценты адресов Длинный хвост: тысячи адресов с единичными действиями Основная масса действий сосредоточена в узкой группе адресов
Время Распределение действий по часам и минутам суток Размазано по суткам, с провалами в ночные часы региона Плотные пачки в одинаковые минуты, без ночных провалов
Маршрут Последовательность действий у разных участников Порядок шагов различается, встречаются брошенные на середине Идентичная цепочка у сотен адресов, без отклонений и пропусков
История адреса Возраст адреса и его активность вне этой кампании Адреса с собственной историей, не связанной с проектом Адреса созданы пачкой незадолго до старта и больше ничем не заняты

Три первых среза — это и есть отпечатки. Четвёртый — контрольный. Четвёртый срез проверяет вывод, сделанный по трём предыдущим, и расхождение между ними обычно означает смешанную картину, а не ошибку наблюдения. Если все четыре указывают в одну сторону, вопрос закрыт без подключения кошелька.

Пошаговое участие и порядок проверки

  1. Найдите официальный анонс на домене проекта и сверьте адрес контракта с ним, а не со скриншотом из чата.
  2. Откройте контракт в обозревателе: проверьте верификацию исходного кода и дату развёртывания.
  3. Посмотрите список держателей и распределение действий — первый отпечаток читается здесь.
  4. Сверьте временной рисунок действий по нескольким десяткам адресов из списка.
  5. Пройдите маршрут глазами: одинаков ли он у разных участников или различается.
  6. Решайте о подключении кошелька только после четырёх прочитанных срезов.
Схема из пяти шагов проверки: официальный анонс, контракт в обозревателе, распределение по адресам, временной рисунок, повторяемость маршрута
Схема из пяти шагов проверки: официальный анонс, контракт в обозревателе, распределение по адресам, временной рисунок, повторяемость маршрута

Порядок шагов не случаен. Он выстроен от бесплатного к платному. Подключение кошелька намеренно стоит последним пунктом: всё, что идёт до него, обратимо и не оставляет следов, а всё, что после, фиксируется в сети навсегда.

Сколько это стоит по комиссиям и времени

Разложим расходы. Считаем в транзакциях. Чтение анонса, проверка контракта в обозревателе, просмотр держателей и временного рисунка — ноль транзакций и ноль комиссий. Подключение кошелька для просмотра тоже бесплатно: подпись на вход не отправляет транзакцию в сеть. Платными становятся лишь действия, меняющие состояние сети: выдача разрешения контракту и её последующий отзыв, то есть ровно две транзакции на одну принятую кампанию. При сорока проверенных и десяти принятых кампаниях вы платите за десять, а не за сорок.

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

Риски и что подписывать нельзя

Подпись и транзакция — разные вещи, и путаница между ними обходится дороже любой другой ошибки в этой работе, потому что последствия наступают не сразу и обнаруживаются случайно. Спецификация EIP-712 со статусом Final, созданная 12 сентября 2017 года, описывает подпись структурированных данных в читаемом виде, и это шаг вперёд по сравнению с подписью непонятной шестнадцатеричной строки. Но сам документ прямо оговаривает: защиты от повторного использования подписи стандарт не содержит, её реализует приложение.

Не подписывайте запрос, в котором вы не видите, что именно разрешаете и кому. Безлимитное разрешение на распоряжение токеном живёт до отзыва и не зависит от того, закрыли вы вкладку или нет.

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

Итог

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

Дальше полезно вести собственный реестр: как вести таблицу активностей. Закрытые сообщества живут по другим правилам — о них в материале про то, как участвовать в закрытых сообществах проектов.

Частые вопросы

Можно ли определить накрутку только по числу подписчиков?

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

Что делать, если отпечатки противоречат друг другу?

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

Обязательно ли подключать кошелёк для проверки?

Нет. И это главное преимущество метода. Распределение держателей, время действий и повторяемость маршрутов читаются в обозревателе без подключения кошелька и без единой подписи, то есть без всякого риска для ваших средств. Кошелёк нужен лишь для самого участия. Если проверка требует подключения до того, как вы увидели контракт, это сам по себе плохой признак.

Как отозвать выданное разрешение?

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

Вердикт

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

Разборы кампаний и проверки по первоисточникам — в Telegram-канале Cryptium.