Формулы расчета цены в пулах Swop.fi

Swop.fi
Swop.fi
Published in
3 min readFeb 11, 2021

Swop.fi — обменник криптовалют на основе модели AMM (automated market maker). Это означает, что цена обмена для каждой пары токенов зависит только от количества токенов на смарт-конкракте. Смарт-контракты Swop.fi не используют оракулы или другие внешние источники данных для определения обменных курсов.

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

  • Constant Product Market Maker (CPMM)
  • Flat

Расскажем, как работают эти формулы и почему формула Flat уменьшает проскальзывание и обеспечивает лучшую цену обмена для стейблкоинов.

CPMM

Большинство пулов Swop.fi основаны на широко известной формуле, используемой проектом Uniswap и многими другими AMM. Эта формула гласит, что произведение количества токенов не меняется при обменах:

где:

x — количество токена X,

y — количество токена Y,

k — постоянная.

Если пользователь хочет обменять количество a токена X, то эквивалентное количество b токена Y соответствует пропорции:

На самом деле пользователь получает не b, а 0,997b из-за комиссии 0,3%, взимаемой смарт-контрактом.

Допустим, что x = 1000 и y = 200. Посмотрим, как сумма обмена влияет на цену.

Для небольших сумм цена близка к x/y. Чем больше сумма обмена относительно общего количества токена в пуле, тем сильнее смещается цена. Такой эффект называется проскальзыванием. Гиперболическая кривая цены приводит к значительному проскальзыванию в крупных сделках.

Flat: уменьшение проскальзывания

CPMM-формула работает не лучшим образом для пары токенов, цена которых не должна сильно отличаться — например, для стейблкоинов, привязанных к одной и той же фиатной валюте. При обмене небольших сумм цена должна быть как можно ближе к постоянной цене, которая описывается формулой

Curve удалось уменьшить проскальзывание в пулах стейблкоинов благодаря формуле, которая объединяет произведение (1) и сумму (2) количества токенов. Вдохновленные подходом Curve, мы разработали собственную оригинальную формулу, которая применяется в паре USDT-USDN:

Параметр s (skewness) отражает перекос балансов токенов X и Y. Чем больше перекос, тем больше вклад произведения балансов, как в формуле (1). Если балансы примерно одинаковы, больше вклад суммы балансов, как в формуле (2).

Моделирование показало, что значения α = 0,5 и β = 0,46 позволяют добиться наименьшего проскальзывания при соотношении балансов, близком к 1:1. Кривая цены в этом случае выглядит следующим образом:

Например, пусть смарт-контракт хранит 1000 монет токена X и 1000 монет токена Y. При использовании CPMM-формулы (1) результаты обмена были бы такими:

Улучшенная Flat-формула (3) дает цену, которая гораздо меньше отклоняется от 1:

Фактически пользователь получает не b, а 0,9995b, поскольку комиссия 0,05% остается в пуле.

--

--

Swop.fi
Swop.fi

Swop.fi is an instant, AMM-type crypto exchange that offers the most profitable swap formulas for each token pair.