Разработка протокола стейблкоина в стиле MakerDAO

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

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

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

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

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

Разработка MakerDAO-стиль протокола стейблкоина

Во время кризиса DeFi ETH обвалился на 50% за несколько часов. Оракулы обновляли цену с опозданием из-за перегрузки сети. Ликвидационные боты не успевали из-за высокого газа. Часть Vault-позиций ушла в ликвидацию с нулевой ценой — ликвидаторы забрали ETH залог фактически бесплатно. Протокол получил дефицит, который закрыли через размывание токена управления. Это не баг в коде — это системный сбой механик, связанный с неоптимальными параметрами ликвидационного аукциона и отсутствием защиты оракулов. Такие инциденты происходят, когда протокол не учитывает экстремальные сценарии волатильности и газовых войн.

Наша команда подходит к созданию CDP-протокола с анализа этих ошибок. Разработка начинается с понимания механик, а не с написания контрактов. Мы детально прорабатываем каждый компонент, чтобы минимизировать риски повторения Black Thursday.

Согласно документации MakerDAO, 'the liquidation process is designed to ensure the system remains fully collateralized at all times.'

Почему Black Thursday может повториться в новом протоколе?

Любой MakerDAO-подобный протокол строится вокруг трёх инвариантов, нарушение каждого ведёт к системной несостоятельности:

  • Overcollateralization: суммарная стоимость залогов больше суммарного долга в стейблкоине
  • Price feed integrity: ценовые данные должны быть актуальными и манипуляционно-устойчивыми
  • Liquidation solvency: при ликвидации протокол всегда получает больше, чем теряет

Эти инварианты транслируются в параметры: liquidation ratio (130-175%), stability fee (годовая ставка на долг), liquidation penalty (10-15%), debt ceiling (максимальный долг по типу залога).

Модульная архитектура MakerDAO vs монолит

MakerDAO использует модульную архитектуру: отдельные контракты Vat (core accounting), Cat (liquidation), Dog (v2), Jug (stability fee), Spot (price feed), Flip/Clip (auction). Это позволяет заменять модули без полного апгрейда, но создаёт сложность при разработке и аудите.

Для нового протокола с нуля мы рекомендуем 3-4 контракта вместо 12+. Core-контракт с логикой CDP, отдельный оракульный модуль, отдельный аукционный. UUPS-апгрейдаемость через OpenZeppelin — позволяет исправлять ошибки без потери state.

Сравнение подходов

Критерий Модульная (MakerDAO) Наш подход
Количество контрактов 12+ 3-4
Сложность аудита Высокая Средняя
Возможность апгрейда Модульная замена UUPS
Риск ошибок интеграции Выше Ниже

Критические компоненты: разбираем детально

Как защитить оракулы от манипуляций?

Это самое слабое место большинства CDP-протоколов. Несколько векторов атаки:

Spot price manipulation через flash loan. Если протокол использует spot price из Uniswap пула без TWAP — атакующий делает крупный своп, резко меняет цену залога, открывает или ликвидирует позиции на выгодных условиях, возвращает своп в одной транзакции. Решение: TWAP с периодом минимум 30 минут для активации ликвидации.

Chainlink price feed staleness. Chainlink обновляет цену при отклонении >0.5% или через heartbeat (1-24 часа в сети). В периоды экстремальной волатильности heartbeat может не успевать. Обязательная проверка: require(block.timestamp - updatedAt < maxStaleness). Значение maxStaleness — 1-3 часа для мажорных активов, 30 минут для волатильных.

Circuit breaker. При аномальном изменении цены (>20% за один апдейт) ценовой модуль фризит ликвидации на N минут. Это воспроизводит механику MakerDAO OSM (Oracle Security Module): цена применяется с часовой задержкой, что даёт время на реакцию при атаке на оракул.

Наш стандартный оракульный модуль комбинирует Chainlink primary feed + Uniswap v3 TWAP как secondary, с fallback логикой и circuit breaker. Если расхождение между источниками >5% — ликвидации блокируются.

Аукционный механизм ликвидаций

MakerDAO прошёл путь от English auction (Flip) к Dutch auction (Clip, DAI 2.0). Dutch auction лучше подходит для DeFi:

  • Цена начинается высокой (выше рыночной залога) и убывает по формуле до минимума
  • Любой участник может забрать часть или весь лот в любой момент аукциона
  • Если цена упала ниже минимума — кредитор протокола (surplus buffer) покрывает разницу
  • Flash loan friendly: можно купить залог, немедленно продать на DEX и вернуть стейблкоин в одной транзакции

