bsips/bsip-0020.md

147 lines
11 KiB
Markdown
Raw Permalink Normal View History

BSIP: #020
Title: Introducing profit-sharing/dividends to Bitshares (UIA only)
Authors: [Customminer](https://steemit.com/@cm-steem/)
2017-11-30 08:06:07 +00:00
Status: Deferred
Type: Protocol
Created: 2017-06-26
Primary Discussion: https://bitsharestalk.org/index.php/topic,23981.0.html
Similar Discussions: N/A
Replaces: N/A
Superseded-By: N/A
Worker: No worker proposal yet - propose bounty?
---
# Abstract
The introduction of 'profit sharing / dividends' for User Issed Assets (UIA) on the Bitshares DEX
---
# Motivation
* One of the major selling/marketing points of BTSX (for myself) back in 2014 was the 5% (really variable 'x' %) on 'anything' marketing. The idea that anyone could securely hold assets long term within their Bitshares wallet and potentially receive better 'interest' rates than that which FIAT banks were offering was (and remains) a powerful message. Whilst this previously applied solely to market pegged assets (MPA - bitUSD, bitCNY, bitEUR, etc), I believe that the same concepts could be extended to UIA.
* Increasing the profitability of the BTS DEX.
* Encouraging users to hold assets on the BTS DEX over centralized exchanges.
---
# Rational
* New UIAs may be created on the BTS DEX to take advantage of this functionality, driving additional fees to the reserve pool upon registration of said assets.
* Improving the ease of performing sharedrops of UIA against BTS/MPA/UIA asset holders will likely increase the frequency of sharedrops being performed on the BTS DEX.
* UIA sharedrops should be considered an incentive for users to hold their assets on the BTS DEX instead of on centralized exchanges, helping prevent exchanges from having a massive BTS vote weight.
* Alternative cryptocurrencies could plausibly migrate their token distribution onto the BTS DEX to avoid maintaining their own proof-of-stake (POS) blockchain as a form of disaster recovery whilst maintaining the ability to provide interest equivelant to their prior POS blockchain.
* Other cryptocurrency platforms offer profit-sharing/dividends functionality, such as [Peerplays](https://github.com/BunkerChainLabsInc/peerplays-profitshare)/NXT/CounterParty/DigixDAO/LBRY/Waves/Dash.
* Most (if not all) Bitcoin forks (1000's of them) have '[sendmany](https://chainquery.com/bitcoin-api/sendmany)' functionality which enables the mass distribution of their tokens against a large quantity of users (addresses) in a single transaction; this is currently not possible within the BTS DEX (unless I'm mistaken?).
---
# Specifications
## Implementation of peerplays profit sharing mechanism for UIA
* The Peerplays developement team developed [profit-sharing code for the Graphene toolkit](https://github.com/BunkerChainLabsInc/peerplays-profitshare) approximately one year ago, they have repeatedley given permission for the BTS DEX to utilise their developed profit-sharing code ([case 1](https://bitsharestalk.org/index.php/topic,23981.75.html), [case 2](https://steemit.com/bitshares/@cm-steem/bsip-019-draft-introducing-profit-sharing-dividends-to-bitshares#@peerplays/re-cm-steem-bsip-019-draft-introducing-profit-sharing-dividends-to-bitshares-20170620t032010758z)). A large portion of the work required for this BSIP may already be complete.
## UIA Profit-Sharing/Dividend distribution methods
* Profit-Sharing/Dividends via market fee redistribution (only if the UIA has implemented its own market fees).
* Sharedropping additionally issued UIA tokens against UIA holders (self/other UIA).
* Initial sharedrop distribution of new UIA against holders of any asset on the BTS DEX (sharedrop UIA-A against BTS/UIA-B/MPA holders).
## Whitelist/Blacklist options
* An optional whitelist (configurable by the UIA Issuer) could provide increased control over who is eligible to earn dividends on their UIA holdings.
* An optional blacklist (configurable by the UIA issuer) could prevent exchanges/services from earning dividends/interest on UIA (incentivizing holding UIA on the BTS DEX over centralized exchanges).
## Minimum UIA holdings for dividend eligibility
* Users with very small UIA holdings may be eligible for dividends less than the UIA is configured for (less than the max decimal places), providing the UIA issuer the ability to set the minimum quantity of UIA to be eligible to earn dividends could counteract such an issue.
* Increasing the minimum UIA holdings for dividend eligibility could decrease the network fees required to perform the distribution (less recipients, less fees).
## UIA issuer set interest rates & target assets
* Enable the UIA issuer to select one (or many) assets on the BTS DEX which would be eligible to receive a sharedrop allocation.
* UIA issuer set % for each selected asset.
* Enforce minimum interest rates to prevent creating dust (tiny transactions) or the allocation of dividends less than the UIA's max decimal places.
* Enforce maximum interest rates to prevent attempting to issue more tokens than the max coinsupply.
## Minimum UIA coin-age for dividend eligibility
* To prevent users from only holding UIA during the dividend/sharedrop (buying shortly beforehand and selling immediately afterwards), we aught to provide the UIA issuer the ability to take the 'coin-age' of UIA holdings into account.
* Providing the UIA issuer the ability to set a custom coin-age requirement for sharedrop allocation could provide incentives to hold assets on the BTS DEX long term.
---
# Discussion
## How is this different from BSIP-0019?
* BSIP-0019 proposes the implementation of 'profit sharing / dividends' for MPAs, where as this BSIP references User Issued Assets (UIA).
* BSIP-0019 redistributes network fees (% taken from referral system), where as this BSIP proposes profit-sharing via the redistribution of market fees and/or the sharedropping of additionally issued UIA.
* BSIP-0019 requires the comittee to configure profit-sharing for MPA, where as this BSIP requires the UIA issuer to configure the profit-sharing settings for said UIA.
## BSIP-020's resistance to 'yield-harvesting'
A quote from the '[Socialized yield is broken](https://bitshares.org/blog/2015/06/08/lessons-learned-from-bitshares-0.x/#socialized-yield-is-broken)' blog post:
> "Under BitShares the BitAsset holders receive a yield simply by holding BitUSD. This yield was between 1% and 5% APR on average. Unfortunately, yield harvesting can happen at any time by someone shorting to themselves to gain a very low risk return and undermining goal of encouraging people to buy and hold BitUSD. The yield was funded from transaction fees and by interest paid by shorts."
* Rather than paying profit to shorters on demand, this BSIP proposes scheduled dividends against asset holders on the BTS DEX. Thus BSIP-020 shouldn't be vulnerable to the 'yield-harvesting' issue that was prevalent within 'Socialized Yield' unless the UIA is configured improperly by the UIA issuer.
## Potentially inappropriate for [Exchange Backed Assets](http://docs.bitshares.eu/bitshares/user/eba.html) (EBA)
* Tokens such as OPEN.GRC which are UIA representative of real backed Gridcoins held by Openledger would not be eligible for dividends due to the fact that these tokens are backed by real cryptocurrency and do not operate a fractional reserve.
* If the EBA provider was to purchase additional backing cryptocurrency to then distribute legitimately onto users then this would be possible, this is however highly unlikely to occur.
## BTS DEX sharedrop spam?
* A potential negative impact that BSIP-020 could have upon the BTS DEX is that there may be a large influx of users sharedropping worthless/troll tokens onto asset holders.
* To deter this behaviour, the sharedropping of UIA-A (your example UIA) against UIA-B (my example UIA) should have a larger network fee than issuing a sharedrop of UIA-A against UIA-A holders. Likewise, sharedropping an UIA against MPA holders should
## Maximum coinsupply/inflation abuse
* If an user creates an initial coin supply of 99999999999 (current max) then attempts to issue additional tokens through newly introduced functionality, we'll need to reinforce the maximum coin supply.
* If an user creates an UIA with a coin supply less than max but with an interest rate which would attempt to drive the coin supply greater than the maximum possibly supply we'll need to reinforce the maximum coin supply.
* Increasing the maximum coin supply limit wouldn't solve the above problems.
## Max decimal places
* If an user holds a tiny amount of an UIA and the inflation rate is very low, then the user may be eligible for a payment lower than the max decimal places (ie 4 decimal places & 0.00001 UIA token payment). We should reinforce these maximum decimal places during dividend issuance, potentially enforcing minimum UIA holdings and minimum interest rates.
## Incentivizing market making
* We could potentially sharedrop UIA against market makers based on network statistics such as filled orders (participants & amount) or MPA collateral/debt positions.
* Incentivizing market makers wouldn't be vulnerable to the 'yield-harvesting' that plagued 'socialized-yield', rather we may see users fake volume on illiquid trading pairs in an attempt to inflate their sharedrop allocation. To avoid this, UIA issuers performing such a market-maker sharedrop should target trading pairs with high liquidity (ultimately up to their discretion).
## Automation once configured?
If an UIA is configured to inflate and distribute said newly issued tokens against holders of asset 'x' on the BTS DEX, then the UIA owner was set to either null or the committee then this would increase decentralization of said token in a manner similar to POS cryptocurrency issuance (no centralized issuer). This would potentially run into issues regarding network spam and max coinsupply/inflation abuse so perhaps it'd be worth keeping manual..
## Further research
* Who can perform this work?
* 3rd party scripts for determining sharedrop allocation modifiers?
---
# Summary for Shareholders
* No worker proposal has been created yet, input from coders regarding the cost is neccessary.
* No proposed change to current network fees.
* UIA changes are in scope of this BSIP, not MPA.
---
# Copyright
Peerplays created the [profit-sharing functionality](https://github.com/BunkerChainLabsInc/peerplays-profitshare) w/ MIT license:
* > "[The code was created by Bunkerchain Labs Inc. and licensed MIT. So long as MIT parameters are met it can be used in Bitshares.](https://steemit.com/bitshares/@cm-steem/bsip-019-draft-introducing-profit-sharing-dividends-to-bitshares#@peerplays/re-cm-steem-bsip-019-draft-introducing-profit-sharing-dividends-to-bitshares-20170620t032010758z)" - Peerplays (Steemit)
* > "[Implement our profit sharing code thanks to Peerplays development](https://bitsharestalk.org/index.php/topic,23981.75.html)" - BunkerChainLabs (Bitsharestalk)
---
# See Also
N/A