Блокчейн

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

Предварительные знания

  • Standards: ERC-20, ERC-721, ERC-1155

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 - почему люди продолжают предоставлять ликвидность? Какие мотивации они могут иметь помимо комиссий?

Связанные уроки

  • stat-09-regression
  • gt-01
AMM: Uniswap и constant product

0

1

Войти