Как работают DEX? AMM
Intro
В 3-м уроке мы говорили о том, как формируется цена на бирже. Биржевой стакан, рыночные, лимитные ордера и тд. На DEX же дела обстоят кардинально иным образом.
Вместо стакана цена на DEX устанавливается с помощью специального механизма под названием AMM. И вне зависимости от того, занимаетесь вы фармингом ликвидности, либо вам просто нужно свапнуть какую-то монетку, разбираться в принципе работы AMM однозначно нужно, ведь от этого зависят ваши деньги! Поэтому приступаем.
Что такое AMM?
Автоматический маркет-мейкер (AMM) - это программный инструмент, разработанный для обеспечения ликвидности в децентрализованных биржах и протоколах. Он позволяет пользователям торговать криптовалютами и токенами непосредственно между собой, не прибегая к традиционным биржам с централизованными структурами.
AMM действует как автоматический посредник, поддерживая стабильные курсы обмена и обеспечивая доступ к ликвидности даже в отсутствие сторонних участников рынка. Короче, аналог стакана на бирже.
А кстати, почему DEX не используют этот самый стакан? Ну, первые DEX на Ethereum действительно использовали его, но был один большой нюанс. Все свапы и сделки на DEX должны проходить через блокчейн, транзакции в котором проходят мягко говоря не моментально.
История
Поэтому в 2016-2017 годах криптоэнтузиасты предложили идею AMM, которую с радостью подхватил и взял под свое крыло Виталик Бутерин. Первым наиболее известным и распространенным AMM стало решение от Uniswap, команда которого получила грант в $100,000 от Ethereum Foundation.
Также большую популярность набрал AMM Bancor, которые собрали на ICO $140 млн. и концепция AMM постепенно начала переходить в массы, впоследствии чего появились сотни DEX. Но хватит лирики, давайте в конце концов разберемся, как же он работает!
Механика
Начнем с того, что В AMM ценообразование происходит автоматически на основе математических алгоритмов и принципов предложения и спроса. Вместо классических биржевых стаканов AMM основан на пулах ликвидности, где пользователи вносят свои токены для торговли.
Если в двух словах, то пул ликвидности - это место, где пользователи кладут свои токены для торговли на децентрализованных биржах, обеспечивая доступность для обмена между разными токенами.
Сам процесс ценообразования происходит примерно следующим образом (за основу взят Uniswap):
- Формирование пула ликвидности: Пользователи вносят два различных токена (например, ETH и DAI) в пул ликвидности. Они указывают количество каждого токена, которое они готовы предоставить.
- Расчет начальной цены: Начальная цена токена в паре определяется исходя из отношения внесенных в пул токенов. Например, если в пул внесено 10 ETH и 1000 DAI, начальная цена будет 1 ETH = 100 DAI.
- Обмен токенов: Когда трейдер хочет совершить обмен одного токена на другой, AMM автоматически рассчитывает соответствующую цену на основе текущего состояния пула ликвидности.
- Изменение баланса пула: Каждый обмен меняет баланс токенов в пуле. Например, если кто-то купил ETH за DAI, количество ETH в пуле уменьшится, а количество DAI увеличится.
- Корректировка цены: После каждой сделки AMM автоматически корректирует цену токенов в паре на основе изменений баланса. Принцип здесь таков: чем больше токенов остается в пуле, тем выше их цена, и наоборот.
- Конвергенция кравновесию: С каждой торговой операцией цены медленно сходятся к истинному соотношению внесенных токенов. Этот процесс называется конвергенцией к равновесию.
На первый взгляд процесс может показаться немного сложным, поэтому давайте разберем на подробном примере.
Пример
Шаг 1: Формирование пула ликвидности
Предположим, что у нас есть два участника на DEX: Алиса и Артем. Алиса решает внести 5 ETH и 500 DAI в пул ликвидности ETH/DAI.
После этого состояние пула ликвидности выглядит так:
В данном случае, начальная цена определяется как отношение внесенных токенов:
Артем решает обменять 1 ETH на DAI. Давайте посмотрим, как это повлияет на пул ликвидности:
- Баланс ETH: 4 ETH (5 ETH - 1 ETH)
- Баланс DAI: 500 DAI + X (где X - это количество DAI, которые получит Aртем)
AMM автоматически корректирует цену на основе нового баланса токенов в пуле. Допустим, X равно 90 DAI. Тогда новый баланс будет:
Шаг 5: Конвергенция к равновесию
С каждой торговой операцией цены будут медленно сходиться к истинному соотношению токенов. В данном случае, чем больше ETH обменивается на DAI, тем выше будет цена DAI относительно ETH. Вот как то так.
Риски
Да, AMM безусловно крутой и удобный механизм, но не без своих недостатков.
Риск 1 "Проскальзывание"
Проскальзывание (Slippage): Проскальзывание - это разница между ожидаемой ценой торговой операции и фактической ценой, по которой операция была выполнена. В традиционных биржах проскальзывание может быть вызвано низкой ликвидностью или большими объемами сделок, но в AMM оно связано с изменениями баланса токенов в пуле.
Чем больше сумма, которую вы хотите обменять, тем больше может быть проскальзывание. Это связано с тем, что при обмене большими объемами токенов меняется баланс в пуле, что влияет на цену. Таким образом, проскальзывание в AMM может быть больше, чем на традиционных биржах, особенно при больших объемах сделок.
Предположим, у вас есть автоматический маркет-мейкер (AMM) на платформе, который работает с пулом ликвидности для пары ETH/USDT. В данный момент цена 1 ETH равна 2000 USDT.
Вы решаете купить 5 ETH через этот AMM. Однако, из-за внезапного спроса, цена ETH начинает расти. Пока ваша торговля исполняется, цена ETH поднимается до 2050 USDT за 1 ETH.
Когда сделка завершается, вы обнаруживаете, что вы заплатили больше, чем ожидали, из-за роста цены ETH во время торговли. Расчетный курс был 2000 USDT за 1 ETH, но фактический курс составил 2050 USDT за 1 ETH. Это различие - это и есть проскальзывание.
Риск 2 "Impermanent Loss"
Потери от временной дисбалансировки - это понятие, которое связано с участием в пуле ликвидности AMM. Когда вы добавляете свои токены в пул, вы получаете LP-токены, представляющие вашу долю в пуле. Однако если цена одного из токенов изменится в большую сторону по сравнению с другим, вы можете столкнуться с потерями при выводе средств из пула.
Например, предположим, что вы вложили в пул ликвидности 50% ETH и 50% DAI. Если цена ETH взлетит, вы можете столкнуться с ситуацией, когда ваша доля в ETH станет меньше, чем она была изначально. В результате, ваша общая стоимость может быть ниже, чем если бы вы просто держали токены вне пула.
Итог
AMM - крутой и продвинутый механизм в котором нужно разбираться. Благодаря ему у нас есть Liquidity Farming и возможность получения неплохого пассивного дохода на DEX. Но это уже тема отдельного поста, который выйдет в скором времени, и в рамках которого мы поговорим о защите от проскальзывания, а также Impermanent Loss.