фарминг тудей
77 subscribers
19 photos
22 links
Блог о DeFi с фокусом на фарминге ликвидности на DEX
Download Telegram
Обмен и риски (#матчасть / содержание)

Посмотрим на обменник чего угодно (например, крипты) со стороны его владельца. Для того, чтобы предоставлять услуги обмена, вам нужно иметь бОльший объем ликвидности, чем максимальная сделка по обмену, которую вы можете обработать (очевидно, иначе нечем будет рассчитываться).

Однако просто обладание ликвидностью уже связано с рисками: в первую очередь того, что монета, которую вы держите, обесценится. Это, а также сами операционные расходы, вы можете покрыть из комиссий, взимаемых с пользователей за обмен.

Помимо этого, в случае движения рынка, у вас в среднем будет сильный перекос в ликвидности: одни монеты будут всем нужны, и их постоянно будут забирать, а другие - наоборот, будут постоянно прирастать. Вам придётся либо балансировать свое портфолио время от времени, совершая обмены где-то ещё (разумеется, не бесплатно), либо просто смириться с неравномерным распределением, что в конечном счёте приведёт к невозможности совершать новые сделки.

К примеру, вы меняется USD на BTC. Вы закупили BTC и USD поровну, люди побежали покупать BTC непропорционально больше, он начал расти, и в вашем пуле его стало меньше, чем половина - вы "потеряли" прибыль, которую могли бы получить, просто держа BTC.
Риски, связанные с балансировкой портфолио ликвидности, называются impermanent loss.
Почему impermanent? Потому, что когда пользователи побегут назад, вы сможете восстановить баланс: пока вы не прекратили менять, пропорцию можно восстановить.

Иными словами, владелец обменника играет в долгосрочную игру, наблюдая за тем, как пользователи несут свои деньги туда-сюда, и принимает на себя риски того, что это может прекратиться, в обмен на разовое вознаграждение. А пользователи принимают на себя 100%-й риск заплатить комиссию в обмен на получение денежных единиц, которые для них в моменте субъективно ценнее.
👍1
Поставщики ликвидности (#матчасть / содержание)

Теперь представьте, что вы успешно управляете обменником крипты. Комиссии покрывают ваши расходы, и всё идёт замечательно. Но внезапно приходит пользователь, который хочет обменять сумму, в несколько раз превышающую ваш объём ликвидности. Вы вынуждены ему отказать, и он либо меняет только маленькую часть, либо идёт к конкуренту: вы теряете возможную прибыль.

Очевидно, что чем больше у вас ликвидности, тем более крупные сделки вы можете обрабатывать, и тем более выгодные комиссии вы сможете предоставить для пользователя (потому что вас будет меньше затрагивать проблема балансировки ликвидности). При большом объёме ликвидности, вы сможете выдерживать не только колебания цены в течении дня, но и "смены трендов" длиной в месяцы без необходимости перебалансировки портфолио, и, следовательно, комиссии за обмен, которую вы заплатите кому-то ещё.

Иными словами, мало ликвидности - плохо, а много - хорошо. И тут возникает вопрос: а почему бы просто не заплатить кому-то, у кого ликвидность уже есть, фиксированную сумму или долю от комиссий, за её использование?

Быть поставщиком ликвидности (liquidity provider) означает передавать свои средства под управление кому-то (чаще всего - владельцу обменника, биржи или рынка деривативов), получая что-то взамен.
👍1
Типы свапалок в мире DeFi (#матчасть / содержание)

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

Но сейчас я предлагаю рассмотреть, как именно работают стандартные "свапалки", которые правильно называть DEX - Decentralized EXchange, такие как Uniswap. SushiSwap и их многочисленные последователи / вариации.

Сразу оговорюсь, что существует два типа обменников:

1. order book DEX ("таблицы ордеров") - более характерны для традиционных финансов, но не прижились на блокчейне. Их функциональность сводится к возможности выставить ордер (сумму и цену, по которой вы готовы совершить сделку), после чего либо сам обменник, либо специальный бот выполнит обмен как только найдётся соответствующий ордер "с другой стороны"

2. AMM DEX (automated market makers) - как раз таки blockchain-native решение, которое было успешно запущено совсем недавно - всего лишь в 2018 году - проектом Uniswap. AMM используют общий пул ликвидности и вознаграждает поставщиков пропорционально их доле. Преимущества такого типа обменника в мгновенном исполнении сделок, а также в возможности эффективного привлечения поставщиков ликвидности - в отличие от таблиц ордеров, сделками на которых достаточно сложно управлять, чтобы иметь стабильный доход. Далее мы будем говорить именно об этом типе обменников.
Channel name was changed to «фарминг тудей»
Принципы работы AMM DEX на примере Uniswap V2 (#матчасть / содержание)

Автоматизированный маркетмейкер (automated market maker, AMM) на децентрализованной бирже (DEX), с технической точки зрения просто связывает поставщиков ликвидности и трейдеров, гарантируя исполнения правил протокола.

В AMM DEX вы взаимодействуете с пулом ликвидности (liquidity pool, LP). Пул ликвидности — это "резервуар" из различных криптовалют, который создан пользователями. Например, один из популярных пулов может содержать 50% ETH и 50% USDC, добавленных поставщиками ликвидности.

Когда вы хотите обменять свои ETH на USDC, вы просто обращаетесь к этому пулу. Цена обмена определяется алгоритмом, который учитывает текущее соотношение ETH и USDC в пуле. Чем больше ETH вы хотите обменять, тем выше будет цена, так как вы изменяете баланс пула. Это изменение цены в зависимости от суммы называется price impact.

В простейшем случае, AMM использует формулу постоянного произведения для определения цены обмена. Наиболее наглядная "классическая" формула, использованная в Uniswap V2 выглядит следующим образом:

x * y = k

Где:

- x — количество одной криптовалюты в пуле (например, ETH)
- y — количество другой криптовалюты в пуле (например, USDC)
- k — постоянное произведение, которое остается неизменным
Один swap на примере (#матчасть / содержание)

К примеру, в пуле 10000 USDC и 10 ETH (т.е. 1 ETH = 1000 USDC), а комиссия за обмен - 1%.

Тогда если кто-то поменяет 5000 USDC на ETH, то цена будет рассчитана с учётом константы k:

k = x * y = 10_000 * 10 = 100_000

так как k - неизменное число, мы получаем такую формулу для e (выплачиваемой суммы в ETH):

k = (x + 5_000) * (y - e * (100 + 1) / 100)

100_000 = (x + 5_000) * (y - e * 101 / 100)

постараемся "вытащить" e:

(y - e * 101 / 100) = 100_000 / (x + 5_000)

- e * 101 / 100 = 100_000 / (10_000 + 5_000) - 10

e = (100/15 - 10) / 1.01 ~= -3.3... ETH

Как видим, price impact оказался довольно большим: почти 1.7 ETH из 5 было потеряно. Что не удивительно, ведь объём нашей сделки - половина всей ликвидности USDC.
Цена токена в пуле (#матчасть / содержание)

Теперь выведем формулу цены токена в паре в зависимости от их количества.

Пусть x - количество токенов A и y - количество токенов B. Как я писал ранее, их произведение должно подчиняться формуле:

x * y = k, где k = константа, которая меняется только когда добавляется новая ликвидность

Цена одного токена относительно другого высчитывается так:

price(A) = y/x

Если поделить обе части уравнения x * y = k на x², получим:

price(A) = y / x = k / x²

и, очевидно,

price(B) = x / y = k / y²
👍1
Предоставление ликвидности: риски и профит (часть 1) (#матчасть / содержание)

Риски impermanent loss могут перевешивать комиссии и бусты: рассмотрим на примере.

- Пусть в пуле x=100 токена A и y=100 токена B, получается k=10_000
- Все токены, для простоты картины, предоставлены одним поставщиком ликвидности (нами)
- Пусть токены равны в цене в момент предоставления ликвидности, и эта цена равна $1.

Ситуация: Падение цены одного токена в паре

Пусть токен B падает в два раза. Рассчитаем количество токенов в пуле.

Мы уже вывели, что price(B) = k / y²

Обозначим изначальное количество токенов B как y₁, а после падения цены в два раза - как y₂.

Price(B до падения) * 0.5 = Price(B после падения), что можно записать как:

k / y₁² * 0.5 = k / (y₂²)

откуда y₂ = y₁ * √2 = 100 * √2 ≈ 141.4

Тогда x₂ = k / y₂ = 10_000 / (100 * √2) ≈ 70.7

Если предположить, что ценность первого токена не изменилась, то суммарная ценность токенов теперь будет такова:

70.7 * $1 + 141.4 * $0.5 = $141.4

В то время, как если бы мы просто купили оба токена и держали, пока второй падает, мы бы получили:

100 * $1 + 100 * $0.5 = $150

То есть просто держать оба токена в равной пропорции было бы выгоднее на ≈6%: что не удивительно, ведь когда мы предоставляем обмен, более дешёвого токена становится больше, а более дорогого - меньше.

В случае падения цены одного токена до около-нуля, практически вся ликвидность будет переведена в него, и вы потеряете почти всё. Посчитайте сами.
Предоставление ликвидности: риски и профит (часть 2) (#матчасть / содержание)

Ситуация: изменение цены обоих токенов в паре (high price correlation)

Допустим, оба токена падают в цене одинаково. Тогда их пропорция остаётся неизменной, и impermanent loss будет таким же, как если бы вы просто держали оба токена. То же самое происходит и с прибылью при равном росте цены токенов.

Ситуация: рост цены одного из токенов

Как можно догадаться по аналогии с первым случаем, рост цены одного из токенов в пуле приводит к "недополучению" прибыли: более дешёвого токена становится больше, а пользователи обменника "забирают" дорожающий ассет.

Итог

- Выгоднее всего для поставщика ликвидности, когда цена токенов друг относительно друга не двигается.
- Приемлем вариант, когда она колеблется в рамках какого-то диапазона (но в таком случае выход из пула "не вовремя" повлечёт реализацию impermanent loss)
- И хуже всего, когда цена одного из токенов падает надолго (на больший период, чем вы готовы ждать)
И да, кажется, надо было раньше включить комментарии👇
👍2
Маркет-мейкинг он-чейн (#матчасть / содержание)

Тема, которую стоит проговорить отдельно, связана с таким вопросом: каким же образом "автоматический маркет мейкер" позволяет удерживать цену в актуальных границах, если это просто смарт-контракт, который сам ничего не делает, а только гарантирует корректность действий пользователей?

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

А в DeFi всё это отдано на откуп арбитражников: множество AMM DEX предоставляют каждый свою цену, и как только возникает разница, тот, кто первый сумеет ей воспользоваться, забирает профит. Ручному арбитражу практически нет места в DeFi - благодаря универсальности интерфейсов, даже маленькие DEX и пулы постоянно мониторятся ботами, которые мгновенно пользуются любой возможностью выровнять цену.
Проскальзывание (slippage). Buy/sell tax (#матчасть / содержание)

Каждый обмен в пуле изменяет цену. И пока транзакция не включена в блок, цена может подскочить или упасть. Разница, между ценой на момент инициирования транзакции и ценой на момент её включения в блок называется slippage (проскальзывание) и измеряется в процентах.

Для того, чтобы ограничить потери для пользователей, обменники предоставляют возможность настройки максимального проскальзывания (см. скриншот).

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

Тут важно упомянуть, что многие токены вводят механизм "налога" (tax) на покупку и продажу токена, и этот налог включается в slippage. То есть если налог не нулевой, то обычно нужно увеличивать дефолтный slippage на процент налога, иначе транзакция точно не пройдёт. Процент налога, увы, придётся смотреть на сайте токена.
У нас тут образовался стартап на TON, после того, как я заглянул на хакатон The Open League. Будем делать прайс алерты и портфолио трекер, но слегка не так, как обычно делают (ведь и аудитория TON достаточно необычная для DeFi).

Подписывайтесь пока здесь.
Сэндвич-трейдинг. MEV (#матчасть / содержание)

Обмен больших сумм в одной транзакции значительно изменяет распределение токенов в пуле, чем могут воспользоваться боты для обогащения. Как заработать на изменении цены?

1. Приобрести большое количество токена непосредственно перед тем, как кто-то его купит
2. Дождаться чьей-то покупки
3. Продать сразу же после, по цене, увеличенной в результате пользовательского обмена

Такая последовательность действий называется sandwich trading.

Но как убедиться, что транзакции попадут в чейн ровно в нужном порядке? Можно узнать информацию о поступившей транзакции до того, как она была подтверждена сетью, и постараться вставить свою транзакцию перед ней. Это несложно сделать, если вы - валидатор сети, который ответственен за создание новых блоков и можете сам устанавливать порядок транзакций и вставлять туда свои, но в целом, это может сделать кто угодно (позже расскажу, как).

Эта и подобные атаки обозначаются термином MEV extraction - от "Maximal Extractable Value", или просто "MEV attacks".
2🔥2👍1
Газ. Рынок газа. (#матчасть / содержание)

Газ (Gas) в Ethereum - это единица измерения вычислительных ресурсов, необходимых для исполнения смарт-контрактов.

Каждая транзакция содержит два параметра: лимит газа (максимальное количество "вычислительных ресурсов", которое пользователь готов оплатить) и стоимость газа.

Минимальная допустимая стоимость газа определяется динамически на т.н. "рынке газа". Пользователи, желающие, чтобы их транзакции были обработаны быстрее, могут назначить более высокую цену за газ, чтобы майнеры были более заинтересованы их подхватить. Этот механизм напоминает аукцион.

Однако, в некоторых случаях, выставление более высокой цены газа недостаточно для победы: например, когда несколько арбитражных ботов "соревнуются" между собой. В этом случае им придётся значительно переплачивать за право включить транзакцию первым - и они могут продолжать "увеличивать ставку" до тех пор, пока их действие будет оставаться экономически выгодным с учётом высокой цены.
1
Приходите к нам в стартап, будет весело 👇
1
Forwarded from @ton_2x_bot - анонсы
У нас произошли изменения в команде, и теперь мы ищем нового продакт менеджера.

От вас: желателен опыт создания массовых B2C продуктов, понимание принципов продвижения, умение создавать контент.
Мы предлагаем: парт-тайм с почасовой оплатой и/или долей в проекте, хорошо проведённое время.

Если вы думаете, что это могли бы быть вы - пишите @klntsky
1
Не было времени писать, пилил очередной микростартап: token.menu

Идея очень простая: берём API coingecko и перегруппировываем монеты/сети в табличку, как на скрине: в каждой клетке уже у нас будет одна монета в какой-то сети.

Туда можно вставить кнопку для простого действия:

- добавить коин в метамаск (по одиночке или сначала выставить чекбоксы, а потом обработать все сразу)
- скопировать contract address
- свапнуть на DEX (по прямой ссылке)

Фичей можно сделать и придумать сильно больше, чем сейчас есть, подписывайтесь пока что на твиттер или на телегу
🔥3