From df0265bbf59e6268879aecb519f1f6cba8fd1bdf Mon Sep 17 00:00:00 2001 From: Fabian Schuh Date: Tue, 6 Jun 2017 09:21:18 +0200 Subject: [PATCH] [bsip18] new proposal --- README.md | 39 +++++++------ bsip-0018.md | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+), 19 deletions(-) create mode 100644 bsip-0018.md diff --git a/README.md b/README.md index b82ac5a..a559252 100644 --- a/README.md +++ b/README.md @@ -10,22 +10,23 @@ detailed explanation. # Available BSIPs -Number | Title | Owner | Type | Status ------------------- | ---------------------------------- | -------------- | -------------- | ------- -[1](bsip-0001.md) | BSIP Purpose and Guidelines | Fabian Schuh | Informational | Draft -[2](bsip-0002.md) | Refund Create Order Fees on Cancel | Daniel Larimer | Protocol | Accepted -[3](bsip-0003.md) | Maker / Taker Market Fees Flag | Daniel Larimer | Protocol | Deferred -[4](bsip-0004.md) | Distribute Market Fees on Core Asset to Referral Program | Daniel Larimer | Protocol | Draft -[5](bsip-0005.md) | Expiring Votes for Witnesses | Daniel Larimer | Protocol | Draft -[6](bsip-0006.md) | Market Maker Incentivization | Daniel Larimer | Protocol | Draft -[7](bsip-0007.md) | Fee Backed Assets (FBA) | Daniel Larimer | Protocol | Installed -[8](bsip-0008.md) | Privacy (STEALTH) Mode | Daniel Larimer | Protocol | Installed -[9](bsip-0009.md) | Benefit Society | Fabian Schuh | Protocol | Draft -[10](bsip-0010.md) | Percentage-based transfer fee solution based on CER | Jakub Zarembinski | Protocol | Accepted -11 | On Demand Voting | Daniel Larmier | Protocol | Draft -12 | Hardfork Procedure Proposal | Fabian Schuh | Informational | Draft -13 | Contract for Difference (CFD) trading | Frank Ahrens | Protocol | Draft -14 | Annual Membership price determined by the registrar | Jakub Zarembinski | Deferred -[15](bsip-0015.md) | Disable negative voting on workers | Daniel Larimer | Protocol | Installed -[16](bsip-0016.md) | Optimization to Force Settlement Parameters of BitCNY | Jerry Liu | Protocol | Installed -[17](bsip-0017.md) | Revive BitAssets after global settlement | Peter Conrad | Protocol | Draft +Number | Title | Owner | Type | Status +-------------------|----------------------------------------------------------|-------------------|----------------|-------- +[1](bsip-0001.md) | BSIP Purpose and Guidelines | Fabian Schuh | Informational | Draft +[2](bsip-0002.md) | Refund Create Order Fees on Cancel | Daniel Larimer | Protocol | Accepted +[3](bsip-0003.md) | Maker / Taker Market Fees Flag | Daniel Larimer | Protocol | Deferred +[4](bsip-0004.md) | Distribute Market Fees on Core Asset to Referral Program | Daniel Larimer | Protocol | Draft +[5](bsip-0005.md) | Expiring Votes for Witnesses | Daniel Larimer | Protocol | Draft +[6](bsip-0006.md) | Market Maker Incentivization | Daniel Larimer | Protocol | Draft +[7](bsip-0007.md) | Fee Backed Assets (FBA) | Daniel Larimer | Protocol | Installed +[8](bsip-0008.md) | Privacy (STEALTH) Mode | Daniel Larimer | Protocol | Installed +[9](bsip-0009.md) | Benefit Society | Fabian Schuh | Protocol | Draft +[10](bsip-0010.md) | Percentage-based transfer fee solution based on CER | Jakub Zarembinski | Protocol | Accepted +11 | On Demand Voting | Daniel Larmier | Protocol | Draft +12 | Hardfork Procedure Proposal | Fabian Schuh | Informational | Draft +13 | Contract for Difference (CFD) trading | Frank Ahrens | Protocol | Draft +14 | Annual Membership price determined by the registrar | Jakub Zarembinski | Protocol | Deferred +[15](bsip-0015.md) | Disable negative voting on workers | Daniel Larimer | Protocol | Installed +[16](bsip-0016.md) | Optimization to Force Settlement Parameters of BitCNY | Jerry Liu | Protocol | Installed +[17](bsip-0017.md) | Revive BitAsset after Global Settlement | Peter Conrad | Protocol | Draft +[18](bsip-0018.md) | Revive BitAsset through buying Settlement Pool | Fabian Schuh | Protocol | Draft diff --git a/bsip-0018.md b/bsip-0018.md new file mode 100644 index 0000000..b211cd7 --- /dev/null +++ b/bsip-0018.md @@ -0,0 +1,161 @@ + BSIP: 00018 + Title: Revive BitAsset through buying Settlement Pool + Authors: Fabian Schuh + Status: Draft + Type: Protocol + Created: 2017-06-05 + Discussion: FIXME + Worker: FIXME + +# Abstract + +BitAssets, i. e. market-pegged assets (MPA) like bitUSD in BitShares can suffer +a "global settlement" event also known as "black swan". 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 "black swan" event. A black swan 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 black swan, but +eventually, all significant holders will have to settle their positions to +obtain BTS for their black swan 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. + +# Rational + +When a market-pegged assets undergoes a black swan event, 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 black swan price. + +This means, if a black swan 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 black swan, 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 it's outstanding debt from the network**. Since the +collateral ratio of the settlement pool after a black swan 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 black swan 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 black swan event) 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 black swan +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 black swan event, 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 black swan, 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 black swan 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.