Как AMM определяют цены сделок: объяснение формулы x*y=k

iconCoinrise
Поделиться
AI summary iconСводка
Движения цены ETH зависят от механики AMM, в частности формулы x*y=k, используемой в пулах ликвидности. При исполнении сделки резервы пула изменяются, вызывая проскальзывание. Например, покупка 1 ETH из пула 10 ETH / 20 000 USDC стоит 2 222,22 USDC. Более крупные сделки увеличивают проскальзывание, а более глубокие пулы снижают его. Новые версии Uniswap используют концентрированную ликвидность, изменяя способ работы формулы. Стейблкоины выгодны благодаря более плоским кривым ценообразования, как в дизайне StableSwap от Curve. Трейдерам также следует учитывать альткоины, за которыми стоит следить при оценке рыночных тенденций.

Автоматизированный маркет-мейкер не принимает заявки на покупку и продажу от покупателей и продавцов. Он определяет цену сделки на основе пула из двух токенов с использованием формулы — чаще всего формулы постоянного произведения x*y=k, согласно документации разработчиков Uniswap. Соотношение резервов пула устанавливает цену до сделки, но поскольку сама сделка изменяет это соотношение, фактически оплачиваемая цена хуже первоначально заявленной, если сделка не является ничтожно малой по сравнению с размером пула.

Что делает пул и формула

Пул ликвидности — это смарт-контракт, содержащий резервы двух токенов — например, ETH и USDC — с которыми любой пользователь может напрямую торговать, согласно блогу Uniswap. Поставщики ликвидности вносят оба токена в равной стоимости, чтобы запустить пул и задать начальное значение постоянной k, которая является произведением количеств двух резервов, согласно блогу Uniswap. С этого момента каждая обменная операция должна оставлять произведение x на y равным тому же значению k. Документация разработчика Uniswap описывает k как инвариант, который должен оставаться неизменным или увеличиваться после каждой сделки. Поскольку балансы двух резервов должны постоянно давать одно и то же произведение, изъятие одного токена из пула означает, что другой должен увеличиться в компенсацию, и именно это изменение соотношения и определяет изменение цены.

Считаем арифметически: покупка 1 ETH из пула 10 ETH / 20 000 USDC

Блог Uniswap приводит подробный пример. Начните с пула из 10 ETH и 20 000 USDC. Константа равна 10 умножить на 20 000, то есть 200 000. На этой начальной точке пул предполагает цену спота 1 ETH за 2 000 USDC.

Теперь трейдер покупает 1 ETH. Резерв ETH в пуле снижается до 9. Чтобы сохранить константу на уровне 200 000, резерв USDC должен увеличиться до 200 000, делённых на 9, то есть примерно до 22 222,22 USDC, согласно собственному расчёту блога Uniswap. Таким образом, трейдер внес 22 222,22 минус 20 000, или 2 222,22 USDC, чтобы получить 1 ETH. Их эффективная цена за купленный ETH составляет 2 222,22 USDC — а не 2 000 USDC, которые пул предлагал до сделки.

Этот разрыв, 2 222,22 USDC против начальной котировки в 2 000 USDC, называется проскальзыванием. Это не комиссия и не сбой; это просто формула, выполняющая свою задачу — пересчитывающая цену пула по мере изменения резервов. В блоге Uniswap отмечается, что более крупные сделки относительно размера пула вызывают большее проскальзывание, тогда как более глубокий пул поглощает ту же сделку с меньшим изменением цены. То же самое утверждается в документации для разработчиков Uniswap, где этот эффект описывается как влияние цены: более крупные сделки относительно глубины пула сильнее смещают цену, а более мелкие сделки исполняются ближе к текущей рыночной цене.

Блог Uniswap также предлагает более простое объяснение для обычных пользователей: пользователь, обменивающий $100 USDC на ETH, видит курс, рассчитываемый в реальном времени по формуле постоянного произведения, а смарт-контракт за одну транзакцию забирает USDC и возвращает ETH, одновременно перебалансируя пул.

Там, где простая формула перестаёт применяться

Арифметика x*y=k, описанная выше, относится к пулу стиля Uniswap v2, где ликвидность распределена по всему возможному диапазону цен. Согласно документации разработчиков Uniswap, в v3 и v4 эта формула применяется только в пределах выбранного диапазона цен каждого поставщика ликвидности — это называется концентрированной ликвидностью. В v3 позиция поставщика в этом диапазоне представляется в виде ERC-721 нефунгибельного токена через контракт под названием NonfungiblePositionManager; в v4 позиции отслеживаются с помощью PositionManager с использованием ERC-6909 для внутреннего учета, согласно той же документации. Практическое следствие заключается в том, что два пула, торгующие одну и ту же пару, на разных версиях Uniswap или с различными выбранными поставщиками ликвидности диапазонами, не будут изменять цену на одинаковую величину при идентичной сделке, хотя оба описываются как использующие формулу постоянного произведения.

