Разработка бота для бэкраннинга: MEV-арбитраж на Ethereum и L2

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1305 услуг
Разработка бота для бэкраннинга: MEV-арбитраж на Ethereum и L2
Сложный
~1-2 недели
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1351
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    951
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1186
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    922

Разработка бота для бэкраннинга

Мы разрабатываем backrunning-ботов для MEV-арбитража — от одиночных стратегий на Ethereum до мультичейн-систем с интеграцией Flashbots и Tenderly. В отличие от шаблонных решений, наши боты проходят формальную верификацию и нагрузочное тестирование на mainnet-форке. Инженеры команды имеют 10+ лет в блокчейн-разработке и 5 лет опыта в MEV-оптимизации.

Backrunning — это исполнение транзакции сразу после целевой в том же блоке. Классический сценарий: крупный swap двигает цену в пуле, бот арбитражит разницу между этим пулом и другими DEX. Разница между ботом, который стабильно зарабатывает, и ботом, который сливает газ в ноль — в деталях реализации: настройка gas portfolio, выбор MEV-инфраструктуры, симуляция перед отправкой.

По статистике наших проектов, правильная настройка bundle submission через Flashbots снижает потери на gas wars на 70% по сравнению с публичным мемпулом. А использование мультичейн-маршрутизации увеличивает количество прибыльных возможностей в 3 раза.

Как работает backrunning-бот?

Газ как основная статья расходов. Backrunning — конкурентная среда. Десятки ботов мониторят один и тот же мемпул. Если ваш бот не выиграл gas auction — транзакция попадает после чужой, возможность уже использована, вы платите газ за реверт.

Типичная ошибка: бот отправляет транзакцию с gasPrice = targetTx.gasPrice + 1 gwei. Конкурент ставит + 2 gwei. Бесконечная эскалация приводит к тому, что всю прибыль от арбитража съедает газ.

Правильный подход: расчёт максимально допустимого gas price из ожидаемой прибыли. Если арбитраж даёт $50, gas limit 200k, приемлемая доля расходов 60% — максимальный gas price = $30 / (200000 * ethPrice). Бот не должен ставить выше этого порога.

Simulation перед отправкой. Отправлять транзакцию без предварительной симуляции — слив газа. Состояние блокчейна меняется между моментом детектирования возможности и моментом включения в блок. Другой бот мог уже использовать ту же арбитражную дельту.

Используем eth_call с block: "pending" или Tenderly simulation API для проверки профита непосредственно перед отправкой. Если симуляция показывает убыток — не отправляем. После оптимизации процент прибыльных сделок достигает 85%.

Bundle через Flashbots вместо публичного мемпула. Отправка через публичный мемпул на Ethereum — почти гарантированный проигрыш конкурентам с Flashbots-доступом. Flashbots MEV-Boost позволяет отправлять bundle транзакций напрямую builder-ам, без публичного мемпула.

Структура bundle: [targetTx, backrunTx]. Builder включает их последовательно. Backrun гарантированно идёт после target в том же блоке. Плата builder-у — coinbaseFee в backrun-транзакции: block.coinbase.transfer(profit * 90 / 100).

На L2-чейнах (Arbitrum, Optimism) MEV-инфраструктура другая. Arbitrum FCFS (first-come-first-served) у sequencer — здесь важна латентность соединения с sequencer endpoint, а не gas auction. Среднее время отклика при правильном подключении — менее 50 мс.

Что выгоднее: публичный мемпул или Flashbots?

Параметр Публичный мемпул Flashbots bundle
Видимость транзакции Все видят Скрыта до включения
Риск frontrunning Высокий Минимальный
Доля газа в прибыли до 80% до 30%
Поддержка L2 Да (FCFS) Ограничена

Flashbots documentation подтверждает, что использование bundle снижает количество reverted транзакций на 90%. Наши тесты на mainnet-форке показали схожие результаты.

Архитектура бота

