Как устроен DEX на OrderBook

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет! На связи – Павел Найданов, блокчейн-разработчик в MetaLamp.В этом материале я расскажу o том, как типичный для сферы классических финансов инструмент OrderBook прижился в мире web3.

На протяжении нескольких лет я изучаю тонкости устройства web3 продуктов и собираю ценную информацию для себя и будущих коллег в формате мини-энциклопедии. Вместе с коллегами я готовлю wiki-статьи для нашей бесплатной карты развития по предметке web3. И часть материалов мы решили адаптировать, чтобы сделать мир крипты доступным для более широкого круга читателей. Это вторая статья из цикла, посвященного устройству децентрализованных обменников. В прошлом выпуске мы с коллегами – Алексеем Куценко и Романом Ярлыковым – разбирались в устройстве DEX на AMM с наглядными примерами и расчётами. В этой статье приглашаю рассмотреть альтернативу автоматических маркет-мейкеров – DEX на OrderBook. 

Зачем в сфере web3 понадобился OrderBook?

OrderBook, или книга заявок – это инструмент, который изначально применялся в традиционных финансах для удобства обмена на валютном или фондовом рынках. Order Book представляет собой перечень заявок на покупку или продажу активов, сортированных по цене. 

На первый взгляд, перенос такого инструмента из сферы централизованных финансов в мир DEX кажется нецелесообразным из-за финансовой стороны вопроса. Поскольку полностью on-chain orderbook будет требовать плату за газ при записи любых данных о сделке в сети, реализация такого обменника обойдется недешево. 

Но если принять во внимание ту дополнительную гибкость и функциональность, какую может обеспечить orderbook для DEX и сопоставить её с AMM, становится очевидной его актуальность. 

От AMM обратно к OrderBook

В DEX на AMM стоимость токенов формируется при помощи математических формул. Для обмена одного токена на другой пользователь взаимодействует со смарт-контрактом (P2C), который обычно хранит в своем пуле ликвидности токены в качестве резервов для обмена. На основе общего количества токенов в пуле рассчитывается стоимость одного токена относительно другого по формуле:

K = X * Y

Два токена в пуле ликвидности образуют ликвидную пару (или торговую пару). Пул ликвидности пополняют токенами пользователи – поставщики ликвидности, которые получают за предоставление своих токенов вознаграждение.

В DEX на AMM действует такая закономерность: если пользователь забирает какой-либо токен, то его цена незначительно вырастает, поскольку количество этого токена в пуле уменьшается. Если пользователь вкладывает токен, то его цена незначительно падает, т.к. токена в пуле становится больше.

Немного нелепо, не правда ли? Когда пользователь совершает обмен при помощи любого обменника, он приносит один токен и забирает другой. Это значит, что цена одного актива вырастет, а цена другого упадёт.

Но есть один нюанс, который влияет на работу обменника: любой пользователь стремится к максимальной выгоде.

В DEX на AMM пользователь всегда платит за обмен токенов столько, сколько в данный момент AMM рассчитал по формуле. Для выгодного обмена пользователь может либо поискать обменник с более приемлемой ценой, либо попробовать поймать момент, когда соотношение токенов в пуле изменится настолько, что токен можно будет обменять по желаемой цене. 

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

Почему торговля – это больше, чем простой обмен?

Тратить время на поиск выгодного обменника или «ждать у моря погоды», а точнее подходящего курса – занятие для бессмертных

Источник: https://habr.com/ru/articles/751822/


Интересные статьи

Интересные статьи

Индексирование баз данных — это техника, повышающая скорость и эффективность запросов к базе данных. Она создаёт отдельную структуру данных, сопоставляющую значения в одном или нескольких столбцах т...
Кибератаки, воровство и вандализм — сервисы аренды самокатов — кикшеринги кажутся довольно уязвимыми, но так ли это? В одном из недавних проектов команда Бастион проверяла защиту Юрент — это отличный ...
Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работ...
Может ли автомобиль загореться от плохого зарядного устройства? Зарядное устройство переменного тока для электромобилей с протоколом J1772 по сути своей не зарядное устройство. Я решил сделать свой Wa...
Прежде чем разбираться с реализацией серверного UI (SDUI) от Airbnb, важно понять, что это вообще такое и какие преимущества оно дает относительно традиционного клиентско...