Вики ZooBC
Токены и рынки

Рынки и ордера

Рынок ZooBC — это книга ордеров для одной пары активов, которую ведёт и сводит сама цепочка. Каждый узел применяет одни и те же правила сведения при применении транзакции с ордером, поэтому каждый узел получает те же исполнения, ни один оператор не держит средства трейдеров и никто не может переупорядочить книгу. Открыть рынок может любой, а оживлённый рынок сам оплачивает свою аренду.

Открытие рынка

Рынок — это пара (базовый актив, котируемый актив): например, токен как базовый актив, оцениваемый в ZBC как котируемом. Пара упорядочена, поэтому (A, B) и (B, A) — два разных рынка. У обоих активов должно быть 8 знаков после запятой (см. Знаки после запятой и шаг).

CreateMarket (тип 21) стоит market_creation_cost, 50 ZBC в mainnet. Эта сумма становится арендным депозитом рынка (см. ниже).

Размещение ордера

PlaceOrder (тип 22) указывает рынок, сторону (покупка или продажа), лимитную цену, количество, флаги и необязательный срок истечения. Флаги могут сделать его рыночным ордером (исполнить немедленно или отменить) или ордером только для размещения в книге (post-only).

Цены выражаются в атомарных единицах котируемого актива за атомарную единицу базового, умноженных на 10⁸. Поэтому цена 1,015 ZBC за токен записывается как 101 500 000.

Когда блок применяет ордер:

  1. Ордер удерживает то, что может потратить: ордер на продажу удерживает своё количество базового актива; ордер на покупку — количество × цена ÷ 10⁸ котируемого.
  2. Он сразу сводится со стоящими в книге ордерами противоположной стороны — сначала по лучшей цене, а при равных ценах сначала с меньшим идентификатором транзакции. Каждое исполнение проходит по цене стоящего в книге ордера, а не по лимиту тейкера.
  3. То, что не исполнено, остаётся в книге, кроме рыночного ордера, остаток которого возвращается.

Каждое произведение округляется вниз в 128-битной арифметике, поэтому каждый узел вычисляет в точности одни и те же исполнения.

Лестница заявок на продажу по 1,004, 1,013 и 1,026; ордер на покупку с лимитом 1,015 исполняет первые два уровня, каждый по своей цене; 0,1 % полученного базового актива уходит производителю блока, а неиспользованная часть удержания возвращается тейкеру
Лестница заявок на продажу по 1,004, 1,013 и 1,026; ордер на покупку с лимитом 1,015 исполняет первые два уровня, каждый по своей цене; 0,1 % полученного базового актива уходит производителю блока, а неиспользованная часть удержания возвращается тейкеру

Два правила поддерживают чистоту книг ордеров: стоимость ордера в котируемом активе должна быть не меньше 2 500 000 атомарных единиц (0,025 котируемого актива), и тейкер никогда не исполняется против собственного стоящего в книге ордера.

Комиссия тейкера

Торговую комиссию платит только тейкер: exchange_taker_fee_bps, 10 базисных пунктов (0,1 %) в mainnet, удерживается из актива, который получает тейкер (базового при покупке, котируемого при продаже), и выплачивается производителю блока. В примере выше 0,3 из 300 полученных токенов уходят производителю. Ставка — параметр цепочки, который может составлять от 1 до 100 базисных пунктов. Мейкеры торговую комиссию не платят, и создатель рынка доли не получает.

Комиссия тейкера отделена от комиссии за транзакцию. Комиссии PlaceOrder и CancelOrder — обычные комиссии, которые идут в лотерею coinbase. Когда производитель блока ещё не зрел (см. Зрелость и доходы), его комиссия тейкера тоже уходит в лотерею coinbase.

Отмена и истечение срока

CancelOrder (тип 23) позволяет мейкеру, и только ему, отозвать стоящий в книге ордер; то, что осталось от его удержания, возвращается. Стоящий в книге ордер со сроком истекает в начале блока, по метке времени предыдущего блока.

Аренда рынка

Рынок занимает место в состоянии цепочки, поэтому платит аренду, как и всё остальное, что его занимает:

  • 50 ZBC стоимости создания — это депозит, предоплачивающий 12 периодов аренды; каждый период из 172 800 блоков (30 дней) забирает двенадцатую часть, около 4,17 ZBC, в пул долголетия;
  • каждая PlaceOrder и CancelOrder добавляет в депозит 20 % собственной комиссии, сверх комиссии, пока депозит не достигнет 24 периодов, так что сами ордера поддерживают финансирование оживлённого рынка;
  • рынок, который не может оплатить период или один из активов которого истёк, удаляется: его стоящие в книге ордера возвращаются мейкерам, остаток депозита уходит в пул долголетия, а пару позже можно открыть снова.
Рыночный прилавок с арендным депозитом из 12 ячеек при создании; каждый ордер добавляет 20 % своей комиссии; каждые 30 дней одна ячейка уходит в пул долголетия; когда депозит заканчивается, рынок закрывается, а стоящие в книге ордера возвращаются
Рыночный прилавок с арендным депозитом из 12 ячеек при создании; каждый ордер добавляет 20 % своей комиссии; каждые 30 дней одна ячейка уходит в пул долголетия; когда депозит заканчивается, рынок закрывается, а стоящие в книге ордера возвращаются

Пулов автоматических маркетмейкеров в ZooBC нет: каждая сделка заключается между ордерами, которые размещают люди. Для разовой сделки с любыми двумя активами, включая токены менее чем с 8 знаками после запятой, см. Предложения обмена.

См. также