[bsip18] new proposal
This commit is contained in:
parent
44d9b7d461
commit
df0265bbf5
2 changed files with 181 additions and 19 deletions
|
@ -11,7 +11,7 @@ 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
|
||||
|
@ -25,7 +25,8 @@ Number | Title | Owner | Type
|
|||
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
|
||||
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 BitAssets after global settlement | Peter Conrad | Protocol | Draft
|
||||
[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
|
||||
|
|
161
bsip-0018.md
Normal file
161
bsip-0018.md
Normal file
|
@ -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.
|
Loading…
Reference in a new issue