Розробка DEX на базі AMM
AMM (Automated Market Maker) — це протокол, який замінює традиційну книгу ордерів математичною формулою. Замість очікування контрагента з протилежним ордером, трейдер торгує проти пула ліквідності. Ціна визначається алгоритмом у реальному часі. Це змінило DeFi — і розуміння того, як це працює всередині, критично важливо перед створенням власного DEX.
Математика ціноутворення
Формула Constant Product
Uniswap V2 популяризував формулу x * y = k, де x і y — резерви двох токенів у пулі, k — інваріант.
Поточна ціна токена X в одиницях Y: ціна = y / x
При свопі: трейдер вносить Δx токена X, отримує Δy токена Y:
З урахуванням комісії 0.3% (fee = 0.003):
Price impact — наскільки цена зміщується під час торгівлі — прямо пропорційна розміру торгівлі відносно резервів пула. Це фундаментально: великі ордери дають погану ціну на малих пулах.
Концентрована ліквідність (Uniswap V3)
Uniswap V3 додав концентровану ліквідність: LP провайдери вказують ціновий діапазон [Pa, Pb], в якому працює їхня ліквідність.
Це принципово змінює економіку: капітальна ефективність LP зростає в 100-4000 разів порівняно з V2 для пар стейблкоїнів.
Curve StableSwap
Для активів з близькою ціною (стейблкоїни, stETH/ETH), constant product дає поганий слліпаж. Curve використовує гібридну формулу, що комбінує constant product і constant sum.
Архітектура смарт-контрактів
Основні контракти
Типова архітектура AMM DEX складається з кількох рівнів:
Factory контракт — реєстр і творець пулів.
Pair (Pool) контракт — ядро AMM. Зберігає резерви, видає LP-токени, виконує своп.
Router контракт — зручний інтерфейс для користувачів.
LP-токени та управління ліквідністю
При додаванні ліквідності LP отримує ERC-20 токени, що представляють частку пула:
MINIMUM_LIQUIDITY = 1000 — ці LP-токени назавжди спалюються при створенні пула, запобігаючи атакам на пусті пули.
Цінові оракули
TWAP (Time-Weighted Average Price)
Uniswap V2 запровадив on-chain цінніс oracle через накопичення cumulative price.
TWAP за період = різниця cumulative / час періоду. Це маніпуляційно-стійко: щоб спотворити TWAP за 1 годину, потрібно тримати невірну ціну всю годину.
Uniswap V3 удосконалив систему: зберігає ring buffer з 65535 спостережень, tick-based accumulator замість price accumulator.
Захист від MEV та атак
Сендвіч атаки
Класична атака: MEV-бот бачить pending своп, вставляє свою покупку до нього (front-run) і продаж після (back-run).
Захисні механізми:
Slippage tolerance — користувач встановлює максимальний acceptable price impact (зазвичай 0.5-1%).
Private mempool / Flashbots Protect — відправка транзакцій у приватний мемпул.
Commit-reveal схеми — користувач спочатку публікує хеш намірів, потім розкриває параметри.
CoW Protocol / batch auctions — принципове рішення: всі ордери за період виконуються за uniform clearing price.
Захист від reentrancy
Пул використовує nonReentrant mutex (lock паттерн у Uniswap).
Токеноміка та управління протоколом
Комісія протоколу
Uniswap V2 запровадив механізм "protocol fee switch": крім 0.3% LP fee, можна включити 0.05% protocol fee.
Governance токен
Паттерн: governance токен (GVN) розподіляється через liquidity mining.
accRewardPerShare оновлюється при кожній взаємодії — це паттерн з MasterChef (SushiSwap).
Фронтенд і UX
Критичні компоненти фронтенду для AMM DEX:
- Swap interface з real-time price impact і minimum received
- Liquidity management з візуалізацією діапазону (для V3-style)
- Charts — інтеграція з The Graph для історичних даних пула
- Wallet integration — wagmi + viem, підтримка WalletConnect v2
- Transaction simulation — tenderly simulate перед відправкою
The Graph індексує події пула (Swap, Mint, Burn) й надає GraphQL API для аналітики.
Фінальний стек для production AMM DEX: Solidity + Foundry для контрактів, Hardhat для деплоймету і тестів, React + wagmi для фронтенду, The Graph для індексації, Tenderly для моніторингу. Аудит обов'язковий.







