Блокчейн
AMM: Uniswap и constant product
Представь, что ты хочешь обменять ETH на USDC в 3 часа ночи воскресенья. На обычной бирже нужен контрагент, который выставил заявку с подходящей ценой. А если никого нет? В традиционных финансах ты ждёшь понедельника. В DeFi ты торгуешь с математической формулой, которая работает 24/7 без посредников. За 2024 год через одну эту формулу прошло более 700 млрд торгового объёма. Как одно уравнение из школьной алгебры заменило целую индустрию маркетмейкеров?
- **Uniswap** обрабатывает 1-3 млрд объёма ежедневно - больше, чем Coinbase. При этом протоколом управляют ~50 строк кода ядра, а не тысячи сотрудников
- **Impermanent Loss** стоил LP более 100M только в 2023 году. Понимание IL - разница между прибыльным фармингом и потерей денег
- **Concentrated Liquidity** (Uniswap V3) увеличила капиталоэффективность до 4000x, но превратила пассивный LP в активное управление позициями - новая профессия в DeFi
Предварительные знания
Constant Product: формула x * y = k
На централизованных биржах (Binance, NYSE) торговля работает через **order book** - книгу заявок. Покупатели размещают bid (цена покупки), продавцы - ask (цена продажи). Сделка происходит, когда bid и ask совпадают. Эта модель требует **маркетмейкеров** - профессиональных участников с большим капиталом, которые постоянно выставляют заявки по обе стороны.
На блокчейне order book работает плохо. Каждое размещение и отмена заявки - это транзакция, которая стоит gas. При base fee 30 gwei одна операция с Uniswap стоит ~14 в gas. Маркетмейкер, который обновляет заявки 100 раз в секунду, платил бы десятки тысяч долларов в минуту. В 2018 году Хайден Адамс предложил радикально другой подход: **заменить order book математической формулой**.
**Automated Market Maker (AMM)** - это смарт-контракт, который хранит резервы двух токенов и определяет цену по формуле. Формула Uniswap V1/V2 называется **constant product**: **x * y = k** где `x` - резерв токена X в пуле, `y` - резерв токена Y, а `k` - константа, которая не должна уменьшаться при свопе.
**Арбитраж поддерживает цену.** Если на Binance ETH стоит $3,000, а в пуле Uniswap после крупной сделки цена стала $3,060 - арбитражёр купит дешёвый ETH на Binance и продаст дорогой на Uniswap, выровняв цены. Это происходит в каждом блоке, часто через MEV-ботов. AMM не «знает» рыночную цену - он полагается на арбитражёров.
**Комиссия 0.3%** (Uniswap V2) берётся с каждого свопа и остаётся в пуле, увеличивая `k`. За 2024 год Uniswap V2/V3 сгенерировали более 600M в комиссиях для провайдеров ликвидности. Это делает AMM самозарабатывающим протоколом: чем больше объём торгов, тем выгоднее предоставлять ликвидность.
В пуле ETH/USDC (100 ETH, 300,000 USDC) трейдер покупает ETH за 30,000 USDC. Что произойдёт с ценой ETH в этом пуле?
Liquidity Pools: как стать маркетмейкером
Откуда в AMM берутся резервы токенов? Их предоставляют обычные пользователи - **liquidity providers (LP)**. Любой может внести пару токенов в пул и получать долю от комиссий за каждый своп. В традиционном финансе маркетмейкинг доступен только институциональным игрокам с лицензией и миллионами долларов. В DeFi - это одна транзакция.
В Uniswap V2 ликвидность вносится **в пропорции текущей цены**. Если пул ETH/USDC торгуется по 3,000, нужно внести токены на равную стоимость: например, 1 ETH + 3,000 USDC. В ответ LP получает **LP tokens** - ERC-20 токены, представляющие его долю в пуле.
**Factory pattern** - ключевой архитектурный выбор Uniswap. Контракт `UniswapV2Factory` создаёт пулы по шаблону через `CREATE2` opcode. Каждая пара токенов имеет ровно один пул, адрес которого можно вычислить детерминированно, не обращаясь к блокчейну. К 2025 году через Uniswap Factory создано более 300,000 пулов.
**WETH - зачем оборачивать ETH?** Нативный ETH не является ERC-20 токеном и не имеет метода `transferFrom()`, который нужен для approve-and-transfer паттерна. WETH (Wrapped ETH) - это ERC-20 обёртка, где 1 WETH = 1 ETH. Все пулы с ETH на самом деле используют пару WETH/TOKEN.
**Total Value Locked (TVL)** - главная метрика DeFi-протоколов. Это сумма всех активов, заблокированных в смарт-контрактах. На пике в ноябре 2021 TVL Uniswap достигал $10 млрд. К 2025 году Uniswap стабильно удерживает $4-6 млрд TVL, обрабатывая 1-3 млрд объёма торгов ежедневно - больше, чем многие централизованные биржи.
Пул содержит 50 ETH и 150,000 USDC. Total LP tokens = 2,738. Боб хочет добавить ликвидность на сумму 6,000. Какую пару токенов он должен внести?
Impermanent Loss: скрытая цена ликвидности
У предоставления ликвидности есть скрытая проблема, которую не видно сразу: **impermanent loss (IL)** - непостоянная потеря. Это разница между стоимостью активов в пуле и стоимостью тех же активов, если бы LP просто держал их в кошельке (HODL).
Почему это происходит? Когда цена одного токена растёт, арбитражёры забирают подорожавший токен из пула, заменяя его подешевевшим. В итоге LP оказывается с большим количеством дешёвого токена и меньшим количеством дорогого - ровно противоположно тому, что хотел бы инвестор.
**IL становится «permanent», когда LP выводит ликвидность.** Пока позиция открыта, потеря «непостоянная» - цена может вернуться, и IL исчезнет. Но если LP выводит токены при изменённой цене, потеря фиксируется навсегда. Стратегия «подожду, пока цена вернётся» не работает при трендовом движении.
**Комиссии vs IL: главный трейдофф LP.** Пул с высоким объёмом торгов генерирует больше комиссий, что может компенсировать IL. Для пар стейблкоинов (USDC/USDT, DAI/USDC) IL минимален, потому что цены почти не расходятся. Для волатильных пар (ETH/SHIB) IL может быть огромным, и только очень высокий объём торгов оправдает риск.
| Тип пула | Волатильность | IL риск | Типичный APR от комиссий |
|---|---|---|---|
| USDC/USDT | Минимальная | ~0% | 2-5% |
| ETH/USDC | Средняя | 5-15% | 10-30% |
| ETH/BTC | Средняя (коррелируют) | 3-8% | 5-15% |
| ETH/MEME | Экстремальная | 20-90% | 100-1000%+ |
**Стратегия минимизации IL:** пары коррелирующих активов (ETH/stETH, USDC/DAI) практически не имеют IL, при этом генерируют стабильный доход от комиссий. Это «консервативный» DeFi-фарминг.
LP внёс 1 ETH + 3,000 USDC при цене $3,000/ETH. Цена ETH выросла до $12,000 (в 4 раза). Какой impermanent loss понесёт LP?
Concentrated Liquidity: прорыв Uniswap V3
В Uniswap V2 ликвидность распределяется равномерно по **всему** ценовому диапазону - от 0 до бесконечности. Это катастрофически неэффективно. Если ETH торгуется по $3,000, ликвидность в диапазоне $0.01-$100 и $100,000-$∞ никогда не используется. По оценкам, в V2 только **0.5% ликвидности** активно участвует в торговле.
**Uniswap V3** (май 2021) решил эту проблему через **concentrated liquidity** - LP выбирает ценовой диапазон [pa, pb], в котором его ликвидность будет работать. Если цена выходит за этот диапазон, позиция становится неактивной (не зарабатывает комиссии). Зато внутри диапазона капиталоэффективность взлетает.
Революционное следствие: LP позиции в V3 - это **NFT**, а не взаимозаменяемые ERC-20 токены. Каждая позиция уникальна (свой диапазон, своя ликвидность), поэтому Uniswap V3 выдаёт ERC-721 (NFT) вместо LP tokens. Это изменило всю экосистему: LP позиции можно продавать, использовать как залог в lending-протоколах или оборачивать в структурированные продукты.
**JIT (Just-In-Time) Liquidity** - MEV-стратегия, эксплуатирующая V3. Бот видит крупный своп в mempool, добавляет ликвидность в узкий диапазон прямо перед свопом, зарабатывает большую долю комиссии, и мгновенно убирает ликвидность после. Обычные LP теряют доход, потому что бот разбавляет их долю в момент комиссии.
**Curve V2** предложил альтернативный подход: AMM с **внутренним оракулом цены** и автоматической перебалансировкой. Вместо того чтобы LP вручную выбирал диапазон, протокол сам концентрирует ликвидность вокруг текущей рыночной цены и плавно сдвигает её при изменении курса. Это снижает требования к активному управлению.
**Uniswap V4** (2024) добавил систему **hooks** - произвольный код, который выполняется до и после свопов, добавления ликвидности и других операций. Это превращает Uniswap из фиксированного AMM в **платформу для создания AMM**: динамические комиссии, лимитные ордера on-chain, автоматическая перебалансировка - всё реализуется через hooks без изменения ядра протокола.
Concentrated liquidity всегда выгоднее, чем full-range позиция V2 - нужно просто выбрать узкий диапазон для максимальной эффективности
Concentrated liquidity **усиливает** как доход от комиссий, так и impermanent loss. Узкий диапазон = высокие комиссии, когда цена внутри, но и быстрая полная конвертация в один токен при выходе цены. Если цена уходит из диапазона - доход падает до нуля, а IL фиксируется. Для большинства непрофессиональных LP full-range позиция безопаснее.
Маркетинг DeFi-протоколов акцентирует внимание на «4000x капиталоэффективности», но умалчивает о рисках. Реальные исследования показывают, что более 50% LP в Uniswap V3 зарабатывают меньше, чем если бы просто держали активы. Concentrated liquidity - инструмент для профессионалов с активным управлением, а не пассивная стратегия «поставил и забыл».
LP разместил $10,000 в Uniswap V3 в диапазоне $2,900-$3,100 при текущей цене ETH = $3,000. Цена ETH выросла до 3,500. Что произошло с позицией LP?
Итоги
- **Constant product (x * y = k)** заменяет order book математической формулой: цена определяется соотношением резервов в пуле, каждый своп двигает цену по гиперболе, арбитражёры выравнивают цену с рынком
- **Liquidity pools** демократизируют маркетмейкинг: любой вносит пару токенов в пропорции, получает LP tokens, зарабатывает 0.3% с каждого свопа пропорционально доле
- **Impermanent Loss = 2√r / (1+r) - 1** - скрытая цена ликвидности. При удвоении цены IL = 5.7%, при росте в 5 раз - 25%. Комиссии могут компенсировать IL, но не гарантированно
- **Concentrated Liquidity** (V3) позволяет выбрать ценовой диапазон, увеличивая эффективность до 4000x, но требует активного управления и усиливает IL
- Формула из школьной алгебры, упомянутая в начале, действительно заменила маркетмейкеров: x * y = k обрабатывает миллиарды долларов ежедневно, но понимание slippage, IL и concentrated liquidity - необходимое условие, чтобы не потерять деньги
Связанные темы
AMM связывает стандарты токенов с продвинутыми DeFi-механизмами и MEV:
- ERC стандарты — LP tokens - это ERC-20, позиции V3 - ERC-721 (NFT). WETH (ERC-20 обёртка ETH) необходим для работы всех пулов
- Lending протоколы — Aave и Compound используют AMM-пулы для ликвидаций. LP tokens можно использовать как залог для займов - composability в действии
- MEV: экстрагируемая ценность — Арбитраж между AMM и CEX, JIT liquidity, sandwich-атаки - AMM является главным источником MEV в Ethereum
- Gas: модель вычислений — Каждый своп стоит ~150,000 gas. Перебалансировка V3 позиций требует дополнительного gas, что ограничивает частоту управления
Вопросы для размышления
- Если AMM работает без order book и определяет цену по формуле - кто именно «приносит» рыночную цену в пул? Что случится, если арбитражёры исчезнут?
- Concentrated liquidity в V3 требует активного управления. Не возвращает ли это нас к той же проблеме, которую AMM решал - необходимости профессиональных маркетмейкеров?
- Если более 50% LP в Uniswap V3 зарабатывают меньше, чем при HODL - почему люди продолжают предоставлять ликвидность? Какие мотивации они могут иметь помимо комиссий?