Разработка устойчивых Move-to-Earn механик
Move-to-Earn — не просто геймификация фитнеса, а сложная система с ораклами, античит-механиками, двухтокенной экономикой. STEPN показал, что неверно спроектированная токен-экономика может разрушить проект за несколько недель. Наш опыт включает 5+ лет в Web3 и 10+ проектов в сфере M2E. Мы начинаем с токеномического моделирования: это основа, от которой зависит успех.
Как работает античит в M2E? — разработка устойчивых move
Мобильное приложение собирает данные с акселерометра, гироскопа и GPS. Из них извлекаются шаги, расстояние, скорость, тип активности. Проблема: эти данные легко подделать на джейлбрейкнутом устройстве или эмуляторе. Мы используем четыре уровня защиты, причём наш ML-модуль в 3 раза точнее правил-эвристик:
Level 1: Device integrity. iOS App Attest / Android Play Integrity API — подтверждение, что приложение запущено на реальном устройстве. Attestation — подписанный токен от Apple/Google. Источник: Apple App Attest documentation.
Level 2: Activity plausibility check. Backend анализирует GPS трек и шаги на правдоподобность: скорость > 12 м/с при ходьбе — флаг, ровный шаг без вариации — флаг эмулятора, GPS телепортация — флаг.
Level 3: ML аномалии. При масштабе обучаем ML-модель на легитимных сессиях. Она ловит отклонения, не заметные правилам: ритм дыхания, вариацию шага.
Level 4: NFT durability. NFT-кроссовки имеют энергетический пул, который медленно восстанавливается. Даже если имитировать активность, Energy cap ограничивает максимальный reward.
Почему токен-экономика решает всё?
STEPN имел GST (spending token) и GMT (governance). GST бесконечно минтился за шаги и сжигался на ремонт. Пока игроков больше — токен рос. Когда рост остановился — инфляция обрушила цену за недели. Мы проектируем dual-token с несколькими механизмами сжигания:
- Ремонт durability — основной sink.
- Апгрейд NFT — сжигание ET.
- Крафтинг (mint нового NFT) — создаёт инфляцию NFT, но сжигает ET.
Переменный emission rate: награда за шаг = f(активность сети, DAU, общее сожжение). Если sink < mint — эмиссия снижается автоматически. Это не панацея, но замедляет деградацию.
Real-world value: часть revenue от продаж NFT направляем в buyback & burn earning token. Также возможен B2B дата-монетизации: агрегированные данные активности продаются фармацевтическим компаниям с согласия пользователей.
Сравнение уровней античита
| Уровень |
Метод |
Точность |
Ресурсы |
| Level 1 |
App Attest / Play Integrity |
90% |
Низкие, на клиенте |
| Level 2 |
Эвристики (скорость, вариация) |
70% |
Средние, бэкенд |
| Level 3 |
ML-модель |
95% |
Высокие, обучение + инференс |
| Level 4 |
NFT Energy cap |
100% для эмуляции |
Низкие, on-chain |
On-chain архитектура
NFT снаряжение и атрибуты
Solidity-контракт хранит Equipment с атрибутами: efficiency, luck, comfort, resilience, durability, level. Каждое NFT — кроссовки, велосипед и т.д. Energy pool пользователя восстанавливается со временем.
Reward контракт и oracle
Backend верифицирует сессию и подписывает claim. Пользователь предъявляет подпись в reward контракте, который начисляет токены и снижает durability. Это off-chain + on-chain гибрид, снижающий gas cost.
contract MoveToEarnReward {
address public rewardSigner;
mapping(bytes32 => bool) public claimedSessions;
function claimReward(
bytes32 sessionId,
uint256 steps,
uint256 rewardAmount,
uint256 equipmentId,
uint256 deadline,
bytes calldata signature
) external {
require(block.timestamp <= deadline, "Expired");
require(!claimedSessions[sessionId], "Already claimed");
bytes32 hash = keccak256(abi.encodePacked(sessionId, msg.sender, steps, rewardAmount, equipmentId, deadline));
bytes32 ethHash = ECDSA.toEthSignedMessageHash(hash);
require(ECDSA.recover(ethHash, signature) == rewardSigner, "Invalid signature");
claimedSessions[sessionId] = true;
_drainDurability(equipmentId, steps);
rewardToken.mint(msg.sender, rewardAmount);
}
}
Уровни и прогрессия NFT
NFT имеет уровень 0-30. Каждый уровень открывает слоты для gems и дополнительные бусты. Upgrade требует сжигания ET и time lock, что дополнительно ограничивает фарминг.
| Уровень |
ET стоимость |
Время |
Разблокирует |
| 1 → 5 |
10 ET |
Instant |
Socket 1 (gem slot) |
| 5 → 10 |
50 ET |
24h |
Socket 2 |
| 10 → 20 |
200 ET |
72h |
Socket 3, Mint capability |
| 20 → 30 |
1000 ET |
7d |
Socket 4, Special abilities |
Mobile stack
React Native + Expo — кросс-платформенная разработка с доступом к нативным модулям. Expo bare workflow позволяет использовать CMPedometer, Play Integrity. Expo Location для GPS-трекинга в фоне. WalletConnect v2 + wagmi для подключения кошелька. Для non-crypto аудитории — встроенный кошелек через Privy/Dynamic.
Apple CMPedometer предоставляет нативно верифицированные данные шагов, что повышает надежность Level 2 античита.
Процесс разработки
- Токеномическое моделирование (2-4 недели). Python/Excel — sensitivity analysis по DAU, churn, наградам.
- Смарт-контракты (3-4 недели). NFT, Reward, ET token, Upgrade механики.
- Backend (3-5 недель). Activity validation, античит, reward calculation, signer.
- Mobile app (6-10 недель). GPS + activity tracking, NFT viewer, reward claim UI.
- Аудит и beta-тест. Аудит контрактов обязателен. Beta с лимитом пользователей.
Что входит в работу
- Документация: токеномическая модель, архитектура, схемы взаимодействия.
- Смарт-контракты с открытым кодом и аудитом (опционально).
- Backend с API для валидации и подписи claim.
- Mobile приложение (iOS + Android) с античитом.
- Доступы к репозиториям, CI/CD, админ-панель.
- Обучение команды заказчика поддержке.
- Гарантийная поддержка 3 месяца после запуска.
Сроки ориентировочно
MVP (без mobile, базовый античит) — от 2 до 3 месяцев. Полноценное решение с ML-античитом и устойчивой токеномикой — от 6 до 9 месяцев. Стоимость рассчитывается индивидуально после аудита требований. Свяжитесь, чтобы оценить ваш проект.
Подробнее о том, как мы реализуем anti-cheat — получите консультацию. Закажите расчёт токен-экономики для вашего M2E проекта.
Игровая экономика, контракты и on-chain механика
Мы видели этот сценарий не раз. Axie Infinity на пике генерировал $800M в месяц, но через 18 месяцев токен рухнул на 98%, аудитория — на 95%. Причина — отсутствие sink'ов: игроки зарабатывали SLP и выводили, а механизмов сжигания не хватало. Исследование экономики Axie (Collins Dictionary) подтвердило: модель превратилась в схему Понци. Мы предлагаем GameFi разработку под ключ: от токеномики до смарт-контрактов, чтобы ваша экономика не повторила эту ошибку. Оценим ваш проект на meetup или онлайн.
Где ломается Play-to-Earn экономика
Инфляционная токеномика без sink'ов. Игрок получает токены за геймплей. Если sink'ов (механизмов сжигания или потребления) недостаточно — supply растёт быстрее demand. Цена падает. Доход игрока в fiat уменьшается. Игроки уходят. Смертельная спираль.
Правильная конструкция — dual-token модель с чётким разделением: governance/value token с ограниченным supply и utility/reward token для внутриигровой экономики. Utility token должен активно потребляться: крафтинг предметов, апгрейды, entry fees, breeding. Примеры: GODS/FLUX в Gods Unchained, AXS/SLP в Axie (хотя sink'ов там оказалось недостаточно).
Какие sink-механизмы реально работают?
-
Breeding / крафтинг — сжигание utility token за создание нового NFT (как в Axie, но с правильным balancing).
-
Апгрейды персонажей — каждая эволюция требует сжигания токена.
-
PvP entry fee — вход в турнир сжигает токены, часть идёт в призовой пул.
-
Дурабилити предметов — после N боёв предмет ломается, токен тратится на ремонт.
-
Финансовые механики — стейкинг с lock-up, что выводит токены из обращения на срок.
On-chain vs Off-chain: где проходит граница
Всю игровую логику on-chain выносить не нужно — каждая транзакция стоит газа и длится 12 секунд. Игровой цикл — миллисекунды. Баланс:
| Компонент |
On-chain |
Off-chain |
Примеры |
| Ownership активов |
+ |
– |
NFT предметы, land |
| Передача/торговля |
+ |
– |
Маркетплейсы |
| Финансы (стейкинг, rewards) |
+ |
– |
Staking vaults, DAO |
| Random generation |
+ (через VRF) |
– |
Chainlink VRF |
| Игровой процесс |
– |
+ |
Боевая система, движение |
| State игрового мира |
– |
+ |
Координаты, health points |
| Матчмейкинг |
– |
+ |
Серверная логика |
Результаты геймплея переносятся на блокчейн через signed message от сервера или ZK-proof. Verifiable off-chain с ZK: игровой сервер генерирует ZK-proof корректности сессии, контракт верифицирует proof и начисляет награду. Реализации: Cartridge (Starknet), zkSync game rollups.
Реализация NFT игровых предметов
Стандарт: ERC-1155 для взаимозаменяемых предметов (ресурсы, consumables) + ERC-721 для уникальных (персонажи, land). ERC-1155 даёт до 60% экономии на газе при batch transfer.
Как реализовать динамические NFT без перегрузки блокчейна?
Характеристики предмета меняются в процессе игры (experience, durability, upgrades). Два подхода:
-
Fully on-chain: атрибуты хранятся в mapping контракта,
tokenURI генерируется из атрибутов через SVG/JSON encoding. Дорого по газу при частом обновлении. Используется для land и ключевых активов.
-
Hybrid: атрибуты хранятся off-chain, в
tokenURI — hash состояния. Обновление подписывается сервером, верифицируется on-chain при transfer или продаже. Дешевле, но требует доверия к серверу или ZK.
Breeding и crafting. Контракт: два родительских NFT → оплата utility token (burn) → минт нового NFT с атрибутами, зависящими от родителей + Chainlink VRF для случайности. Без VRF майнеры могут манипулировать рандомом через выбор блока.
// Simplified breeding with Chainlink VRF
function breed(uint256 parent1Id, uint256 parent2Id) external {
require(ownerOf(parent1Id) == msg.sender);
require(ownerOf(parent2Id) == msg.sender);
require(breedingToken.burnFrom(msg.sender, BREEDING_COST));
uint256 requestId = vrfCoordinator.requestRandomWords(...);
pendingBreeds[requestId] = BreedRequest(parent1Id, parent2Id, msg.sender);
}
function fulfillRandomWords(uint256 requestId, uint256[] memory randomWords) internal override {
BreedRequest memory req = pendingBreeds[requestId];
uint256 childAttributes = deriveAttributes(req.parent1Id, req.parent2Id, randomWords[0]);
_mintWithAttributes(req.requester, childAttributes);
}
Маркетплейс и роялти
Встроенный маркетплейс даёт контроль над fee структурой и кастомной логикой (запрет торговли предметами до определённого уровня). Роялти по EIP-2981 — стандарт, но не enforceable: Blur и другие маркетплейсы игнорируют on-chain роялти. Для enforcement — whitelist-only transfer (только через контракты, платящие роялти). Жертвуем composability ради защиты прав.
Staking и rewards distribution
Staking NFT — механика для удержания игроков. Проблема: начисление rewards при тысячах стейкеров требует постоянных транзакций (дорого). Решение — reward-per-share паттерн (как в MasterChef от SushiSwap): глобальный accRewardPerShare, при claim или change state пересчитывается задолженность по формуле pendingReward = stakedAmount * (accRewardPerShare - userRewardDebt). O(1) сложность независимо от числа стейкеров. Экономия газа — до 70% по сравнению с поэлементным начислением.
Процесс и сроки
Начинаем с game economics документа: token flows, mint/burn механики, projected supply schedule, sink analysis. До написания кода экономика моделируется (Cadence, Python simulation).
Как мы строим GameFi: 5 этапов
-
Экономическое моделирование — 1-2 недели. Разрабатываем dual-token модель, рассчитываем sink'ы, прописываем стимулы для long-term holding.
-
Разработка токен-контрактов — 2-3 недели. ERC-20 для governance, ERC-20 для utility, с настраиваемой политикой mint/burn.
-
Смарт-контракты NFT — 3-5 недель. ERC-721 / ERC-1155 с dynamic metadata, breeding/crafting, Chainlink VRF.
-
Staking + rewards — 2-3 недели. Контракт на базе reward-per-share, интерфейсы для frontend.
-
Маркетплейс (опционально) — 2-4 недели. Кастомный маркетплейс с enforced royalty.
Что входит в работу
- Исходный код всех смарт-контрактов с тестами (Foundry/Hardhat)
- Документация архитектуры и экономики
- Интеграция с Chainlink, Tenderly для мониторинга
- Аудит кода и формальная верификация (Slither, Mythril, Echidna)
- Обучение команды работе с контрактами
- Поддержка после деплоя (3 месяца)
Базовый GameFi стек (токены + NFT + staking + маркетплейс) — от 8 до 16 недель. Полная игра с on-chain рандомом, breeding, dynamic NFT — 4-8 месяцев. ZK-based verifiable gameplay — отдельный проект от 6 месяцев.
Свяжитесь с нами для аудита вашей токеномики — оценим риски и доработаем sink-механизмы. Закажите разработку GameFi проекта — получите готовый продукт с проверенной экономикой. Гарантируем стабильность контрактов и прозрачность кода. Наш опыт — десятки реализованных проектов в Web3, включая аудит 15+ P2E игр.