Динамический АММ как решение для Децентрализованных умных индексов

PowerPoolRU
7 min readJan 12, 2021

Эта статья посвящена совершенно новому концепту Динамических АММ, постоянно оптимизирующему веса АММ для извлечения максимального дохода из капитала индекса.

ДИСКЛЕЙМЕР: Эта статья является, по сути, черновиком, описывающим идею и имплементацию Динамического АММ. Мы будем выпускать статьи с дополнительной информацией по этой теме и ответами на вопросы участников сообщества.

Вступление
Постоянная инвариантная формула АММ, разработанная Uniswap и Balancer, является жизненно-важной основной всего Defi. Она проста, она надежна и она работает. Децентрализованные биржи являются первыми и наиболее популярными приложениями, основанными на АММ. У них миллиарды TVL, огромные объемы торговли и они успешно конкурируют с крупнейшими централизованными биржами за внимание пользователей. Проблема эффективности использования капитала была основным драйвером разработки АММ, что в итоге привело к новому поколению АММ, таких как Curve, Yield, Mooniswap и т.п. Эти АММ используются как основные части комплиментарных продуктов, предлагающих новый опыт торговли для конкретных типов активов, таких как стейблкоины, врапнутые активы и нулевые облигации.

Эффективное управление капиталом было основным направлением развития АММ — моделей. Но важно отметить, что варианты использования АММ не ограничиваются обменом активов.

Цитируя Github — страницу Balancer:

Balancer — это автоматизированный портфельный менеджер, провайдер ликвидности и датчик цен.

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

PowerIndex на базе АММ Balancer

PowerPool использует АММ Balancer для построения децентрализованных умных индексов. Power индексы — это ETF-подобные индексы, использующие активы составных протоколов с пользой. Индексы генерируют денежные потоки для держателей токенов индекса с помощью стейкинга активов в нативных протоколах и позволяют держателям CVP участвовать в голосованиях, проходящих в системах управления составных протоколов, за счет интеграции системы мета-управления. Плюс ко всему, индексы полностью управляются сообществом (пользователи могут изменять состав индекса, веса протоколов в индексе и управлять комиссиями “на лету” через предложения по управлению PowerPool) и генерируют денежные потоки для держателей CVP через “комиссии сообщества”. Возможность управлять индексом основана на модели динамического изменения весов, разработанной командой PowerPool в сотрудничестве с Антоном Буковым, со-основателем биржи 1inch.exchange.

PowerIndex=Balancer AMM + использование размещенных в пуле индекса активов с пользой + мета-управление + управление индексом на при помощи динамического изменения весов + денежные потоки для сообщества CVP

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

При этом, использование АММ Balancer для децентрализованных индексов имеет один существенный недостаток: он ребалансируется постоянно. Это означает, что если актив из числа активов, входящих в индекс, быстро растет относительно других, то он продается арбитражерами, поддерживающими веса активов в индексе. Идентичная схема применяется и к тем активам, которые падают в цене быстрее других — механизм АММ предполагает покупку этих токенов с рынка.

Это не является проблемой только PowerPool. Это печально известная проблема, негативно сказывающаяся на любом, кто предоставляет ликвидность для Uniswap/Balancer AMM.

Это ограничивает рост индекса. Если даже один актив из всей корзины активов не коррелирует в цене с остальными, то вся корзина растет медленнее чем должна. Потому такой подход эффективен только для активов с высоким уровнем корреляции (например, SNX, SUSHI, YFI-ASSY). Приостановка обменов выглядит логично, но это не лучшее решение: (1) это исключает возможность предоставления ликвидности с помощью одного актива из состава индекса, (2) это исключает доход от обменов для провайдеров ликвидности, снижая процент прибыли от вложенных средств, (3) это требует разработки иного решения для балансировки индекса.

Сообщество CVP отметило проблему ограничения свободы цены из-за постоянной ребалансировки пула АММ Balancer. Участник нашего сообщества Сергей предложил вариант решения этой проблемы (детали доступны по ссылке). Он сводится к одной простой идее:

Что если индекс будет постоянно изменять веса его составных активов, следуя некоей логике, которая позволила бы не продавать растущие активы и не откупать падающие?

Эта идея показалась нам интересной и мы начали работать над ее практической частью. После ее внедрения в мейннет, она полностью изменит пользовательский опыт PowerIndex, позволяя индексу расти как должно, ребалансируясь арбитражерами и одновременно генерируя комиссии для провайдеров ликвидности. Еще одним преимуществом станет повышение уровня сопротивления PowerIndex взлому составных протоколов, что позволит избежать утечки капитала при продаже токенов взломанного протокола в пуле АММ.

DAMM: Динамический АММ — алгоритм.