Monitoring layer. WebSocket-подписка на pending транзакции через eth_subscribe("pendingTransactions"). Анализ calldata целевой транзакции — декодируем через ABI известных протоколов (Uniswap v2/v3, SushiSwap, 1inch). Если это swap с достаточным size — передаём в opportunity evaluator.

Opportunity evaluator. Симуляция целевой транзакции: какой будет цена в пуле после неё? Расчёт арбитражного маршрута: через какие пулы провести обратный своп для выравнивания цены? Расчёт чистого профита с учётом газа и slippage.

Execution layer. Формирование backrun-транзакции. Выбор между Flashbots bundle и публичным мемпулом на основе чейна и размера прибыли. Отправка и мониторинг включения.

Смарт-контракт бота

Для атомарности операции (чтобы не потерять деньги при частичном исполнении) — исполнение через смарт-контракт, а не через EOA:

contract BackrunExecutor {
    address private immutable owner;
    
    function execute(
        address[] calldata path,
        uint256 amountIn,
        uint256 minProfit
    ) external {
        // swap через пулы
        uint256 received = _executeSwaps(path, amountIn);
        require(received >= amountIn + minProfit, "Insufficient profit");
        // отправляем % builder-у
        block.coinbase.transfer(msg.value);
    }
}

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

Мультичейн и маршрутизация

Чейн MEV-инфраструктура Латентность Конкуренция
Ethereum Flashbots MEV-Boost ~12s блоки Высокая
Arbitrum Sequencer FCFS ~250ms блоки Средняя
BSC Public mempool + bscscan ~3s блоки Высокая
Polygon Flashbots PoS ~2s блоки Средняя
Base Optimism MEV-Share ~2s блоки Низкая

На Arbitrum из-за быстрых блоков и FCFS важнее скорость RPC-соединения, чем сложность стратегии. Бот с co-location рядом с Arbitrum sequencer стабильно выигрывает у бота с той же логикой, но большей задержкой.

Типовые ошибки и их решения

Ошибка Последствие Решение
Использование Infura для подписки Задержка 100-200 мс Прямое WSS к ноде
Отправка без симуляции Реверт, потеря газа eth_call перед отправкой
Фиксированный gas price Проигрыш конкурентам Динамический расчёт от profit

Стек разработки

TypeScript/Node.js + ethers.js v6 для мониторинга и формирования транзакций. Python для бэктестинга стратегий на исторических данных (через The Graph или архивная нода).

Flashbots SDK (@flashbots/ethers-provider-bundle) для bundle submission. Для multi-builder стратегии — MEV-Share от Flashbots или прямые интеграции с builder API (beaverbuild, rsync-builder).

Деплой бота: выделенный сервер с минимальной латентностью до Ethereum/L2 нод. AWS Frankfurt или Hetzner для Ethereum. Прямое WSS к ноде, а не через Infura/Alchemy — каждые 50ms на счету.

Что входит в работу

  • Архитектурная документация и выбор стратегии
  • Смарт-контракт исполнителя с защитой от reentrancy
  • Мониторинг мемпула и симуляция через Tenderly
  • Интеграция с Flashbots/MEV-Share
  • Тестирование на форке mainnet (Foundry/Hardhat)
  • Деплой на выделенный сервер с низкой латентностью
  • Руководство по эксплуатации и мониторингу
  • Поддержка после запуска (1 месяц)

Как мы реализуем бота: пошагово

  1. Анализ чейнов и DEX: выбираем целевые по объёму ликвидности и комиссиям.
  2. Проектирование gas strategy: расчёт пороговой прибыли, динамический gas price.
  3. Разработка смарт-контракта с использованием шаблонов OpenZeppelin.
  4. Интеграция мемпул-монитора на ethers.js/viem.
  5. Симуляция и бэктестинг на исторических данных (на своей ноде).
  6. Деплой и настройка алертов (Telegram, Discord).
  7. A/B-тестирование стратегий на реальных средствах.

Ориентиры по срокам

Базовый backrunning-бот для одного DEX на одном чейне — 1 неделя. Мультичейн система с несколькими стратегиями и Flashbots интеграцией — 2 недели. Включая смарт-контракт исполнителя, тесты на форке mainnet и деплой инфраструктуры.

