Author Topic: Proposed market pegged asset overhaul  (Read 7700 times)

0 Members and 1 Guest are viewing this topic.

Offline bytemaster

Here is bytemasters new github comment:

"

1) Create new operation "issue_bitasset" that specifies an amount in USD and an amount of collateral
- this operation will give the creator the requested USD and a corresponding cover order provided that (collateral/3)/usd is greater than the price feed.

2) Remove all relative orders and all short orders and corresponding indexes.

The end result will be a system with 3 order types: bid, ask, and cover with cover being triggered by either price, expiration or both.

When a cover order expires it buys back the USD at the feed price.

When a cover order is called it buys back USD below the feed at up to a 10%

This system is SIGNIFICANTLY simpler to implement. A side effect is that shorts will no longer pay interest and in theory can sell below the feed. What keeps them honest is the need to buy back AT THE FEED within 30 days. In the evolution of the current system we originally had shorts that never had to cover which meant selling below the feed could end in a death spiral toward 0. The 30 day buy back rule was added after the other rules but ultimately makes the other rules unnecessary. No short will sell too far below the feed unless they think they can exit their position below that price within 30 days. "Interest" is now "paid" to those who buy below the feed and wait to sell at the feed.

Removing relative orders and the "short wall" makes the system far more resistant to errors in the price feed. The price feed only needs to update a couple of times per day rather than continuously like it does now. The price feed only serves the role of judge in extreme situations and keeps everyone honest.

1) It enforces reasonable collateral around 3x. If the feed is off a little then the initial collateral may be 2.9 or 3.1x but in any event the exact amount of initial collateral is not important.

2) It protects shorts against market manipulation in thin markets that create "fake" margin calls, in practice as BitAsset markets grow the feed will only serve to confirm a price move and not actually trigger the margin call.

3) It keeps shorts honest in the event they refuse to cover within 30 days. In this case if the feed is wrong then shorts may lose some money by being forced to pay more than necessary to buy back their BitUSD or the buy back price may be too low in which case other market participants are the judge on whether or not they want to wait for the next feed update. Shorts can completely mitigate the risk of being exposed to a feed price that is off by 5 to 10% by covering prior to expiration.
"


TLDR;  Idea abandoned.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

Okay I have an idea for yield and for forcing shorts to cover, here goes:


Every so often (details to be determined), the system looks at what the price feed is for an asset, and what the highest price bid for the asset is.

For example, lets say we are talking about bitUSD.  The feed is $1.00, and lets imagine that the highest bid right now is $0.99, which is 1% below the feed.


The system therefore declares that the interest rate charged to short bitUSD is 1% annualized.  If it did this every day, it would then calculate what the daily equivalent of a 1% APR is, and declare this to be the daily yield. 

The system would then take this amount of daily yield collectively from the BTS collateral of all the shorts, and would divide it among all the bitAsset holders. 



This achieves several goals:

1) BitAssets have yield.  If the price of bitUSD is $1.00 or more, there is no yield at that time.  If the price is 0.99 then there is 1% yield.  If the price is 0.98, there is 2% yield, etc. 

2) If the bitAsset falls too far below the feed, Shorts (creators of the bitAsset - they arent called 'shorts' anymore I guess) are pressured to cover because they are having the interest taken from their BTS collateral until they do. 

3) This acts as a stabilizer pushing up on the price any time that it is too low, because not only do you have the hope of a possible gain, you also get interest.  This counterbalances the force that pushes down on the price any time it is above the peg, which is that you can convert BTS into the asset and sell it for instant profit.



There would be some technical details to work out if this was accepted, such as how often the interest needs to be calculated, how to avoid having it be manipulated (randomness in the time interval?) etc.


(This post ended up at the end of a page, and its really important, so reposting on new page).

An interesting approach, unfortunately it seems too much like price fixing... you might as well have the delegates publish the interest rate.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

I just updated the github commit with a simpler approach that works around the difficult spots.

Bottom line: I don't think we will change things.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
Okay I have an idea for yield and for forcing shorts to cover, here goes:


Every so often (details to be determined), the system looks at what the price feed is for an asset, and what the highest price bid for the asset is.

For example, lets say we are talking about bitUSD.  The feed is $1.00, and lets imagine that the highest bid right now is $0.99, which is 1% below the feed.


The system therefore declares that the interest rate charged to short bitUSD is 1% annualized.  If it did this every day, it would then calculate what the daily equivalent of a 1% APR is, and declare this to be the daily yield. 

The system would then take this amount of daily yield collectively from the BTS collateral of all the shorts, and would divide it among all the bitAsset holders. 



This achieves several goals:

1) BitAssets have yield.  If the price of bitUSD is $1.00 or more, there is no yield at that time.  If the price is 0.99 then there is 1% yield.  If the price is 0.98, there is 2% yield, etc. 

2) If the bitAsset falls too far below the feed, Shorts (creators of the bitAsset - they arent called 'shorts' anymore I guess) are pressured to cover because they are having the interest taken from their BTS collateral until they do. 

3) This acts as a stabilizer pushing up on the price any time that it is too low, because not only do you have the hope of a possible gain, you also get interest.  This counterbalances the force that pushes down on the price any time it is above the peg, which is that you can convert BTS into the asset and sell it for instant profit.



There would be some technical details to work out if this was accepted, such as how often the interest needs to be calculated, how to avoid having it be manipulated (randomness in the time interval?) etc.


(This post ended up at the end of a page, and its really important, so reposting on new page).
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
Okay I have an idea for yield and for forcing shorts to cover, here goes:


Every so often (details to be determined), the system looks at what the price feed is for an asset, and what the highest price bid for the asset is.

For example, lets say we are talking about bitUSD.  The feed is $1.00, and lets imagine that the highest bid right now is $0.99, which is 1% below the feed.


The system therefore declares that the interest rate charged to short bitUSD is 1% annualized.  If it did this every day, it would then calculate what the daily equivalent of a 1% APR is, and declare this to be the daily yield. 

The system would then take this amount of daily yield collectively from the BTS collateral of all the shorts, and would divide it among all the bitAsset holders. 



This achieves several goals:

1) BitAssets have yield.  If the price of bitUSD is $1.00 or more, there is no yield at that time.  If the price is 0.99 then there is 1% yield.  If the price is 0.98, there is 2% yield, etc. 

2) If the bitAsset falls too far below the feed, Shorts (creators of the bitAsset - they arent called 'shorts' anymore I guess) are pressured to cover because they are having the interest taken from their BTS collateral until they do. 

3) This acts as a stabilizer pushing up on the price any time that it is too low, because not only do you have the hope of a possible gain, you also get interest.  This counterbalances the force that pushes down on the price any time it is above the peg, which is that you can convert BTS into the asset and sell it for instant profit.



There would be some technical details to work out if this was accepted, such as how often the interest needs to be calculated, how to avoid having it be manipulated (randomness in the time interval?) etc.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline blahblah7up

  • Full Member
  • ***
  • Posts: 192
    • View Profile
I don't think yield is important enough to take those measures.

Seriously?

Bitshares. You can bank on it.

Offline Chronos

The best I can come up with for getting yield to work is that delegates decide an interest rate that is then enforced by the blockchain somehow.
This interest would be paid by inflation, which isn't really a net gain of wealth, since money supply grows at the same rate that your balance grows. In the current system, the interest is paid by the shorting parties, which does not inflate supply. Key difference.
« Last Edit: February 12, 2015, 07:49:22 pm by Chronos »

Offline speedy

  • Hero Member
  • *****
  • Posts: 1160
    • View Profile
  • BitShares: speedy
We need a way to add yield back in to the system.  I think the current way actually wasnt effective, because it was better for shorts to short to themself at the feed at 0% interest.   What wouldve happened in time was that everyone was going to figure this out and yield wouldve gone to 0 anyway.

