bitshares / bsips

BitShares Improvement Proposals and Protocols. These technical documents describe the process of updating and improving the BitShares blockchain and technical ecosystem.
https://bitshares.github.io
63 stars 86 forks source link

BSIP 85: Maker order creation fee discount #240

Closed abitmore closed 4 years ago

abitmore commented 4 years ago
BSIP: 0085
Title: Maker order creation fee discount
Author: Abit More <https://github.com/abitmore>
Status: Draft
Type: Protocol
Created: 2019-10-13
Discussion: https://github.com/bitshares/bsips/issues/240
Worker: TBD

Abstract

This BSIP proposes a protocol change so that the committee can define different fee rates for maker orders and taker orders.

Motivation

To improve liquidity of the BitShares DEX.

Rationale

The maker-taker fee model is adopted widely in centralized exchanges and helped them to attract trading activities.

In the BitShares DEX, for each filled order, the owner of the order need to pay an order creation fee and conditionally a market fee. BSIP 81 described a way to apply the maker-taker fee model to the market fee. This BSIP describes a way to apply the maker-taker fee model to the order creation fee.

Specification

Add a new global parameter maker_fee_discount_percent which can be updated by the committee only after the protocol upgrade. Initial value of that parameter is 0. Valid range of that parameter is [0, 100%].

When a limit order is filled or partially filled for the first time, technically, when its deferred_fee field is non-zero,

Discussion

As of writing, to incentivize market making, the limit_order_create operation fee is very small. However, since there is only one fee, the fee for consuming liqudity is also very small. This BSIP gives the committee a tool to increase fee for consuming liquidity while still keeping a low cost for market makers to provide liquidity.

Copyright

This document is placed in the public domain.

abitmore commented 4 years ago

@froooze

abitmore commented 4 years ago

@ryanRfox I guess this BSIP can be assigned with number 84?

ryanRfox commented 4 years ago

Looks "done" enough to assign a BSIP number. However, I just assigned 84 for Issue #81 . Let's assign BSIP85 to this one. See PR #241 for README updates.

abitmore commented 4 years ago

Created PR https://github.com/bitshares/bsips/pull/243.

froooze commented 4 years ago

@abitmore Is it not better to use two different fees for maker and taker, instead of doing a refund for maker?

abitmore commented 4 years ago

@froooze technically refunding is much easier to implement and not hard to understand.

abitmore commented 4 years ago

Done with #243.