bsips/bsip-0018.md
Philip N. Brown 3ae924f6ff fixed typos
2017-06-06 07:57:48 -07:00

7.2 KiB

BSIP: 00018
Title: Revive BitAsset through buying Settlement Pool
Authors: Fabian Schuh
Status: Draft
Type: Protocol
Created: 2017-06-05
Discussion: https://bitsharestalk.org/index.php/topic,24322.0.html
Worker: FIXME

Abstract

BitAssets, i. e. market-pegged assets (MPA) like bitUSD in BitShares can suffer a "global settlement" event. After global settlement, the asset is effectively rendered useless. This BSIP proposes a protocol change to enable resolving a global settlement so that affected assets can be continued and put to good use again.

Motivation

Market-pegged assets, aka SmartCoins are among the core features of the BitShares blockchain and as such provide one of our unique selling points.

MPAs can suffer a "global settlement" event. A global settlement occurs when the least collateralized short position has insufficient collateral to buy back the borrowed SmartCoins at the current feed price. What happens then is that the MPA is tagged with a "settlement price", defined as the collateral ratio of the least collateralized short. All short positions are closed automatically, by collecting sufficient collateral into a settlement pool and paying out the remainder to the short's owners. MPA holders can use the forced settlement operation to receive their share from the settlement pool in exchange for their MPAs. Even after global settlement, market-pegged assets can still be transferred or traded, but they can no longer be borrowed.

Currently, in BitShares, there is no actual way to resolve the global settlement, but eventually, all significant holders will have to settle their positions to obtain BTS for their long position. Some dust will remain scattered all over the place, where the value of the dust position is lower than the fees required to get rid of it.

Rationale

When a market-pegged assets undergoes a global settlement, one of the crucial mechanisms that support the peg (namely "margin calls") is no longer available. However, other mechanisms, such as the "face-value", trading and settlement still exist and, unless the valuation of BTS decreases significantly, the outstanding debt (the BitAsset long positions) are still collateralized by approximately 100% through the settlement pool at the fixed settlement price.

This means, if a global settlement event happened on USD at a price of 1 bitUSD/BTS, then an outstanding debt of 1000 bitUSD would be backed by 1000 BTS in the settlement pool of the bitUSD asset and no other call positions would be open by anyone else. Every bitUSD long position could, in this case, claim BTS from the settlement pool at a rate of 1:1.

Proposal

All that is needed for the asset to be revived is:

  • empty the settlement pool
  • re-enable price feeds

Since after a global settlement, the collateral for the outstanding long positions are stored in the settlement pool, we here propose to obtain the funds in the settlement pool and its outstanding debt from the network. Since the collateral ratio of the settlement pool after a global settlement is 100%, obtaining the settlement funds in order to convert it into an open call position requires to also provide additional collateral or reduce the debt in order to not cause another global settlement or margin call right away.

Specifications

obtain_settlement_funds_operation

This operation is all that is needed empty the settlement pool and re-enable price feeds. It has the following payload:

  • fee (asset_type): The operation requires a fee to be paid
  • symbol (asset_id_typ): Symbol that has a settlement fund to be claimed.
  • account (account_type): This account obtains the collateral as well as the debt (i.e. call position) and has to either pay additional collateral, provide shares of the BitAsset to reduce the outstanding debt, or a combination of both.
  • additional_collateral (asset_type): Collateral paid by the account in order to support the call position
  • additional_debt (asset_type): Debt that is paid by the account in order to reduce the debt (while keeping the full settlement pool as collateral)
  • obtain_settlement_funds (asset_type): The amount of settlement funds the account is willing to obtain

The operation works as follows:

  1. It pays a fee
  2. It reduces the account's balance by debt. The debt is used to reduce the outstanding shares of the globally settled BitAsset.
  3. It reduces the account's balance by collateral. The collateral is used to initially support the accounts' call position. However, technically, only little additional collateral is required (if the valuation of the collateral hasn't change since the global settlement) if the owner accepts a margin call.
  4. The global settlement flag is removed from the asset.
  5. The asset is re-enabled such that price feeds can be produced again.
  6. After sufficient price feeds, the asset can be borrowed again.

The required checks for the operation are:

  • Has the asset globally settled?
  • Are funds in the settlement pool?
  • debt > 0 or collateral > 0
  • obtain_settlement_funds <= settlement_pool

Discussion

Sufficient Collateral

Given that at the time of claiming the settlement funds, the blockchain cannot know the valuation of the collateral, the user needs to ensure that sufficient collateral is provided to support the call position after the price feeds are refreshed. Otherwise, the asset will either experience another global settlement event right away, or the call position will be margin called. In any way, it is up to the user of the above operation to take that risk.

Partially Obtaining Settlement Funds

In the case a widely used BitAsset is globally settled, the costs of providing the collateral can be shared among multiple participants by means of only obtaining a fraction of the settlement pool.

BitAssets using BitAssets as collateral are unaffected

One huge advantage of this approach is BitAssets that are collateralized by other BitAssets are not directly affected by this proposal. Even though the economical debt of such asset may be argued about if the collateral asset experienced a global settlement, the technical debt is unaffected. Converting the settlement pool into a regular call position through this proposal would not only restore the original BitAsset, but also reset the collateral of the derived BitAsset.

Committee funded BitAsset Recovery

Cost vs. Profit

This operation opens an interesting cost vs. profit trade-off for those willing to take the risk of using this operation that we would like to discuss. Keep in mind that

  • the valuation of the collateral may be volatile (e.g. in case of BTS)
  • after global settlement, the long positions can settle and thus reduce the debt as well as the settlement pool

Market participants that are willing to take risk may want to obtain a larger chunk of a settlement pool as it means an instant short position.

Summary for Shareholders

This proposal presents a flexible way of reviving a BitAsset that has experienced a global settlement event. The blockchain or shareholders do not need to take any risk as the proposal only offers a new way for market participants to (partially) revive the BitAsset.

Copyright

This document is placed in the public domain.