Параметры Dutch auction:

  • buf — начальный множитель цены (обычно 1.2x от oracle price)
  • tail — максимальное время аукциона (например, 3600 секунд)
  • cusp — минимальный процент от начальной цены (например, 0.4 = 40%)
  • chip / tip — вознаграждение тому, кто запустил аукцион (стимул для ботов)

Без tip ликвидационные боты не заинтересованы запускать аукционы на маленькие позиции — gas cost превышает потенциальную прибыль. Black Thursday в том числе поэтому: не было стимула кикать аукционы при высоком газе.

Stability fee и механизм погашения долга

Stability fee начисляется непрерывно через глобальный аккумулятор rate (аналог MakerDAO chi). Каждую секунду все открытые позиции дорожают на (1 + annualRate)^(1/31536000) - 1. Обновление аккумулятора ленивое: пересчёт при каждом обращении к позиции.

Накопленные fees поступают в surplus buffer. Когда surplus превышает заданный порог — излишек идёт на buyback и burn governance-токена. Дефицит surplus (как при Black Thursday) покрывается через debt auction: протокол минтит governance-токены и продаёт за стейблкоин.

Это полная система: CDP → stability fee → surplus buffer → buyback OR debt auction при дефиците. Разработка и тестирование всей цепочки — ключевая часть работы.

Параметры ликвидаций (пример)

Параметр Стандартное значение Примечание
Liquidation ratio 150% для ETH, может быть выше для волатильных активов
Liquidation penalty 13% добавка к долгу при ликвидации
Auction tail 3600 сек максимум длительности Dutch auction
Tip (стимул) 0.5% от лота поощрение для инициатора аукциона

Governance и параметры

CDP-протокол без governance либо централизован (owner меняет параметры), либо статичен (параметры hardcoded). Для серьёзного протокола нужен on-chain governance с timelock:

  • Proposals с минимальным quorum (например, 4% от circulating supply)
  • Timelock 48-72 часа перед исполнением любого изменения параметров
  • Emergency multisig для критических ситуаций (5/9 multisig, bypass timelock только для заморозки)

OpenZeppelin Governor + TimelockController — стандартная база. Кастомизируем под конкретную токеномику. Закажите прототип для оценки — свяжитесь с нами.

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

  • Спецификация параметров: типы залогов, fee structure, аукционный механизм, governance
  • Смарт-контракты: Solidity 0.8.x, Foundry, fuzz-тесты инвариантов
  • Аудит: два независимых аудита для TVL >$10M, отчёт+гарантия
  • Тестовая сеть: развёртывание на Goerli/Sepolia, интеграционные тесты
  • Мониторинг: dashboard для отслеживания ликвидаций, oracle health
  • Документация: техническая спецификация и руководство по управлению
  • Поддержка: 3 месяца после запуска (slack, фикс багов)

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

Процесс разработки

Этапы подробно
  1. Аналитика (1-2 недели): параметры залогов, fee structure, аукционный механизм, governance. Всё это должно быть зафиксировано до написания кода. Изменение auction mechanism после аудита — это новый аудит.
  2. Проектирование (1-2 недели): архитектура контрактов, выбор апгрейдабельности, интерфейсы.
  3. Реализация (3-8 недель): контракты на Solidity, тесты в Foundry. Обязательно: fuzz тесты на инварианты (overcollateralization, auction solvency), fork тесты с реальными Chainlink feed данными, симуляция Black Thursday через Foundry's vm.warp + резкое изменение oracle цены.
  4. Аудит (4-8 недель): для протокола с потенциальным TVL >$1M — один аудит обязателен. Для TVL >$10M — два независимых аудита. Типичные находки в CDP-протоколах: неправильная обработка fee-on-transfer токенов как залога, reentrancy в auction callback, некорректный расчёт при частичном погашении долга.
  5. Тестирование (2-3 недели): bug bounty в тестнете, симуляция стресса.
  6. Деплой (1 неделя): основной запуск, постепенное повышение debt ceiling.

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

MVP с одним типом залога и базовыми аукционами — от 4 недель разработки. Полноценный протокол с несколькими залогами, Dutch auction, governance и мониторинговой инфраструктурой — 2-3 месяца. Аудит не включён в эти сроки — его нужно планировать отдельно.

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

Разработка 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-протокола — мы проанализируем риски и предложим оптимальное решение.