From 689a039236eb3f6e2f66ca4dfda914064a0935cc Mon Sep 17 00:00:00 2001 From: Fabian Schuh Date: Wed, 16 Dec 2015 12:17:27 +0100 Subject: [PATCH] BSIP-0006 --- bsip-0006.md | 308 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 308 insertions(+) create mode 100644 bsip-0006.md diff --git a/bsip-0006.md b/bsip-0006.md new file mode 100644 index 0000000..f77b0bb --- /dev/null +++ b/bsip-0006.md @@ -0,0 +1,308 @@ + BSIP: 0006 + Title: Market Maker Incentivization + Authors: Daniel Larimer + Fabian Schuh + Status: Draft + Type: Protocol + Created: 2015-12-16 + Discussion: + + Worker: TBD + + +# Introduction + +The success and failure of a market depends to a large degree on the number of +participants in that market. The number of participants depends upon the +liquidity in a market. This is a chicken and egg problem that must be resolved +by bootstrapping a new market with liquidity. This bootstrapping process is +very risky because it involves trading in an illiquid market. With the proper +incentives it can become profitable to bootstrap a market until no additional +incentives are necessary. + +# Market Makers + +A market maker is anyone who has their order filled after being left open on the +books for a minimum period of time (at least 1 block). These individuals leave +an open order ready to meet the demand for someone looking to buy and/or sell. +Leaving orders on the books that are never filled does not qualify for being a +maker even if they add the appearance of depth. To be more specific, a market +maker buys and resells over and over again and pockets the spread between buying +and selling as their profit. This is not a risk free operation if the market +starts to move consistently in any one direction. + +# Flexible Maker Fees + +The first step toward increasing liquidity is to reduce the artificial costs +associated with trading in a market. This means simply lowering the trading fees +to 0 for those who provide liquidity (makers) while only charging those who +consume liquidity (takers). Under this proposal we would introduce a new +parameter to assets that allows the issuer to configure different market fees +for makers vs takers. Early on it may be desirable to have 0 maker fee, but for + the sake of flexibility we will parameterize it. + +# Rewarding Market Makers + +Simply reducing the fees does little to reduce the risks (costs) associated with +trading in an illiquid market. These costs are disproportionately borne by the +early adopters of a market, especially in volatile markets. In order to offset +these costs these market makers should be compensated for their risk in a manner +that does not impose costs to participants outside the market. The goal is to +reallocate the income generated by the market fees charged to the takers, to the +makers. + +An instantaneous reallocation does little more than shift the equilibrium price. +Instead we propose to redistribute future market fees generated after a market +has been bootstrapped to the risk takers that facilitated the growth of that +market. Each market is like a startup business and like all startup businesses, +some capital is required get started. In the case of a market, the startup +capital required is liquidity provision. Shares in a company are usually +distributed proportional to how much capital each founder contributed. As the +company matures and raises future rounds of capital the company can sell their +shares for higher and higher prices (offer less shares for the same capital). + +# Specifications + +## Definitions + +* `MSHARES` - a special asset that has maximum supply M and is rewarded to users + based upon the percent of the daily liquidity (volume) they provide to a + particular ASSET. Every ASSET has the potential to have their own unique + MSHARES. +* `RESERVE` - The total remaining MSHARES to be distributed over time +* `BUCKET` - a collection of MSHARES that is available to be divided among + current liquidity providers. This is used to implement the [leaky bucket + algorithm](https://en.wikipedia.org/wiki/Leaky_bucket) +* `DECAY_RATE` - The maximum percent of the RESERVE that can be moved into the + BUCKET per second. This defines the half life of the reserve and the extent + to which early liquidity providers have an advantage over later liquidity + providers. + +* `B` - the total number of MSHARES in the BUCKET at any given point in time. +* `Bmax` - the maximum MSHARES the BUCKET may accumulate (a multiple of the + DECAY_RATE). +* `Vavg` - An approximation to the average volume in the market +* `Vperiod` - the number of seconds to average volume over (1 week recommended) +* `V` - the volume of the maker order being filled (measured in UIA units) +* `REWARD` - the reward in MSHARES that a MAKER receives +* `T` - seconds since last match +* `Tmin` - the minimum time a order must be on the books to be considered for + maker rewards. + +## Calculations Performed on Match + +Top off the bucket (but cap at `Bmax`): + + Bchange = min( B + RESERVE * DECAY_RATE * T, Bmax ) - B + RESERVE = RESERVE - Bchange + B = B + Bchange + +Reward a fraction of the bucket: + + REWARD = B * V / (Vavg + V) + +Remove Reward from Bucket: + + B = B - REWARD + +Update Weighted Average of Volume + + Vavg = Vavg * MAX(0,Vperiod-T)/Vperiod + V + +After calculating the REWARD the Maker's balance of MSHARES is increased. + +## Distributing Market Fees + +Every maintenance interval the accumulated market fees for an UIA are used to +purchase MSHARES in the UIA/MSHARES market. The percentage of market fees that +are directed to repurchase MSHARES is a parameters that is set by the issuer. It +may be increased, but never decreased. + +All parameters are configured by the asset issuer including DECAY_RATE, Bmax, +RESERVE, Vperiod, Tmin, maker fee, and percent of market fees allocated to the +maker. An issuer may revoke their permission to change the parameters and +thereby reduce the risk of the issuer changing the terms and impacting the value +of MSHARES. + +# Maker Issued Asset + +The result of this proposal is the creation of a new type of asset called the +*Maker Issued Asset* that can only be created/destroyed by the algorithm above. + +# Funding this Proposal + +It is our belief that the cost of implementing a feature must be less than the +present value of a feature. It is the belief of Cryptonomex that this particular +feature is worth much more than the cost to implement it and therefore +Cryptonomex will be implementing it speculatively in exchange for a cut of all +MSHARES for all assets that use this feature to improve their liquidity. + +We will create a new NETWORK ISSUED ASSET, called MAKER that will automatically +be repurchased with 20% of all MAKER ISSUED ASSETS ever created. This asset with +have a maximum supply of 1,000,000 MAKER and initially be 100% allocated to +Cryptonomex in exchange for implementing this feature. Cryptonomex will sell +MAKER into the market to cover the cost of development. + +# Approving this Proposal + +In order for this proposal to be approved by the network a worker proposal will +be created that will pay 100,000 BTS to Cryptonomex. If the proposal gets funded +then it will be assumed that the required hardfork has been approved by +stakeholders and development will compense. + +# Understanding by Example + +If a particular asset issuer defines their DECAY rate such that 50% of all +MSHARES are allocated in the first year, then someone who provides 100% of the +liquidity would earn 50% of all future market fees in exchange for liquidity +provision. It does not matter what the volume is over that year, all that +matters is the relative percentage of liquidity provided by every market maker. + +If the market starts out small with $10K / 24hr volume, and then turns into a +$30M 24/hr volume then the market fees of 0.2% will yield $30,000 per day, half +of which would belong to the individual who provided a meer $10K of liquidity in +the first year. Meanwhile those who provide $10K of liquidity once $30M of +volume is reached will get a very small number of MSHARES. + +Assuming a market provides a useful function for traders, these incentives +should easily encourage early adopters to bootstrap the market. + +# Preventing Abuse + +All systems must be analysed for potential abuse. In this case we are concerned +about a single bad-actor attempting to create fake volume in order to profit +without actually providing liquidity. Abuse is prevented by three factors: + +1. There is a non-zero cost to creating fake volume in the form of order + creation fees charged by the network. +2. Creating fake volume requires also being a "taker" and paying the taker's + market fee. The asset issuer will only allocate a fraction of the taker fees + to repurchase. This means that there is a non-zero cost of creating MSHARES. +3. In the event that it is profitable to create MSHARES through fake volume, + there will be market competition to fight over the "free money". This would + work like mining difficulty as many different individuals compete to create + "fake volume" until percent of MSHARES each market participants earns + approaches the cost of creating those MSHARES. + +Our conclusion is that the design of this algorithm is resistant to abuse. If +abuse is attempted the network and the issuer should profit greatly. + +# Discussion + +## Fees that go to purchase MSHARES + +When there is a market fee it is denominated in UIA and is value is a percent of +the the UIA received from the trade (ie: 0.2%). If the trade was for $1000, then +$2 would be the "market fee" paid by the "taker". This $2 will be further +divided according to a parameters set by the issuer, the issuer could allocate +50% for issuer profits, and 50% for maker. In this case $1 would be used to +repurchased `MSHARES` for UIA. The total maker rewards would be: `REWARD = B*1000 +/ (Vavg + 1000)`. Of this 20% of REWARD will be used to purchase MAKER in the +MSHARES/MAKER market, and 80% will go to the user who performed the market maker +role. + +BitShares would receive the `ORDER_CREATION_FEE` which is fixed regardless of the +size of the order and is about $0.20 for regular users and $0.04 for lifetime +members. This `ORDER_CREATION_FEE` is distributed to the referral program / +network like all other non-market fees. + +The only market fees earned by BTS holders would be the 50% (variable) allocated +to the issuer when the issuer is the committee. These funds are at the +discretion of the committee. + +Bottom line, BTS holders make the same money they use to make. This proposal +simply offers UIA issuers the opportunity to increase their profits by +bootstrapping their liquidity with a stake in future revenue from the market. + +## Opportunities for Abuse + +It seems like there will be opportunity to abuse this, at least in the +beginning, where few people are competing. The fee's payed trading with yourself +seem minuscule compared to the possible gain if that asset ever becomes popular. +It is a risk though, that it may not be popular. + +Envision what this competing will look like. Everyone trying to trade with +themselves without offering too good of a price and also trying to avoid filling +someone else's order. + +If your own order is the cheapest available. Other than the fee, is there any +reason NOT to trade with yourself? If not shouldn't we expect every market to +completely saturate based on the perceived future volume of that market? + +I think the conclusion I'm coming to is that these attempted "abuses" are +actually good for everyone. All participants will be taking their own risks, and +not participating costs you nothing. Its not a further complication because not +knowing about it doesn't hurt you. The more competition, the tighter the spread +and greater collected network fees. Whats to lose? +5% + +## Thought experiment + +Lets try the experiment with a 20% taker fee just to be outrageous. Lets have +the maker fee be -20%. Under such a market, those who demand liquidity take a +20% loss and those who provide it get a 20% gain. The trader would view such a +market similar to a market with a 20% spread. They would be hesitant to buy such +an asset because they know they will take an instant 36% loss if they are the +taker on both sides. (0.8 in and 0.8 out). This means that someone looking to get +in-or-out of such a market with the least loss would have to be a maker for one +of the two trades in which case they take a 4% loss (.8\*1.2=.96). Those who are +willing to "wait" on both sides of the trade can profit by 44% (1.2\*1.2). +Hence the negative maker fee encourages users to wait (which is the opposite of +liquidity). You create "lines" on both side of the order book of people who +want to exit their position. I suspect you would see very narrow spreads with +steep walls. This market would have the appearance of good liquidity, but the +underlying reality is that 'day traders' view it as a market with a 20% spread. + +So in this extreme case the takers end up paying for their liquidity TODAY the +same way they would pay for their liquidity without the 20/-20 maker/taker rule: +via a large spread. Market makers end up making the same profits they would if +they had a 20% spread between their buy and sell walls. The only thing the +negative maker fee is doing under this model is enforcing a minimal spread that +makers can provide, in other words price-fixing the market maker fee. Instead of +market makers competing to reduce spread, they are competing to be the first in +line of a "virtual" 0 spread. Because no value is moving through time all this +price fixing is doing is creating shortages (of takers) and gas lines (those +waiting to exit on both sides of the book). + +So it is clear that if we set the maker/taker fees to be greater than the +natural spreads that things break down. Our real goal is to reduce spreads, not +enforce a minimum spread with steep cliffs of liquidity on either side of that +minimum spread. + +So this means that we want to maximize maker rewards without increasing the cost +to the taker. So lets look at another extreme market: + +1. Suppose that takers paid a 0.1% fee +2. Suppose that makers earned 20% bonus from someone else (ie: the network). + +In this market there would be huge walls of liquidity as people compete to get a +44% return every time they turn over. This 44% return completely eliminates +almost all market volatility risk. Traders/takers see an effective spread of +just 0.1% which means they feel very comfortable buying the asset because they +know they can turn around and sell it instantly with only a 0.2% loss. Assuming +there was no limit on the 20% bonus, then people would start trading against +themselves. Obviously you would have to mitigate this self trading by making +the reward based upon how long the order was on the books before getting filled. +This is the situation we really want to create. + +So the question becomes how do you compensate makers today without making todays +traders (takers) pay for it. My proposal has tomorrows takers pay today's +makers by paying for market making today, but not tomorrow. + +The proposal here says you give them 0.1% today + a cut of the net present value +of all future fees. + +The cost of providing liquidity on early on is much more expensive than the cost +of providing the same liquidity in a mature market. Under this model you gain +more liquidity from makers early on (when it costs the most) without actually +decreasing liquidity available in the future (when it costs less). If you set +the decay curve properly you can end up with "constant liquidity" equal to the +average liquidity over the entire life of the market. Over a long enough time +horizon this means that you should get almost as much liquidity in year 1 as you +do in year 30 if market makers believe in the future of a given market. + +So when people suggest "simple" rules they are not really getting the result +they want. + +# Copyright + +This document is placed in the public domain.