DEX (децентрализованная биржа) — интерфейс к смарт-контрактам, которые выполняют обмен токенов в сети. Пользователь обычно подключает кошелёк и подписывает транзакции сам; это отличается от внутреннего счёта централизованной платформы. В DeFi протоколы обмена — одна из категорий приложений. Ethereum.org: DeFi. Однако слово DEX не доказывает, что интерфейс, токен или контракт безопасны.
Путь от кошелька до результата
Сначала пользователь выбирает сеть, пару активов и объём. Интерфейс показывает маршрут и ожидаемый результат на основе текущих данных пула. Затем кошелёк может запросить разрешение на расход токена — approval — и после этого отдельно запросить сам swap. Эти операции могут быть двумя транзакциями.
Для токенов ERC-20 метод approve устанавливает сумму, которую spender может потратить; allowance сообщает оставшееся разрешение, а transferFrom позволяет перемещать токены в рамках авторизации. Это определено интерфейсом EIP-20. Не нажимай «approve» автоматически: проверь адрес контракта, сумму разрешения и назначение.
После подписи транзакция отправляется в сеть. Её могут обработать не сразу; до включения цена в пуле способна измениться. Подписанный вызов не означает, что пользователь получит ровно сумму из предварительного экрана: важны минимальный выход, максимальная сумма входа и срок действия. Описание Uniswap рекомендует учитывать price impact и slippage, но параметры и интерфейс других протоколов могут отличаться. Uniswap swaps.
Как формируется обмен в AMM
Многие DEX используют автоматизированный маркет-мейкер: ликвидность находится в пуле, а сделка меняет соотношение активов. Цена зависит от состояния пула и размера операции. Большая сделка относительно ликвидности сильнее двигает цену; это называют price impact. Пока транзакция ждёт включения, состояние пула может измениться — фактический результат отклонится от оценки, что связано с проскальзыванием.
Проверь итоговые параметры: входной актив и сеть, ожидаемую сумму, минимальный выход, комиссию пула, сетевой gas и маршрут через промежуточные токены. Uniswap объясняет эти параметры в документации по swaps; это не универсальный тариф или гарантия исполнения для всех DEX.
Что проверить перед подписью
- Открыт ли точный домен проекта, без похожих символов и рекламы-клонов.
- Совпадают ли сеть и адрес токена с официальной документацией.
- Какой контракт получит allowance и на какую сумму.
- Достаточно ли ликвидности для размера обмена.
- Какие минимальный выход и deadline указаны.
- Понимаешь ли ты каждую запрошенную подпись; не подписывай неизвестные сообщения.
Если транзакция зависла, проверь её статус в обозревателе по txid. Не отправляй тот же обмен снова, пока не выяснишь, завершилась ли первая операция. Не подключай кошелёк к «сайту восстановления», который пишет тебе первым.
Где заканчивается обещание децентрализации
Контракт может исполняться в публичной сети, но сайт, список токенов, API, DNS и RPC-провайдер могут иметь централизованные компоненты. Ошибка кода, баг оракула, недостаточная ликвидность или ключ обновления контракта создают отдельные риски. У DEX также нет автоматической отмены ошибочной транзакции после подтверждения.
DEX даёт другой способ исполнения и custody, а не гарантированное качество результата. Сравнение с CEX — в таблице моделей; устройство пулов и AMM рассматривается отдельно в статье о DEX-AMM.
Проверяй симуляцию и предел исполнения
Кошелёк может показать симуляцию ожидаемых изменений, но это результат моделирования на текущем состоянии, а не обещание будущего исполнения. Пока транзакция ожидает включения, цена пула меняется. Ограничение minimum received должно соответствовать твоему пониманию допустимого отклонения; чрезмерно широкое ограничение может пропустить невыгодный результат, чрезмерно узкое — часто приводить к отказу. Deadline ограничивает актуальность предложения, но не исправляет ошибочный адрес или вредоносный контракт.
Проверь активы на входе и выходе, особенно если тикеры совпадают у нескольких токенов. Используй адрес контракта из официальной документации, а не только поиск внутри сайта. Если маршрут включает мост или несколько пулов, каждая дополнительная зависимость создаёт собственные условия и комиссию. Ошибка в сети может привести к тому, что кошелёк отображает похожий токен, но не тот актив.
Чтение результатов после обмена
Открой транзакцию в обозревателе той же сети и сравни входные и выходные события с тем, что показывал интерфейс. Убедись, что получен нужный контракт токена, а не актив с похожим символом. Если операция отклонена, проверь причину ошибки, потраченный gas и остались ли новые разрешения. Не запускай сторонний скрипт «ускорения» и не предоставляй удалённый доступ. Сохранённый txid поможет отделить сетевую задержку от ошибки сайта и передать поддержке точные данные без seed-фразы.