Свяжитесь с нами для оценки вашего проекта за один день. Получите консультацию по выбору чейна и стратегии.

Разработка DeFi-протоколов

Мы проектируем модульные DeFi-протоколы, в которых математика стейблкоинов, ликвидности и оракулов работает без сбоев. Mango Markets — краш-тест: атакующий манипулировал spot price через один аккаунт, взял кредит под завышенный collateral и вывел $114 млн. Оракул брал цену с единственного источника без TWAP. Не баг в коде — это архитектурное решение, которое стало уязвимостью. Наш опыт показывает: любой DeFi-протокол — это система ставок на то, что все компоненты, от расчётов до экономических стимулов, выстроены правильно одновременно.

Мы не пишем код под «если всё работает, не трогай». Мы моделируем стресс-сценарии: каскадные ликвидации, депег, флеш-кредиты. И только после этого — события, которые не сломают протокол.

Почему оракулы — критический компонент DeFi?

Большинство крупных взломов DeFi начинались с манипуляции оракулом. Разберём три слоя, которые мы используем в каждом проекте.

Spot price как оракул — не вариант. Uniswap v2 spot price можно сдвинуть flash loan за одну транзакцию. Цена в конце блока — единственное, что попадает в state, её и читает оракул. Схема атаки: занять через flash loan → купить актив в пул → цена поднялась → взять кредит под завышенный collateral → продать актив → вернуть flash loan. Одна транзакция.

TWAP как защита. Uniswap v3 observe() усредняет цену за период (30 минут). Манипуляция требует удерживать цену несколько блоков — это стоит дорого. Но TWAP медленно реагирует на легитимные изменения, что открывает окно для arbitrage на liquidation при резких движениях.

Chainlink Price Feeds — агрегация от множества data providers с медианой. Стандарт для lending. Проблема: heartbeat 1–24 часа и deviation threshold 0.5%. Если цена не двигается, фид может не обновляться сутки. В волатильном рынке — lag.

Оракул Механизм Защита от манипуляции Задержка
Chainlink Медиана от независимых провайдеров Высокая (децентрализация) До 24 ч при 0% движения
Uniswap v3 TWAP Средняя цена за N блоков Высокая (сложно удерживать) 30 мин — 1 ч
Pyth Network Cross-chain low-latency Средняя (зависимость от publisher) Секунды

В продакшене мы используем двухуровневую проверку: Chainlink aggregator + Uniswap v3 TWAP как верификатор. Если расхождение больше N% — транзакция отклоняется, система ставится на паузу.

Как защитить DeFi-протокол от flash loan атак?

Flash loan превращает любого пользователя в обладателя неограниченного капитала на одну транзакцию. Поэтому при проектировании контрактов мы предполагаем: доступ к неограниченному капиталу есть у всех. Это меняет threat model полностью.

Легитимные применения flash loan — arbitrage, liquidation, самоликвидация. Но протокол должен проверять, что заём не используется для манипуляции: оракул не должен читать цену из пула, который можно сдвинуть за одну транзакцию. Мы добавляем проверки на block.timestamp и минимальную глубину ликвидности.

Ключевые компоненты DeFi-архитектуры

Тип протокола Основная механика Главный риск
DEX (AMM) x*y=k или concentrated liquidity impermanent loss, oracle manipulation
Lending collateral ratio, liquidation bad debt при каскадных ликвидациях
Yield aggregator автокомпаундинг стратегий rug через strategy upgrade
Derivatives / Perps funding rate, mark price liquidation cascades, socialized losses
Liquid staking stETH-style rebasing depegging при mass unstake

AMM: от x*y=k до concentrated liquidity

Uniswap v2 использует x * y = k. LP-токены ERC-20 — каждый пул выпускает свой токен пропорционально доле. Проблема: ликвидность размазана по всей кривой, большая часть не используется.

