Протокол Uniswap: Как это работает
Протокол Uniswap: как это работает
Uniswap представляет собой изящное решение для обмена токенами стандарта ERC20, не задействующее классический биржевой инструментарий. Протокол основан на создании пулов ликвидности для токенов путем объединения их в смарт контракты.
За счет этого, каждый желающий может осуществлять с ними буквально любой спектр действий: от создания валютных пар — до обмена или добавления токенов. Это удобный и надежный инструмент, позволяющий решить проблемы ликвидности при операциях с цифровыми активами путем полной их автоматизации.
Взаимозаменяемые токены
Созданные на основе блокчейна Ethereum, ERC20-токены оптимально подходят для работы маркет-мейкера, поскольку сочетают в себе такие особенности как:
- поддержка smart-контрактов;
- возможность использования в качестве цифровых аналогов ценных бумаг;
- взаимозаменяемость.
Последнее свойство играет ключевую роль в выборе именно этих токенов. Суть в том, что любой из них может, без изменений внутри системы, встать на место любого другого. Это не нарушит условий обмена между пользователями сервиса, а также универсализирует сами сделки.
Также ERC20 — это делимая расчетная единица. Она может участвовать в операциях как полностью, так и частично. При этом, отдельные части токена также пропорциональны и могут быть заменены на любые другие эквивалентные им части другого такого же токена.
Виды смарт контрактов в Uniswap
Стоит уточнить, что Uniswap — это не просто протокол, автоматизирующий операции с токенами внутри программной среды. Это, в первую очередь, инструмент, создающий стандарты на основе смарт контрактов, по которым происходят транзакции с ERC20 между всеми участниками сервиса.
Как это работает?
Uniswap включает в себя два вида контрактов:
- Exchange (биржевой контракт). Такие контракты создаются на основе уже существующего (добавленного) токена ERC20 в комбинации с монетами эфира. Эти активы доступны для каждого инвестора и могут свободно участвовать в обмене между ними;
- Factory. Эти контракты спроектированы для создания и контроля индивидуальных контрактов первого вида, а также для включения в них адресов новых токенов.
Таким образом, Uniswap позволяет совершенно бесплатно добавлять новые токены и создавать с ними торговые пары. После проверки на уникальность, созданный контракт, с привязанными к нему токенами, попадает в общий реестр сервиса.
Liquidity Pools как альтернатива ордербуку
Основная “фишка” Uniswap состоит в исключении принципа работы по биржевому стакану. Если классические криптобиржи консолидируют курсы валют на основе предложения продавцов и спроса покупателей, то контракты Exchange в Uniswap формирует полноценные пулы ликвидности, где пользователь может напрямую обменять Ether на любой из представленных ERC20.
С помощью этого механизма, для инвестора исключается необходимость в работе с заявкой контрагента, что в условиях традиционных криптобирж может занять приличное количество времени. Более того, при таком обмене не существует проблем с ликвидностью, благодаря чему достигается стабильность курса.
Но как в таком случае рассчитывается соотношение стоимости размещенного ERC20 и пользовательского Ether? Все дело в пропорциональном отношении между фактическим количеством одного и другого актива в конкретном пуле. Маркет-мейкер работает автоматически по формуле x*y=k поэтому чем крупнее заявка от покупателя токенов, тем меньше его ставка.
С другой стороны, коррекция курса ETH по отношению к ERC20 осуществляется за счет арбитражных трейдеров, торгующих как на централизованных биржах, так и в нескольких пулах одновременно. Таким образом поддерживается ценорегуляция со сторонними рынками криптовалют.
Работает это следующим образом. Предположим, что соотношение стоимости токена к единице ETH составляет 15:10. В этом состоянии ценовой баланс соответствует соотношению стоимостей этих активов на внешнем рынке.
При снижении стоимости ETH в два раза на сторонней бирже, его цена по отношению к токену в пуле не меняется. В таком случае арбитражные трейдеры осуществляют обмен ETH на токен через пул по старой стоимости, получив тем самым в два раза больше токенов, чем если бы обмен происходил на бирже.
Далее трейдер использует токен для покупки ETH на внешней торговой площадке, заводит его в пул и получает прибыль за счет повторного обмена на токен. В результате, повторение этого сценария выравнивает курс токена и ETH в соответствие с их внешними рыночными котировками.
Таким образом, в пулах Uniswap удается избежать излишней волатильности активов, при этом не теряя обрывая связь с их курсами на централизованных торговых площадках.
Прямой обмен токенов ERC20 между собой
Uniswap также предоставляет возможность обменивать между собой разные корпоративные токены ERC20 из пулов своих клиентов в рамках одной операции. Это делается с помощью вызова функции tokenToTokenSwap. Ее особенность состоит в том, что она может одновременно ввести токен А, имеющийся у клиента, в соответствующий пул, вытеснив из него ETH, который моментально отправляется в качестве оплаты за токен Б. В итоге, пользователь фактически покупает токен Б за токен А.
Способы предоставления ликвидности в пуле
При создании биржевого контракта его пулы полностью пусты до того момента, как первый клиент осуществит депозитный вклад. В случае, если вложения происходят в пропорции, отличной от соотношения рыночных стоимостей токенов по отношению к ETH, ликвидность пула может быть поставлена под сомнение. Во избежание этого, арбитражные трейдеры должны вносить в пул контракта пропорциональное количество ERC20 и ETH.
Ключевая заслуга крупных пулов Uniswap заключается в том, что они позволяют добиться ликвидности по биржевому контракту достаточно быстро. Одним из мотивирующих механизмов маркет-мейкера является выплата комиссии за добавление ликвидности в пул, которая замораживается вместе с внесенными активами на изначально указанный период времени. Размеры комиссии для других пользователей составляют примерно 0,3% за обмен токен/ETH, и 0,6% за обмен токен/токен.
Кроме того, инвестор получает поощрительные токены ликвидности, которые начисляются пропорционально добавленной им ликвидности в пул. Однако эти токены сгорают при возврате активов после их заморозки.