Динамический АММ — это АММ, который постоянно изменяет веса, ориентируясь на некий показатель, относящийся к активам составных протоколов. Он оптимизирует веса в АММ в соответствии с изменяющимися условиями, чтобы обеспечить эффективное функционирование продукта, построенного на базе АММ.

Говоря простым языком, Динамический АММ — это АММ, который изменяет веса в уравнении АММ в ответ на быстро меняющуюся внешнюю среду.

Динамический АММ основан на триггере, который без остановки оптимизирует веса в формуле АММ

По нашему мнению, любой АММ может быть усовершенствован до динамического АММ если есть достойное решение проблемы gas для динамического изменения весов. В этой статье мы рассмотрим случай с АММ Balancer как самый актуальный для PowerIndex.

Общие требование к Динамическому АММ:

  1. Четко определенная бизнес-логика — почему веса должны изменяться и как определить оптимальные веса;
  2. Триггер для изменения весов. Какой из системных параметров должен работать как сигнал для изменения весов;
  3. Практическая реализация. Как получить данные извне для активации триггера на изменение весов, да так чтобы это было безопасно и децентрализованно.

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

Как это работает на практике? Представим PIPT — индекс, состоящий из 8 токенов (YFI, AAVE, UNI, COMP, MAKER, SNX, WNXM, CVP). Внезавпно, один из токенов начинает расти против рынка. Алгоритм динамического АММ отслеживает его рост и начинает увеличивать вес этого токена дабы сохранить его внутри пула, максимизируя доход для держателей токенов индекса (не позволяя АММ продавать эти токены через арбитраж). Если цена актива падает относительно других активов индекса, то Динамический АММ просто сокращает вес этого актива в пуле, удерживая АММ от покупки этих токенов для поддержания весов индекса. В итоге, PowerIndex холдит гейнеров и не откупает активы, падающие в цене, показывая достойные результаты работы продукта.

На случай быстрого дампа токена (например, в случае со взломом), автоматический обмен будет отключен благодаря тому же триггеру. Он будет выступать в качестве автоматизированной защиты PowerIndex от взломов, подобных взлому COVER.

Все функции PowerIndex, такие как одностороннее предоставление ликвидности, обмен токенов, Vault-подобные стратегии для активов составных протоколов и мета-управление, останутся доступными в модели Динамического АММ.

Практическая реализация

Мы рассматриваем три основных варианта реализации триггеров для Динамического АММ:

  1. Триггеры, основанные на децентрализованных оракулах (включая PowerOracle-децентрализованный кросс-чейн оракул);
  2. Рыночная капитализация или относительные цены активов, высчитываемые от некоего “базового актива” внутри АММ, с использованием ценового сенсора АММ;
  3. Триггер, основанный на изменении числа токенов внутри пула исходя из данных о проведенных обменах.

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

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

Третий вариант основан на отслеживании сделок внутри АММ и принятии решений касательно изменения весов, основываясь на этих данных. Если число токенов постоянно снижается, это означает, что цена такого актива растет (относительно других активов). Эта информация может быть использована в качестве контрольного сигнала на увеличение веса этого актива во избежание продаж арбитражерами. Идентичная логика применима к увеличению числа токенов (такой вариант развития ситуации означает, что цена токена падает). Основными параметрами триггера являются направление изменения баланса и скорость изменения веса:

  • Если баланс растет (что означает падения токена в цене), то направление изменения веса становится негативным (вес уменьшается);
  • Если баланс уменьшается (что означает рост цена токена), то направление изменения веса становится положительным (вес увеличивается);
  • Если баланс не меняется, то и вес не меняется.

Каждый подход к построению правильной системы триггеров для Динамического АММ имеет свои ограничения и бросает определенные вызовы свои создателям. Сейчас мы исследуем все описанные выше варианты с технической точки зрения в то время как Команда токен-инженеров (получившая грант от PowerPool и BalancerLabs) строит модель симуляции для Balancer AMM, включая наш случай с DAMM. Наше текущее видение заключается в использовании в использовании направления изменения баланса/изменения веса в сочетании с дополнительным интеллектом от PowerOracle. Мы опубликем больше информации по исследованию DAMM в скором времени.

Заключение

Очень важно отметить, что децентрализованные индексы и портфели не единственные, кто может извлечь пользу из построения Динамического АММ. Как только PowerPool проведет симуляцию Динамического АММ и внедрит его в мейннет, множество Defi-продуктов смогут использовать его для построения сложных финансовых продуктов.

Русскоязычная группа PowerPool в Telegram: https://t.me/power_pool_ru

--

--

PowerPoolRU

Официальные переводы оригинальных статей PowerPool (https://medium.com/@powerpoolcvp)