I dont understand how yield would have gone to 0% - shorters have to compete with each other to give the highest yield before they can make a short - why would that competition not work?

Offline donkeypong

  • Hero Member
  • *****
  • Posts: 2329
    • View Profile
I don't think yield is important enough to take those measures.

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
The best I can come up with for getting yield to work is that delegates decide an interest rate that is then enforced by the blockchain somehow. It would be badly centralized but it could have limits that ensured it wouldnt change too fast if there was an attack.

Hehe, and do we now end up copying Nubits?  ;)

https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile
The best I can come up with for getting yield to work is that delegates decide an interest rate that is then enforced by the blockchain somehow. It would be badly centralized but it could have limits that ensured it wouldnt change too fast if there was an attack.

Getting yield to work autonomously in the market is a really difficult task...

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
Is 1 BitUSD is generally accepted to be worth strictly less than 1 USD? If not, then this scenario (find an offer below price feed) should be an anomaly, not a common occurrence. Anyone selling below price feed is taking a loss -- is that the norm? Should it be? Does it have to be?

Basically in the old system the 'create bitUSD' and 'sell bitUSD' orders were combined into one thing called 'shorting'.   But what actually happened was that people shorted to themself.  This added a lot of complexity, and showed that we actually do not want the create bitUSD and sell bitUSD orders to be linked.  We should have a way to just create it, and then have the bitUSD yourself.  This is a LOT simpler for new users and could help drive adoption of the decentralized exchange / hedgewlalet idea.

The price ideally should fluctuate near 1 USD, slightly below or above it. 

If the price is above it, the market has a good way to profit from that: You generate bitUSD and sell it into the market.  (Whether by 'shorting' i the old system, or doing essentially the exact same thing in the proposed system, and then selling the resulting bitUSD).

The trick is, we need a way for you to be able to easily profit if the price is below the feed.  (For bitUSD , if its below $1).
So far, the idea has been "buy the bitUSD, wait for a short to be forced to cover in up to 30 days". 

We need to make sure that there is such a way to profit on the price being too low. 
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Chronos

Soo...what becomes of  +5%? I don't follow all the technical stuff too well but what I'm hearing is interest may be phased out entirely...so why would I want to bank with BTS when I could bank with a bank and at least get 0.1% interest or whatever it's down to now?

You buy bitUSD @ ~5/12% below the feed with amount of BTS equal to 100% feed price. Issue yourself the same amount bitUSD. Cover your cover order. You have your 5% anually, mind you in advance.
Is 1 BitUSD is generally accepted to be worth strictly less than 1 USD? If not, then this scenario (find an offer below price feed) should be an anomaly, not a common occurrence.

Anyone selling below price feed is taking a loss -- is that the norm? Should it be? Does it have to be?
« Last Edit: February 12, 2015, 07:24:53 pm by Chronos »

Offline Ander

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
  • BitShares: Ander
Soo...what becomes of  +5%? I don't follow all the technical stuff too well but what I'm hearing is interest may be phased out entirely...so why would I want to bank with BTS when I could bank with a bank and at least get 0.1% interest or whatever it's down to now?

You buy bitUSD @ ~5/12% below the feed with amount of BTS equal to 100% feed price. Issue yourself the same amount bitUSD. Cover your cover order. You have your 5% anually, mind you in advance.

Thats more just a profitable trade though, not a yield on bitassets.  The goal is that everyone who holds them gets yield, not just those who make good trades.

I'm not sure how we add this back in, but I will say that the current system wasnt actually going to keep working in the long term either, once people realized that it was pretty easy to short at 0% interest.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

zerosum

  • Guest
Soo...what becomes of  +5%? I don't follow all the technical stuff too well but what I'm hearing is interest may be phased out entirely...so why would I want to bank with BTS when I could bank with a bank and at least get 0.1% interest or whatever it's down to now?

You buy bitUSD @ ~5/12% below the feed with amount of BTS equal to 100% feed price. Issue yourself the same amount bitUSD. Cover your cover order. You have your 5% anually, mind you in advance.