BitUSD is incredibly useful as a trading instrument but the "sales pitch" for the average Joe is something like this:
1) Buy BitUSD today and you will be able to sell it back for 98% of what you paid for it (due to the spread)
2) Once you have BitUSD you get all of the benefits of Bitcoin, instant transfers, privacy, security.
3) As a merchant the "cost" of accepting BitUSD (at parity) is currently equal to the cost of a credit card (a few percent)
Initially demand from traders will to hedge against BTSX volatility will help the market grow, but what we *REALLY WANT* is for people to store their wealth in the system, not just their trading account. To do this BitUSD needs to offer a return that is explicit. IE: it shouldn't be done via the value deviating from the peg.
Right now the network earns USD via the market and via transaction fees (yes transaction fees can be paid in USD). This income is saved for a "rainy day" which we don't actually expect to happen, but could. The value as an insurance system could be better used to pay interest to USD holders. If BitUSD were an interest bearing asset, then the interest would compensate for the risk of black swans in the same way that the insurance fund does today.
So far BitUSD has earned $1800 on $485,000 issuance in just 2 weeks of light trading. This is about .4% yield every 2 weeks or about 10% per year. I have no idea how this will play out over time, but I suspect that it will result in a significant yield for BitUSD holders. The more people hold BitUSD the more BTSX is worth. So it is in the best interest (No pun intended) of BTSX holders to pay interest on BitUSD from the fees collected.
I would like to implement it as follows:
1) If you hold a balance for less than 1 month, you earn nothing.
2) If you hold a balance for one year or more then you earn (YOURUSD / TOTAL_USD) * COLLECTED_FEES_BALANCE
3) If you hold a balance for less than one year then you earn a pro-rated amount. (YOURUSD / TOTAL_USD) * COLLECTED_FEES_BALANCE * FRACTION_OF_YEAR_HELD^2
The result is that long-term holders of BitUSD earn much higher yields than short-term holders. The yield should more than cover the cost of the spread and thus your pitch to the average Joe is much stronger:
1) Buy BitUSD and earn more (much more) on your dollars than you do at your bank.
2) Enjoy all the other benefits of crypto.
This feature would have a greater impact on adoption than just about anything else being discussed.
Discuss.
Why require a minimum of a month and why have a quadratic dependence on FRACTION_OF_YEAR_HELD? What is the purpose in creating incentives for BitUSD holders to hold BitUSD balances for long periods of time? The fact that they have the money as BitUSD in the first place already adds value to BTSX.
And are the rewards claimed at the time of transaction? Do those rewards get immediately deducted from COLLECTED_FEES_BALANCE when that transaction occurs? How do I know when I have officially locked in the specific nominal rewards (in BitUSD)?
I like the general idea, but I worry that your implementation makes things unnecessarily complicated for the user in figuring out the rewards they will receive. It will probably also force extra complications in the client implementations for the purpose of maximizing the interest the user receives from their balance.
For example, what is the best way to maximize my return on some fixed initial sum of BitUSD? Let's define X = (COLLECTED_FEES_BALANCE / TOTAL_USD). Do I want to hold for 11 months and 29 days and then make the transaction right before the inactivity fee deadline, so that FRACTION_OF_YEAR_HELD^2 is as large as possible? In that case my annual reward is approximately P*(1+X), where P is the principal, or a annual return of (X*100)%. Or do I want to break that up into (12/k) k-month intervals to take advantage of compound interest? In that case my annual reward is P*(1 + X*(k/12)^2)^(12/k) assuming X remains constant over the year throughout the entire compounding process, giving an annual return of (((1 + X*(k/12)^2)^(12/k) - 1)*100)%. Since X has to be less than 1 (if I understand COLLECTED_FEES_BALANCE and TOTAL_USD correctly), this means holding it for a year would
always be better than compounding with k-month intervals for any k. But this was assuming X is fixed. In reality, X will fluctuate as COLLECTED_FEES_BALANCE changes (increasing as more fees are collected and decreasing as people claim the the reward). I would hope reward claims would be randomly distributed so that COLLECTED_FEES_BALANCE only has small deviations around a relatively stable value over time. If it wasn't random however, there would be an advantage to the people who claim first. Let's say nearly all BitUSD holders initiated their balance in September and intended to hold for a year to maximize returns. Over the course of a year, the COLLECTED_FEES_BALANCE grew to a large sum S, and in next September, all the BitUSD holders suddenly claimed nearly 100% of COLLECTED_FEES_BALANCE. But the first guy who owns f1 fraction of TOTAL_USD gets f1*S, the guy with fraction f2 gets f2*S*(1-f1), the guy after that gets f3*S*(1-f1-f2), until the last guy gets a tiny fraction of what he could have gotten had he claimed first (again assuming I understand your proposed implementation and calculation of COLLECTED_FEES_BALANCE correctly).
Why create all of this complication for users? The implementation should not have users receive different returns depending on when they move their balances. I don't see why it should withhold rewards for people who held the BitUSD for less than a month either. Why not take a portion of the fees collected in a given block, put it in a fund, and divide the money added to that fund during the block by the total BitUSD held by users (the existing BitUSD not collected by the network) at the time of that block to calculate the interest rate for that block. When a BitUSD balance is moved, the sum of the interest rates for each block on which that balance existed (called the ACCUMULATED_INTEREST_RATE) is used to determine the reward on that balance (ACCUMULATED_INTEREST_RATE*BALANCE). The rewards on these BitUSD balances act as extra BitUSD (effectively coming from the fund) on the input of the transaction that can be claimed by the outputs. This way all of the money in fund can be considered consumed at every block, and the interest payment on balances is continuous over time and cannot be strategically manipulated by timing when to move the BitUSD.