Перейти к содержанию

Децентрализованная биржа (DEX): свопы через кошелёк, маршрутизация и риски исполнения

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

Обновлено

Материал предназначен только для образовательных целей и не является инвестиционной рекомендацией. Сделки на DEX могут привести к потере стоимости из-за движения цен, невыгодного исполнения, вредоносных токенов, разрешений, MEV или сбоя контракта.

Краткий ответ

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

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

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

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

  1. Определите параметры сделки. Зафиксируйте сеть, адреса контрактов входного и выходного токенов, сумму и кошелёк. Тикер или название токена не уникальны. До подключения или подписания проверьте официальный домен приложения и контракт маршрутизации или расчёта.
  2. Получите и изучите котировку. Интерфейс опрашивает один или несколько источников ликвидности. Проверьте точный входной объём, расчётный выход, маршрут, уровень комиссии, влияние на цену, сетевую комиссию, срок действия котировки и использование промежуточного токена, солвера, моста или незнакомого контракта.
  3. Установите границы исполнения. Для свопа с точным входом транзакция должна задавать минимальный объём на выходе (minOut); для свопа с точным выходом — максимальный объём на входе. Допуск проскальзывания определяет эту границу исполнения, но не улучшает котировку.
  4. Предоставьте разрешение и исполните сделку. Перед свопом ERC-20 может потребоваться разрешение или подписанный permit. Выбирайте минимальный практичный лимит разрешения и проверяйте получателя разрешения, сумму, крайний срок, nonce, сеть, calldata и нативную стоимость. Подпись кошелька разрешает закодированное действие, а не то, что интерфейс описывает обычным языком.
  5. Проверьте расчёт. Отправленная или ожидающая транзакция ещё не означает завершённый своп. После подтверждения проверьте статус транзакции, изменения балансов токенов, фактически полученную сумму, уплаченный газ, события и оставшийся лимит разрешения. Отзовите разрешение, если удобство его сохранения не оправдывает риск.

В полноранговом пуле с постоянным произведением резервы x и y подчиняются базовому соотношению x * y = k. При комиссии на входе f точный вход deltaX обычно даёт:

deltaY = y * (1 - f) * deltaX / (x + (1 - f) * deltaX)

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

Пример расчёта

Предположим, в пуле с постоянным произведением находятся 100 ETH и 200,000 USDC, поэтому начальная цена по резервам равна 2,000 USDC/ETH. Трейдер отправляет 20,000 USDC, чтобы купить ETH, а пул взимает комиссию на входе 0.30%. Эффективный вход составляет 19,940 USDC:

ETH out = 100 * 19,940 / (200,000 + 19,940) = 9.066109 ETH

До учёта газа трейдер платит в среднем около 2,206.02 USDC/ETH по валовой сумме. При допуске проскальзывания 0.50% соответствующий минимальный выход составит около 9.020778 ETH. Этот допуск разрешает расчёт вплоть до минимума, но не гарантирует получение котируемых 9.066109 ETH.

Теперь предположим, что маршрутизатор оценивает выход сделки на 50,000 USDC в активы стоимостью 47,000 USD через один прямой пул, но в 48,200 USD, если 60% направить через прямой пул, а 40% — по двухэтапному маршруту USDC/ETH, затем ETH/Token A. Разделённый маршрут улучшает котируемый выход на 1,200 USD, но добавляет вызовы контрактов, газ, риск промежуточного токена и больше возможных точек отказа. Для меньшей заявки эти дополнительные расходы могут превысить экономию на влиянии на цену.

Риски и меры контроля

  • Ошибочный или вредоносный актив: Любой может создать токен со знакомым названием или символом. Проверяйте сеть и адрес контракта по независимым официальным источникам; незнакомый актив и маршрут сначала тестируйте небольшой суммой.
  • Потери из-за разрешения или подписи: Неограниченное разрешение, вредоносный permit, взломанный интерфейс или обманная подпись могут разрешить больше одного задуманного свопа. Проверяйте получателя и объём разрешения, не подписывайте вслепую и просматривайте разрешения после использования.
  • Потери при исполнении: Низкая ликвидность, устаревшие котировки, волатильные цены, токены с налогом на перевод и публичные ожидающие транзакции могут уменьшить выход или вызвать откат. Сравнивайте активную глубину и маршруты, осознанно задавайте minOut и крайний срок и не повышайте допуск лишь ради принудительного исполнения сделки.
  • MEV: Поисковики или валидаторы могут менять порядок транзакций или размещать сделки вокруг видимого свопа. Это способно ухудшить исполнение, даже если результат остаётся в пределах допуска пользователя. При необходимости рассмотрите меньшие заявки, более глубокие пулы, защищённую маршрутизацию или исполнение в стиле лимитной заявки.
  • Газ и неудачные транзакции: Разрешение, своп, переходы маршрута и отзыв разрешения могут по отдельности требовать сетевой комиссии. Откатившаяся транзакция обычно всё равно расходует газ. Держите достаточно нативной валюты для всего процесса и проверяйте сеть перед подписанием.
  • Сбой протокола и инфраструктуры: Ошибки контрактов, небезопасные обновления, ключи администратора, хуки, оракулы, мосты, RPC-сервисы, секвенсоры и интерфейсы могут отказать или быть взломаны. Проверяйте точные развёрнутые контракты, аудиты, полномочия на обновление и приостановку, историю инцидентов и цепочку зависимостей.
  • Необратимость и учёт: Подтверждённый своп обычно нельзя отменить через службу поддержки. Сохраняйте котировку, хеш транзакции, адреса токенов, изменения баланса кошелька и базовую стоимость; расследуйте неожиданный результат до подписания следующей транзакции.

Распространённые заблуждения

Миф 1: Доступный на DEX токен прошёл проверку для листинга

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

Миф 2: Самостоятельное хранение делает транзакцию обратимой

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

Миф 3: Более высокий допуск проскальзывания даёт лучшую цену

Повышенный допуск лишь расширяет диапазон приемлемых результатов и снижает вероятность отката из-за проскальзывания. Он может допустить худшее исполнение и большее извлечение MEV.

Миф 4: Баланс пула равен объёму, доступному по текущей цене

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

Похожие темы

Источники

Навигация

Поиск по вики...