Выравнивание
У дуэли три пула: 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
Прибыльное выравнивание пытается уменьшить расхождение и отправляет полученную прибыль в банк. Оно сокращает возможности для арбитража, но не устраняет их: цикл может быть ограничен, пропущен или оставить остаточный разрыв.