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

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

Как пользоваться агрегатором маршрутов обмена и сравнить два маршрута

Сравнение начинается не с итогового числа. Начинается оно с состава. Агрегатор показывает путь — какие пулы и в каком порядке, — и этот путь говорит больше, чем предсказанная сумма на выходе.

Механика расчёта по звеньям зафиксирована в коде. Выход одного звена считается формулой amountIn × 997 × reserveOut / (reserveIn × 1000 + amountIn × 997), где множитель 997 из 1000 и есть плата пула в 0,30%. Для многозвенного пути значения считаются по циклу: выход предыдущей сделки подставляется входом следующей, amounts[i+1] = getAmountOut(amounts[i], …). Формулировки приведены в исходном коде служебной библиотеки маршрутизатора.

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

Число звеньев: что оно меняет

Звеньев бывает от одного до пяти-шести. Длинный путь появляется там, где прямой пары нет. Либо она слишком тонкая. Агрегатор собирает маршрут из того, что доступно, а доступного много: по данным агрегатора DefiLlama на 16 октября 2026 года в сети Ethereum заблокировано около 49,89 млрд долларов при 571 отслеживаемой сети.

Плата при этом не обязана расти. Уровни платы дискретны: конструктор фабрики пулов включает три значения — 500, 3000 и 10000 сотых базисного пункта, то есть 0,05%, 0,30% и 1,00%, с шагами тика 10, 60 и 200. Это видно в описании фабрики пулов в документации протокола. Трёхзвенный путь по дешёвым уровням может стоить меньше однозвенного по дорогому.

Растёт другое. Газ: каждое звено — отдельный вызов пула внутри транзакции. Точки отказа: каждое звено проверяет свои условия. Чувствительность к чужим сделкам: пока транзакция ждёт включения, цена любого из пулов может сдвинуться.

Что сравниваем Маршрут из одного звена Маршрут из трёх звеньев Как проверить до отправки
Суммарная плата пулов Одна ставка уровня, от 0,05% до 1,00% Сумма трёх ставок, может оказаться ниже одной дорогой Посмотреть уровень платы каждого пула в составе пути
Влияние заявки Полностью ложится на глубину одного пула Делится между пулами, но считается от уже уменьшенной суммы Сравнить показанное влияние при двух размерах заявки
Плата за включение Минимальная: один вызов пула Выше кратно числу звеньев Оценить стоимость включения в текущем состоянии сети
Число точек отказа Одна: проверка условий единственного пула Три: отказ любого звена откатывает весь маршрут Посчитать звенья в показанном составе пути
Чувствительность к чужим сделкам Зависит от одного пула до момента включения Зависит от трёх пулов одновременно Сверить свежесть котировок и допуск по минимальному выходу

Зависимость итога от каждого звена

Звенья не равноценны. Итог определяет самое узкое. Если во втором пуле глубины вдвое меньше, именно он съедает основную часть потерь, а остальные два почти не влияют. Средняя глубина тут не показатель. Смотреть надо на минимум.

Проверить это несложно. Удвойте размер заявки. Посмотрите, как изменился показанный выход. Если потери выросли больше чем вдвое, в пути есть тонкое звено. Такой тест дешевле, чем разбор каждого пула по отдельности, хотя разбор точнее: мы показывали, как проверить пул перед покупкой нового токена.

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

Схема из пяти шагов: раскрыть состав обоих маршрутов, сложить платы по звеньям, сравнить влияние заявки при двух объёмах, посчитать точки отказа, учесть плату за включение
Схема из пяти шагов: раскрыть состав обоих маршрутов, сложить платы по звеньям, сравнить влияние заявки при двух объёмах, посчитать точки отказа, учесть плату за включение

Что происходит при отказе одного звена

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

Итог отказа выглядит так. Средства остаются на адресе. Актив прежний. Плата за включение списывается, потому что работа сети была выполнена. Промежуточного актива не появляется, и разбирать «наполовину исполненный обмен» не придётся.

Вероятность отказа складывается по звеньям. Если каждое звено независимо срывается с вероятностью в один процент, однозвенный маршрут откатится в одном случае из ста, а трёхзвенный — почти в трёх. Числа условны, но порядок соотношения сохраняется: точек отказа столько же, сколько звеньев.

Расчёт на конкретной сумме

Условный пример, числа расчётные. Обмен 10 000 единиц. Маршрут A — одно звено, уровень платы 0,30%, показанное влияние заявки 0,50%.

Итог A: 0,9970 × 0,9950 = 0,99202, то есть 9 920 единиц на выходе.

Маршрут B — три звена с уровнями 0,05%, 0,05% и 0,30%, влияние по звеньям 0,10%, 0,08% и 0,12%.

Итог B: платы 0,9995 × 0,9995 × 0,9970 = 0,99601, влияние 0,9990 × 0,9992 × 0,9988 = 0,99700, вместе 0,99302 — 9 930 единиц.

Разница в пользу B — 10 единиц, или 0,10% суммы. Если включение трёхзвенной транзакции дороже однозвенной более чем на 10 единиц, выигрыш съедается полностью.

Точки отказа: у A одна, у B три. Ставки, влияние и плата за включение зависят от момента — сверяйте значения на дату операции.

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

Чек-лист сравнения

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

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

Где сравнение подводит

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

Вторая слабость сравнения — промежуточные активы. Длинный маршрут проходит через токены, которых вы не выбирали, и у каждого свои риски: пул может быть остановлен, а сам токен — иметь нестандартное поведение при переводе. Транзакция в этом случае откатится, что лучше потери средств, но хуже исполненного обмена.

Итог

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

Частые вопросы

Какой маршрут лучше — короткий или длинный?

Зависит от соотношения выигрыша и платы за включение. Длинный маршрут может выиграть на дешёвых уровнях платы: три звена по 0,05% и 0,30% дают меньше, чем одно звено по 1,00%. Но выигрыш обычно укладывается в десятые доли процента, и в загруженной сети его съедает дополнительная плата за включение.

Как число звеньев влияет на итог?

Потери перемножаются. Каждое звено берёт плату и сдвигает цену от суммы, которая до него дошла, а не от исходной. Поэтому влияние заявки на третьем звене считается от уже уменьшенного объёма. Дополнительно растут плата за включение, число точек отказа и зависимость от чужих сделок в каждом из пулов.

Что происходит, если одно звено маршрута откажет?

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

Как найти самое узкое звено в маршруте?

Прогнать маршрут при двойном объёме и сравнить прирост потерь. Если потери выросли больше чем вдвое, в пути есть тонкое звено. Проверка занимает минуту и не требует разбора каждого пула. Точнее — посмотреть глубину каждого пула отдельно, но для выбора между двумя путями теста обычно хватает.

Защищает ли допуск по минимальному выходу?

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

Вердикт

В обращениях читателей сравнение маршрутов почти всегда сводится к одному числу на экране. Это слабый критерий: он не показывает ни число звеньев, ни то, какое из них узкое, ни стоимость включения. Практический подход — считать итог за вычетом платы за включение и делить разницу на число точек отказа, которое вы берёте на себя. Редакция не советует конкретные агрегаторы и не обещает выигрыша: механику разбираем, выбор остаётся за читателем. Ставки уровней и глубину пулов сверяйте на дату операции.

Разборы механик DeFi и правовые изменения разбираем в Telegram-канале Cryptium.