Draft BSIP: Backing a Market Pegged Asset with multiple assets as collateral

in #bitshares6 years ago (edited)

Title: Backing an MPA with multiple assets
Authors: CM
Status: Draft
Type: Protocol
Discussion: https://bitsharestalk.org/index.php?topic=26948.msg321465#msg321465
Replaces: N/A
Superseded-By: N/A
Worker: TBA

Abstract

Enable configuring multiple assets as backing collateral for an MPA.

Motivation

Currently you can only configure one asset (BTC, UIA or MPA) as the backing collateral for an MPA, so if you want to back an USD MPA with a BTC UIA then you need to do this on an individual gateway basis which would result in many identical purpose MPA.

Current smartcoin supply is dwarfed by the marketcap of USDT, we need to think of ways of increasing supply of MPA such as multi-asset backing to attract shorters from other cryptocurrencies.

Rational

  • If multi-asset backed MPA is successful in generating a large supply then its use on the BTS DEX would provide fees to the reserve pool and attract a lot of new users to the BTS DEX.
  • Settling the MPA for an index of crypto assets would be a relatively simple method of exchanging FIAT into an instant crypto portfolio.

Specifications

Example JSON configuration of an MPA backed by multiple assets:

{
  "reference_asset": {
    "name": "USD",
    "amount": 1,
    "feed_price": bitUSD.median_feed_price
  },
  "allowed_backing": {
    "BTC": {
      "allowed_tokens": [{"name": "<gateway(s)>.BTC", "mcr": 200}, {"name": "bitBTC", "mcr": 200}],  
      "feed_price": (reference_asset["feed_price"]/bitBTC.median_feed_price)
    },
    "ETH": {
      "allowed_tokens": [{"name": "<gateway(s)>.ETH", "mcr": 200}, {"name": "bitETH", "mcr": 200}],  
      "feed_price": (reference_asset["feed_price"]/bitETH.median_feed_price)
    },
    "USD": {
      "allowed_tokens": [{"name": "<gateway(s)>.USD", "mcr": 200}, {"name": "bitUSD", "mcr": 100}],  
      "feed_price": (reference_asset["feed_price"]/bitUSD.median_feed_price)
    },
    "BTS": {
      "allowed_tokens": [{"name": "BTS", "mcr": 175}],
      "feed_price": (1/reference_asset["feed_price"])
    }
  }
}

Discussion

  • How to set feed price of backing collateral?
    • Via internal BTS DEX price references of similar assets?
    • Price feed updates which provides both the 'reference_asset.feed_price' and the 'allowed_backing.ticker.feed_price' values?
  • Should different allowed tokens have different minimum collateral ratios? Currently this is included in the specification example under 'mcr' within each 'allowed_tokens'.
  • Should we account for market fees and withdrawal fees in UIA collateral valuation?
  • How to perform a force settlement of MPA in return for multiple backing assets?
    • Who would be the least collateralized position in a forced settlement?
      • Determined on an individual backing asset basis? (Least BTC position despite highest USD position triggers force settlement including BTC+USD?)
      • Deterined as the minimum total backing collateral value?
    • Could the user have a preference in what they're paid out, even if it means delays?
  • Could you remove an asset as backing collateral if there is 0 of the asset being used as backing collateral?
  • Could you add new backing collateral assets once supply > 1, or would it be finalized?

Summary for Shareholders

  • Proposal for introducing additional (optional) backing collateral assets.
  • Could result in more fees for reserve pool, if successful.
  • Likely would require mandatory network upgrade.
  • Would potentially require a worker proposal to complete, if outside the scope of the bitshares-core dev team.

Copyright

MIT licensed.

See Also

N/A.


So, what are your thoughts on this draft BSIP?

Regards,
CM.

Sort:  

The demand for BTS could decline, when you can collateralize with other coins. On the other side the platform could get more attention.

You should add the full name of MPA (Market Pegged Assets), to your post.

The demand for BTS could decline, when you can collateralize with other coins.

I disagree, because you can already create MPA using UIA & other MPA. Additionally, this isn't a proposal to change any existing MPA on the BTS DEX, rather a proposal to introduce new functionality which can be experimented with by new private MPA.

On the other side the platform could get more attention.

Indeed, if it was to rival USDT in supply then that would be massive for the BTS DEX. The more users who try MPA & observe the benefits of 2s tx times the better. Plus, these MPA would be paying BTS fees which would be beneficial for the reserve pool.

OK, now I understand and will support it.

@cm-steem IMO the choice of new tokens for collateral should be in hands of committee members and for now they should be limited to bitCNY and bitUSD (because of low risk of Black Swan). So user could chose what to put as a collateral for borrowing MPA. I think that a large number of users would very much want to be able to secure the loan with tokens such as bitUSD or bitCNY insted of BTS, which has a very variable value.

IMO the choice of new tokens for collateral should be in hands of committee members

So the only MPA backing should be the committee owned smartcoins? I believe that 'private' MPAs are more free to experiment and take risks and that might result in greater benefit to the BTS DEX than the committee owned smartcoins.

I think bitcoin has a relation with MPA. According to my knowledge it is very necessary for us. Like the post. thank for sharing

Coins mentioned in post:

CoinPrice (USD)📉 24h📉 7d
BITUSDbitUSD1.103$1.44%0.01%
BTCBitcoin6441.320$-3.47%0.48%
BTSBitShares0.103$-5.49%2.26%
ETHEthereum272.858$-4.52%-6.75%
USDTTether0.999$-0.22%-0.2%

I think BitShares MPA in combination with with the properties and advantages of Bitcoin, is capable of maintaining price parity with globally adopted currencies.

cm-steem,

I want to make sure I understand your proposal. Say I have an UIA called 'MM' that I created and I have Bitsharess account that holds 3 other UIAs. Are you suggesting that I could make 'MM' be a pegged to the 3 UIAs that I hold in the Bitshares account?

Is this the intent of your proposal?

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 66530.02
ETH 3495.00
USDT 1.00
SBD 2.64