Post
Topic
Board Идеи
Re: Маркетмейкер с плавающим спредом
by
imhoneer
on 15/03/2021, 13:32:21 UTC

Мне интересна тема AMM, но я опять прошу прощения я ничего не понял.
Но сразу скажу что у меня есть уже опыт - я недавно создал DeFi, который совмещает с собой стейблкоин (USD) и Своп. Своп классический - аналогичен uniswap, поэтому я думаю что хорошо представляю как  работает uniswap. В нем AMM - стандартный. Добавлены только варианты защиты от манипуляций курсом.

Вот пример работы этого свопа:

Quote
Обмен
Смарт-контракт содержит резервы ликвидности TERA и USD, и сделки совершаются непосредственно против этих резервов. Цены устанавливаются автоматически с помощью механизма маркет-мейкера (x*y=k), который поддерживает общие резервы в относительном равновесии. Обмен ведется в предположении постоянства значения TeraSwapPool * USDSwapPool = Invariant. Этот инвариант не изменяется и остается практически одной и той же константой при всех обменах (комиссия незначительно влияет на инвариант), существенно он изменяется только при добавлении или удалении ликвидности.

Обмен Тера на USD

При таком обмене увеличивается TeraSwapPool и уменьшается USDSwapPool

var AmountFee=AmountTera*KFee;
var Invariant=TeraSwapPool * USDSwapPool;
var TeraSwapPoolNew = TeraSwapPool + AmountTera;
var USDSwapPoolNew = Invariant/(TeraSwapPoolNew - AmountFee);
var USDOut = USDSwapPool - USDSwapPoolNew;

TeraSwapPool = TeraSwapPoolNew;
USDSwapPool = USDSwapPoolNew;

Более подробно в документации (RUS: https://docs.google.com/document/d/1iTp9gjpwa4KTqkh1TCy_-kccPdTDFDH2uSD-vWgZqQs/edit?usp=sharing )



Обратная операция фактически симметрична, поэтому не буду приводить.  Таким образом я хочу сказать что нет никакой цены ASK или BID. Есть только движение по кривой x*y=k


P.S.
Кстати мне еще ОЧЕНЬ интересна тема про манипуляции курсом на AMM (для создания защит от них). Какие вы знаете (особенно те которые не вошли в документ указанный выше)?


Ну вот, для Вас это представляет практический интерес поэтому и давайте поговорим предметно к вашему обменнику.

Вы привели уже работающую модель Uniswap, которую можно форкнуть и сделать сразу для себя. Моя же модель пока не существует в реальности, поэтому её я и предлагаю в этой теме.

Защита от манипуляций, а также больших неопределенностей ситуации - это раздвижка спреда.

Я уже писал, как это в моей модели.

Просто представьте, что у Вас резко просел курс в вашем обменнике скажем с 1000 до 500. Ваша терра подешевела на 50% одним рывком. С одной стороны сейчас это хорошо, ведь стоило терра 1000, а Вы купили её за 500.

Но теперь с другой стороны, вашему обменнику придется плясать от этой пониженной цены.

Если в остальных обменниках цена просто просела с 1000 до 900, а у Вас с 1000 до 500. То кто на этом заработает, все, но только не ваш обменник. Так как условно у Вас купят по 500 и продадут в другом месте за 900.

Теперь Вы видите, что ваш обменник не зарабатывает, а теряет деньги.

У меня же при аналогичной ситуации было бы так. Цена покупки ещё терры была 500 (как и в вашем случае), далее у Вас цена продажи терры тоже была бы 500, а вот у меня благодаря спреду была бы уже 750.

То есть Вы видите разницу, да при таком резком спаде арбитражерам было бы ещё выгодно покупать у меня по 750 и продавать за 900, но я бы уже зарабатывал, так как мы купили за 500, а продаем за 750 минимум.

Вы же купили за 500 и продаете за 500, получая только комиссию, у меня же обменник получает и комиссию и спред.