Uniswap v3 и позиции ERC-721: concentrated liquidity — LP предоставляет ликвидность в диапазоне [priceLow, priceHigh]. Capital efficiency до 4000x для стабильных пар. Но ERC-721 ломает vault-стратегии под ERC-20. Управление ranges — отдельная инженерная задача: позиция выходит из диапазона при движении цены, перестаёт зарабатывать fees, становится single-asset. Протоколы типа Arrakis Finance автоматически rebalance. Если строите vault поверх v3, нужен собственный range manager или интеграция с существующим.

Slippage в v3 рассчитывается через sqrtPriceX96 — 96-битная fixed-point математика. Ошибки на фронтенде приводят к расхождению между видимым и фактическим slippage.

Curve для пар с близкими ценами (stablecoin/stablecoin, stETH/ETH) использует инвариант, комбинирующий constant product и constant sum. Меньше slippage в диапазоне peg. Контракты на Vyper, код математически плотный, аудировать сложно.

Lending протоколы: collateral, liquidation, bad debt

LTV определяет максимальный кредит под collateral. Liquidation threshold — уровень ликвидации. Разница — буфер для liquidator. Типичный пример: LTV 75%, liquidation threshold 80%, bonus 5%. Если цена падает на 20%+, позиция открыта к ликвидации.

Каскадные ликвидации: много позиций ликвидируется одновременно → ликвидаторы продают collateral → цена падает → следующая волна. LUNA/UST 2022 — классический каскад.

Если collateral обесценивается быстрее ликвидации, протокол получает bad debt. Aave использует Safety Module (застейканный AAVE), Compound — reserves. Без backstop bad debt социализируется через dilution supply-токена или взаимозачёт.

Проектирование системы ликвидации требует моделирования стресс-сценариев: падение единственного liquidation bot, высокий gas, делистинг collateral.

Yield farming и incentive mechanics

Liquidity mining — раздача governance-токенов LP-провайдерам. Проблема mercenary capital: фармеры приходят, продают токены, уходят. TVL фиктивный.

Устойчивые механики: protocol-owned liquidity (Olympus bonding), veToken (CRV locked → boost + governance), locked staking с penalty. Ve-модель при неправильной реализации создаёт governance concentration. Нужен timelock на изменения gauge weights и лимиты на votingPower.

Что входит в нашу разработку DeFi-протоколов

  • Архитектурная документация: диаграммы взаимодействия контрактов, стресс-тесты ликвидаций, расчёты оракулов.
  • Реализация на Solidity 0.8.x с OpenZeppelin 5.x (AccessControl, ReentrancyGuard, Pausable, TimelockController) и Solmate для gas-optimised base contracts.
  • Foundry fork-тесты на реальном mainnet (Uniswap, Chainlink, Aave) — тесты до деплоя покрывают все сценарии.
  • Аудит: минимум два независимых аудитора для TVL от $1M. Code4rena или Sherlock для bug bounty.
  • Деплой с Gnosis Safe 3/5 multisig + timelock 48–72 часа.
  • Мониторинг через Tenderly (alerts, симуляции), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
  • Поддержка после запуска: обновления, патчи, апгрейды через proxy.

Наши компетенции и опыт

Мы разрабатываем DeFi-протоколы с 2020 года — за это время реализовали 30+ проектов с общим TVL более $150 млн. Среди клиентов — протоколы в топ-20 по TVL на Ethereum, Arbitrum и Base. Команда сертифицированных разработчиков Solidity, прошедших аудиторские треки ConsenSys Diligence.

DeFi на Wikipedia — базовые принципы, которые мы применяем на практике.

Сроки

  • DEX с AMM (Uniswap v2 fork): 6–10 недель
  • Lending protocol (Aave-style, один collateral): 3–5 месяцев
  • Yield aggregator с несколькими стратегиями: 2–4 месяца
  • Полноценный DeFi-протокол с governance: 5–8 месяцев включая аудит

Стоимость рассчитывается индивидуально — свяжитесь для оценки вашего проекта.

Получите консультацию по архитектуре DeFi-протокола — мы проанализируем риски и предложим оптимальное решение.