Тип бота
Любой квест-бот атакуют. Этот спроектирован в расчёте на атаку.
Telegram-бот аирдропов и квестов ведёт кампании заданий, проверяет их выполнение и считает аллокации так, чтобы они устояли против сибил-ферм. Устойчивость к сибил-атакам и есть вся инженерная задача. Квест-бот без неё раздаёт ваш токен операторам ферм, а не вашему сообществу.
Боты аирдропов и квестов: цена, сроки и ограничения
- Фиксированная цена
- $7,100 USD
- Срок
- 28 календарных дней с момента старта
- Возраст аккаунта
- Telegram его не отдаёт — только растущий числовой идентификатор
- Выявление сибилов
- Бот не определит, что два аккаунта — один человек
- Нагрузка диплинка
- 64 символа, что сжимает кодирование рефералов
- Проверка членства
- Пользователь может выйти сразу после проверки
As of 2025-10-01, Telegram Bot API 13.4
Какую задачу это решает
Квест-кампании существуют потому, что распределение токена должно вознаграждать тех, кто что-то сделал, а не тех, кто раньше всех успел по ссылке. Механика здравая. Исполнение почти всегда проваливается по одной и той же причине: через считаные часы после старта профессиональные операторы ферм прогоняют через задания сотни и тысячи аккаунтов, и к моменту снимка большая часть вашей аллокации принадлежит десятку человек.
В моменте провал не замечают, потому что метрики кампании выглядят прекрасно. Участие высокое, задания закрываются, канал растёт. Каждая из этих цифр раздута ровно теми аккаунтами, которым вы не собирались платить. Понимание обычно приходит после раздачи, когда токен тут же продают кошельки, подозрительно похожие друг на друга.
Проектирование против этого меняет сами задания, а не только проверки после них. Задание, которое может закрыть скрипт, скриптами и будет закрыто. Задания, требующие ончейн-операции с реальной стоимостью, кошелька с настоящей историей или подтверждённой личности, ферме даются несопоставимо тяжелее — и ровно настолько же хуже конвертируют, и этот размен проект обязан сделать осознанно. Честная позиция такова: устойчивость к сибилам — это шкала со стоимостью на обоих концах, а кампания, оптимизированная под цифры участия, оптимизирована под фермеров.
Как идёт разработка
Задания выбираются по тому, насколько трудно их подделать
Ончейн-операция с реальной стоимостью, кошелёк с прошлой историей, аккаунт старше самой кампании. Подписка на канал и нажатие кнопки ферме бесплатны и будут отфермлены, поэтому их включение должно быть решением, а не значением по умолчанию.
commandsКаждое выполнение проверяется на сервере
Состояние сети читается напрямую, членство в канале проверяется через API, и ничто не принимается только потому, что так сказал клиент. Сообщение клиента о выполнении — это заявка, а не доказательство.
webhookУчастник набирает риск-балл, а не отметку «прошёл или нет»
Возраст аккаунта, время вступления относительно когорты, источник пополнения кошелька, характер взаимодействий. Бинарная классификация здесь неверна, потому что средняя полоса самая широкая и в ней сидят живые люди.
webhookКошельки кластеризуются по пополнению и времени
Фермы пополняют свои аккаунты из небольшого числа источников в узких временных окнах. Эта картина видна в сети и остаётся самым надёжным сигналом из доступных.
webhookАллокация взвешенная, а не плоская
Участник с высоким риском получает уменьшенную долю, а не ноль. Взвешивание деградирует мягко, когда оценка ошиблась; жёсткая отсечка превращает каждое ложное срабатывание в публичный спор.
commandsРаспределение разбирают и публикуют
Концентрация, размеры кластеров, какая доля ушла аккаунтам с высоким риском. Публиковать это неуютно, и это единственный способ дать сообществу судить, сделала ли кампания то, что обещала.
webhook
Что Telegram разрешает, а что нет
Telegram не сообщает, когда аккаунт был создан: доступен только растущий числовой идентификатор пользователя.
Возраст восстанавливается из порядка идентификаторов — надёжный относительный сигнал и приблизительная дата. Поэтому правила формулируются полосами свежести, а не точным возрастом, которого платформа не публикует.
Бот не может определить, что два аккаунта Telegram принадлежат одному человеку.
Выявление сибилов строится на поведении и ончейн-данных, а не на личности. Основную работу делает кластеризация кошельков, потому что это единственное место, где ферма оставляет долговечный след.
Членство в канале проверить можно, но пользователь вправе вступить и выйти сразу после проверки.
Проверка перезапускается в момент снимка, а не только при выполнении задания. Иначе задание вознаграждает вступление длиной в четыре секунды.
Полезная нагрузка диплинка start ограничена 64 символами, что сжимает кодирование рефералов.
Реферальные цепочки разворачиваются на сервере по коротким кодам. Заодно это делает реферал отзываемым, что важно, когда дерево оказывается одним оператором.
Ончейн-проверка стоит одного RPC-вызова на участника на каждое задание.
Кампания на пятьдесят тысяч участников и шесть заданий — это триста тысяч вызовов. Проверка идёт пакетами и кешируется относительно блока-снимка, а не выполняется вживую на каждый запрос.
Когда это не нужно строить
- Ваша цель — цифры участия. Устойчивость к сибилам по построению снижает громкий показатель участия, и если вас оценивают по числу регистраций, эта разработка будет выглядеть провалом.
- Вы не готовы принять ни одного ложного срабатывания. Оценка риска вероятностна; кампания, которая не имеет права ошибочно урезать чью-то долю, применять её не может — и заплатит фермам полностью.
- У вас вовсе нет ончейн-составляющей. Без сигналов от кошельков сильнейшее доказательство сибила недоступно, и кампания опирается только на сигналы Telegram, а они слабые.
- У токена нет плана распределения дальше самой кампании. Квест-бот распределяет; он не отвечает на вопрос, зачем держать то, что человек получил.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| grammY | 1.45 | Фреймворк бота и сценарий квеста со стороны участника. |
| Cloudflare Workers | current | Среда исполнения с пакетными заданиями проверки по расписанию. |
| Cloudflare D1 | current | Участники, состояние заданий, риск-баллы и реестр аллокаций. |
| TON API | v2 | Ончейн-проверка и запросы к графу пополнения кошельков. |
| TypeScript | 5.9 | Строгий режим, аллокации в целых минимальных единицах. |
О чём спрашивают перед стартом
Сколько сибил-фермерства нам реально ждать?
На незащищённой кампании с заметной наградой — подавляющую долю участия. Операторы ферм следят за новыми кампаниями и включаются в течение часов. Предполагать обратное — та самая ошибка, после которой остальной дизайн кажется планировщику необязательным.
Какая защита работает лучше всего?
Кластеризация кошельков по источнику пополнения и времени. Фермы пополняют сотни аккаунтов с нескольких кошельков в узких окнах, и эта картина видна в сети, а замаскировать её как следует дорого.
Почему аллокации взвешивают, а не дисквалифицируют?
Потому что оценка вероятностна, а средняя полоса широкая и полна настоящих людей. Взвешивание мягко деградирует, когда балл ошибочен; жёсткая отсечка превращает каждое ложное срабатывание в публичный спор, который вам не выиграть.
Можете ли вы понять, что два аккаунта Telegram — один человек?
Нет. Telegram не даёт ничего, что позволило бы это установить. Всё полезное приходит из поведения и ончейн-графов пополнения, поэтому у кампании без сетевой составляющей защита заметно слабее.
Публиковать ли разбор распределения?
Да, хотя это и неуютно. Цифры концентрации и размеры кластеров — единственный способ для сообщества понять, кого вознаградила кампания: его или ферму. Проекты, которые публикуют, получают больше доверия, чем те, у кого цифры красивее, но раскрытия нет.
Работают ли квесты, требующие платной операции в сети?
Против ферм они работают гораздо лучше, а по общей конверсии хуже, и именно этот размен нужно сделать осознанно. Небольшая обязательная стоимость на аккаунт рушит экономику фермы и почти не ощущается настоящим участником.