bsips
bsips copied to clipboard
New BSIP: coin-days as market fees (core token holders have a discount when paying market fees)
Brief
Give core token holders a discount when paying market trading fees.
Rationale
Give traders a reason to hold the core token.
It's fair that exchanges running on top of the blockchain share a part of their benefits to the core token holders of the blockchain. With this mechanism, when ecosystem around UIAs grows, value of core token grows. So, core token holders will be more willing to promote trading of UIAs, thus will result in a win-win situation.
Things to consider
- the more core token a trader holds, and the longer time she held, the larger the discount
- the mechanism should be affordable by asset issuers / owners
- the discount should have an upper limit, perhaps controlled by asset owners
- certain parameters need to be controlled by the committee but not individual asset owners, so asset owners aren't able to get around the mechanism. A potential parameter for this is a lower limit of discount.
- some asset owners may already want to give a discount on trading fees to large traders (see https://github.com/bitshares/bsips/pull/133), holding core token receives another discount.
Why coin-days
The idea is
- core token holders accumulate coin-days automatically,
- for each trade, the trader "pays" certain amount of coin-days "as" market fees which would be effectively a discount, the paid coin-days will be "burned" by the blockchain automatically,
- after the trader run out of coin-days, she pays normal trading fees for new tradings.
Implementation
We need to find a fair conversion rate between coin-days and each individual trading asset. E.G.
X coin-days = Y bitCNY
Z coin-days = W OPEN.BTC
...
Ideally we should use "market value" of individual assets to calculate. But it's a bit hard to find the market value.
For coin-days, we can
- add a committee parameter to fine-tune.
- Perhaps make coin-days somewhat trade-able, so its value would be found by the market itself.
- There are pros and cons about this. Theoretically the supply of coin-days is unlimited, freely trade-able perhaps means its value will fall forever. When coin-days are consumed/used/destroyed, the total supply decreases.
For individual assets, we already have:
- CER
- price feeds for some assets
- trading price in DEX
Among them, only price feeds are relatively reliable, but it's only available for a few assets. Perhaps we need oracles for this data. Perhaps we can use a prediction market to find the fair rate.
If coin-seconds are trade-able, perhaps we can use the trading price directly. Need to make sure the feedback is sustainable. Need to consider scenarios about illiquid / inactive markets and white-listing of markets.
Thoughts?
great ideal
With this, the market participants will have direct benefit if hold core token. This is a "carrot" for them to hold the core token.
Some big CEXs implemented similar rules on their exchange-tokens (E.G. Huobi).
Changing market fee rules globally could damage existing businesses. I think that's a bad idea.
A variant might be to allow asset issuers to define an "exchange rate" where a number of coin days accumulated on a given asset could pay the market fee on that specific asset.
Another variant might be to allow BTS coin-days to be used for paying TX fees.
The downside of the coin-days approach in any case is that it's comparatively heavy, computation wise (adds computation to every transfer of tokens, including e. g. operation fee payments).
I think this is a good idea. The core token of DEX need more value support from itself. Price of the core token is very importtant. We need to learn the advantage of CEX.
The downside of the coin-days approach in any case is that it's comparatively heavy, computation wise (adds computation to every transfer of tokens, including e. g. operation fee payments).
To reduce computation load, an option is to not generate coin-days directly from balance, but requires every user to sign an explicit "lock" operation to specify how many coins would be used to generate coin-days, like VESTS in Steem, that amount of coins can not be spent until the user explicitly unlock it.
Does this mean we can increase the flat market fee before enabling a discount?
I would also support x free transactions per week, when y BTS are staked.
@froooze there was a PR about free transactions, see https://github.com/cryptonomex/graphene/pull/612. Specifications in https://github.com/bitshares/bitshares-core/issues/186. No BSIP yet if I'm correct, best if you can write one.