Uniswap и Balancer относятся к более широкой группе, которую статья 2020 года Гильермо Анхериса и Таруна Читры называет постоянными функциональными маркет-мейкерами (CFMM) — автоматизированными маркет-мейкерами, чье правило ценообразования представляет собой некоторую фиксированную функцию от резервов пула, примером которой является x*y=k. Та же статья отмечает, что не каждая торговая пара должна ценообразоваться с использованием именно этой кривой. Стейблкоины, привязанные к примерно $1, но колеблющиеся в узком диапазоне вокруг этой отметки, эффективнее ценообразуются с помощью более плоской кривой около привязки, чтобы торговая комиссия оставалась низкой, когда пара близка к $1, и возрастала по мере отклонения — подход, который авторы статьи приписывают дизайну StableSwap от Curve. Основная идея та же, что и у Uniswap — резервы и инвариантное ценообразование — но форма кривой, а следовательно, и арифметика, которую должен пройти трейдер, отличается.

Насколько велик этот рынок

Статья Ангериса и Читры, датированная мартом 2020 года, привела некоторые цифры, характеризующие ландшафт DeFi на тот момент. В ней говорилось, что на тот момент DEX-платформы удерживали примерно 100 миллионов долларов США цифровых активов, а ежедневный объём торгов иногда превышал 10 миллионов долларов США в день. Цифра в статье, основанная на данных DeFi Pulse и датированная 12 февраля 2020 года, показывала, что контракты CFMM удерживали 129,7 миллиона долларов США против 0,721 миллиона долларов США, находящихся у создателей прогнозных рынков на основе LMSR, таких как Augur и Gnosis. Та же статья отмечала, что Uniswap был создан с грантом в 100 000 долларов США от Ethereum Foundation, в то время как 0x привлёк 24 миллиона долларов США, а Bancor — 153 миллиона долларов США в ходе первоначальных предложений монет, и указывала, что на момент написания статьи Uniswap удерживал примерно в пять–десять раз больше ликвидности, чем оба этих конкурента вместе взятых. Эти цифры описывают рынок пятилетней давности и полезны только как историческая иллюстрация того, как быстро AMM с простой архитектурой обогнал более финансово обеспеченные и сложные альтернативы — они ничего не говорят о текущем размере какого-либо из этих протоколов.

Что эта страница вам не сообщает

Эта страница объясняет формулу постоянного произведения, задокументированную для пулов стиля Uniswap v2, используя один приведенный численный пример из имеющихся данных. Она не рассматривает математику концентрированной ликвидности Uniswap v3 или v4 или кривую StableSwap, используемую Curve, поскольку ни один из использованных здесь источников не предоставляет пронумерованный пример для этих случаев — только описание их различий.

Приведённый выше пример с 10 ETH / 20 000 USDC не предусматривает комиссий. В документации разработчика Uniswap указано, что комиссии за обмен настраиваются для каждого пула и версии протокола, и что протокольные комиссии могут применяться при включении через управление, однако ни один из используемых здесь источников не указывает реальный процент комиссии для какого-либо конкретного пула, поэтому цена исполнения в 2 222,22 USDC, рассчитанная выше, была бы несколько выше на реальном пуле с комиссиями.

Блог Uniswap предупреждает, не приводя цифр, что итоговая цена исполнения трейдера может слегка отличаться от начальной котировки, отображаемой на экране, особенно при низкой ликвидности или резком росте активности. Ни один из использованных здесь источников не объясняет, как такие методы, как сандвич-трейдинг, взаимодействуют с этим расхождением в реальной транзакции, кроме этого общего предупреждения.

Наконец, данные за 2020 год по общей заблокированной стоимости и сбору средств через ICO представляют собой снимок на один момент в истории рынка: по состоянию на 12 февраля 2020 года для сравнения TVL и по дате публикации статьи в марте 2020 года для сравнения сбора средств. Их не следует воспринимать как текущие показатели для Uniswap, 0x, Bancor или более широкого рынка DeFi.

Источники

Каждый из приведенных выше фактов взят из одного из этих отчетов. В местах, где они расходятся, об этом говорится в статье.

Отказ от ответственности: Информация на этой странице может быть получена от третьих лиц и не обязательно отражает взгляды или мнения KuCoin. Данный контент предоставляется исключительно в общих информационных целях, без каких-либо заверений или гарантий, а также не может быть истолкован как финансовый или инвестиционный совет. KuCoin не несет ответственности за ошибки или упущения, а также за любые результаты, полученные в результате использования этой информации. Инвестиции в цифровые активы могут быть рискованными. Пожалуйста, тщательно оценивайте риски, связанные с продуктом, и свою устойчивость к риску, исходя из собственных финансовых обстоятельств. Для получения более подробной информации, пожалуйста, ознакомьтесь с нашими Условиями использования и Уведомлением о риске.