Непостоянные потери и фронтраннинг. Проблемы АММ и их решения

Непостоянные потери и фронтраннинг. Проблемы АММ и их решения

Идея децентрализованных финансов и прямых транзакций казалась удивительной еще пару лет назад и остается такой же до сих пор.

За последние 3 года в крипто финансах механизмы AMM изменились в лучшую сторону.

Основным драйвером таких возможностей стало наличие определенных проблем, связанных с потерей ликвидности. Непостоянные потери и фронтраннинг как раз среди них. Они так же рассматриваются как главное препятствие на пути широкого распространения децентрализованных бирж.

Ниже мы рассмотрим эти проблемы с технической точки зрения и варианты их решения.

Объяснение проблемы непостоянных потерь

В традиционных пулах на DEXах содержится 2 актива. Пользователь предоставляет равную по стоимости ликвидность для каждого актива.

Чтобы лучше понимать, рассмотрим пример.

Предположим, что пул 50/50 из DAI и ETH уже обеспечен равным количеством токенов. Пока стоимости сильно разнятся (ETH = 100$, DAI = 1$) мы предоставляем 10 ETH и 1000 DAI, чтобы сбалансировать пул. В таком случае создается идеальная среда для торговли.

Мы знаем, что традиционные DEX (Uniswap) управляются законами спроса и предложения, которые в некоторой ситуации могут стать большой проблемой.

Согласно этим законам цена на активы устанавливаются на основе действия участников рынка, а не благодаря внешним источника, таким как оракулы. В случае резких рыночных движений реальная стоимость токена может быть скорректирована третьими лицами, так называемыми арбитражниками.

Представьте ситуацию, когда цена на ETH на сторонних рынках, например Binance, поднялась до 110$, но на DEX осталась 100$. Так создается идеальная возможность для арбитражника заработать. И сбалансировать пул.

С точки зрения Uniswap, протокол использует CPMM модель, чтобы регулировать стоимость токена в пуле.

Модель CPMM (constant product market make) мы рассматривали в прошлой статье.

Таким образом, чем больше ETH забирают из пула, тем дороже он становится. В случае изменения цены на внешнем рынке, арбитражник покупает "дешевый" ETH на Uniswap до тех пор, пока цена не сравняется с ценой на Binance. Он ребалансирует пул и получает прибыль.

Предположим, арбитражник покупает 1 ETH на Uniswap за 100$ и взамен предоставляет определенное количество DAI. В пуле происходит следующее:

(10–1)*(1000 + (1*z +комиссия)) = 10000

предположим (1*z + комиссия) это X

9*(1000+X)=10000

1000+X = 10000/9

1000+X =1111.111….

X = 1111–1000=111

Соответственно, разница между предыдущей и текущей ценами составляет 11$, которые идут в карман арбитражника. В случае подобной сделки это прибыль арбитражника и непостоянная потеря.

Непостоянные потери - возможные потери предоставленных в пул средств, в сравнении с тем, чтобы просто удерживать эти средства в кошельке. Потери возможные и непостоянные только потому, что происходят только тогда, когда поставщик ликвидности заберет свои токены из пула.

Поставщик ликвидности получит возврат только в том случае, если другой участник предоставит пулу токены по цене ниже рыночной (90$ в пул и 100$ на рынке). Как только цена сравняется с рыночной ценой (100$), то пул покроет непостоянные потери из прошлого примера.

Что будет, если пул достаточно большой?

Представьте, что пул содержит 100 000 ETH и 100 000 000 DAI, где 1 ETH = 100$, 1 DAI = 1$.

Предположим происходит такое же изменение цены до 110$ и кто-то хочет купить не 1 ETH, а 50 000 ETH по низкой цене на Uniswap. Цена в пуле резко изменится. Поставщики ликвидности захотят забрать свой ETH, чтобы предотвратить еще большие потери.

Но ... в какой-то момент в пуле может не хватить ETH на всех. Для кого-то это будет стоить побольше 11$.

Таковы основные проблемы связанные с непостоянными потерями, над решением которых трудятся многие команды разработчиков. Есть разные варианты эффективных мер с точки зрения устранения непостоянных потерь.

Решение от Curve finance

Проблема непостоянных потерь возникает в случае резких движений на рынке и чаще затрагивает волатильные активы. У стейблкоинов нет такой волатильности и не нужно балансировать пул. Пока стоимость равна или около 1$, то риска потерь нет.

Curve первый протокол, который косвенно устранил проблему непостоянных потерь, включив своп стейблкоинов

Мы используем слово "косвенно" ввиду того, что это относится только с стабильным монетам и не решает саму проблему в целом. Несмотря на это, это большой шаг вперед и на рынке появилась отличная альтернатива.

Решение от Balancer

Следующий шаг в устранении непостоянных потерь было предоставление кастомизированных пулов от Balancer.

Новая модель AMM, которую использует протокол, позволяет привязать стоимость токена к его весу или ценности. Соответственно, можно создать пулы с неравными пропорциями типа 60/40, или даже 98/2.

Другое преимущество в том, что пул теперь создается не только из двух активов. Например, 30% ETH/50% DAI/20% USDC.

Такой "несбалансированный" баланс очень эффективен в случае колебания стоимости токена. Если учесть возможность создания пула с множеством токенов, где активы распределены согласно их весам, то риск непостоянных потерь действительно становится ниже.

