DeFi изнутри: AMM, кредиты и ликвидации
Формула x·y=k на примере, непостоянные потери в цифрах, health factor и ликвидации, флеш-кредиты и главные точки отказа децентрализованных финансов.
Финансы без посредника
DeFi (decentralized finance) — это набор смарт-контрактов, которые выполняют работу банков, бирж и брокеров: обменивают активы, выдают кредиты, начисляют проценты. Разница в том, что здесь нет компании, которая принимает решения по каждой операции. Правила записаны в коде, код открыт, а средства хранятся не на счёте организации, а в контракте, логику которого может проверить любой.
Чтобы понимать, откуда в DeFi берётся доходность и где прячутся риски, достаточно разобраться в двух базовых механизмах: автоматическом маркет-мейкере и залоговом кредитовании.
AMM: биржа без стакана
На обычной бирже цена рождается в стакане заявок: покупатели и продавцы выставляют ордера, и сделка происходит, когда они встречаются. Для блокчейна это дорого: каждая заявка и каждая отмена — отдельная транзакция с комиссией. Автоматический маркет-мейкер (AMM) заменяет стакан формулой.
Классическая формула Uniswap v2 — x · y = k. В пуле лежат два токена, например ETH и USDC, в количествах x и y. Любая сделка должна сохранять их произведение. Если трейдер забирает из пула ETH, он должен положить туда столько USDC, чтобы произведение не уменьшилось. Цена — это просто отношение резервов, и она сдвигается с каждой сделкой.
Цена в пуле сама по себе не знает о внешнем рынке. Её выравнивают арбитражёры: как только ETH в пуле становится дешевле, чем на других площадках, они покупают его здесь и продают там, пока цены не сравняются. Этим они зарабатывают — и за счёт кого, станет понятно ниже.
Непостоянные потери
Поставщик ликвидности (LP) кладёт в пул оба токена в текущей пропорции и получает долю комиссий. Звучит как пассивный доход, но есть подвох. Когда цена одного из токенов меняется, арбитражёры перекладывают пул так, что у LP оказывается больше подешевевшего актива и меньше подорожавшего. В итоге позиция стоит меньше, чем если бы он просто держал те же токены в кошельке. Эту разницу называют impermanent loss.
Для пула x · y = k размер потерь зависит только от того, во сколько раз изменилось соотношение цен (r): IL = 2·√r / (1 + r) − 1.
| Изменение цены | ×1,25 | ×1,5 | ×2 | ×4 | ×0,5 |
|---|---|---|---|---|---|
| Потери относительно холда | −0,6% | −2,0% | −5,7% | −20,0% | −5,7% |
«Непостоянными» потери называют потому, что они исчезают, если цена вернётся к исходной. Если не вернётся — они вполне постоянные. Предоставление ликвидности выгодно, только когда заработанные комиссии перекрывают эти потери; для волатильных пар это далеко не всегда так. В Uniswap v3 появилась концентрированная ликвидность — LP выбирает диапазон цен. Внутри диапазона он зарабатывает больше комиссий, но и потери при выходе цены за его границы усиливаются.
Кредитование: всё под залог
Протоколы вроде Aave и Compound работают как пул: одни пользователи вносят активы и получают проценты, другие берут кредиты и проценты платят. Ставка меняется автоматически в зависимости от того, какая доля пула уже выдана: чем меньше свободных средств, тем дороже кредит и выше доход вкладчиков.
Поскольку заёмщик анонимен и суда не будет, все кредиты сверхобеспеченные: чтобы занять 60 долларов, нужно внести залог, скажем, на 100. Ключевые параметры:
- LTV — максимальная доля залога, которую можно занять при открытии позиции.
- Порог ликвидации — доля, при превышении которой позиция может быть ликвидирована.
- Health factor = стоимость залога × порог ликвидации / долг. Пока он больше 1, позиция в безопасности.
Ликвидации происходят автоматически и мгновенно; ботов, которые следят за позициями, очень много. В резких обвалах рынка каскады ликвидаций сами давят цену вниз, порождая новые ликвидации.
Флеш-кредиты
Уникальная для блокчейна вещь — кредит без залога, который нужно вернуть в той же транзакции. Если к концу транзакции деньги не вернулись, вся она откатывается, как будто ничего не было, поэтому кредитор ничем не рискует. Флеш-кредиты используют для арбитража, рефинансирования и самоликвидации позиций. К сожалению, и для атак: они позволяют на одну транзакцию получить огромный капитал, чтобы сдвинуть цену в плохо защищённом пуле.
Где ломается DeFi
- Ошибки в коде. Аудит снижает риск, но не устраняет его. Многие крупнейшие взломы случились с проверенными протоколами.
- Оракулы. Протоколу нужно знать цену залога. Если он берёт её из одного неглубокого пула, цену можно сдвинуть и занять под «раздутый» залог. Так в октябре 2022 года из Mango Markets вывели более $100 млн, накачав цену собственного токена протокола.
- Администраторские ключи. Если контракты можно обновить без задержки, пользователи фактически доверяют держателям ключа.
- Мосты. Переводы между сетями держатся на отдельных контрактах и валидаторах, и именно там случались крупнейшие взломы в истории отрасли — Ronin (2022) потерял около $600 млн.
- Композиционный риск. Протоколы строятся друг на друге. Токен, который вы внесли в один протокол, может быть долей в пуле другого, обеспеченной третьим. Сбой в основании распространяется вверх.
Итог
Доходность в DeFi не берётся из ниоткуда: это оплата за конкретные риски — непостоянные потери, риск ликвидации, риск кода и оракулов. Если протокол обещает высокий процент, а вы не можете объяснить, кто и за что его платит, — скорее всего, платите вы сами, просто пока этого не видно.
Материал носит образовательный характер и не является инвестиционной рекомендацией. Операции с криптовалютами связаны с высоким риском потери средств.