Риски пулов ликвидности: что важно знать инвестору в DeFi
Высокая доходность пула не говорит, сколько денег вы получите после выхода. В автоматизированном маркет-мейкере (AMM) меняется состав вашей позиции: пока цена одного токена движется относительно…

Высокая доходность пула не говорит, сколько денег вы получите после выхода. В автоматизированном маркет-мейкере (AMM) меняется состав вашей позиции: пока цена одного токена движется относительно другого, арбитражёры выравнивают котировки, а доля активов в пуле перестраивается. Комиссии могут компенсировать этот эффект, но не обязаны.
Поэтому риски пулов ликвидности в DeFi-протоколах нельзя оценивать только по APY и объёму торгов. За цифрой доходности стоит позиция с собственной математикой, зависимостью от кода и правилами, которые команда проекта иногда может менять. Разберём, где здесь возникают потери и что можно выяснить до депозита.
Математическая ловушка: как работают непостоянные потери
Непостоянный убыток, или Impermanent Loss (IL), сравнивает стоимость позиции поставщика ликвидности со стоимостью тех же активов, если бы он просто держал их вне пула. Название сбивает с толку: убыток не исчезает сам по себе. Он сокращается, если относительная цена токенов возвращается к уровню на момент внесения ликвидности. Рынок этого не обещает.
Для классического пула с постоянным произведением x * y = k можно оценить IL по формуле:
IL = 2 * sqrt(r) / (1 + r) - 1
Здесь r — изменение относительной цены одного актива к другому с момента входа. Если цена одного токена выросла вдвое относительно второго, пул автоматически продаёт часть подорожавшего актива и накапливает больше подешевевшего. При сравнении с простым холдом итоговая стоимость позиции оказывается ниже.
| Изменение относительной цены | Непостоянный убыток |
|---|---|
| 1,25 раза | около 0,6% |
| 1,5 раза | около 2,0% |
| 2 раза или вдвое вниз | около 5,7% |
| 3 раза | около 13,4% |
| 5 раз | около 25,5% |
| 10 раз | около 42,5% |
Потери симметричны по отношению цены: двукратный рост и двукратное падение дают одинаковый IL в этой модели. Это не означает, что поставщик ликвидности потерял такую же сумму в долларах. Он мог заработать на росте обоих активов, но заработать меньше, чем при простом холде. Сравнивать нужно именно два сценария: позицию в пуле и те же активы, оставленные без изменений.
Формула описывает идеализированный пул и не учитывает комиссии, дополнительные вознаграждения, газ и особенности конкретной модели. Для концентрированной ликвидности в Uniswap v3 расчёт сложнее: позиция действует в выбранном ценовом диапазоне. Если цена выходит за его границы, позиция может оказаться полностью в одном активе и перестать зарабатывать торговые комиссии, пока цена не вернётся в диапазон или поставщик не изменит его вручную.
Комиссии действительно способны перекрыть IL. Но результат зависит от объёма торгов, волатильности, выбранного диапазона, конкуренции с другими поставщиками и длительности позиции. Высокий APY, рассчитанный по недавнему всплеску объёма, не гарантирует такого же дохода в будущем. При резком движении цены перекос позиции может нарастать быстрее, чем комиссия успевает его компенсировать.
Непостоянный убыток не штраф и не сбой AMM. Это разница между тем, что получилось в пуле, и тем, что получилось бы при обычном хранении тех же активов.
Токсичные пулы и манипуляции через Flash Loans
Не всякий пул с заманчивой котировкой представляет собой надёжный рынок. Низкая ликвидность, непривычная логика токена или специально сконструированный маршрут могут привести к тому, что обмен исполнится по плохой цене либо завершится ошибкой. Агрегатор ищет выгодный маршрут среди доступных площадок, но его расчёт не превращает малоликвидный пул в безопасный.
Перед свопом стоит смотреть на минимальный объём получения, который задан в транзакции, и на допустимое проскальзывание. Слишком свободный предел оставляет больше пространства для невыгодного исполнения, в том числе при сэндвич-атаке. Слишком строгий может привести к отмене транзакции, особенно когда рынок быстро движется. Отмена не всегда бесплатна: в сети может быть списана комиссия за уже отправленную операцию.
Стратегии защиты от проскальзывания начинаются с простых вещей: не соглашаться на заведомо широкий допуск без причины, сравнивать котировки нескольких маршрутов и не проводить крупный обмен через пул, где такая сделка сама заметно сдвигает цену. Но это не универсальная защита. Если ликвидности мало, дробление операции тоже может не помочь: каждая часть попадёт в тот же рынок, а дополнительные транзакции увеличат расходы.
Flash Loan, или мгновенный займ, позволяет взять активы без залога при условии, что заём будет возвращён в рамках той же транзакции. Если условие не выполнено, транзакция откатывается. Такой инструмент используют для арбитража и других операций, которым нужен временный доступ к капиталу. Сам по себе он не является атакой.
Опасность появляется, когда протокол опирается на цену, которую можно временно сдвинуть крупной сделкой, или неправильно проверяет состояние своих резервов. Атакующий может привлечь капитал через Flash Loan, повлиять на уязвимый механизм оценки и попытаться извлечь выгоду из ошибки. Если операция не проходит целиком, она откатится, хотя пользователь может потерять комиссию за исполнение транзакции. Если проходит, последствия зависят от конкретной уязвимости и логики протокола.
Надёжная система не должна считать цену одного пула безошибочным источником истины. Иначе манипуляция ликвидностью на одной площадке способна повлиять на займы, ликвидации или расчёты в другом контракте. Для поставщика ликвидности это ещё одна причина смотреть не только на обещанную доходность, но и на то, какие протоколы используют этот пул как источник цены.
Уязвимости смарт-контрактов и вредоносные хуки
Смарт-контракт исполняет заложенные в него правила, включая ошибки и нежелательные ограничения. Уязвимость может находиться в расчёте комиссий, обработке вывода, проверке разрешений или взаимодействии нескольких контрактов. Даже если сам AMM известен, депозит может проходить через дополнительные контракты, токены и интерфейсы, каждый со своей логикой.
Хуки в Uniswap v4 позволяют добавлять пользовательскую логику в отдельные этапы работы пула. Например, она может менять порядок начисления комиссии или реагировать на своп и изменение ликвидности. Это расширяет возможности разработчиков и одновременно увеличивает поверхность риска: пользователю приходится оценивать не только базовый механизм обмена, но и код конкретного хука, его полномочия и возможность обновления.
Не всякий хук вредоносен, а сама модульность не означает, что средства автоматически доступны его автору. Нужно разбираться в том, какие действия код действительно может выполнять, какие ограничения установлены протоколом и кто контролирует связанные контракты. Название функции или описание проекта не заменяет проверки кода и параметров пула.
Условия обновления тоже важны. В канонических развёртываниях контрактов Uniswap v2 и v3 основные контракты протокола не работают как прокси, которые владелец может произвольно заменить после запуска. Но из этого нельзя делать вывод, будто любой форк наследует неизменяемость. Разработчики форка могут изменить код, добавить административные роли или построить систему обновления через прокси. Даже в неизменяемой части проекта могут оставаться изменяемые параметры, внешние контракты и права, влияющие на работу с депозитом.
Проверять нужно конкретное развёртывание, а не только знакомое название стандарта. Кто может менять комиссии? Есть ли владелец или мультисиг с административными правами? Может ли контракт приостановить операции? Есть ли задержка перед обновлением? Как устроен вывод ликвидности? Ответы находятся в документации, коде и истории ончейн-транзакций. Если интерфейс показывает только APY и логотип, этих сведений для оценки риска недостаточно.
Схемы Rug Pull: распознавание манипуляций ликвидностью
Rug Pull часто представляют как внезапное исчезновение команды с активами. В действительности опасная схема может выглядеть менее театрально: команда меняет условия токена, контролирует ликвидность или пользуется административными правами так, что выход для пользователей становится затруднённым либо крайне невыгодным.
Один из сценариев связан с токеном, который легко купить, но сложно продать. Контракт может ограничивать переводы, вводить высокую комиссию на продажу или разрешать такие операции только выбранным адресам. В пуле при этом может сохраняться видимая активность, а интерфейс продолжит демонстрировать цену. Перед покупкой и тем более перед предоставлением ликвидности важно понять, может ли обычный держатель продать токен и на каких условиях.
Другой сценарий связан с контролем над ликвидностью. Если существенная доля LP-токенов находится у команды или хранится без проверяемых ограничений, её владелец может вывести ликвидность в соответствии с правилами конкретного пула. Для пользователя важен не ярлык «ликвидность заблокирована», а механизм: где находятся LP-токены, кто управляет блокировкой и может ли этот контроль быть изменён.
Третий риск появляется в проектах с обновляемыми контрактами. Владелец может получить возможность изменить комиссии, лимиты операций или правила вывода. Сам факт наличия прокси не доказывает мошенничество, но это дополнительное полномочие, которое нужно учитывать. Важно выяснить, кто держит ключи, как устроена мультисигна и предусмотрена ли задержка перед критическими изменениями.
С комиссионными схемами сложнее: отображаемая ставка может не описывать все сборы, которые возникают в токене, пуле, маршрутизаторе или отдельном хуке. Сверять стоит не только рекламную доходность, но и фактические правила распределения комиссий, включая долю, которую может получать команда или казначейство проекта.
Для первичной оценки полезны несколько вопросов:
1. Можно ли проверить адреса контрактов и совпадают ли они с указанными в документации?
2. Есть ли у команды права обновлять код, менять параметры, блокировать операции или выводить ликвидность?
3. Кто контролирует LP-токены и каким способом ограничено их перемещение?
4. Удаётся ли продать токен небольшим объёмом, и какие комиссии или ограничения применяются?
5. Понятно ли, откуда берётся доходность и кому достаются комиссии?
Ответы не гарантируют, что проект безопасен. Но если адреса контрактов скрыты, права владельца не объяснены, а доходность существует только в рекламных обещаниях, это веская причина не торопиться с депозитом.
Ограничения аудита и реальные угрозы безопасности протоколов
Аудит смарт-контракта снижает часть рисков, но не является сертификатом безопасности. Он относится к определённой версии кода и области проверки. За пределами этой области могут остаться интерфейс, инфраструктура, оракулы, отдельные модули и интеграции с другими протоколами. После аудита код также могут изменить, если система допускает обновление.
Поэтому в отчёте важны не только выводы, но и границы работы: какие контракты проверялись, какая версия кода использовалась, какие проблемы нашли и исправили, что осталось вне скоупа. Два аудита не обязательно означают вдвое меньший риск. Значение имеет независимость проверок, их охват и соответствие тому коду, который работает сейчас.
Аудит ликвидности децентрализованных бирж и связанных контрактов не исчерпывает вопросы управления. Административные ключи могут остаться у команды даже после проверки кода. Если владелец способен быстро заменить контракт или изменить важные параметры, у пользователя остаётся риск, которого не снимает хороший отчёт аудитора. Таймлок даёт время заметить изменения и выйти, но лишь если пользователь следит за обновлениями и вывод остаётся доступен.
Отдельный класс угроз связан с оракулами. AMM показывает цену, полученную из состояния пула, однако текущая цена в малоликвидном рынке может быть подвержена резким колебаниям. Если другой протокол использует её для расчёта залога или ликвидации, манипуляция способна затронуть уже не только участников конкретной сделки. Усреднение цены за время, несколько независимых источников и проверка аномальных значений помогают снизить риск, но конкретная защита зависит от архитектуры протокола.
Баг-баунти дополняет аудит: программа вознаграждает исследователей за ответственные сообщения об уязвимостях. Наличие такой программы само по себе ничего не гарантирует. Имеют значение условия, охват контрактов, понятный порядок раскрытия проблемы и готовность команды исправлять найденные ошибки. Полезно также смотреть, как проект сообщает об инцидентах и изменениях: скрытая информация мешает пользователям принять решение, но прозрачный постмортем не возвращает потерянные средства и не делает протокол безрисковым.
Оценка безопасности складывается из нескольких слоёв: качество кода, права администраторов, состояние внешних зависимостей, устройство оракулов, правила обновления и возможность вовремя вывести депозит. Один показатель не заменяет остальные. Несколько аудиторских отчётов не отменяют риска ошибки, а отсутствие известного инцидента не доказывает, что её не будет.
Пул ликвидности остаётся открытой рыночной позицией, а не депозитом с фиксированным процентом. Доход от комиссий может оказаться ниже непостоянных потерь; вредоносная логика или уязвимость смарт-контракта способны привести к совсем иному сценарию. Отдельно стоит учитывать риски взлома DeFi-протоколов, в которые пул встроен или от которых зависит: интеграция добавляет новые точки отказа.
Перед входом я стараюсь ответить на три вопроса: как изменится состав позиции при заметном движении цены, кто может менять правила контракта и откуда именно берётся обещанная доходность. Если ясного ответа нет, красивый APY не делает риск понятнее. В DeFi условия сделки записаны в коде, но читать этот код и оценивать последствия всё равно приходится человеку.