Но стоит отметить, что такой вывод зависит от процента стабильных монет, нежели от количества активов.

Решение от Bancor

Революционное решение было предложено командой Bancor

Как видно из прошлых примеров, пулы из токенов с постоянными ценами (стейблкоины, обернутые или синтетические активы) доказали свою устойчивость к непостоянным потерям.

Bancor перевел эту структуру на высоковолатильные активы за счет интеграции с Chainlink. Его оракулы позволяют получать защищенные и надежные данные о ценах токенов из различных ончейн и офчейн рынков.

Непостоянные потери и фронтраннинг. Проблемы АММ и их решения

Фронтраннинг

Децентрализованные финансы в некоторых случаях похожи на традиционный финансовый рынок. Одна вещь помогает ощутить это в полной мере - принятие стратегии фронтраннинга на DEXах.

На традиционных рынках такие атаки осуществляет определенная закрытая группа людей. В DeFi рынок открыт для всех, что делает его уязвимым к таким атакам.

Фронтраннинг происходит тогда, когда один участник, зная о сделке другого участника, получает прибыль за счет выполнения своей транзакции перед ним. В среде DEX такие атаки доступны всем, то есть майнерам, арбитражникам, трейдерам. Майнерам даже проще проводить такие атаки за счет того, что они могут выбрать последовательность транзакций в блоке.

Чтобы провести такую атаку, трейдер А проверяет существующие ордера на DEX, например на Uniswap. Если он находит что-то , что может существенно изменить цену в пуле, то покупает этот актив по более выгодной цене. Потом выставляет ордер с более высоким газом перед трейдером B. Такие действия заставляет трейдера B проводить сделку по невыгодной цене. А разница идет в карман трейдера A.

Непостоянные потери и фронтраннинг. Проблемы АММ и их решения

Чтобы лучше понять, посмотрим, как это выглядит с цифрами.

Представим, что трейдер А хочет продать 50 ETH за 5000 DAI (1 ETH = $100= 100DAI). Такая транзакция повлияет на пул и сдвинет цену до 98DAI за 1 ETH. Подлый трейдер B видит этот ордер и добавляет больше газа своей транзакции и выполняет сделку перед трейдером A. Так как ордер уже размещен, то трейдер А никак не может на него повлиять. Такое наглое вторжение приводит к понижению цены и, следовательно, к потерям для трейдера А по 2 DAI за каждый ETH (4900 DAI вместо 5000 DAI).

Более того, согласно кривой CPMM, цена в пуле теперь ниже.

Трейдер B может снова купить 50 ETH по цене около 99DAI и заплатить 4950 за всё, вместо 5000. В таком случае прибыль подлого трейдера составит 50 DAI минус комиссии.

Несовершенный механизм позволяет извлекать прибыль за счет других и фронтраннинг становится серьезной проблемой.

Решение от 0x Protocol

Одним из первых, кто начал бороться с этой проблемой стал 0x Protocol. Они предложили уникальную схему фиксации-раскрытия, которая делит процесс подтверждения транзакции на два уровня.

Первая часть заключается в том, чтобы обнаружить соответствующий ордер и взять на себя обязательство выполнить его, то есть зафиксировать. Важно здесь то, что намерение отсылается в блокчейн, но остается тайной для других участников.

Следующий шаг - отправить транзакцию в блокчейн, но добавить всю информацию об ордере (раскрыть), который обязались выполнить. В этот раз также есть тайна, которая доказывает легальность ордеров из первого шага.

К сожалению, несмотря устранение проблемы фронтранинга, такой подход имеет недостатки.

Один из них - это конфликт сделок в случае огромного трафика в протоколе.

Другая проблема - "возврат" ордера, когда, к примеру, трейдер отменяет ордер сразу после фиксации до шага раскрытия.

Для таких действий необходимо добавить в смарт-контракт усовершенствованную опцию отказа.

Решение от Secret Network (ранее Enigma)

Другое решение фронтраннинга было предложено командой Secret Network.

Оно представляет собой систему, которая интегрируется в существующую DEX и помогает избегать фронтраннинга.

Enigma позволяет создать безопасную и секретную среду для трейдеров, строя протокол, где никто не видит транзакции в сети.

Другими словами, пул с неподтвержденными блоками остается в тайне и никто не знает какие там ордера.

DEX может интегрировать такую систему 2 путями:

  • устранить условия гонки, которые есть у большинства бирж, работающих с децентрализованной системой координации;
  • создать логику мэтчинга ордеров с использование смарт-контрактов Secret Network.

Заключение

Фронтраннинг и непостоянные потери - большие проблемы на рынках децентрализованных финансов.

В некоторых случаях они рассматриваются как основные препятствия на пути к широкому признанию и использованию DeFi. Те усилия и решения, которые мы обсудили выше, сделали огромный шаг вперед на пути преодоления этих проблем.

Кроме того, проблема фронтраннинга присутствует не только в DeFi, но и широко известна на традиционных рынках. Фактически мы наблюдаем, как новые протоколы серьезно относятся к фронтраннингу и прикладывают много усилий для устранения.

Успех в этом деле приведет к тому, что DEX выйдет на новый уровень и привлечет больше ликвидности.

TG аналитика: Top Traders

TG обучение: TT Academy

44
Начать дискуссию