Механизм сопоставления ордеров в Binance DEX
ГлавнаяСтатьи

Механизм сопоставления ордеров в Binance DEX

Продвинутый
2mo ago
8m

Чем Binance DEX отличается от Binance.com

 

Содержание:

  • В чем заключается задача Binance Chain и DEX?
    • Ключевые особенности Binance Chain
  • Как сопоставляются ордера в Binance DEX?
    • Основные принципы сопоставления (матчинга)
  • Примеры механизма сопоставления ордеров
    • Первый вариант: отсутствие сопоставления
    • Второй вариант: достижение максимального объема
    • Третий вариант: сопоставление лучших противоположных ордеров
    • Четвертый вариант: крупная покупка
    • Пятый вариант: крупная продажа
    • Шестой вариант: приоритет первого ордера

 

В чем заключается задача Binance Chain/DEX?

Задача Binance Chain и DEX заключается в обеспечении жизнедеятельности децентрализованного маркетплейса на блокчейн. Благодаря этой платформе активы больше не будут пересекаться с кошельками биржи, которые контролируются единой организацией. Вместо этого запись книги ордеров и формирование транзакций происходит непосредственно в блокчейн-сети. Плата за посредничество больше не взимается, оплачивается только сеть, а пользователи полностью и единолично контролируют свои активы.

 

Ключевые особенности Binance Chain

Binance Chain основан на механизме достижения консенсуса основанного на византийской отказоустойчивости (BFT). Это означает, что блокчейн защищен до тех пор, пока двое из трех узлов работают честно. Кроме того, когда транзакция фиксируется в блоке, она становится окончательной и неизменной. Также сеть обладает нулевым риском модификации или форка.

Кроме этого время подтверждения блока в Binance Chain составляет приблизительно 1 секунду наряду с высокой пропускной способностью. Это одна из самых быстрых коммерческих блокчейн-сетей на момент публикации данного материала. Binance DEX хранит свою книгу ордеров в блокчейне, это означает, что любой кто запустит узел (ноду), будет обязан загрузить его полную копию.

Некоторые отличия Binance DEX от binance.com: 

  • Тип ордеров: Binance DEX принимает только лимитные ордера.

  • Логика сопоставления (матчинга) ордеров: в связи с природой блокчейн-сетей, блоки создаются дискретно с определенным временным интервалом, по этой причине Binance DEX не осуществляет непрерывное сопоставление ордеров, как это делает большинство централизованных обменников. Вместо этого обработка ордеров осуществляется с помощью периодического сопоставления всех открытых ордеров, полученных в прошлом и вплоть до самого последнего блока.

  • Торговые ордера пользователей создаются напрямую с доступного для их кошелька баланса (кошелька подобного Trust Wallet). У Binance DEX нет доступа к вашим средствам, также присутствует поддержка аппаратных и программных кошельков, список которых является публичным. 

 

Как сопоставляются ордера в Binance DEX?

Если вы спешите, вы можете пропустить этот раздел и перейти непосредственно к примерам сопоставления (матчинга).

Существует 2 типа сопоставления ордеров:

  • Аналоговый - ордера сопоставляются непрерывно.

  • Дискретный - сопоставление выполняется с определенным временным интервалом и набором правил. 

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

 

Основные принципы сопоставления (матчинга):

  • Сопоставление осуществляется 1 раз для каждого блока  

  • Сопоставление происходит, когда самая высокая цена предложения выше самой низкой цены спроса

  • В каждом блоке выбирается только 1 цена, определяемая как цена заполнения среди всех формируемых ордеров.

  • Сопоставление ордеров имеет приоритет сначала по агрессивности цены, а затем по времени (высоте блока) перед тем как быть принятыми.

Каждая попытка сопоставления ордеров происходит после того, как блок был записан в цепочке (после его добычи). Попытка сопоставления учитывает следующие факторы: 

  • Определение цены заполнения блока происходит на основе:

    • Максимально исполняемого объема

    • Минимального остатка

    • Напряжении рынка

    • Справочной цены  

  • Распределение заполнения ордеров осуществляется с учетом следующих правил:

    • Ордера с самой высокой ценой предложения будут совпадать с ордерами с самой низкой ценой спроса;

    • Если совокупный спрос и предложение не могут быть полностью удовлетворены соответствующей ценой заполнения, то ордера из самых ранних блоков заполняются в первую очередь. 

    • Если совокупный спрос и предложение по цене заполнения блока не может быть полностью удовлетворен соответствующими поступающими заявками, назначенное исполнение будет пропорционально их количеству (смещено, если число имеет частичный лот). В случае невозможности осуществления равномерного распределения, то с помощью детерминированного алгоритма осуществляется справедливое распределение с использованием случайного ID ордера.

Примеры механизма сопоставления ордеров

