В августе 2023 года на долю Uniswap приходится более 64% совокупного объема торгов на децентрализованных биржах (DEX).
Как и большинство других платформ, Uniswap использует алгоритм автоматического маркетмейкера (АММ) и пулы ликвидности. Это надежное и проверенное решение, но оно не адаптировано для традиционных игроков и создает определенные риски при использовании площадки.
Чтобы улучшить качество пользовательского опыта, а также обеспечить быструю и выгодную конвертацию цифровых активов, команда проекта запустила протокол UniswapX, объединяющий децентрализованную и централизованную (через прокси) ликвидность. Incrypted разобрался, что такое UniswapX, какие преимущества он даст обычным пользователям и как может повлиять на архитектуру DEX.
Что такое UniswapX
UniswapX — это роутинговый протокол с открытым исходным кодом, нацеленный на создание качественного опыта использования DEX за счет более выгодного курса и быстрой конвертации криптовалют. Для решения этих задач UniswapX привлекает новые источники ликвидности, добавляет аукционный механизм и меняет формат обмена.
По сути, это новый способ обмена криптовалют на Uniswap, отличающийся от традиционных свопов через пулы ликвидности.
Технически протокол представляет собой совокупность нескольких связанных смарт-контрактов, на момент написания развернутых в основной сети Ethereum. Благодаря этому взаимодействие с UniswapX не требует разрешения со стороны Uniswap Labs, а сам протокол нельзя заблокировать на уровне блокчейна.
Архитектура протокола
Архитектура UniswapX включает как новые решения, так и уже известные разработки Uniswap Labs.
На схеме выше изображены основные модули протокола.
Permit2 — представленное в ноябре 2022 года решение для предоставления прав на использование токенов ERC-20. Снижает стоимость газа за счет пакетных подтверждений и позволяет расходовать токены другим приложениям, подключенным к модулю.
Permit2 позволяет смарт-контрактам Uniswap использовать токены из кошелька пользователя для обмена и делает возможной оплату другой стороной сделки.
Также разработчики ввели систему реализации свопов через ордеры. Если раньше обмен проходил в виде транзакций с набором параметров (баланс, обмениваемый и получаемый токены, сумма и другие), то теперь пользователь создает и подписывает ордер.
Для дальнейшего исполнения ордер размещается в сети модулем заполнения (filler; филлер).
UniswapX использует новый тип ордера на основе голландского аукциона. Ниже мы разберем, как это работает. Но главная особенность в том, что пользователь может указывать верхний и нижний лимиты цены, а также темпы ее изменения.
Модуль заполнения — участник протокола, который выполняет ордер пользователя на установленных условиях. Он передает входные параметры заявки в сеть и предоставляет ликвидность для обмена.
Эти модули могут взаимодействовать с UniswapX через собственные смарт-контракты или предоставляя протоколу права на использование активов. Подробнее об этом можно прочитать в документации проекта.
Order Reactor — смарт-контракт, который формирует из входных параметров обмена динамичный ордер и рассчитывает его в режиме реального времени. Именно Order Reactor отвечает за постепенное снижение обменного курса и проверяет, соответствует ли фактические условия исполнения ордера требованиям пользователя.
На момент написания Order Reactor может создавать голландские ордера и эксклюзивные голландские ордера под конкретные модули заполнения. В будущем он будет поддерживать больше типов заказов, например, рыночные или лимитные.
Executor — смарт-контракт взаимодействующий с адресами филлеров и пулами ликвидности Uniswap. Выполняет две основные функции:
- выбор исполнителя ордера с наиболее выгодными условиями;
- списание активов с кошельков сторон сделки и взаиморасчеты.
В период бета-тестирования команда Uniswap Labs контролирует список исполнителей, чтобы обеспечить бесперебойный обмен. В будущем функции модуля заполнения сможет выполнять любой пользователь.
Ключевые особенности UniswapX
Благодаря новой архитектуре протоколу удалось решить ряд характерных для DEX и AMM проблем и предоставить пользователям ряд преимуществ.
Голландские ордера — новый тип ордеров, построенный на основе голландского аукциона с постепенным снижением обменного курса. Изначально ордер попадает в сеть по самой выгодной цене, но если ни один филлер не соглашается его исполнить в установленный временной промежуток, цена снижается.
Например, вы решили обменять 1 ETH при рыночной стоимости $2000 через UniswapX и создали ордер с ценовым диапазоном $2050-1900. Изначально его выставят по цене $2050. Если через определенное время на ордер не отзовется ни один филлер, цена упадет до $2000, затем до $1950 и так далее, до минимального заданного значения.
Временной промежуток для снижения стоимости и минимальный ценовой уровень можно задать при открытии ордера. Разработчики уверяют, что голландский аукцион позволяет сохранить баланс между выгодой для поставщика ликвидности и лучшим обменным курсом для пользователя;
Безгазовые свопы — поскольку ордер размещается в блокчейне не напрямую пользователем, а филлером, то последний оплачивает комиссию за транзакцию. Эти расходы затем включаются в стоимость свопа, то есть пользователю не нужно удерживать «газовые» токены сети, чтобы провести обмен;
Отсутствие комиссии за неудачные транзакции — если в установленный временной промежуток так и не появился филлер, принявший ордер, то такая заявка не будет размещена в сети, то есть за ее создание не взимается комиссия;
Внешняя ликвидность — ордер может быть выполнен как за счет пулов ликвидности Uniswap, так и с использованием средств филлера. Взаимодействовать с протоколом может смарт-контракт или External Owned Accounts (EOA), то есть обычный некастодиальный кошелек, что открывает новые возможности для традиционных маркетмейкеров.