изучено: constant product AMM - формула x * y = k, swap механика - price impact и slippage
🔊выжимка изученного:
🟠constant product AMM - формула x * y = k
в основе большинства AMM лежит формула:
x * y = k
где:
x это количество первого токена в пуле
y это количество второго токена
k это константа, которая не должна меняться
смысл в том, что при любом обмене произведение x и y должно оставаться одинаковым
простой пример
в пуле лежит:
10 ETH и 10000 USDT
k = 10 * 10000 = 100000
если пользователь хочет купить ETH, он добавляет USDT и забирает ETH. Баланс меняется, но k остаётся тем же
чем больше ты покупаешь, тем сильнее двигается цена, потому что нарушается баланс токенов.
главная идея: цена в AMM зависит от соотношения токенов в пуле, а не от ордеров
🟠swap механика: price impact и slippage
когда пользователь делает swap, важно понимать 2 вещи
price impact
это то, насколько ты сам двигаешь цену своим обменом
пример:
в маленьком пуле ты хочешь купить много ETH
ты забираешь большую часть ETH из пула
баланс резко меняется → цена растёт
чем больше сделка относительно пула → тем больше price impact
> slippage
это разница между ожидаемой ценой и фактической ценой исполнения
пример: ты видишь что получишь 1 ETH
но пока транзакция попала в блок, цена изменилась
и ты получил 0.98 ETH, - это и есть slippage
> как они связаны
price impact это причина
slippage это результат
ты двигаешь цену → получаешь хуже цену → это slippage
> почему это важно
если не учитывать slippage
твоя транзакция может:
не выполниться
выполниться по плохой цене
поэтому в dapp всегда есть настройка slippage tolerance