Обратите особое внимание на 3, 4 и 5 варианты если вы «нетерпеливый» трейдер или торгуете на очень волатильных или неликвидных рынках. 

Первый вариант: отсутствие сопоставления ордеров

В данном примере цены спроса и предложения не пересекаются (самая высокая ставка меньше самой низкой), в связи с этим сопоставление ордеров является невозможным.

В начале этого блока у нас есть следующие открытые ордера.

 

Выставляем ордер на покупку 10 Testnet_BNB по цене 5 условных денежных единиц за токен. 

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

Второй вариант: достижение максимально исполняемого объема

В начале этого блока присутствуют следующие открытые ордера.

 

Вам необходимо разместить ордера на покупку в следующем порядке:

  • Ордер на покупку 30 Testnet_BNB по 12 у.е. за токен

  • Ордер на покупку 10 Testnet_BNB по 10 у.е. за токен

  • Ордер на покупку 20 Testnet_BNB по 9 у.е. за токен

  • Ордер на покупку 30 Testnet_BNB по 8 у.е. за токен

 

Для достижения максимального объема сопоставления равному 90 вам необходимо установить цену в размере 6 у.е.

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

Ордер на продажу:

Ордера на покупку:

Третий вариант: сопоставление лучших противоположных ордеров

В начале данного блока присутствуют следующие открытые ордера. 

Затем вам необходимо разместить следующие ордера:

  • Ордер на покупку 25 TEST_BNB по цене 10 у.е. за токен

Для обеспечения максимального объема сопоставления, цена данного раунда составит 7 у.е. за токен. Все сделки осуществляются по ранее оговоренной цене. Из изображения можно увидеть, что ордера на продажу частично исполнены, это происходит из-за того, что ордера с наилучшей ценой предложения соответствуют ордерам с наилучшей ценой спроса и выполняются первыми. Таким образом ордера на продажу с ценой в 7 у.е. за токен исполняются частично.

Открытые ордера после сопоставления:

 

Четвертый вариант: крупная покупка 

В начале данного блока присутствуют следующие открытые ордера.

Как вы можете видеть, в данном примере присутствуют несколько ордеров на продажу с разной ценой. Если вы выставите большой ордер на покупку в количестве 150 токенов по цене в 25 у.е. произойдет следующее:

Поскольку цена последнего ордера составляла 10 у.е. за токен, все остальные ордера также были сопоставлены с этой ценой.

Книга ордеров после сопоставления:

Анализ:

Результат данной сделки может оказаться невыгодным для покупателя, а общее количество затрат в данном случае составило 800 у.е., но вы можете поступить более рационально, если начнете процесс покупки от первых ордеров, размещая их в следующем порядке:

  • Ордер на покупку 15 TEST_BNB по цене 6 у.е. за токен

  • Ордер на покупку 25 TEST_BNB по цене 7 у.е. за токен

  • Ордер на покупку 25 TEST_BNB по цене 8 у.е. за токен

  • Ордер на покупку 5 TEST_BNB по цене 9 у.е. за токен

  • Ордер на покупку 10 TEST_BNB по цене 10 у.е. за токен

Если вы решите поступить таким образом ваши затраты составят 610 вместо 800.

 

Пятый вариант: крупная продажа

В начале данного блока присутствуют следующие открытые ордера.

Вы можете открыть ордера в следующем порядке:

Выставляете большой ордер на продажу 80 TEST_BNB по цене 6 у.е.

Несмотря на то, что все ордера были с разной ценой, ваш ордер на продажу рассчитается по цене 6 у.е. за токен.

За данную сделку вы получите 450 у.е., но это не является рациональным решением, поскольку можно заработать гораздо больше продав токены открывая ордера в следующем порядке:

  • Ордер на продажу 5 TEST_BNB по цене 10 у.е. за токен

  • Ордер на продажу 40 TEST_BNB по цене 8 у.е. за токен

  • Ордер на продажу 10 TEST_BNB по цене 7 у.е. за токен

  • Ордер на продажу 20 TEST_BNB по цене 6 у.е. за токен

Выставляя ордера в таком порядке прибыль составит 560 у.е.

 

Шестой вариант: приоритет первого ордера

В начале данного блока присутствуют следующие открытые ордера.

В данный блок поступают следующие ордера в ожидании сопоставления:

  • Ордер на покупку 20 TEST_BNB по цене 6 у.е. за токен

  • Ордер на продажу 10 TEST_BNB по цене 6 у.е. за токен

Поскольку уже присутствовал ордер на продажу токенов по цене 6 у.е., эта сделка сопоставляется первая.

Предыдущий ордер на продажу 15 токенов по цене 6 у.е. заполняется полностью.

В то время как ордер на продажу 10 токенов по такой же цене заполнился наполовину.

Книга ордеров после сопоставления сделок (матчинга):