• Duel открыт в Robinhood Chain
  • Запустите дуэль два токена, три пула, одна транзакция
  • Раунд закроется через --:--:--
  • Раунды по четыре часа выкуп победителя ограничен по цене
  • Ликвидность заблокирована навсегда, токенов команды нет

Выравнивание

У дуэли три пула: A в ETH, B в ETH и A в B. После сделки их цены могут разойтись. После каждой сделки, в той же транзакции, hook пытается выполнить прибыльное выравнивание. Оно может быть пропущено или ограничено доступным ETH; точное совпадение цен не гарантируется.

Как это работает

Когда расхождение цен даёт треугольному циклу преимущество по прибыли выше 0,1 % до расчёта объёма, hook может проторговать по треугольнику без комиссии. Это порог прибыли цикла, а не гарантия, что цены любых двух пулов останутся в пределах 0,1 %:

  • если A подорожала в ETH по сравнению с пулом A/B, hook покупает B за ETH, обменивает её на A в пуле A/B и продаёт эту A за ETH;
  • если подорожала B — то же самое в обратную сторону.

Замкнутая формула рассчитывает объём прибыльного цикла, а затем ограничивает его тем, что может заплатить продающий пул ETH. Сохраняется только цикл, который приносит прибыль. Полученная прибыль идёт в банк раунда. Неудачная попытка откатывается и пропускается, поэтому не блокирует своп пользователя, кроме случая нехватки газа: тогда откатывается сам своп с ArbitrageStarved, чтобы никто не мог пропустить выравнивание, отправив слишком мало газа. Ограниченный или пропущенный цикл может оставить расхождение цен.

Что это значит для соотношения

Соотношение и раунды читают только два пула ETH. Цена A/B никогда не учитывается напрямую. Переход через A/B влияет на них, только если выравнивание действительно торгует в пулах ETH. Если ни одна цена в ETH не сдвигается, переход не меняет ни соотношение, ни среднее раунда и не активирует раунд, который иначе остался бы тихим.

Что это значит для трейдеров

В пуле A/B есть немного каждой стороны. Когда выравнивание выполняется после роста одной стороны, оно может продать часть этой стороны в её пул ETH и купить немного другой стороны. Три возможных эффекта:

Покупка может быть частично компенсирована сразу после неё. Когда выравнивание выполняется, оно может продать часть купленной стороны и отправить полученную прибыль в ETH в банк. Поэтому немедленная покупка с продажей может обойтись дороже, чем комиссии свопа. Эти иллюстративные внутренние замеры проводились со стандартными условиями на новой дуэли и на дуэли, где одна сторона держит 97 % соотношения (10 ETH куплено на неё, ничего на другую); затраты зависят от состояния пула и не являются фиксированной ставкой:

Купить и сразу продатьНовая дуэльПри 97/3, впередиПри 97/3, позади
0,1 ETHоколо 4 %около 2 %около 4 %
1 ETHоколо 5 %около 3 %около 12 %
5 ETHоколо 10 %около 4 %около 32 %
20 ETHоколо 22 %около 7 %около 61 %

Для отстающей стороны дороже всего одна крупная покупка. Пока лидирующая сторона росла, выравнивание наполнило пул A/B отстающей стороной. В покупку отстающей стороны продаётся этот запас: чем крупнее покупка за раз, тем большая её часть уходит в банк. Несколько покупок поменьше, каждая со своим выравниванием, обходятся дешевле одной крупной покупки на ту же сумму.

Стороны связаны, когда выполняется выравнивание. Покупка одной стороны может поднять и другую, поэтому отыгрыш может стоить дороже, чем подсказывает разрыв в ETH. Ограниченное или пропущенное выравнивание может дать другой результат. См. У лидера есть преимущество, а не гарантия.

По умолчанию пул A/B начинается с 2 % каждой эмиссии — наименьшей доли, которую допускают контракты, — чтобы эта связь оставалась слабой. Большая начальная доля усиливает связь; её эффект зависит от состояния пула и размера сделки.

Почему это делает hook

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